Amtrtm/RedAlert
GitHub: Amtrtm/RedAlert
用于监控以色列本土司令部警报 API 并在检测到导弹袭击预警时自动通知用户的 Windows 系统托盘应用程序
Stars: 3 | Forks: 0
RedAlert
适用于 Windows 的 Pikud HaOref(以色列本土司令部)实时警报监控程序
## 描述
RedAlert 是一款 Windows 系统托盘应用程序,用于监控 Pikud HaOref(以色列本土司令部)API 以获取实时导弹和火箭警报。当在您配置的区域检测到警报时,该应用会自动打开带有 HLS 视频直播的 N12 新闻源,显示桌面通知,并播放警报声音。
该应用程序包含一个 10 分钟的安全计时器,会保持警报状态直到收到官方解除警报信号,并提供一个基于 Web 的配置面板来管理监控区域和警报偏好设置。
## 功能
- 实时轮询 Pikud HaOref 警报 API(可配置间隔,默认 5 秒)
- 使用希伯来语区域名称进行基于区域的过滤
- 检测到警报时自动启动 Chrome 打开 N12 新闻直播
- 带警报详情的 Windows 桌面通知
- 警报声音播放
- 带暂停、恢复和退出控制的系统托盘图标
- 在 `localhost:3847` 上提供基于 Web 的配置面板
- 警报历史记录(最近 100 条警报)
- 冷却机制,防止重复触发警报
- 连续 API 错误时使用指数退避策略
## 前置条件
- **Node.js 18+**(使用原生 `fetch`)
- **Windows** 操作系统
- **以色列 IP 地址** — Pikud HaOref API 已进行地理封锁,仅响应来自以色列 IP 地址的请求
## 安装
```
git clone
cd RedAlert
npm install
node scripts/generate-assets.js
```
`generate-assets.js` 脚本会在 `assets/` 目录中创建所需的托盘图标和警报声音文件。
## 使用方法
```
npm start
```
应用程序将开始轮询警报,并在 Windows 系统托盘中放置一个图标。在浏览器中打开配置面板 [http://localhost:3847](http://localhost:3847) 以调整设置。
## 配置
所有设置都可通过 `http://localhost:3847` 上的基于 Web 的配置面板进行管理,也可以直接编辑 `config.json` 文件。
| 设置 | 描述 | 默认值 |
|---------|-------------|---------|
| **区域** | 要监控的希伯来语区域名称列表(例如 `תל אביב`)。留空以接收所有警报。 | `[]`(所有区域) |
| **轮询间隔** | 检查新警报的频率,以毫秒为单位。 | `5000`(5 秒) |
| **打开浏览器** | 警报时是否自动打开 Chrome 进入新闻源。 | `true` |
| **通知** | 警报时是否显示 Windows 桌面通知。 | `true` |
| **声音** | 是否播放警报声音。 | `true` |
| **浏览器 URL** | 触发警报时打开的 URL。 | `https://www.n12.co.il/` |
| **警报冷却时间** | 同一区域重复警报之间的最短时间,以毫秒为单位。 | `60000`(60 秒) |
| **配置端口** | 基于 Web 的配置面板的端口。 | `3847` |
## 工作原理
1. **警报轮询器** 以配置的间隔向 Pikud HaOref 警报端点发送 HTTP 请求。
2. 当收到非空响应时,会对其进行解析并与最后已知的警报 ID 进行比较以检测新警报。
3. **警报处理器** 会将警报的区域列表与用户配置的区域进行过滤。
4. 如果找到匹配项且冷却时间已过,处理器会触发配置的操作:桌面通知、警报声音和/或打开 Chrome 进入 N12 直播。
5. 警报会被记录在内存历史日志中,可通过配置面板查看。
6. 如果发生连续轮询错误,轮询器会使用指数退避策略(最多 30 秒)然后重试。
## 重要说明
- 此应用程序使用**非官方的** Pikud HaOref(本土司令部)警报 API。API 可能会随时更改或不可用,恕不另行通知。
- 该 API 已进行**地理封锁**,需要以色列 IP 地址才能运行。
- 此项目**不隶属于**以色列政府、IDF 或 Pikud HaOref。
- 此工具仅供**个人使用**。在紧急情况下,请始终遵循本土司令部的官方指示和指南。不要仅依赖此应用程序做出生命安全决策。
## 安全
此应用程序已接受全面的安全审查。详细信息包括:
- NPM 依赖项漏洞审计
- 代码级安全发现
- 威胁模型分析
- 安全建议
请参阅 [**SECURITY.md**](SECURITY.md)。
**简而言之:** 生产运行时是安全的(0 个漏洞)。为纵深防御建议进行一些代码级改进。
## 许可证
此项目根据 [MIT 许可证](LICENSE) 授权。标签:API集成, CMS安全, DNS解析, GNU通用公共许可证, HLS视频流, JavaScript, MITM代理, MSI安装包, Node.js, Web配置面板, Windows应用, 可观测性, 库, 应急响应, 开源项目, 数据可视化, 本土安全, 桌面通知, 系统托盘, 紧急预警, 自定义脚本, 警报系统