Skip to content

一个专业的 Windows 系统托盘应用程序,用于管理 V2Ray 代理池。支持自动获取订阅链接、解析节点、启动多个 V2Ray 进程,并生成代理池文件。

Notifications You must be signed in to change notification settings

NetCapture/v2ray-pool-manager

 
 

Repository files navigation

V2Ray 代理池管理器

一个专业的 Windows 系统托盘应用程序,用于管理 V2Ray 代理池。支持自动获取订阅链接、解析节点、启动多个 V2Ray 进程,并生成代理池文件。

功能特性

  • 🚀 系统托盘界面:常驻后台运行,通过系统托盘进行管理
  • 📡 订阅支持:自动获取和解析订阅链接
  • 🔗 多协议支持:支持 VLESS 和 VMESS 协议
  • 并发处理:同时启动多个 V2Ray 进程,提供代理池
  • 🔍 节点验证:自动检查节点有效性,过滤无效节点
  • 🎛️ 代理类型配置:可选择启用 HTTP 和/或 SOCKS5 代理
  • 📝 日志系统:详细的运行日志,支持托盘内查看
  • 🔧 配置灵活:YAML 配置文件,易于修改

项目结构

v2ray-pool-manager/
├── cmd/v2ray-pool-manager/     # 主程序入口
│   ├── main.go                 # 程序主入口
│   └── icon.ico                # 托盘图标
├── internal/                   # 内部模块
│   ├── config/                 # 配置管理
│   ├── core/                   # 核心逻辑
│   │   ├── manager.go          # 代理池管理器
│   │   ├── node_parser.go      # 节点解析器
│   │   └── template.go         # V2Ray配置模板
│   ├── logger/                 # 日志系统
│   └── tray/                   # 系统托盘界面
├── config.yaml                 # 配置文件
├── V2RayPoolManager.exe        # 编译后的可执行文件
└── v2ray.exe                   # V2Ray 核心程序(需要自行下载)

安装和使用

1. 准备文件

确保以下文件在同一目录下:

  • V2RayPoolManager.exe - 主程序
  • config.yaml - 配置文件
  • v2ray.exe - V2Ray 核心程序

2. 配置文件

编辑 config.yaml 文件:

# v2ray 或 xray 核心程序的路径
core_path: "v2ray.exe"

# 本地代理起始端口
start_port: 20000

# 代理类型配置
proxy_types:
  enable_socks5: true    # 是否启用 SOCKS5 代理
  enable_http: true      # 是否启用 HTTP 代理
  http_port_offset: 10000 # HTTP 端口偏移量

# 节点有效性检查配置
node_validation:
  enabled: true          # 是否启用节点有效性检查
  timeout_seconds: 10    # 连接超时时间(秒)
  test_url: "http://www.google.com" # 测试URL
  max_concurrent: 20     # 最大并发检查数

# 订阅链接列表
subscriptions:
  - "https://your-subscription-link-1"
  - "https://your-subscription-link-2"

# 日志文件路径
log_file: "pool_manager.log"

3. 运行程序

双击 V2RayPoolManager.exe 运行程序。程序启动后:

  • 在系统托盘(右下角)会出现程序图标
  • 右键点击图标可以看到菜单选项
  • 程序会自动开始获取订阅并启动代理

4. 使用功能

系统托盘菜单:

  • 状态显示:显示当前活动的代理数量
  • 配置信息:显示当前配置信息
  • 查看日志:打开日志文件查看详细运行信息
  • 查看代理列表:打开代理池文件查看所有可用代理
  • 退出程序:安全关闭所有代理进程并退出

生成的文件:

  • proxies.txt - 代理池文件,包含所有可用的代理地址
  • pool_manager.log - 运行日志文件

代理格式

程序支持以下代理协议:

VLESS

vless://uuid@server:port?type=ws&security=tls&path=/path&host=host&sni=sni

VMESS

vmess://base64encodedconfig

代理类型配置

程序支持灵活的代理类型配置:

配置选项

  • enable_socks5: 是否启用 SOCKS5 代理(默认:true)
  • enable_http: 是否启用 HTTP 代理(默认:true)
  • http_port_offset: HTTP 端口偏移量(默认:10000)

端口分配

  • SOCKS5 端口:从 start_port 开始递增(默认 20000+)
  • HTTP 端口:SOCKS5 端口 + http_port_offset

配置示例

proxy_types:
  enable_socks5: true     # 启用 SOCKS5
  enable_http: false      # 禁用 HTTP(仅使用 SOCKS5)
  http_port_offset: 10000

例如:

  • 第一个节点:SOCKS5 端口 20001,HTTP 端口 30001
  • 第二个节点:SOCKS5 端口 20002,HTTP 端口 30002

节点有效性检查

程序会自动验证节点的有效性,过滤掉无法连接的节点:

验证机制

  • TCP 连接测试:检查节点服务器的连通性
  • 并发验证:支持多线程并发检查,提高效率
  • 超时控制:可配置连接超时时间

配置选项

  • enabled: 是否启用验证(默认:true)
  • timeout_seconds: 连接超时时间(默认:10秒)
  • max_concurrent: 最大并发验证数(默认:20)
  • test_url: HTTP 测试 URL(预留功能)

验证流程

  1. 解析节点链接,提取服务器地址和端口
  2. 尝试建立 TCP 连接
  3. 记录连接延迟和结果
  4. 只启动验证通过的节点

编译说明

如果需要重新编译:

# 安装依赖
go mod tidy

# 编译(Windows GUI 模式,不显示控制台窗口)
go build -ldflags="-H windowsgui" -o V2RayPoolManager.exe ./cmd/v2ray-pool-manager

注意事项

  1. V2Ray 核心:需要自行下载 V2Ray 或 Xray 核心程序
  2. 订阅链接:请使用有效的订阅链接
  3. 防火墙:首次运行可能需要允许程序通过防火墙
  4. 端口占用:确保起始端口范围没有被其他程序占用

故障排除

  • 程序无法启动:检查配置文件格式是否正确
  • 无法获取订阅:检查网络连接和订阅链接有效性
  • 代理无法使用:检查 V2Ray 核心程序是否存在且可执行
  • 查看详细错误:通过托盘菜单打开日志文件

技术特点

  • 高内聚低耦合:模块化设计,职责分明
  • 并发安全:使用 sync 包确保并发安全
  • 资源管理:自动清理临时文件和进程
  • 错误处理:完善的错误处理和日志记录

写在最后

欢迎关注微信公众号【松哥ai自动化】与交流更多自动化与反爬技术实践!

About

一个专业的 Windows 系统托盘应用程序,用于管理 V2Ray 代理池。支持自动获取订阅链接、解析节点、启动多个 V2Ray 进程,并生成代理池文件。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 100.0%