CodyLiska/osint-dashboard

GitHub: CodyLiska/osint-dashboard

OSIRIS 是一个静态优先的多领域开源情报(OSINT)态势仪表盘,通过 WebGL 地图将航空、海事、自然灾害、加密货币制裁、Telegram 等十余种公开数据源整合到统一界面中,帮助分析师快速获取全景态势感知。

Stars: 0 | Forks: 0

# OSIRIS 态势仪表盘 静态优先的 OSINT 仪表盘,适用于航空、海事、CCTV、地震、火灾、天气、新闻、太空、网络、冲突、加密货币、制裁和 Telegram OSINT 工作流。 ## 运行 ``` npm start ``` 打开 `http://localhost:4173`。 初版不需要安装任何包。该应用使用一个小型 Node 服务器提供静态文件和无密 API 代理路由,同时 MapLibre GL 和 deck.gl 从公共 CDN 在浏览器中加载。 ## 已实现基线 - 16 个可切换的情报图层,带有实时实体计数。 - 通过 MapLibre GL 加上 deck.gl 散点图层进行 WebGL 地图渲染。 - 使用 `fetched` 保护机制进行渐进式图层加载,以避免重复请求。 - 使用可见地图边界进行感知视口的航空刷新。 - 静态海事、咽喉点、CCTV、冲突、新闻和空间情报图层。 - 实时的 USGS M2.5+ 地震数据流。 - NASA FIRMS 活跃火灾适配器,用于视口范围内的热力探测。 - NASA EONET 事件源,用于恶劣天气类别。 - OpenSky Network 状态查找,用于显示可见飞行器,支持可选的 OAuth client-credentials。 - 规范化的 `/api/layers/:layer` 路由返回 `{ entities, meta }`。 - `/api/health` 处的源健康遥测。 - 来自 `t.me/s/` 的 Telegram 公共预览数据接入,支持多语言地点匹配。 - 通过 Blockstream 进行 BTC 查询,通过无密 Ethereum 公共 RPC (`ethereum.publicnode.com`) 进行 ETH 余额查询。 - 使用 0xB10C 镜像进行 OFAC 受制裁加密地址交叉核对。 - OpenSanctions 搜索选项卡,用于查询人员、组织、船只和飞行器。 - 在滚动 30 天窗口内进行 NVD CVE 关键字搜索。 ## 环境变量 `OSIRIS_TELEGRAM_CHANNELS` 覆盖默认的逗号分隔 Telegram 源列表: ``` OSIRIS_TELEGRAM_CHANNELS=disclosetv,Faytuks,liveukraine_media,wartranslated,Middle_East_Spectator,BNONews npm start ``` 当未设置 `OSIRIS_TELEGRAM_CHANNELS` 时,OSIRIS 使用分组的全球公共预览列表,涵盖全球警报、乌克兰/俄罗斯、中东、非洲、亚太、欧洲和美洲。`OSIRIS_TELEGRAM_MAX_CHANNELS` 控制从逗号分隔列表中加载的最大频道数。 `PORT` 覆盖本地服务器端口: ``` PORT=4300 npm start ``` 可选的实时源凭据: ``` OPENSKY_CLIENT_ID=... OPENSKY_CLIENT_SECRET=... npm start FIRMS_MAP_KEY=... npm start FIRMS_SOURCES=VIIRS_NOAA20_NRT,VIIRS_SNPP_NRT,MODIS_NRT FIRMS_DAY_RANGE=1 npm start ``` OpenSky 可以在较低配额下匿名工作。提供 OAuth client credentials 可启用经过身份验证的 state-vector 调用。NASA FIRMS 需要一个免费的 `FIRMS_MAP_KEY`;如果没有它,火灾图层仍然可用,但报告的活跃 FIRMS 实体数为零。 ## 数据源说明 初版优先考虑无密的公共 endpoint。某些数据源可能会进行速率限制、阻止抓取或更改响应结构。当某个图层加载失败时,服务器会将源错误作为地图实体返回,以便在使损坏的集成可见的同时,保持仪表盘的可操作性。 ## 构建阶段 已完成 (2026-07-17): 1. 完成:完善的地名词典 + 置信度评分(`src/lib/gazetteer.js`,词边界匹配;Telegram 实体上的 `confidence`)。 2. 完成:针对大容量图层的聚类 + 严重性过滤器(感知缩放的网格聚类,全局最低严重性滑块)。 3. 完成:每图层轮询间隔(已用时间计时器;`LAYER_REFRESH_MS`)。 4. 完成:在 localStorage 中持久化图层可见性、地图视口和侦测历史。 5. 完成:通过无密 RDAP (`/api/intel/whois`) 的 WHOIS/IP 情报路由,带有 OpenSanctions 名称交叉核对。 6. 完成:大型静态数据集迁移至带有出处的版本化 JSON (`public/data/*.json`)。 7. 完成:用于分析报告的可导出事件快照(JSON)(导出按钮)。 待办: 7. 为允许更高配额的其他数据源添加经过身份验证的适配器。
标签:ESC4, HTTP/HTTPS抓包, MITM代理, OSINT, 地理信息系统, 态势感知, 情报 dashboard, 数据可视化, 自定义脚本