Proxy Protocols
Protocol configuration in inbound protocol / protocols and outbound protocol Any fields
Proxy protocol settings are embedded in inbound protocol / protocols and outbound protocol, with type google.protobuf.Any.
In ProtoJSON, set @type to:
type.googleapis.com/<protobuf full name>Protobuf package names use dots (for example vx.proxy.vmess.VmessServerConfig).
Server and Client Messages
- VMess — Server:
vx.proxy.vmess.VmessServerConfig, Client:vx.proxy.vmess.VmessClientConfig - VLESS — Server:
vx.proxy.vless.VlessServerConfig, Client:vx.proxy.vless.VlessClientConfig - Trojan — Server:
vx.proxy.trojan.TrojanServerConfig, Client:vx.proxy.trojan.TrojanClientConfig - Shadowsocks — Server:
vx.proxy.shadowsocks.ShadowsocksServerConfig, Client:vx.proxy.shadowsocks.ShadowsocksClientConfig - Shadowsocks 2022 — Server:
vx.proxy.shadowsocks2022.Shadowsocks2022ServerConfig, Client:vx.proxy.shadowsocks2022.Shadowsocks2022ClientConfig - SOCKS — Server:
vx.proxy.socks.SocksServerConfig, Client:vx.proxy.socks.SocksClientConfig - HTTP proxy — Server:
vx.proxy.http.HttpServerConfig, Client:vx.proxy.http.HttpClientConfig - Hysteria2 — Server:
vx.proxy.hysteria.Hysteria2ServerConfig, Client:vx.proxy.hysteria.Hysteria2ClientConfig - AnyTLS — Server:
vx.proxy.anytls.AnytlsServerConfig, Client:vx.proxy.anytls.AnytlsClientConfig - WireGuard — Client:
vx.proxy.wireguard.DeviceConfig - Freedom — Server:
vx.proxy.freedom.FreedomConfig, Client: same as server - Blackhole — Server:
vx.proxy.blackhole.BlackholeConfig, Client: same as server - Dokodemo — Server:
vx.proxy.dokodemo.DokodemoConfig, Client: same as server
Transport and TLS
Most proxy protocols run over raw TCP or UDP. When TLS, WebSocket, gRPC, REALITY, etc. are needed, set transport on the inbound/outbound to TransportConfig (or use MultiProxyInboundConfig for per-SNI matrix configuration).
Hysteria2 embeds tlsConfig inside the protocol message.
Sections
Proto tree: protos/proto/vx/proxy/.