代理管理平台

一个智能代理调度平台,支持用户通过 SOCKS5 连接,根据解锁能力和使用规则自动选择最优节点。

功能特性

  • SOCKS5 代理服务:支持用户名密码认证,连接数限制
  • 智能节点调度:基于延迟、连接数、权重的负载均衡
  • WARP IP 管理:自动刷新 IP,解锁检测
  • 解锁能力筛选:支持 GPT、Netflix、Disney+ 等服务
  • 规则引擎:根据解锁失败、使用次数等条件自动更换 IP
  • 管理面板:用户管理、节点管理、统计报表

快速开始

前置要求

  • Go 1.21+
  • PostgreSQL 15+
  • Redis 7+
  • Node.js 18+ (前端开发)
  • Docker & Docker Compose(推荐)

使用 Docker Compose 启动

# 克隆项目
git clone https://git.viaeon.com/your-org/proxy-platform.git
cd proxy-platform

# 启动服务
docker-compose -f deployments/docker-compose.yml up -d

# 查看日志
docker-compose -f deployments/docker-compose.yml logs -f scheduler

手动启动

# 安装依赖
go mod download

# 启动数据库
docker-compose -f deployments/docker-compose.yml up -d postgres redis

# 构建程序
make build

# 启动调度中心
./bin/scheduler

# 启动节点 Agent(在另一台服务器上)
./bin/agent

配置说明

调度中心配置 (configs/scheduler.yaml)

server:
  host: "0.0.0.0"
  port: 8080

socks5:
  host: "0.0.0.0"
  port: 1080
  max_connections: 10000
  timeout: 30

database:
  host: "localhost"
  port: 5432
  user: "postgres"
  password: "postgres"
  database: "proxy_platform"

scheduler:
  strategy: "least_latency"  # 负载均衡策略
  health_check_interval: 10

节点 Agent 配置 (configs/agent.yaml)

agent:
  node_id: "node_001"
  name: "US-Node-1"
  region: "US"

warp:
  enabled: true
  socks5_port: 40000
  refresh_cooldown: 300
  max_refresh_retries: 5

unlock:
  check_interval: 300
  services:
    - name: "gpt"
      url: "https://chat.openai.com/"
    - name: "netflix"
      url: "https://www.netflix.com/title/80018499"

API 文档

用户管理

# 创建用户
POST /api/v1/users
{
  "username": "user1",
  "password": "password123",
  "traffic_quota": 107374182400,
  "expire_days": 30
}

# 获取用户列表
GET /api/v1/users?page=1&page_size=20

# 更新用户
PUT /api/v1/users/:id

# 删除用户
DELETE /api/v1/users/:id

节点管理

# 创建节点
POST /api/v1/nodes
{
  "node_id": "node_001",
  "name": "US-Node-1",
  "host": "1.2.3.4",
  "port": 1080,
  "region": "US"
}

# 获取节点列表
GET /api/v1/nodes

# 刷新节点 IP
POST /api/v1/nodes/:id/refresh-ip

Agent 接口

# 心跳上报
POST /api/v1/agent/heartbeat
{
  "node_id": "node_001",
  "online": true,
  "warp_connected": true,
  "current_ip": "104.16.132.229",
  "connections": 42
}

# 上报解锁状态
POST /api/v1/agent/unlock/report

使用示例

连接代理

# 使用 curl 测试
curl --socks5 user1:password123@127.0.0.1:1080 https://httpbin.org/ip

# 使用 Python
import requests

proxies = {
    'http': 'socks5://user1:password123@127.0.0.1:1080',
    'https': 'socks5://user1:password123@127.0.0.1:1080'
}
response = requests.get('https://httpbin.org/ip', proxies=proxies)
print(response.json())

节点部署

# 安装 WARP
curl -fsSL https://pkg.cloudflareclient.com/install.sh | sudo bash

# 连接 WARP
sudo warp-cli register
sudo warp-cli connect
sudo warp-cli set-mode proxy

# 配置 agent.yaml
# 启动 Agent
./agent

开发

# 运行测试
go test ./...

# 构建所有组件
make build

# 构建 Docker 镜像
make docker

# 运行代码检查
make lint

License

MIT

S
Description
代理管理平台 - 智能代理调度系统
Readme 14 MiB
Languages
Go 60.7%
Vue 32.7%
TypeScript 3.7%
Makefile 1.5%
SCSS 0.9%
Other 0.5%