PROTOCOL · QUIC

Clash Hysteria2 协议配置指南

QUIC 协议网络工程

📡 用 tc netem 在 Linux 网关注入 8% 随机丢包 + 50ms 抖动,mihomo 1.19 mixed-port 代理下实测:Hysteria2 吞吐 94Mbps、首包 P95 120ms;TUIC v5 88Mbps、P95 135ms。salamander 混淆额外消耗 3–5% CPU。本文给出 brutal 带宽预设、UDP 封锁 fallback 链与 规则分流 协同建议。

测试方法与局限

使用 tc netem 在 Linux 网关注入丢包;客户端 mihomo 1.19,TUN 关闭,mixed-port 代理。测量单连接与大文件下载(HTTPS)两种场景。结论仅适用于 UDP 未被运营商整段封锁的环境。

Hysteria2 配置要点

proxies:
  - name: hy2-test
    type: hysteria2
    server: example.com
    port: 443
    password: secret
    sni: example.com
    skip-cert-verify: false
    up: 50 Mbps
    down: 200 Mbps
    obfs: salamander
    obfs-password: obfs-secret

brutal 拥塞控制

Hysteria2 的 brutal 按预设带宽发送,不依赖传统丢包信号。在已知带宽上限的线路上可拉满利用率;若 up/down 设得高于实际,会造成额外丢包。建议从测速结果的 80% 开始设定。

salamander 混淆

对 UDP 载荷做轻量混淆,CPU 开销约 3–5%。在 DPI 识别 QUIC 签名的网络中显著提升连通率;纯内网或无封锁环境可关闭以降低延迟。

TUIC v5 对比

TUIC 使用 QUIC 标准拥塞控制(默认 CUBIC),在带宽波动大的链路上比 brutal 更「温和」,峰值吞吐低 12%,但丢包时恢复更平滑。适合蜂窝网络夜间限速场景。

场景Hysteria2TUIC v5
0% 丢包吞吐185 Mbps162 Mbps
8% 丢包吞吐94 Mbps88 Mbps
首包 P95 (ms)120135
0-RTT 重连支持(有重放风险)可选

UDP 封锁时的 fallback 链

proxy-groups 中用 fallbackload-balance 组合 TCP 协议作为后备:

proxy-groups:
  - name: AUTO
    type: fallback
    proxies: [hy2-test, tuic-test, vless-reality]
    url: http://www.gstatic.com/generate_204
    interval: 300

配合 unified-delay: true(见 内核文)避免选到 TCP 握手快但传输慢的节点。

0-RTT 的安全权衡

开启 QUIC 0-RTT 可减少重连延迟,但存在重放攻击面。面向公网的 mihomo 客户端建议关闭服务端 0-RTT;内网跳板可酌情开启。

与 TUN、DNS 的交互

QUIC 走 UDP,TUN 模式下需确保防火墙未拦截出站 UDP/443。fake-ip 不影响 QUIC 握手(基于域名 SNI),但日志中显示 fake-ip 时需用域名规则排障。参见 TUN 配置

运维检查清单

客户端部署:下载页 · 下一篇:macOS TUN 排障