架构设计
┌──────────────────────────────────────────────────────────┐
│ IPv6 子网代理 │
│ │
│ ┌──────────┐ ┌──────────────────────────────────┐ │
│ │ SOCKS5 │ │ Fastify API (端口 3000) │ │
│ │ 服务器 │ │ ┌─────┐ ┌──────┐ ┌──────────┐ │ │
│ │(端口 1080)│ │ │用户 │ │子网 │ │会话 │ │ │
│ │ │ │ │路由 │ │路由 │ │路由 │ │ │
│ │ 认证 │ │ └─────┘ └──────┘ └──────────┘ │ │
│ │ (RFC1929) │ │ ┌──────┐ ┌──────┐ ┌────────┐ │ │
│ │ │ │ │流量 │ │限制 │ │审计 │ │ │
│ │ CONNECT │ │ │路由 │ │路由 │ │路由 │ │ │
│ │ 处理 │ │ └──────┘ └──────┘ └────────┘ │ │
│ └─────┬─────┘ └──────────────────────────────────┘ │
│ │ │ │
│ └──────────┬─────────────┘ │
│ │ │
│ ┌──────────▼──────────┐ │
│ │ 核心模块 │ │
│ │ ┌──────────────┐ │ │
│ │ │ IP 分配器 │ │ │
│ │ │ (sticky/ │ │ │
│ │ │ random) │ │ │
│ │ ├──────────────┤ │ │
│ │ │ 用户管理器 │ │ │
│ │ ├──────────────┤ │ │
│ │ │ 子网管理器 │ │ │
│ │ ├──────────────┤ │ │
│ │ │ 速率限制器 │ │ │
│ │ ├──────────────┤ │ │
│ │ │ 流量统计 │ │ │
│ │ ├──────────────┤ │ │
│ │ │ 审计日志 │ │ │
│ │ └──────────────┘ │ │
│ └──────────┬──────────┘ │
│ │ │
│ ┌──────────▼──────────┐ │
│ │ SQLite (WAL 模式) │ │
│ │ /data/proxy.db │ │
│ └─────────────────────┘ │
└──────────────────────────────────────────────────────────┘
┌──────┐ SOCKS5 ┌────────────┐
│客户端 │◄───────────────►│ 目标服务器 │
│ │ (IPv6 绑定) │ │
└──────┘ └────────────┘应用程序为单进程架构,运行两个服务:
- SOCKS5 服务器(端口
1080)— 接受客户端连接,使用用户名/密码进行认证,从用户绑定的子网中分配 IPv6 地址,并转发流量。 - REST API 服务器(端口
3000)— 基于 Fastify 的 HTTP 管理 API。除/health外,所有端点均需X-API-Key头进行认证。
两个服务共享相同的核心模块和 SQLite 数据库。