VXVX Docs

Hysteria2

Hysteria2ServerConfig and Hysteria2ClientConfig

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

Hysteria2 runs over QUIC. TLS is configured inside the protocol via tlsConfig (TlsConfig).

Hysteria2ServerConfig

FieldDescription
usersUserConfig[] — auth string in secret
obfsObfsConfig (Salamander)
bandwidthmaxTx / maxRx caps
quicQUIC window and timeout settings
ignoreClientBandwidthIgnore client bandwidth hints
tlsConfigServer TLS
addressesListen / announce addresses

Hysteria2ClientConfig

FieldDescription
authAuth password
tlsConfigClient TLS (SNI, pins, ECH, …)
quicQUIC tuning
fastOpenQUIC fast open
bandwidthClient upload/download limits
obfsObfuscation

QuicConfig (shared)

FieldDescription
initialStreamReceiveWindow, maxStreamReceiveWindow, …Stream windows (MB or *Bytes variants)
initialConnectionReceiveWindow, maxConnectionReceiveWindow, …Connection windows
maxIdleTimeout, keepAlivePeriodQUIC timeouts
disablePathMtuDiscoveryDisable PMTUD
maxIncomingStreamsServer-only stream limit

ObfsConfig

FieldDescription
salamanderSalamanderConfig with password

BandwidthConfig

FieldDescription
maxTxUpload cap (client: upload)
maxRxDownload cap (client: download)
{
  "@type": "type.googleapis.com/vx.proxy.hysteria.Hysteria2ServerConfig",
  "users": [{ "secret": "auth-password" }],
  "tlsConfig": {
    "certificates": [{ "certificateFilepath": "/path/cert.pem", "keyFilepath": "/path/key.pem" }]
  }
}

Comments