VXVX Docs

SOCKS

SocksServerConfig 与 SocksClientConfig

SOCKS 代理配置。Proto:protos/proto/vx/proxy/socks/socks.proto

服务端入站支持 SOCKS5(TCP 连接与 UDP associate),并在 authTypeNO_AUTH 时兼容 SOCKS4/4a TCP。客户端出站使用 SOCKS5 握手。

AuthType

NO_AUTH
0
PASSWORD
1

JSON 中使用枚举名(如 "authType": "PASSWORD")。

  • NO_AUTH:无需用户名/密码;允许 SOCKS4/4a 客户端
  • PASSWORD:须 SOCKS5 用户名/密码认证;SOCKS4 请求会被拒绝

SocksServerConfig

authType

认证模式

accounts

PASSWORD 时允许的用户列表。id 为用户名,secret 为密码。

address
string

用于 SOCKS 应答中的 BND.ADDR。主要影响 UDP ASSOCIATE 回复中的绑定地址:若设置则使用该 IP;否则对本地客户端回环地址,对外部客户端使用入站监听地址。

udpEnabled
bool

true 时允许 SOCKS5 UDP ASSOCIATE 命令并启用入站 UDP 中继。false 时 UDP 命令返回不支持。

{
  "@type": "type.googleapis.com/vx.proxy.socks.SocksServerConfig",
  "authType": "PASSWORD",
  "udpEnabled": true,
  "address": "203.0.113.1",
  "accounts": [{ "id": "u1", "secret": "pass" }]
}

SocksClientConfig

name
string

SOCKS5 用户名。与 password 均为空时不发送密码认证(对应服务器 NO_AUTH)。

password
string

SOCKS5 密码,与服务器 accounts[].secret 对应。

delayAuthWrite
bool

false(默认):在初始握手报文中一并发送认证信息。

true:先发送支持的认证方法,待服务器选定 PASSWORD 后再写入用户名/密码。用于需要分步握手的上游 SOCKS 服务器。

{
  "@type": "type.googleapis.com/vx.proxy.socks.SocksClientConfig",
  "name": "u1",
  "password": "pass"
}

相关

  • 用户UserConfig
  • 传输 — 常与 TCP 入站/出站配合

评论