VXVX Docs

Proxy protocols

Protocol configs used in inbound protocol and outbound protocol Any fields

Proxy protocol settings are embedded in inbound protocol / protocols and outbound protocol as 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 vs client messages

ProtocolServer (*ServerConfig)Client (*ClientConfig)
VMessvx.proxy.vmess.VmessServerConfigvx.proxy.vmess.VmessClientConfig
VLESSvx.proxy.vless.VlessServerConfigvx.proxy.vless.VlessClientConfig
Trojanvx.proxy.trojan.TrojanServerConfigvx.proxy.trojan.TrojanClientConfig
Shadowsocksvx.proxy.shadowsocks.ShadowsocksServerConfigvx.proxy.shadowsocks.ShadowsocksClientConfig
Shadowsocks 2022vx.proxy.shadowsocks2022.Shadowsocks2022ServerConfigvx.proxy.shadowsocks2022.Shadowsocks2022ClientConfig
SOCKSvx.proxy.socks.SocksServerConfigvx.proxy.socks.SocksClientConfig
HTTP proxyvx.proxy.http.HttpServerConfigvx.proxy.http.HttpClientConfig
Hysteria2vx.proxy.hysteria.Hysteria2ServerConfigvx.proxy.hysteria.Hysteria2ClientConfig
AnyTLSvx.proxy.anytls.AnytlsServerConfigvx.proxy.anytls.AnytlsClientConfig
WireGuardvx.proxy.wireguard.DeviceConfig
Freedomvx.proxy.freedom.FreedomConfigsame
Blackholevx.proxy.blackhole.BlackholeConfigsame
Dokodemovx.proxy.dokodemo.DokodemoConfigsame

Transport and TLS

Most proxy protocols run over raw TCP or UDP. When you need TLS, WebSocket, gRPC, REALITY, etc., set transport on the inbound/outbound to a TransportConfig (or use MultiProxyInboundConfig for per-SNI matrices).

Hysteria2 embeds its own tlsConfig in the protocol message.

Sections

Proto tree: protos/proto/vx/proxy/.

Comments