SOCKS
SocksServerConfig and SocksClientConfig
SOCKS proxy configuration. Proto: protos/proto/vx/proxy/socks/socks.proto
The server inbound supports SOCKS5 (TCP connections and UDP associate), and is compatible with SOCKS4/4a TCP when authType is NO_AUTH. The client outbound uses the SOCKS5 handshake.
AuthType
NO_AUTHPASSWORDUse enum names in JSON (for example "authType": "PASSWORD").
NO_AUTH: no username/password required; SOCKS4/4a clients are allowedPASSWORD: SOCKS5 username/password authentication required; SOCKS4 requests are rejected
SocksServerConfig
addressBND.ADDR used in SOCKS replies. Mainly affects the bind address in UDP ASSOCIATE replies: if set, this IP is used; otherwise loopback for local clients, or the inbound listen address for external clients.
udpEnabledWhen true, allow SOCKS5 UDP ASSOCIATE commands and enable inbound UDP relay. When false, UDP commands return not supported.
{
"@type": "type.googleapis.com/vx.proxy.socks.SocksServerConfig",
"authType": "PASSWORD",
"udpEnabled": true,
"address": "203.0.113.1",
"accounts": [{ "id": "u1", "secret": "pass" }]
}SocksClientConfig
nameSOCKS5 username. When both name and password are empty, password authentication is not sent (corresponds to server NO_AUTH).
passwordSOCKS5 password, corresponding to server accounts[].secret.
delayAuthWritefalse (default): send authentication in the initial handshake message.
true: send supported authentication methods first, then write the username/password after the server selects PASSWORD. Used for upstream SOCKS servers that require a step-by-step handshake.
{
"@type": "type.googleapis.com/vx.proxy.socks.SocksClientConfig",
"name": "u1",
"password": "pass"
}