组件参考手册

按「监听入口 / 协议处理 / 出口 / 传输」分组索引全部子命令与参数。所有命令均与 tunnel_proxy --help 核对。

1. Listeners(监听入口)

这些子命令启动一个监听服务,作为流量入口:

子命令功能关键参数
socks5SOCKS5 代理-l -u/--user -p/--pass -a/--users
socks4SOCKS4 / SOCKS4a 代理-l
autoHTTP / SOCKS4 / SOCKS5 自动协商-l -u -p
httpHTTP 代理-l -u user:pass -a
http2HTTP/2 代理(h2 CONNECT)-l -a
httpsHTTP/2 over TLS(自签证书)-l --cert/--key --http1
ssShadowsocks-l -m/--method --password
ss2Shadowsocks 2022-l -m --password
ssrShadowsocksR-l -m --password -o/--obfs --obfs-host -p/--protocol
trojanTrojan-l --password --cert/--key
vmessVmess-l --uuid
vlessVless-l --uuid
sniSNI 路由(域名→后端)-l -f/--file routes.yaml
fileHTTP 静态文件服务-l -d/--dir
relay自定义加密中继-l -u -p
h3socksHTTP/3 SOCKS 入口-l
wtsocksWebTransport SOCKS 入口-l
chain链式代理入口-l -f/--file
runRouter 编排(多服务 + 分流)-l -C/--config --api --reload --netns --api-user/--api-pass

2. Handlers(协议处理)

协议解析与目标连接在入口侧完成的处理单元(与 gost Handler 一致):

Handler说明
Socks5HandlerSOCKS5 认证 + CONNECT/UDP 关联
AutoHandler自动识别 HTTP/SOCKS4/SOCKS5
HttpHandlerHTTP CONNECT + 绝对 URI GET
SsHandlerSS 加密流
SsrHandlerSSR 流密码 + 混淆 + 协议插件
TrojanHandlerTLS + Trojan 认证
VmessHandlerVmess 认证 + 加密
SniHandlerTLS SNI 路由
FileHandler静态文件
RelayHandlerrelay 协议

3. Dialers(客户端/出口)

用于本地验证或 stdio 中继的客户端子命令(连到对应 server):

子命令连接目标关键参数
ssclientSS server-s -m --password -t/--target
ss2clientSS2 server同上
ssrclientSSR server同上 + 混淆/协议插件
trojanclientTrojan server-s --password -t
vmessclientVmess server-s --uuid -t
vlessclientVless server同上
relayclientRelay server-s -u -p -t --nodelay
rtcpclientRTCP 加密转发-s -k -t
runixclientRunix(unix/named pipe)-s -k -t
wgclientWireGuard(stdio 中继)-s -k -p
stdioSSH ProxyCommand 中继-t

4. Connectors(传输承载)

传输层服务器/客户端子命令:

子命令传输说明
kcp / kcpclientKCP-l -t --mtu --window --data-shards/--parity-shards --dead-link(kcp 另 --session-idle-timeout
dtls / dtlsclientDTLS-l -t
mtcpMultiplex TCP一条 TCP 承载多流
mux / muxclientMux多路复用流
h2 / h2clientHTTP/2 隧道h2 明文隧道
h3 / h3clientHTTP/3QUIC
wt / wtclientWebTransportQUIC
mtls / mtlsclientMultiplex TLSTLS + mux
obfs / obfsclientObfuscationHTTP/TLS 伪装
obfs4 / obfs4clientobfs4防探测混淆
ohttp otls pht ftcp混淆传输HTTP/TLS 伪装、Fake TCP
ws / wsc / wsechoWebSocketws 隧道 + echo 验证
quic / quicclientQUICUDP 可靠流
grpc / grpcclientgRPCgRPC 隧道
sshtunnel / sshdSSHSSH 隧道 / SSH 服务器
icmp / icmpclientICMPQUIC-over-ICMP 传输(三平台)
wgWireGuard服务器(-l -k -p -t)

5. 反向穿透 pf 全参数

pfserver

参数默认说明
--listen0.0.0.0:7000隧道监听地址
--password必填共享密钥
--pool公网端口池 from-to
--moderandomrandom / fixed / client
--port固定公网端口
--vhost-http/--vhost-https/--vhost-http3虚拟主机共享端口
--vhost-subdomainsubdomain 基础域名
--proxy-protocolv1 / v2 透传真实 IP
--max-ports-per-client单 client 端口上限
--interface公网端口绑定网卡
--bandwidth-limit每连接带宽上限
--web-server/--web-user/--web-passDashboard + Prometheus
--transporttcptcp/kcp/quic/tls/mtls/ws/wss/relay
--relay-addr/--relay-id中继地址与本 server 注册 ID(relay 传输必填,DP02)
--tls-cert/--tls-key/--tls-client-caTLS 服务端证书/mTLS CA
--oidc-secret/--oidc-issuer/--oidc-audienceOIDC 认证
--tcpmuxTCPMUX 单端口
--marksocket 标记(Linux)
--ssh-gateway/--ssh-gateway-user/--ssh-gateway-passSSH 反向隧道网关
--http-plugin注册事件 HTTP 回调
--virtual-net虚拟网络注册表(V1)
--vnet2-net 名称:CIDRVNet v2 广域网虚拟化:定义网络及独立 TUN IP 池(可重复,如 net1:10.99.0.0/24
--vnet2-peer peer@网络名VNet v2 联邦 peer:本 server 以 pfclient 身份连接 peer server,互为超级节点通告路由实现跨域互通(可重复,如 10.0.0.2:7000@net1
--server-read-timeout90服务端控制流读超时(秒),client 静默掉线时回收死会话
--parse-timeout15vhost/tcpmux/SNI 头解析超时(秒),防慢速连接
--udp-response-timeout5UDP 响应等待超时(秒)
--mux-window1024mux 单流发送窗口(KiB),越大单流吞吐越高
--mux-max-streams4096mux 单会话最大并发流数
--mux-tx-capacity32768mux 数据写通道容量(帧数)

pfclient

参数说明
--server服务器地址
--password共享密钥
--mode分配模式(须与 server 一致)
--port指定公网端口(client 模式)
--target透明转发目标(与 --proto/--config/--udp 互斥)
--udpUDP 穿透
--domainvhost 域名注册
--group负载均衡组
--transport传输承载(tcp/kcp/quic/tls/mtls/ws/wss/relay,须与 server 一致)
--relay-addr/--relay-id中继地址与目标 server 注册 ID(relay 传输必填,DP02)
--tls-cert/--tls-key/--tls-ca/--tls-insecureTLS 客户端参数
--oidc-tokenOIDC access token
--tcpmux-targetTCPMUX CONNECT 目标
--marksocket 标记(Linux)
--sniffing嗅探首包 HTTP Host / TLS SNI
--stcp-server/--stcp-secret/--stcp-listenSTCP visitor(本地监听)
--stcp-server/--stcp-secret/--targetSTCP 服务端(不占公网端口)
--xtcp-server/--xtcp-secret/--xtcp-listenXTCP visitor(UDP 打洞 + fallback)
--xtcp-server/--xtcp-secret/--targetXTCP 服务端(自动 UDP 打洞,KCP 加密数据面;候选经 frps 交换)
--xtcp-punch "bind@public"XTCP 服务端 TCP 直连:bind = 本机绑定端口,public = 对外公布 NAT 映射端口;指定时优先 TCP 直连,数据不经 server 中转(严格 P2P)
--stun-serverXTCP UDP 打洞 STUN 服务器(可重复;默认公共 STUN)
pfrelay -l :7001 [-k key]加密中继中枢(DERP-like,按 ID 转发加密包,DP02)
token-gen / token-parse / token-resolve连接令牌生成/解析/校验(DP03)
tc --token <tok> --target <addr>令牌一键建隧道(自动带密码与地址)
p2p-ping --server ... --xtcp-server ...XTCP 路径探测(udp-holepunch/tcp-direct/relay-fallback + RTT,DP04)
--server-bHA 备 server
--virtual-ip虚拟网络 IP
--proto协议模式(socks5/http/ss/.../file)
--configRouter 编排 YAML
--user/--users/--pass认证
--health-check/--health-interval/--health-timeout/--health-max-failed/--health-url健康检查
--ports端口范围映射(remotePort)
--subdomain/--basic-auth/--host-rewrite/--path-prefixvhost 增强
--heartbeat-interval心跳间隔(秒,默认 30),NAT 保活频率
--heartbeat-timeout心跳应答等待超时(秒,默认 5)
--client-session-timeout建连+握手总超时(秒,默认 15)
--reg-response-timeout注册响应等待超时(秒,默认 15)
--reconnect-backoff重连退避初始秒数(默认 1,指数增长)
--reconnect-backoff-max重连退避封顶秒数(默认 60)
--mux-windowmux 单流发送窗口(KiB,默认 1024)
--mux-max-streamsmux 单会话最大并发流数(默认 4096)
--mux-tx-capacitymux 数据写通道容量(帧数,默认 32768)

vnet(虚拟组网客户端)

本机创建 TUN 网卡加入 pfserver(--virtual-net)组织的虚拟网段,以虚拟 IP 与其他 vnet client 三层互通(ping / TCP / UDP)。需 root/管理员权限。

参数默认说明
--server必填pfserver 地址
--password必填共享密钥(与 server 一致)
--virtual-ip必填本机虚拟 IP(如 10.99.0.2,须唯一)
--prefix10.99.0.0虚拟网段前缀
--netmask按 prefix /16网段掩码
--mtu1400TUN 网卡 MTU
--nametpvnetTUN 网卡名
--transporttcp承载(tcp/kcp/quic/tls/mtls/ws/wss/relay,与 server 一致)
--heartbeat-interval30心跳间隔(秒);UDP 承载 NAT 后建议 5
--heartbeat-timeout5心跳应答超时(秒)

server 需 pfserver --virtual-net;虚拟 IP 冲突返回 reg-err。 数据经 pf mux 隧道由 server 按虚拟 IP 路由转发(V1 中转;P2P 直连为后续)。

vnet2(VNet v2 广域网虚拟化客户端)

VNet v2 采用非规范逻辑地址 overlay + 联邦跨域路由。本机创建 TUN 网卡接入 pfserver --vnet2-net 定义的网络,以逻辑地址(可选,如 266.266.266.266)与其他 vnet2 client 互通;多个 server 通过 --vnet2-peer 联邦后跨域可达。

参数默认说明
--server必填pfserver 地址
--password必填共享密钥(与 server 一致)
--net必填网络名(server --vnet2-net 定义)
--vaddrserver 分配逻辑地址(可选,如 266.266.266.266
--tun-ipserver 分配TUN 承载 IP(可选)
--mtu1400TUN MTU
--nametpvnet2TUN 网卡名
--transporttcppf 承载(tcp/kcp/quic/tls/mtls/ws/wss/relay)
--heartbeat-interval30心跳间隔(秒)
--heartbeat-timeout5心跳应答超时(秒)

6. 工具与服务

子命令功能关键参数
bench echo/ping/tput性能测试-l -s -e -d -T -c
forwardTCP/UDP 端口转发-l -t -T tcp|udp -f
rtcp加密 TCP 转发-l -k
rudp加密 UDP 转发-l -k
ssuSS UDP 转发-l -m --password
runixUnix socket / named pipe 加密承载-l -k
redirect / redu透明代理(Linux iptables / 其他平台 TUN)-l -f
tapTAP 虚拟网卡--address -f
tunTUN 透明代理--address -f
tun2socksTUN 流量全走 SOCKS--address -x socks5://
dnsDNS 代理-l
serial串口三方向转发-p -t -l -b
wg-keygenWireGuard 密钥生成
tunnel / unix简易 TCP/Unix 隧道-l -t

7. Router 编排配置

# run -C router.yaml
chains:                # 候选代理链
  - name: c1
    nodes:
      - name: hop1
        proto: socks5
        addr: 1.2.3.4:1080
        user: u
        pass: p
    retry: 2
strategy: RoundRobin   # RoundRobin / Random / Weighted / Hash
bypass:                # 旁路直连
  - 127.0.0.0/8
  - "*.internal"
reverse: false
max_conn: 1000          # 并发连接上限(0 = 不限)
rate: 0                 # 每连接速率限制(字节/秒,0 = 不限)
traffic: 0              # 每连接总流量上限(字节,0 = 不限)
services:              # 单进程多服务
  - name: socks
    addr: 0.0.0.0:1080
    proto: socks5
webhook:               # observer 事件回调
  url: http://127.0.0.1:9000/hook
  events: [connect, close]
  timeout_secs: 5

8. API 与指标

RouterApiServer(run --api 127.0.0.1:18085)暴露;以 --api-user/--api-pass 启动可对 API 加 BasicAuth 保护:

端点方法说明
//uiGET内嵌 Web 仪表盘(HTML)
/apiGETAPI 服务信息 JSON
/metricsGET运行指标(默认 JSON;Accept: text/plain 为 Prometheus 文本)
/metrics/prometheusGET始终 Prometheus 文本
/statusGET完整状态(指标 + 链信息 + 策略)
/api/reloadPOST热重载配置(需 --reload 启动)
/api/servicesGET/POST动态服务列表 / 启动
/api/services/{name}DELETE停止动态服务

pfserver Dashboard(--web-server)暴露 /(HTML)、/metricstunnel_proxy_pf_*)、/status(JSON 含 ports/vhosts/vnets)。