本文速览

Hysteria2 使用基于 UDP 的 QUIC 传输,适合在 UDP 可用的前提下,对高延迟或存在随机丢包的线路进行对照测试。它不保证比其他协议更快,也不能绕过所有 UDP 限制。本文面向已经有服务商与订阅的 Shadowrocket 用户,说明传输原理、带宽设置、导入核对方法,以及如何区分规则问题、认证失败和网络限制。

Hysteria2、QUIC 与 UDP 的关系

Hysteria2 是代理协议,QUIC 是它使用的传输基础,UDP 则负责承载 QUIC 数据包。三者处在不同层次:应用请求经过代理封装,再通过 QUIC 连接发送到服务端。不能因为底层使用 UDP,就把 Hysteria2 理解成不处理丢包、只管发送的数据通道。

UDP 本身不保证到达顺序和可靠交付,QUIC 则在其上实现连接管理、可靠流、丢包恢复与拥塞控制。网页这类原本使用 TCP 的业务,也可以由代理转发到 QUIC stream 中;业务是否使用 UDP,与客户端到服务端这段连接是否使用 UDP,是两个不同问题。

UDP
Hysteria2 的 QUIC 连接使用 UDP 传输
TLS 1.3
QUIC 集成的安全握手机制
443
可用作服务端 UDP 端口的示例,并非固定值

QUIC 与 HTTP/3 关系密切,但不能把二者画等号。使用 QUIC 不代表所有代理流量都变成普通网页请求,也不代表网络管理设备一定放行。即使浏览器能通过 TCP 443 打开某个网站,也不能据此证明同一地址的 UDP 443 可以建立 Hysteria2 连接。

为什么可能更快:恢复机制与拥塞控制

所谓“快”,需要分成握手耗时、首个响应、持续吞吐量和交互稳定性。QUIC 集成安全握手,并支持多个独立的 stream。某个 stream 中等待丢失数据时,其他 stream 不必因同一个传输层有序字节流而全部等待;不过,各 stream 仍然共享连接的拥塞控制与实际链路容量,不能完全互不影响。

Hysteria2 的吞吐表现也与拥塞控制有关。其协议体系支持以带宽目标驱动的 Brutal 思路,并可使用 BBR 类拥塞控制;实际采用哪种行为,取决于客户端实现、带宽参数及服务端限制。不能只凭协议名称推断当前连接的算法,更不应把某个实现的可选参数直接当作 Shadowrocket 中必然存在的开关。

哪些场景值得测试,哪些场景先检查网络

高延迟、随机丢包、UDP 可达,是值得测试 Hysteria2 的条件,而不是速度保证。家庭宽带、公共 Wi-Fi 与蜂窝网络对 UDP 的处理可能不同;同一条服务端线路在不同接入网络下,也可能表现为稳定传输、只能短暂连接,或持续超时。

网络现象优先判断核对动作
高延迟且偶有丢包可能适合对照测试,但需确认 UDP 可用固定服务端和测试内容,分别记录首个响应、吞吐与中断次数
网页能直连,Hysteria2 一直超时TCP 可达不代表 UDP 可达核对实际 UDP 端口,并切换 Wi-Fi 与蜂窝网络复测
下载开始很快,随后明显卡顿可能存在队列积压、限速或服务端负载停止其他下载,检查带宽填写值,再用同一文件重测
低延迟、低丢包且当前连接稳定未必有更换协议的收益优先比较稳定性,不只比较一次峰值速度
切换网络后连接中断地址变化、NAT 状态或网络策略可能影响连接重建连接并检查日志,不把 QUIC 的连接迁移能力当作无中断保证

结论:先确认 UDP 可达,再比较吞吐

同一配置在蜂窝网络可用、在当前 Wi-Fi 持续超时时,先记录网络差异并核对 UDP 放行情况;此时反复提高带宽值,不能解决连接建立失败。

在 Shadowrocket 中导入并核对 Hysteria2

订阅和连接参数应从你的服务商处获取。优先导入服务商提供的现有配置,减少手动转写错误。订阅更新只是重新获取配置,不等于服务端一定可达;更新后还应确认当前选中的条目、协议和认证信息没有变化。

  1. 导入订阅

    在 Home 右上角选择“+”,进入 Add Server,将 Type 设为 Subscribe,填入自己的订阅地址并保存。回到 Home,对该订阅执行更新,再查看生成的条目。

  2. 核对协议

    在 Home 打开目标条目的编辑页,确认 Type 对应 Hysteria2,并逐项核对服务端地址、端口与认证信息。不要把旧协议的密码或端口沿用到新条目。

  3. 核对安全项

    按服务商提供的内容检查 TLS、SNI 和可选的混淆参数。连接地址与证书使用的域名可能不同,SNI 应与服务端要求一致;遇到证书错误时先核对域名、系统时间与证书链。

  4. 固定测试路径

    在 Home → Global Routing 中临时选择 Proxy,并选定要测试的 Hysteria2 条目。这样可减少 Config 规则使测试请求走 DIRECT 的干扰;测试结束后恢复原先的使用姿态。

  5. 记录连接结果

    打开连接后访问固定测试目标,分别记录能否建立连接、首个响应是否明显等待、传输是否中断。若连接会自动重建,同时检查 Settings → On Demand,避免把按需触发误判为手动操作失效。

端口必须与服务端配置一致。例如服务端明确使用 UDP 443,就核对条目中的端口为 443,同时确认服务端已允许该 UDP 端口。若提供了混淆密码,它与连接认证密码可能承担不同用途,不能任意互换。不要为排除故障而长期关闭证书校验;应先修正不匹配的参数。

区分 Global Routing 姿态与协议性能

协议决定客户端到服务端怎样传输,Global Routing 决定请求是否送往代理路径。Home → Global Routing 中的 Proxy、Direct、Config、Scene 不能理解成四种协议。Scene 的结果取决于已有场景配置;排查时先确认它实际采用的设置,避免测试过程中路径随条件变化。

Config

推荐

按当前配置中的规则处理请求。目标命中 DIRECT 时,不会因为选中了 Hysteria2 条目就自动改走该连接;适合作为核对规则后的日常姿态。

适合:规则已核对、需要按目标分流的日常使用

Proxy

将请求交给当前代理路径,适合临时减少 Config 规则对测试的影响。仍需核对所选条目以及其他可能影响流量路径的设置。

适合:固定代理条目、检查协议连通性的短时测试

Direct

使用直连路径,不能据此测出 Hysteria2 服务端的吞吐表现。它可以帮助建立本地接入网络的对照,但目标本身的可达性也会影响结果。

适合:核对本地网络与直连目标是否正常

在 Config 中,DOMAIN-SUFFIX 按域名后缀匹配,IP-CIDR 按地址网段匹配,GEOIP 根据地址归属数据库匹配,FINAL 处理前面未命中的请求。规则顺序和对应策略共同决定路径。若测试目标命中 DIRECT,就应先修正规则判断,而不是把直连速度归因于 Hysteria2。

常见问题:超时、证书与带宽填写

同一个条目,为什么换个 Wi-Fi 就超时?

先保持条目参数不变,分别在 Wi-Fi 与蜂窝网络重建连接。若只有一个网络失败,记录发生时间、服务端端口和错误信息,再核对该网络是否限制 UDP。不要仅用网页能否打开作为 UDP 可达的证据。

提示证书错误,能直接忽略吗?

先检查设备时间,再比对服务商提供的 SNI 与证书域名;若连接地址为 IP,也不能假设证书就应匹配该 IP。仍不一致时向服务商确认配置,不以长期跳过验证代替修复。

带宽填得越大,下载就越快吗?

不是。先确认输入单位,以及上行、下行是否按客户端方向填写。使用服务商给定值或与实际链路相符的保守值进行测试,每次只调整一项,同时观察网页响应和持续下载,避免只看瞬间峰值。

延迟测试有数值,为什么网页仍打不开?

测试结果不一定覆盖目标网站的完整请求。回到 Home 确认所选条目,再核对 Global Routing;需要排除规则影响时临时使用 Proxy。随后区分 DNS 解析错误、TLS 错误与连接超时,按错误类别检查参数。

建立可重复的对照测试

协议比较应尽量只改变一个变量。不同服务端、不同出口或不同时间段得出的速度差异,不能直接归因于 QUIC。即使服务商提供多个协议入口,也应先确认它们是否使用相同线路与相同带宽限制。没有这些前提,测试只能说明两个连接的整体差异。

最终选择以当前网络中可重复的结果为准:UDP 可达、参数正确、持续传输稳定,才有讨论吞吐优势的基础。Hysteria2 可以作为已有服务配置中的一种传输选择;高丢包或高延迟只是测试理由,不是必然更快的结论。