VXVX Docs

Transport

TransportConfig — link protocols and socket options

Transport settings wrap proxy protocols via transport: { ... } on inbounds and outbounds.

Root message: TransportConfig, in protos/proto/vx/transport/transport.proto.

TransportConfig

socket

Socket options (mark, TFO, bind, buffers, etc.). See Socket.

tcp, kcp, websocket, http, grpc, httpupgrade, and splithttp are mutually exclusive; each TransportConfig may set only one.

tcp

Plain TCP transport. See TCP.

kcp

UDP-based KCP transport. See KCP.

websocket

WebSocket transport. See WebSocket.

http

HTTP/2 transport camouflage. See HTTP transport.

grpc

gRPC transport. See gRPC.

httpupgrade

HTTP Upgrade transport. See HTTPUpgrade.

splithttp

Split HTTP (XHTTP) transport. See SplitHTTP.

Security layer (oneof)

tls and reality are mutually exclusive. See Security.

tls

TLS certificates, SNI, uTLS, ECH

reality

REALITY camouflage

Extensions

transportProtocol
Any

Any escape hatch for custom transport protocols

securityProtocol
Any

Any escape hatch for custom security protocols

Each configuration should set at most one link protocol and one security field (or neither).

Example (VLESS + WebSocket + TLS)

{
  "tag": "vless-ws",
  "ports": [443],
  "transport": {
    "websocket": { "path": "/ws", "host": "example.com" },
    "tls": {
      "serverName": "example.com",
      "certificates": [
        { "certificateFilepath": "/etc/vx/cert.pem", "keyFilepath": "/etc/vx/key.pem" }
      ]
    }
  },
  "protocol": {
    "@type": "type.googleapis.com/vx.proxy.vless.VlessServerConfig",
    "users": [{ "id": "uuid" }]
  }
}

Multi-inbound transport matrix

On MultiProxyInboundConfig, transport protocols are selected via transportProtocols[] by ALPN/SNI/path, rather than a single TransportConfig. Security blocks in securityConfigs[] work the same way. See Inbounds.

Comments