一个跨平台代理客户端,支持订阅管理、多节点切换、SOCKS5/HTTP 代理及灵活分流规则配置。

Install

openclaw skills install veteran-proxy

veteran — 节点代理客户端

基于 sing-box 的跨平台代理客户端,支持订阅管理、多节点切换、SOCKS5/HTTP 代理、分流规则。

安装

Releases 下载对应平台二进制,或从源码编译:

git clone https://github.com/yongjie0203/veteran.git
cd veteran
make build

快速开始

# 1. 更新订阅
./veteran sub -u "https://your-subscription-url"

# 2. 查看节点
./veteran list

# 3. 启动代理(默认后台运行,端口1088)
./veteran run -n 1

# 4. 查看状态
./veteran status

# 5. 停止
./veteran stop

命令参考

veteran sub — 更新订阅

veteran sub -u <订阅URL>
参数说明
-u, --url订阅链接 URL(必填)

支持协议:vless:// vmess:// ss:// trojan:// hysteria2://

veteran list — 列出节点

veteran list

显示所有已订阅节点的索引、协议类型、名称和服务器地址。

veteran run — 启动代理

veteran run -n <节点> [-p <端口>] [-m <模式>] [-f] [--rule ...] [--rule-file ...]
参数说明默认值
-n, --node节点索引(从1开始)或名称(必填)-
-p, --port本地监听端口1088
-m, --mode分流模式(见下表)2
-f, --foreground前台运行(输出到终端)默认后台
--rule自定义规则,可重复-
--rule-file从文件加载规则-

分流模式

说明
0绕过中国大陆地址
1绕过局域网地址
2绕过中国大陆和局域网地址(默认)
3全局代理
4自定义规则(需配合 --rule--rule-file

veteran status — 查看状态

veteran status

veteran stop — 停止代理

veteran stop [-p <端口>]
参数说明
-p, --port要停止的端口(不指定则停止所有)

分流规则

命令行方式:--rule

./veteran run -n 1 -m 4 \
  --rule "DOMAIN-SUFFIX,google.com,PROXY" \
  --rule "IP-CIDR,10.0.0.0/8,DIRECT" \
  --rule "FINAL,PROXY"

文件方式:--rule-file

./veteran run -n 1 -m 4 --rule-file ./rules.json

规则文件格式 (JSON)

{
  "china_domain": ["baidu", "zhihu", "weibo"],
  "china_cidr": ["114.114.114.0/24"],
  "private_cidr": [
    "10.0.0.0/8",
    "172.16.0.0/12",
    "192.168.0.0/16",
    "127.0.0.0/12"
  ],
  "custom_rule": [
    "DOMAIN-SUFFIX,google.com,PROXY",
    "DOMAIN-SUFFIX,github.com,PROXY",
    "DOMAIN,www.baidu.com,DIRECT",
    "DOMAIN-KEYWORD,facebook,PROXY",
    "IP-CIDR,192.168.1.0/24,DIRECT",
    "IP,8.8.8.8,PROXY",
    "FINAL,PROXY"
  ]
}

字段说明

字段类型作用生效模式
china_domainstring[]包含关键词的域名直连0, 2, 4
china_cidrstring[] (CIDR格式)IP 段直连0, 2, 4
private_cidrstring[] (CIDR格式)局域网地址直连1, 2, 4
custom_rulestring[]自定义规则(仅 -m 4 生效)4

规则格式:TYPE,VALUE,POLICY

TYPE说明示例
DOMAIN-SUFFIX域名后缀匹配DOMAIN-SUFFIX,google.com,PROXY
DOMAIN-KEYWORD域名关键词匹配DOMAIN-KEYWORD,facebook,PROXY
DOMAIN完整域名精确匹配DOMAIN,www.baidu.com,DIRECT
IP-CIDRIP 网段匹配IP-CIDR,10.0.0.0/8,DIRECT
IP精确 IP 匹配IP,8.8.8.8,PROXY
FINAL默认兜底策略FINAL,PROXY

POLICY 取值:

说明
DIRECT直连,不走代理
PROXY走代理
REJECT拒绝连接

规则按优先级匹配:DOMAIN > DOMAIN-SUFFIX > DOMAIN-KEYWORD > IP-CIDR > IP > FINAL


环境变量

变量说明默认值
VETERAN_ALLOW_MULTIPLE设为 true 允许多实例(不同端口)禁用
VETERAN_DATA_DIR数据目录~/.veteran

多实例

# 允许在不同端口启动多个代理
export VETERAN_ALLOW_MULTIPLE=true
./veteran run -n 1 -p 1088   # 节点1 → 端口1088
./veteran run -n 2 -p 1089   # 节点2 → 端口1089

数据目录

~/.veteran/
├── nodes.json              # 节点列表缓存
├── veteran.log             # 管理命令日志
├── veteran-1088.log        # 端口1088运行日志
├── veteran-1088.pid        # 端口1088进程ID
└── veteran-1089.log        # 端口1089运行日志

支持的协议

协议代理链接格式TLS传输层
VLESSvless://uuid@host:port?params#name✅ Reality/TLStcp/ws/grpc/h2/quic
VMessvmess://base64(json)✅ TLStcp/ws/grpc/h2
Shadowsocksss://base64@host:port#nametcp
Trojantrojan://pass@host:port?params#name✅ TLStcp/ws/grpc
Hysteria2hysteria2://pass@host:port#namequic

构建

# 本地开发
make build

# 全平台交叉编译
make all

# 发布(含压缩包)
make release VERSION=v1.0.0

支持平台

系统架构
macOS (darwin)amd64, arm64
Linuxamd64, arm64, 386, armv6, armv7
Windowsamd64, arm64, 386