Skip to content
GitHubSupport

XHTTP masking

VLESS · REALITY · XHTTP and XHTTP · PQ connections have a Masking tab. It changes the traffic pattern: padding, how data is uploaded, and how apps reuse connections. The settings reach apps through the subscription.

Set What it sets
Standard nothing, the core’s defaults
More noise padding 500-3000 bytes, 8-16 streams, connection lifetime 900-1800 s
Maximum masking padding 1000-4000 bytes with obfuscation in a cookie, PUT upload method, 4-8 streams, lifetime 600-1200 s

If you change any field by hand, the panel shows “own values”.

  • Mode: Default, stream-one, stream-up or packet-up.
  • Padding: size in bytes, for example 500-3000.
  • Padding obfuscation: where it is sent, what fills it, the parameter or header name.
  • Upload: the method, chunk size and largest request.
  • App connections: streams per connection, connections at once (instead of streams, not together with them), how many times a connection is reused, requests per connection, connection lifetime, pause between requests.

The panel won’t save REALITY over WebSocket. If XHTTP is selected in a Clash app, UDP (calls, QUIC) also goes through the tunnel.