Skytuhua/SIGINT

GitHub: Skytuhua/SIGINT

SIGINT 是一个开源地理空间情报平台,整合了 3D 地球可视化、情报聚合和金融市场分析三大工作区,提供实时全球态势感知能力。

Stars: 1 | Forks: 0

SIGINT — Real-time geospatial intelligence platform # SIGINT **开源地理空间情报平台** 三大工作区 — OPS, NEWS, MARKET — 统一在单一控制台中,用于实时监控全球事件、冲突、市场和实时数据流。 [![Next.js](https://img.shields.io/badge/Next.js-14.2-black?logo=next.js)](https://nextjs.org/) [![TypeScript](https://img.shields.io/badge/TypeScript-5.5-blue?logo=typescript)](https://www.typescriptlang.org/) [![CesiumJS](https://img.shields.io/badge/CesiumJS-1.120-green)](https://cesium.com/) [![React](https://img.shields.io/badge/React-18.3-61dafb?logo=react)](https://react.dev/)
[![License: MIT](https://img.shields.io/badge/license-MIT-brightgreen)](LICENSE) [![Build](https://img.shields.io/github/actions/workflow/status/Skytuhua/SIGINT/ci.yml?branch=main&logo=github)](https://github.com/Skytuhua/SIGINT/actions) [![Version](https://img.shields.io/badge/version-0.1.0-blue)](package.json) [![GitHub stars](https://img.shields.io/github/stars/Skytuhua/SIGINT?style=social)](https://github.com/Skytuhua/SIGINT/stargazers) [![Last Commit](https://img.shields.io/github/last-commit/Skytuhua/SIGINT)](https://github.com/Skytuhua/SIGINT/commits) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/Skytuhua/SIGINT/pulls)
## 功能概览 - **3 个集成工作区** — OPS (3D 地球), NEWS (情报流), MARKET (金融分析) - **实时追踪** — 5,900+ 架次航班, 900 个军事信号, 1,520 颗卫星, 地震事件, CCTV 数据流 - **55+ API 路由** — 来自 OpenSky, GDACS, ACLED, GDELT, CoinGecko, SEC 等的实时数据 - **23+ GeoJSON 图层** — 冲突区域, 制裁, 核设施, 海底光缆, 管道, 难民营 - **120+ 组件** — 跨越 7 个标签页的 47 个市场面板, 可拖拽仪表板, 多面板布局 - **视觉模式** — 普通, CRT 扫描线, 夜视 (NVG), 热成像 (FLIR) - **AI 总结** — OpenAI 服务端 + 基于 WebLLM 的浏览器端 LLM - **全文搜索** — 带有倒排索引的布尔查询解析器,实现即时召回 - **制裁合规** — OFAC, UN, EU, UK 实体筛查及档案 - **Web Workers** — SGP4 卫星传播 + 流量模拟在主线程之外运行 ## 工作区 ### OPS — 3D 地球与行动 OPS — 3D globe with flight tracking and layer controls - 实时商业和军用航班追踪 (OpenSky / ADS-B Exchange) - 基于 Web Workers 的 SGP4 传播卫星位置 - 灾难警报 (GDACS) 及震级过滤 - GPS 干扰 / 欺骗区域检测 - 贸易路线可视化及中断信号 - 视觉预设:普通, CRT 扫描线, 夜视 (NVG), 热成像 (FLIR) - Google Maps 风格的自定义导航 (平移, 轨道, 缩放)
仪表板与实时数据流
OPS — System snapshot, ops feed, and live webcams - **系统快照** — 实时 KPI:追踪的航班, 军事信号, 地震事件, 卫星, CCTV 节点 - **行动信息流** — 带有来源标签 (FLIGHT, SWPC, GDACS) 的按时间顺序的事件流 - **实时网络摄像头** — CCTV 马赛克墙,支持区域过滤和单焦点视图 - 航班表, 地震表, 卫星列表, 空间天气警报
### NEWS — 情报与地理空间数据流 NEWS — 2D map with GeoJSON layers and live video streams - 聚合自 NewsAPI, GDELT, ACLED, HackerNews, RSS, Wikimedia stream, SEC, YouTube - 带有布尔查询解析器和倒排索引的全文搜索 - 22+ GeoJSON 图层:冲突区域, 制裁实体, 核设施, 军事基地, 贸易路线, 海底光缆, 管道, 港口, 火山, 难民营, AI 数据中心, 关键矿产, 武器禁运 - 合规模块:OFAC / UN / EU / UK 制裁及实体档案 - 国家详情档案 (世界银行指标 + Wikidata 丰富化) - 实时视频网格 — 4 路同步 YouTube 新闻流,支持来源切换 - 预测市场 (Polymarket) - AI 文章总结 (OpenAI) - 每日简报模态框 ### MARKET — 金融分析 MARKET — S&P 500 heatmap and global market snapshot | 标签页 | 亮点 | |-----|------------| | **Overview** | S&P 500 热力图, 市场广度, 板块轮动, 市场波动, 波动率, 市场体制 | | **Equities** | 分析师评级, 财报日历, 做空利息, 内部人士流向, IPO & 股息日历 | | **FX** | 货币矩阵, 套息交易分析, 新兴市场货币, 转换器, FX 热力图 | | **Crypto** | 市场概览, 链上指标, 图表 | | **Commodities** | 交易板, 库存水平, 航运追踪 | | **Rates** | 收益率曲线, 联邦基金期货, 央行决议, 信用利差, 盈亏平衡通胀 | | **Screener** | 带有技术指标的动态股票筛选器 | 附加功能:期权链/流量, 订单簿, 相关性矩阵, 交互式图表, 市场新闻带, 股票代码栏。
每日阵容视图
MARKET — Daily lineup with world markets and economic calendar - **世界市场** — 全球期货 (ES, NQ, DAX, N225, HSI) 及迷你图 - **FX 汇率** — 主要货币对 (EUR/USD, GBP/USD, USD/JPY, AUD/USD) - **经济日历** — 即将发布的数据,包含前值/预测/实际值 - **财报日历** — 下一个发布财报的公司及 EPS 预估 - **AI 总结** — 基于市场数据生成的每日宏观展望 - **头条新闻** — 带有相关性评分的排名新闻
## 技术栈 | 层级 | 技术 | |-------|------------| | 框架 | Next.js 14.2, React 18.3, TypeScript 5.5 | | 3D 地球 | CesiumJS 1.120 | | 地图 | MapLibre GL, Leaflet | | 状态 | Zustand (persist + subscribeWithSelector) | | 布局 | react-grid-layout, @dnd-kit | | 样式 | Tailwind CSS 3.4 | | 表格 | TanStack React Table + React Virtual | | Worker | satellite.js (SGP4), traffic simulation | | 校验 | Zod | | 流媒体 | hls.js | | LLM | WebLLM (浏览器), OpenAI (服务器) | | 包管理器 | pnpm | ## 快速开始 ### 前置条件 - Node.js 18+ - [pnpm](https://pnpm.io/) ### 快速启动 ``` git clone https://github.com/Skytuhua/SIGINT.git cd SIGINT pnpm install cp .env.example .env.local pnpm dev ``` 在浏览器中打开 [http://localhost:3000](http://localhost:3000)。 ### 环境变量 **必需:** | 变量 | 用途 | |----------|---------| | `NEXT_PUBLIC_CESIUM_ION_TOKEN` | Cesium 地形 & 3D tiles ([免费账户](https://ion.cesium.com/)) | | `NEXT_PUBLIC_MAPTILER_KEY` | MapTiler 底图 ([免费层级](https://www.maptiler.com/)) |
可选 — 启用完整功能
| 变量 | 用途 | |----------|---------| | `YOUTUBE_API_KEY` | 实时视频流 (回退到 RSS) | | `OPENAI_API_KEY` | 文章总结 | | `NEWS_API_KEY` | NewsAPI 文章 | | `OPENSKY_USERNAME` / `OPENSKY_PASSWORD` | 航班数据 | | `ADSBX_COMMERCIAL_URL` / `ADSBX_MILITARY_URL` | 军用飞机 | | `NEXT_PUBLIC_FREE_LLM_BASE_URL` | 免费 LLM 服务 | | `INTEL_HOTSPOTS_URL` | 情报热点数据 | 完整列表请参阅 [`.env.example`](.env.example)。
### 命令 ``` pnpm dev # Development server pnpm build # Production build pnpm start # Start production server pnpm test # Run tests (vitest) ``` ## 架构 - **仅浏览器端 Cesium** — 所有 CesiumJS 代码通过动态导入在客户端加载,无 SSR - **Web Workers** — 卫星传播 (SGP4) 和流量模拟从主线程中卸载 - **Zustand store** — 单一 store,带有选择性订阅,用于响应式图层渲染 - **GLSL 后处理** — 用于 CRT, NVG, FLIR 视觉模式的自定义 Shader 阶段 - **可插拔地图渲染器** — 共享的 GeoJSON 图层目录,支持 MapLibre 和 Leaflet 后端 - **预加载系统** — 在首次渲染前对重型组件进行并行包预热 - **持久化缓存** — 由 IndexedDB 支持的数据流缓存,带有 localStorage 元数据 - **SSRF 防护** — 针对 Proxy 端点的服务端 URL 验证
项目结构
``` src/ ├── app/ │ ├── api/ # 55+ API routes │ │ ├── cctv/ # CCTV proxy & search │ │ ├── market/ # Quotes, movers, earnings, historical, news │ │ ├── news/ # ACLED, GDELT, sanctions, layers, RSS, search, stream │ │ ├── earthquakes/ # Earthquake data │ │ ├── gdacs/ # Disaster alerts │ │ ├── military/ # Military flight tracking │ │ ├── opensky/ # Commercial flights │ │ ├── satellites/ # Satellite TLE data │ │ └── space-weather/ # Solar activity │ ├── layout.tsx │ └── page.tsx ├── components/ │ ├── SIGINTApp.tsx # Root shell — OPS / NEWS / MARKET routing │ ├── CesiumGlobe.tsx # 3D globe (browser-only, ~2000 lines) │ ├── dashboard/ # OPS panels, charts, controls, inspector │ ├── market/ # 47+ financial panels, 7 tabs │ ├── news/ # News panels, detail cards, maps, feeds │ └── ui/ # HUD, layer bar, panels, style presets ├── config/ # Feature flags, CCTV, news sources, RSS, LLM ├── lib/ │ ├── cesium/ # Viewer init, layers, nav, GLSL shaders │ ├── news/ # Search engine, categorization, streaming │ ├── newsLayers/ # GeoJSON layer catalog + renderers │ ├── server/ # Server-only: providers, sanctions, CCTV │ ├── runtime/ # Fetch wrappers, IndexedDB cache │ ├── providers/ # Zod schemas for all data types │ └── llm/ # LLM integration ├── store/ # Zustand global store ├── workers/ # Web Workers (satellite, traffic) └── data/ # Static data (market glossary) public/ ├── cesium/ # CesiumJS static assets └── data/ ├── news-layers/ # 22+ GeoJSON layer files ├── cctv_sources.json # Curated YouTube camera feeds └── ne_*.geojson # Natural Earth boundaries ```
数据来源
| 来源 | 数据 | |--------|------| | OpenSky Network | 商业航班位置 | | ADS-B Exchange | 军用飞机追踪 | | GDACS | 灾难警报 | | USGS | 地震数据 | | GDELT | 全球事件数据 | | ACLED | 武装冲突事件 | | UCDP | 冲突区域边界 | | NewsAPI | 新闻文章 | | CoinGecko | 加密货币市场数据 | | Polymarket | 预测市场 | | SEC EDGAR | 金融文件 | | World Bank | 经济指标 | | OFAC / UN / EU / UK | 制裁名单 | | Wikidata | 实体丰富化 | | YouTube / Invidious | 实时视频流 | | OpenStreetMap / Overpass | 地理空间查询 | | NOAA / SWPC | 空间天气 |
键盘快捷键
| 按键 | 动作 | |-----|--------| | `1` / `2` / `3` | 切换工作区 (OPS / NEWS / MARKET) | | `Ctrl+I` | 切换检查器抽屉 | | `Ctrl+Shift+R` | 刷新所有数据流 | | `Ctrl+.` | 切换热键覆盖层 | | 滚轮 | 缩放地球 / 滚动面板 |
## 许可证 MIT — 详情请参阅 [LICENSE](LICENSE)。

使用 Next.js, CesiumJS 和开放数据构建。如果你觉得有用,请给仓库一个 Star。
标签:3D地球, Cesium, ESC4, GeoJSON, GIS平台, HTTP/HTTPS抓包, OSINT, React, Syscalls, TypeScript, 作战指挥, 全球事件, 军事信号, 冲突地图, 卫星追踪, 地理空间情报, 安全插件, 安全研发, 市场分析, 态势感知, 情报平台, 新闻源, 网络情报, 自动化攻击, 航班追踪, 金融分析