r13xr13/conflict-globe.gl

GitHub: r13xr13/conflict-globe.gl

实时聚合多源 OSINT 数据的全球冲突与地缘政治事件 3D 可视化平台

Stars: 0 | Forks: 0

# Conflict Globe **一个用于全球冲突和地缘政治事件的实时 3D OSINT 可视化平台** [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT) [![Version](https://img.shields.io/badge/version-1.0.0-green.svg)](https://github.com/r13xr13/conflict-globe.gl/releases) [![TypeScript](https://img.shields.io/badge/TypeScript-98%25-3178C6?logo=typescript&logoColor=white)](https://www.typescriptlang.org/) [![Docker](https://img.shields.io/badge/Docker-ready-2496ED?logo=docker&logoColor=white)](https://hub.docker.com/) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](CONTRIBUTING.md) [演示](#demo) · [快速开始](#quick-start) · [文档](#architecture) · [贡献](#contributing)
![Conflict Globe Screenshot](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/b49256cba6102440.png)
## 概述 Conflict Globe 是一个开源情报 (OSINT) 平台,可在交互式 3D 地球上实时聚合并可视化全球冲突、海事、航空、网络和地缘政治事件。它专为需要高信噪比、低延迟全球事件视图的分析师、研究人员和记者而设计。 ## 功能特性 ### 实时数据管道 - 来自多个独立来源的实时 OSINT feed 聚合 - WebSocket (Socket.io) 推送更新 —— 客户端无需轮询 - 可针对每个来源配置自动刷新间隔 ### 可视化图层 | 图层 | 描述 | |---|---| | **Points** | 具有按类别颜色编码的单个事件标记 | | **HexBins** | 用于密度分析的六边形空间聚类 | | **Heatmap** | 基于事件分布的连续密度表面 | | **Rings** | 活动事件位置的动画脉冲环 | | **Arcs** | 相关事件之间的方向性连接 | | **Paths** | 移动和轨迹追踪 | | **Polygons** | 区域边界和聚合叠加层 | ### 地球控件 - 一键切换深色 / 浅色主题 - 大气辉光、云层和凹凸贴图地形 - 经纬网格叠加层 - 自动旋转,支持拖动暂停 - 客户端点聚类,确保大规模数据下的流畅性能 ### 交互与过滤 - 点击任意标记查看完整的事件详情面板 - 悬停工具提示用于快速预览 - 用于时间过滤的时间轴滑块 - 类别过滤器开关 - 对所有已加载事件进行全文搜索 - 导出为 **JSON**、**GeoJSON** 或 **CSV** ### 事件类别 `Conflict` · `Maritime` · `Air` · `Cyber` · `Land` · `Space` · `Radio` · `Weather` · `Earthquakes` · `Social Media` ## 快速开始 ### Docker (推荐) 在本地运行 Conflict Globe 的最快方式。需要 [Docker](https://docs.docker.com/get-docker/) 和 Docker Compose。 ``` git clone https://github.com/r13xr13/conflict-globe.gl.git cd conflict-globe.gl docker compose up -d # 应用程序将位于: open http://localhost:8080 ``` ### 本地开发 需要 Node.js ≥ 18。 ``` # Clone the repository git clone https://github.com/r13xr13/conflict-globe.gl.git cd conflict-globe.gl # Install dependencies for both packages cd client-3d && npm install cd ../server && npm install # Start the backend (Terminal 1) cd server && npm run dev # Start the frontend (Terminal 2) cd client-3d && npm run dev ``` 开发客户端将在文件更改时热重载。服务器使用 `ts-node-dev` 运行以支持 TypeScript 重载。 ## 配置 ### 环境变量 在 `server/` 目录中创建一个 `.env` 文件。所有 API 密钥均为可选 —— 许多数据源无需身份验证即可使用。 ``` # ── API Keys (可选) ───────────────────────────────────────────────────── NEWS_API_KEY=your_key_here GDELT_KEY=your_key_here # ── Server ─────────────────────────────────────────────────────────────────── PORT=8080 NODE_ENV=development ``` ### 数据来源 服务器服务层聚合来自以下 OSINT 提供商的数据: | 来源 | 领域 | |---|---| | [GDELT Project](https://www.gdeltproject.org/) | 全球事件与媒体 | | [UCDP Armed Conflict](https://ucdp.uu.se/) | 冲突数据集 | | MarineTraffic | 海事船舶追踪 | | ADS-B Exchange | 实时飞机位置 | | Satellite tracking feeds | 太空领域感知 | | RSS news aggregation | 开源媒体源 | ## 架构 ``` conflict-globe.gl/ ├── client-3d/ # React + Vite frontend (TypeScript) │ ├── src/ │ │ └── App.tsx # Root globe component & state management │ └── package.json │ ├── server/ # Express + TypeScript backend │ ├── src/ │ │ ├── index.ts # Server entry point & Socket.io setup │ │ ├── routes/ # REST API endpoint definitions │ │ └── services/ # Per-source OSINT data fetchers │ └── package.json │ ├── globe.gl/ # Vendored / custom globe.gl build (optional) ├── Dockerfile └── docker-compose.yml ``` **数据流:** OSINT 服务 → Express REST & Socket.io → React 客户端 → globe.gl WebGL 渲染器 ## 技术栈 | 层级 | 技术 | |---|---| | **Frontend** | React, Vite, react-globe.gl, Three.js, TypeScript | | **Backend** | Node.js, Express, TypeScript, Socket.io | | **Data** | Axios, RSS parsers, REST OSINT APIs | | **Infrastructure** | Docker, Docker Compose | ## 性能 - 客户端点聚类确保在事件量巨大时渲染时间保持稳定 - 可配置的最大点数 (50–500) 以匹配硬件能力 - 自动刷新节流防止数据源的速率限制耗尽 - Memoized 数据处理避免冗余的 React 渲染 - 代码分割懒加载减少初始包大小 ## 键盘快捷键 | 按键 | 操作 | |---|---| | `R` | 强制数据刷新 | | `F` | 切换侧边栏 | | `H` | 切换深色 / 浅色主题 | ## 许可证 根据 [MIT License](LICENSE) 分发。 ## 致谢 - [globe.gl](https://github.com/vasturiano/globe.gl) — 由 Vasco Asturiano 开发的 WebGL 地球渲染库 - [three-globe](https://github.com/vasturiano/three-globe) — Three.js 地球插件 - [GDELT Project](https://www.gdeltproject.org/) — 主要开源事件数据提供商
标签:3D可视化, deck.gl, DFIR, Docker, ESC4, HTTP/HTTPS抓包, MapboxGL, MITM代理, OSINT, React, Socket.io, Syscalls, TypeScript, WebGL, 全球冲突, 地缘政治, 威胁情报, 安全插件, 安全防御评估, 库, 应急响应, 开发者工具, 态势感知, 情报分析, 数据聚合, 新闻监控, 海事监控, 热力图, 空间分析, 网络安全, 网络战, 网络诊断, 自动化攻击, 航空监控, 请求拦截, 隐私保护