
# PCYBOX Orbis
**映射无形世界。**
适用于 Windows 的实时网络流量可视化工具。
查看您计算机建立的每一项连接 —— 与谁通信、对方位置以及由哪个应用程序负责。
[](LICENSE)
[]()
[]()
[网站](https://orbis.pcybox.com) - [下载](https://github.com/Mister-iks/pcybox-orbis/releases/latest) - [报告问题](https://github.com/Mister-iks/pcybox-orbis/issues)
## 功能特性
| 功能 | 描述 |
|---|---|
| 力导向图 | 实时节点图 —— 您的设备为中心,每个连接作为一个节点 |
| 世界地图 | 在交互式地球仪上展示 IP 地理位置及动态连接弧线 |
| 60 分钟时间线 | 存储在本地 SQLite 中的滑动历史记录 |
| 异常检测 | 标记端口扫描、信标通信、潜在数据外泄行为 |
| 进程归因 | 了解哪个应用程序产生了哪些流量(每个连接列出前 5 个进程) |
| 局域网扫描器 | 通过 ARP 发现您本地网络中的所有设备 |
| 隐私评分 | 实时评估出站流量的暴露风险评分 |
| 带宽监控 | 实时 MB/s 迷你折线图 |
## 下载
**[PCYBOX Orbis Setup 1.0.0.exe](https://github.com/Mister-iks/pcybox-orbis/releases/latest)** - Windows 10/11 64位 - 约 101 MB
网络捕获需要管理员权限。首次启动时将自动安装 Npcap。
## 技术栈
| 层级 | 技术 |
|---|---|
| 数据包捕获 | Python - Scapy - Npcap 1.79 |
| 后端 API | FastAPI - WebSockets - SQLite |
| 前端 | React 18 - Vite - D3.js v7 - TopoJSON |
| 桌面封装 | Electron 28 |
| 地理定位 | MaxMind GeoLite2 |
## Docker(Linux)
Docker 部署适用于希望在 Linux 上运行 Orbis 且只需安装 Docker 的用户。
数据包捕获通过 `network_mode: host` 实现,容器可直接访问主机真实流量。
```
# 克隆并进入仓库
git clone https://github.com/Mister-iks/pcybox-orbis
cd pcybox-orbis
# 可选:将 MaxMind GeoLite2-City.mmdb 放入 data/ 目录以离线地理定位
# 若无此文件,应用将回退使用 ip-api.com(45 请求/分钟,无需密钥)
mkdir -p data
# 构建与运行(需 Docker 且 root/sudo 权限用于原始套接字捕获)
sudo docker compose up --build
```
在浏览器中打开 **http://localhost:8000**。
后台运行:`sudo docker compose up -d --build`
相比 Electron 应用的限制:
- 进程归因仅限于容器内进程(默认不共享主机 PID)
- 某些网络配置下无法使用局域网扫描器
## 开发指南
### 环境要求
- Python 3.11+
- Node.js 18+
- 已安装 [Npcap](https://npcap.com/)
- 后端(数据包捕获)需要以管理员终端运行
### 本地运行
```
# 后端(管理员终端)
cd backend
pip install -r requirements.txt
python run_backend.py
# API 可访问于 http://127.0.0.1:8000
# 前端(独立终端)
cd frontend
npm install
npm run dev
# UI 界面位于 http://localhost:5173
# Electron(可选,管理员终端)
cd electron
npm install
set VITE_DEV=1
npx electron .
```
### 构建安装程序
```
# 1 - 编译后端(PyInstaller)
cd backend
pip install pyinstaller
pyinstaller backend.spec --distpath ../dist/backend
# 2 - 构建前端
cd frontend
npm run build
# 3 - 构建 Electron 安装程序
cd electron
npm run build:dir
# 然后重新打包 app.asar 并运行:
# npx electron-builder --win nsis --prepackaged ../dist/installer/win-unpacked
```
## 项目结构
```
pcybox-orbis/
- backend/ Python FastAPI + Scapy capture engine
- frontend/ React + D3.js UI
- electron/ Electron wrapper (main.js, splash, preload)
- website/ Official landing page (orbis.pcybox.com)
- docs/ SVG logo variants
- resources/ Npcap installer bundle
- dist/ Compiled output (backend exe, installer)
```
## 许可证
AGPL v3 - 参见 [LICENSE](LICENSE)
可免费使用、研究和修改。任何衍生作品也必须遵循 AGPL v3 开源。商业使用需要单独许可 - 请联系 ibrahimapro289@gmail.com