iiTONELOC/sigint
GitHub: iiTONELOC/sigint
一个基于 Bun + React + Canvas 的开源 OSINT 情报仪表板原型,提供 3D 地球可视化与多源事件跟踪功能。
Stars: 0 | Forks: 0
# SIGINT
一个实时全球情报仪表板原型,具有实时数据可视化、交互式地球/地图视图以及多层事件跟踪功能。目前展示了船只、飞行器、地震事件和 GDELT 风格情报事件的模拟数据。
## 目录
- [SIGINT](#sigint)
- [目录](#table-of-contents)
- [概述](#overview)
- [技术栈](#tech-stack)
- [Docker 架构](#docker-architecture)
- [截图](#screenshot)
- [开发](#development)
- [生产](#production)
- [Heroku 部署](#heroku-deployment)
- [清理](#cleanup)
- [许可证](#license)
- [作者](#author)
## 概述
**SIGINT** 是一个使用 Bun、React 和基于 Canvas 的 3D 可视化构建的开源 OSINT 仪表板原型。该应用通过响应式 UI 提供跨地理空间数据流的实时跟踪和监控,适配从移动端到桌面端的各种屏幕。
**⚠️ 状态**:使用模拟仿真数据的原型。尚未连接真实数据源。
## 技术栈
- **运行时**:[Bun](https://bun.sh) (TypeScript/JavaScript)
- **前端**:React 19 + TypeScript
- **样式**:Tailwind CSS 4
- **可视化**:Canvas 3D 地球 + 交互式地图
- **构建**:Bun bundler 配合 Tailwind 插件
- **容器化**:Docker + Docker Compose
- **部署**:Heroku container stack
## Docker 架构
完全容器化的应用,提供独立的开发和生产配置:
- **Dev**:支持热重载和源码卷挂载,Caddy 反向代理 (HTTPS),运行时渲染打包的 TypeScript
- **Prod**:多阶段构建,编译为静态 `dist/`,运行时提供预构建文件,适配 Heroku container stack
- **网络**:Dev compose 暴露端口 80/443 (Caddy) + 3000 (API);prod 暴露 3000,并支持可配置的 PORT 覆盖
使用 npm 脚本启动 dev 或 prod 容器(见下方开发/生产章节)。
## 截图

## 开发
带热重载的开发模式(Caddy 处理 HTTPS):
```
npm run docker:dev:up
```
通过网络访问地址为 `https://`,或在本地通过 localhost 访问。
停止:
```
npm run docker:dev:down
```
## 生产
```
npm run docker:prod:up
```
停止:
```
npm run docker:prod:down
```
## Heroku 部署
推送到 Heroku container stack:
```
git push heroku main
```
或使用 Container Registry:
```
heroku container:push web -a your-app-name
heroku container:release web -a your-app-name
```
## 清理
移除容器、卷和镜像:
```
npm run docker:clean
```
## 许可证
本项目基于 **MIT License** 授权 — 详情请参阅 [LICENSE](./LICENSE) 文件。
## 作者
[iiTONELOC](https://github.com/iiTONELOC)
标签:3D可视化, Bun, Caddy, Canvas, CSV输出, Docker, Docker Compose, GDELT数据集, GIS地图, Heroku, React 19, Tailwind CSS, TypeScript, 事件追踪, 交互式地球仪, 信号情报 (SIGINT), 全球态势感知, 地理空间数据, 安全插件, 安全防御评估, 开源情报 (OSINT), 态势感知原型, 情报仪表盘, 模拟数据, 版权保护, 网络安全, 自动化攻击, 请求拦截, 隐私保护