64 lines
4.7 KiB
Markdown
64 lines
4.7 KiB
Markdown
# System Architecture
|
||
|
||
Describe the overall architecture with user, controller, agents.
|
||
|
||
🌐 User Panel ──► XControl API ◄───────┐
|
||
▲ │ │
|
||
│ REST API ▼ │
|
||
[浏览器] ┌─────────────┐ gRPC/HTTP
|
||
│ PostgreSQL │ ┌────────────────────┐
|
||
└─────────────┘ │ Xray 节点 Agent #1 │
|
||
│ Xray + stats/api │
|
||
└────────────────────┘
|
||
...
|
||
┌────────────────────┐
|
||
│ DeepFlow Agent #N │
|
||
│ eBPF + WASM采流量 │
|
||
└────────────────────┘
|
||
|
||
|
||
|
||
🧭 多租户 VLESS 管理系统架构图 (用户面 + 控制面 + 多节点)
|
||
|
||
🌐 用户面(User Panel)
|
||
┌─────────────────────────────────────────────────────────────┐
|
||
│ [User Browser] │
|
||
│ ├─📄 查看配置导出(vless:// + QR 码) │
|
||
│ ├─📊 当前使用量(上/下行流量、图表) │
|
||
│ └─🌍 可用节点列表(选择订阅) │
|
||
└──────────────┬──────────────────────────────────────────────┘
|
||
│ HTTPS API 请求
|
||
▼
|
||
|
||
🧠 控制面(vless-admin Controller)
|
||
┌─────────────────────────────────────────────────────────────┐
|
||
│ REST API (Gin) │
|
||
│ ├─ /api/users → 用户注册/添加/流量查询 │
|
||
│ ├─ /api/subscription → vless:// 订阅链接生成 │
|
||
│ ├─ /api/nodes → 多节点信息展示 │
|
||
│ └─ /api/stats → 后台流量采集、流控策略 │
|
||
│ │
|
||
│ PostgreSQL │
|
||
│ ├─ 用户表 (email + UUID) │
|
||
│ ├─ 节点表 │
|
||
│ └─ 流量表(每日/每小时) │
|
||
│ │
|
||
│ WebUI (Vue3) → embed.FS(Go 二进制嵌入) │
|
||
└──────────────┬──────────────────────────────────────────────┘
|
||
│ HTTP/gRPC 控制与拉取配置
|
||
▼
|
||
|
||
🛰️ 多节点(Xray-core + Agent)
|
||
|
||
┌────────────────────┐ ┌────────────────────┐ ┌────────────────────┐
|
||
│ Agent: Node #1 │ │ Agent: Node #2 │ │ Agent: Node #N │
|
||
│ ┌────────────────┐ │ │ ┌────────────────┐ │ │ ┌────────────────┐ │
|
||
│ │ Xray-core │ │ │ │ Xray-core │ │ │ │ Xray-core │ │
|
||
│ │ + stats + api │ │ │ │ + stats + api │ │ │ │ + stats + api │ │
|
||
│ └────────────────┘ │ │ └────────────────┘ │ │ └────────────────┘ │
|
||
│ ⬆ 上报用户流量 │ │ ⬆ 上报用户流量 │ │ ⬆ 上报用户流量 │
|
||
│ ⬇ 拉取用户配置 │ │ ⬇ 拉取用户配置 │ │ ⬇ 拉取用户配置 │
|
||
└────────────────────┘ └────────────────────┘ └────────────────────┘
|
||
|
||
|