Files
shoes/examples/xhttp.yaml
cfal 0cc416f8c5 Improve XHTTP backpressure and interoperability (#180)
Improve XHTTP transfer reliability under slow destinations and resource pressure with bounded packet pipelining, admission before body reads, queue-acceptance acknowledgements, and cancellation-safe session handling. Preserve reusable H1 uploads, correct H2/H3 finalization, add configurable receive windows and download-tail timeouts, validate effective request capacity, and expand Xray/Mihomo interoperability coverage with pinned peers in CI.
2026-10-16 07:49:20 -04:00

92 lines
2.4 KiB
YAML

# Generate cert.pem/key.pem for localhost before running this example.
# H1/H2 share the TCP service; H3 is a separate QUIC service.
- address: "0.0.0.0:8443"
protocol:
type: tls
default_target:
cert: cert.pem
key: key.pem
protocol:
type: xhttp
path: /tunnel
mode: auto
protocol:
type: vless
user_id: "550e8400-e29b-41d4-a716-446655440000"
- address: "0.0.0.0:8443"
transport: quic
quic_settings:
cert: cert.pem
key: key.pem
protocol:
type: xhttp
path: /tunnel
protocol:
type: vless
user_id: "550e8400-e29b-41d4-a716-446655440000"
# TLS/H2 packet-up. Replace verify: false with certificate verification in production.
- address: "0.0.0.0:1080"
protocol:
type: socks
rules:
- masks: "0.0.0.0/0"
client_chains:
- - address: "127.0.0.1:8443"
protocol:
type: tls
sni_hostname: localhost
verify: false
protocol:
type: xhttp
path: /tunnel
http_version: h2
mode: packet-up
download_idle_timeout_secs: 900
protocol:
type: vless
user_id: "550e8400-e29b-41d4-a716-446655440000"
# TLS/H1 stream-up uses separate upload and download connections.
- address: "0.0.0.0:1081"
protocol:
type: socks
rules:
- masks: "0.0.0.0/0"
client_chains:
- - address: "127.0.0.1:8443"
protocol:
type: tls
sni_hostname: localhost
verify: false
protocol:
type: xhttp
path: /tunnel
http_version: h1
mode: stream-up
protocol:
type: vless
user_id: "550e8400-e29b-41d4-a716-446655440000"
# HTTP/3 stream-one. QUIC XHTTP must be the first proxy hop.
- address: "0.0.0.0:1082"
protocol:
type: socks
rules:
- masks: "0.0.0.0/0"
client_chains:
- - address: "127.0.0.1:8443"
transport: quic
quic_settings:
sni_hostname: localhost
verify: false
protocol:
type: xhttp
path: /tunnel
http_version: h3
mode: stream-one
protocol:
type: vless
user_id: "550e8400-e29b-41d4-a716-446655440000"