aivrar/foglight

GitHub: aivrar/foglight

Foglight 是一个本地运行的 Windows 桌面应用,通过单一可执行文件聚合实时全球事件数据,为用户提供态势感知仪表盘。

Stars: 0 | Forks: 0

# Foglight ![平台:Windows](https://img.shields.io/badge/platform-Windows%2010%2F11-0078D4) ![便携版](https://img.shields.io/badge/portable-single%20EXE-2ea44f) ![Python](https://img.shields.io/badge/Python-bundled-3776AB) ![WebView2](https://img.shields.io/badge/UI-WebView2-5C2D91) [![许可证:MIT](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE) **Foglight** 是一个本地优先的桌面态势室,用于监控实时全球事件:地震、恶劣天气、冲突警报、人道主义报告、市场行情、开放网络活动以及实时新闻视频,所有信息都汇聚在一个信息密集的仪表盘中。 Windows 版本是一个**单一的原生桌面 `.exe` 文件**。它捆绑了 Python、本地 HTTP 服务器、WebView 桌面外壳和应用 UI。终端用户无需安装 Python、WSL、Docker、Git、Node 或任何 Linux 发行版。 Foglight 采用 MIT 许可证,所有人可免费使用、修改、分发和基于它进行构建。 ## 截图 ![Foglight 仪表盘](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/3c9e5ca432174126.png) ## 功能概述 Foglight 监控公共数据流,并将其转化为单一的作战视图: - 全球地图叠加层,用于显示地震、危险区域、天气、冲突、国际空间站、火灾、航班以及船舶/航空来源(配置可选密钥后)。 - 实时事件面板,涵盖 USGS 地震、NWS 警报、NOAA 气旋、GDACS、EONET、ReliefWeb、GDELT 和 RSS 资讯流。 - 市场与互联网脉搏面板,监控比特币、加密货币、外汇、大宗商品、GitHub、SEC EDGAR、维基百科编辑、Hacker News 和 Reddit。 - 实时电视直播嵌入,支持主要新闻流,当嵌入被阻止时提供 YouTube 备用链接。 - 本地设置,用于管理面板可见性、观察列表、RSS 源、API 密钥和环境音效提示。 ## 存在意义 Foglight 专为那些希望快速、本地、无需账户就能概览全球动态的人士而建:天气风险、地震、冲突警报、人道主义更新、公共市场信号、互联网活动和实时视频。它可用作开源情报桌面、新闻编辑室副监控器、墙壁显示屏、应急感知屏幕或始终开启的桌面指挥中心。 ## 功能矩阵 | 领域 | 已包含 | |---|---| | 桌面版本 | 单个 `Foglight.exe`,原生 WebView2 窗口,无需安装程序 | | 实时地图 | 暗色全球地图,地震标记,天气多边形,冲突热点,危险区域,国际空间站,可选火灾/航班/船舶图层 | | 危险监控 | USGS 地震、火山,NOAA 气旋,GDACS 灾害,EONET 自然事件,NWS 警报,海啸信息源 | | 冲突与新闻 | GDELT 冲突信息源,联合国、德国之声、法国24、BBC、NPR、半岛电视台、国防/网络安全 RSS 信息源 | | 人道主义 | ReliefWeb 态势报告和更新流 | | 市场 | 比特币内存池/手续费/区块,加密货币行情,外汇,大宗商品,可选 FRED/Finnhub 密钥 | | 互联网脉搏 | GitHub 公开事件,SEC EDGAR 文件,维基百科编辑,Hacker News,Reddit | | 实时电视 | 主要 YouTube 新闻直播嵌入,默认频道设置,外部备用链接 | | 本地设置 | 面板开关,观察列表,自定义 RSS 信息源,可选 API 密钥,环境音效开关 | | 隐私模式 | 纯本地应用状态,本地服务器,密钥掩码,无 Foglight 云账户 | 完整详情请参阅 [docs/FEATURES.md](docs/FEATURES.md)。 ## 快速开始 下载最新的发行版资产: **[下载 Foglight.exe](https://github.com/aivrar/foglight/releases/latest/download/Foglight.exe)** 发行页面: **[github.com/aivrar/foglight/releases/latest](https://github.com/aivrar/foglight/releases/latest)** 运行它: ``` Foglight.exe ``` 这是普通用户的标准路径。Foglight 会在 `127.0.0.1` 上启动一个本地服务器,打开一个原生 WebView 窗口,并将运行时状态存储在: ``` %LOCALAPPDATA%\Foglight\ ``` 使用应用内的**关闭**按钮来停止本地服务器并关闭应用。 ## 系统要求 针对用户: - Windows 10/11 - Microsoft Edge WebView2 运行时 - 需要网络连接以获取实时数据流 - 无需管理员权限 - 无需系统预装 Python - 无需 WSL、Docker、Git 或 Node 现代 Windows 系统通常已预装 WebView2。如果 WebView 启动失败,Foglight 会回退到在默认浏览器中打开本地仪表盘。 ## 面板 | 面板 | 来源 | 显示内容 | |---|---|---| | 世界地图 | Leaflet, CARTO, OpenStreetMap | 全球基础地图和叠加层 | | 地震 | USGS GeoJSON | 近期地震活动 | | 恶劣天气 | NWS api.weather.gov | 美国当前警报和天气多边形 | | 冲突观察 | GDELT, 联合国, 德国之声, 法国24, 国防 RSS | 冲突导向信息流 | | 主要危险 | NOAA NHC, GDACS, USGS, EONET | 气旋、灾害、火山、大型地震 | | 人道主义态势报告 | ReliefWeb RSS | 人道主义更新 | | 比特币脉搏 | mempool.space | 手续费、内存池、区块、难度 | | 市场 | CoinPaprika, Frankfurter, Stooq | 加密货币、外汇、大宗商品 | | 新闻滚动条 | 配置的 RSS 信息源 | 滚动标题条 | | 维基百科编辑 | Wikimedia EventStreams | 近期公开编辑 | | GitHub 脉搏 | GitHub Events API | 公开开发者活动 | | SEC EDGAR | SEC Atom 订阅源 | 当前文件 | | HN + Reddit | Firebase HN API, Reddit JSON | 互联网趋势面板 | | 实时电视 | YouTube 直播嵌入 | 实时新闻视频和外部备用 | 完整来源和致谢列表请参见 [docs/DATA_SOURCES.md](docs/DATA_SOURCES.md) 和 [CREDITS.md](CREDITS.md)。 ## 可选 API 密钥 Foglight 无需密钥即可工作,但这些可选集成可以解锁更多地图和市场图层: | 密钥 | 解锁内容 | |---|---| | AISstream | 实时全球船舶位置 | | NASA FIRMS | MODIS/VIIRS 近实时火灾探测 | | OpenSky | 认证飞行器数据 | | OpenWeatherMap | 全球天气扩展 | | FRED | 美国宏观指标 | | Finnhub | 指数、收益、市场新闻 | 密钥存储在本地 `%LOCALAPPDATA%\Foglight\state\settings.json` 中。设置 API 在返回给 UI 前会对存储的密钥值进行掩码处理。 ## 项目结构 ``` foglight/ |-- .github/ | |-- ISSUE_TEMPLATE/ | `-- pull_request_template.md |-- assets/ | |-- foglight.ico | `-- foglight-icon.png |-- docs/ | |-- screenshots/ | |-- BUILD_WINDOWS.md | |-- DATA_SOURCES.md | |-- FEATURES.md | |-- FILE_TREE.md | |-- RELEASE_CHECKLIST.md | `-- REPOSITORY_SETUP.md |-- web/ | `-- app.js |-- build_windows.py |-- foglight_native.py |-- foglight_native.spec |-- foglight_server.py |-- foglight_spec.md |-- index.html |-- requirements-build.txt |-- CREDITS.md |-- CHANGELOG.md |-- CONTRIBUTING.md |-- SECURITY.md |-- LICENSE `-- README.md ``` 更详细的文件映射请参阅 [docs/FILE_TREE.md](docs/FILE_TREE.md)。 ## 从源码构建 终端用户可以从发布页下载 `Foglight.exe` 并直接运行,无需 Python。以下步骤用于从源码重新构建可执行文件。 开发者构建要求: - Windows - Python 3.13+ - 依赖项见 [requirements-build.txt](requirements-build.txt) 构建: ``` python -m pip install -r requirements-build.txt python .\build_windows.py ``` 输出: ``` dist\Foglight.exe ``` 该可执行文件是一个发布产物,应附加到 GitHub Releases,而非提交到代码仓库。 详细的构建说明位于 [docs/BUILD_WINDOWS.md](docs/BUILD_WINDOWS.md)。 ## 本地开发 直接运行服务器: ``` $env:FOGLIGHT_APP_DIR = (Get-Location).Path $env:FOGLIGHT_CACHE_DIR = "$env:TEMP\foglight-cache" $env:FOGLIGHT_STATE_DIR = "$env:TEMP\foglight-state" $env:FOGLIGHT_LOG_DIR = "$env:TEMP\foglight-logs" python .\foglight_server.py 9787 ``` 然后打开: ``` http://127.0.0.1:9787/ ``` 无头打包冒烟测试: ``` $env:FOGLIGHT_NO_BROWSER = "1" $env:FOGLIGHT_PORT = "19877" .\dist\Foglight.exe ``` ## 安全与隐私 - 原生启动器将服务器绑定到 `127.0.0.1`。 - 更改状态的端点需要同源请求。 - RSS 代理拒绝 localhost 和私有网络目标。 - API 密钥仅存储在本地 Foglight 状态目录中。 - `/api/settings` 仅返回密钥状态,不返回完整的存储密钥值。 - 不使用任何 Foglight 账户或托管后端。 披露和本地风险说明请参见 [SECURITY.md](SECURITY.md)。 ## 发布流程 1. 捕获最终截图并放置在 `docs/screenshots/` 下。 2. 运行源码检查: python -m py_compile .\foglight_server.py .\foglight_native.py .\build_windows.py node --check .\web\app.js 3. 构建 exe: python .\build_windows.py 4. 冒烟测试 `dist\Foglight.exe`。 5. 创建 GitHub Release 并将 `dist\Foglight.exe` 上传为 `Foglight.exe`。 完整清单:[docs/RELEASE_CHECKLIST.md](docs/RELEASE_CHECKLIST.md)。 ## 致谢 Foglight 建立在公共数据提供商、开源库和平台工具之上。致谢信息记录在 [CREDITS.md](CREDITS.md) 中,包括 Leaflet、OpenStreetMap、CARTO、PyInstaller、pywebview、Microsoft Edge WebView2、pythonnet、Pillow 以及仪表盘使用的公共数据提供商。 ## 许可证 MIT 许可证 - 所有人免费使用。请参阅 [LICENSE](LICENSE)。第三方服务、库、地图瓦片和数据信息源仍受其自身许可和条款约束。
标签:CSV输出, HTTP/HTTPS抓包, OSINT工具, Python内置, WebView2, Windows桌面应用, 事件追踪, 互联网活动, 仪表板, 全球事件监控, 全球地图覆盖, 公开数据源, 冲突警报, 单文件程序, 地震监控, 天气预警, 实时情报, 实时数据流, 实时新闻视频, 市场数据, 态势感知, 数据可视化, 数据聚合, 新闻聚合, 无需安装, 本地优先应用, 桌面工具, 紧急警报, 自定义脚本, 自然灾害, 逆向工具, 金融市场, 风险监控