0xhav0c/ARGUS
GitHub: 0xhav0c/ARGUS
一个基于 Electron 与 React 的桌面 OSINT 情报平台,通过 3D 地球仪实时聚合并可视化多领域开源威胁数据。
Stars: 8 | Forks: 0
ARGUS
实时全球OSINT与情报仪表盘
功能 •
安装 •
开发 •
架构 •
贡献 •
许可证
## 关于
ARGUS 是一个桌面情报平台,它实时聚合、分类并在交互式3D地球仪上可视化全球事件。它从数十个开源数据源(RSS、API、爬虫)获取数据,为安全分析师、研究人员和OSINT从业者提供统一的操作视图。
这是一个**爱好/激情项目**,旨在探索并推动 Electron、React 和 CesiumJS 的边界。目标是从头到尾学习现代桌面应用开发——从多进程IPC架构和SQLite离线缓存到实时3D地球渲染和AI驱动的分析流水线。它不是商业产品;这是一个用于实验、学习和为OSINT社区构建真正有用工具的游乐场。
名称源自希腊神话中的百眼巨人——**Argus Panoptes**,全视的守护者。
## 截图
3D Globe — Real-time incident visualization with multi-layer overlays
📸 更多截图
| 仪表盘组件 | 事件详情 |
|:-:|:-:|
|
|
|
| *威胁评分、时间线分析、实体追踪* | *带地理定位与实体的详细事件视图* |
| 分析与操作 | 告警系统 |
|:-:|:-:|
|
|
|
| *高级搜索、书签和威胁分析* | *带地理围栏与关键词触发的智能告警规则* |
| AI摘要 | 媒体与实时电视 |
|:-:|:-:|
|
|
|
| *AI驱动的每日简报和事件摘要* | *多频道实时电视网格与音量控制* |
| 设置 |
|:-:|
|
|
| *数据源、API密钥、图层、告警与外观配置* |
## 功能
### 核心情报
- **3D地球可视化** — 基于CesiumJS的交互式地球仪,支持实时事件标记、热力图与动画弧线
- **多领域数据源** — 从50多个开源数据源聚合冲突、网络战、情报与金融事件
- **AI驱动分析** — 通过Ollama、OpenAI或自定义端点实现摘要、实体提取与每日简报
- **智能告警系统** — 支持去重、地理围栏触发与桌面通知的规则驱动告警
### 追踪与监控
- **航班追踪** — 通过OpenSky网络实时获取飞机位置,并支持军用飞机过滤
- **船舶追踪** — 海事船舶位置与航线可视化
- **卫星追踪** — 通过CelesTrak TLE数据获取活跃卫星位置
- **地震监测** — 基于USGS的实时地震数据与震级过滤
- **自然灾害告警** — 通过GDACS集成实现洪水、风暴与火山活动告警
### 安全情报
- **网络威胁数据源** — 实时CVE、勒索软件追踪、APT组织监控
- **暗网监控** — 从暗网来源聚合告警
- **IoC提取** — 自动提取文本中的IP、域名、哈希值与URL
- **SIGINT/RF事件** — 信号情报与无线电频率事件监控
- **制裁筛查** — 实时制裁名单检查
### 分析工具
- **操作控制台** — 高级搜索、书签、线程与注释管理
- **异常检测** — 基于统计的异常检测与级联告警系统
- **预测性风险评分** — 基于ML的区域与领域风险预测
- **实体关系图谱** — 交互式力导向实体网络可视化
- **金融仪表盘** — 外汇、加密货币、大宗商品与股票追踪
### 平台特性
- **离线优先架构** — 基于SQLite的本地缓存,无需互联网即可运行
- **多窗口支持** — 可将面板分离到副显示器
- **配套服务器** — 用于移动客户端的WebSocket服务器
- **多语言** — 英文与土耳其文UI(可扩展)
- **可配置图层** — 可独立切换20多种数据叠加层
- **TTS告警** — 关键通知的文本转语音
## 安装
### 下载预构建二进制文件
从 [发布页面](https://github.com/0xhav0c/ARGUS/releases) 下载适用于您平台的最新版本:
| 平台 | 格式 |
|----------|--------|
| Windows | `.exe` (NSIS安装程序) |
| macOS | `.dmg` |
| Linux | `.AppImage` |
### 从源码构建
#### 先决条件
- [Node.js](https://nodejs.org/) >= 18.x
- [Git](https://git-scm.com/)
- Python 3.x(用于本地模块编译)
- C++构建工具(用于 `better-sqlite3`)
- **Windows**: `npm install -g windows-build-tools` 或 Visual Studio 构建工具
- **macOS**: `xcode-select --install`
- **Linux**: `sudo apt install build-essential python3`
#### 步骤
```
# 克隆仓库
git clone https://github.com/0xhav0c/ARGUS.git
cd ARGUS
# 安装依赖
npm install
# 复制 Cesium 静态资源
npm run setup-cesium
# 开发模式启动
npm run dev
# 生产环境构建
npm run build
# 打包分发
npm run dist
```
## 开发
```
npm run dev # Start with hot-reload
npm run build # Production build
npm run lint # Run ESLint
npm run lint:fix # Fix linting issues
npm run typecheck # TypeScript type checking
npm run test # Run tests
npm run test:watch # Run tests in watch mode
```
### 项目结构
```
src/
├── main/ # Electron main process
│ ├── index.ts # App entry, IPC handlers, service init
│ ├── database/ # SQLite schema & cache manager
│ ├── ipc/ # IPC handler modules
│ └── services/ # Backend services
│ ├── feed-aggregator.ts # RSS/API feed aggregation
│ ├── tracking-service.ts # Flight, vessel, earthquake tracking
│ ├── ai-service.ts # AI provider abstraction
│ ├── cyber-threat-service.ts # CVE, ransomware feeds
│ ├── anomaly-engine.ts # Statistical anomaly detection
│ └── ... # 20+ specialized services
├── preload/ # Electron preload (context bridge)
├── renderer/ # React frontend
│ ├── components/
│ │ ├── layout/ # AppShell, TopBar, StatusBar
│ │ ├── globe/ # CesiumGlobe, overlays, tracking layers
│ │ ├── pages/ # Operations, SecurityIntel, Media, Log
│ │ ├── panels/ # IncidentDetail, Finance, EntityGraph
│ │ └── dashboard/ # Dashboard widgets & settings
│ ├── hooks/ # React hooks (useIncidents, useGlobeCamera)
│ ├── stores/ # Zustand state management (15+ stores)
│ ├── i18n/ # Internationalization (en, tr)
│ └── data/ # Static data (countries, TV channels)
└── shared/ # Shared types between main & renderer
```
## 架构
```
┌──────────────────────────────────────────────────┐
│ Electron Main │
│ ┌────────────┐ ┌────────────┐ ┌────────────┐ │
│ │ Feed │ │ Tracking │ │ AI │ │
│ │ Aggregator │ │ Services │ │ Service │ │
│ └─────┬──────┘ └─────┬──────┘ └─────┬──────┘ │
│ │ │ │ │
│ ┌─────┴───────────────┴───────────────┴──────┐ │
│ │ IPC Bridge │ │
│ └─────────────────┬───────────────────────────┘ │
└────────────────────┼──────────────────────────────┘
│
┌────────────────────┼──────────────────────────────┐
│ Electron Renderer │ │
│ ┌─────────────────┴───────────────────────────┐ │
│ │ Zustand Stores │ │
│ │ incidents │ filters │ layers │ alerts │ ... │ │
│ └──────┬─────────┬──────────┬────────┬────────┘ │
│ │ │ │ │ │
│ ┌──────┴─────────┴──────────┴────────┴────────┐ │
│ │ React Components │ │
│ │ Globe │ Dashboard │ Panels │ Operations │ │
│ └──────────────────────────────────────────────┘ │
└───────────────────────────────────────────────────┘
```
### 技术栈
| 层级 | 技术 |
|-------|-----------|
| 框架 | Electron 41 |
| 前端 | React 19, TypeScript 6 |
| 状态 | Zustand 5 |
| 3D地球 | CesiumJS |
| 数据库 | SQLite (better-sqlite3) |
| 构建 | electron-vite, Vite 7 |
| 样式 | Tailwind CSS 4 + 内联样式 |
| 国际化 | i18next |
| 测试 | Vitest |
### API密钥(可选)
ARGUS 在无需任何API密钥的情况下即可使用公开数据源运行。如需增强数据,请在 **设置 > API密钥** 中配置:
| 服务 | 用途 |
|---------|---------|
| OpenSky Network | 认证航班追踪(更高速率限制) |
| Shodan | 互联网设备搜索 |
| AbuseIPDB | IP信誉检查 |
| VirusTotal | 恶意软件/URL扫描 |
| OpenAI | AI驱动分析(Ollama的替代方案) |
## 贡献
请阅读 [CONTRIBUTING.md](CONTRIBUTING.md) 获取贡献指南。
## 许可证
本项目根据 **GNU Affero General Public License v3.0** 授权——详情见 [许可证](LICENSE) 文件。
## 免责声明
ARGUS 是一个用于合法安全研究与态势感知的OSINT工具。所有数据均来自公开可用的数据源和API。用户需遵守适用法律及上游数据提供方的服务条款。
标签:3D可视化, AI分析, API数据, CesiumJS, DNS解析, Electron, HTTP/HTTPS抓包, IPC进程通信, OSINT实践, React, RSS聚合, SQLite离线缓存, Syscalls, 全球OSINT, 卫星跟踪, 地球仪可视化, 多数据源整合, 多领域威胁源, 实时威胁监控, 实时数据, 开源项目, 态势感知, 技术探索, 桌面情报平台, 现代桌面应用, 自动化攻击, 船舶跟踪, 飞行跟踪