Hysteria2 协议是什么:基于 QUIC 为何在弱网下更快、适合哪些场景

科普 Hysteria2 基于 QUIC 与拥塞控制的设计思路,说明它在高丢包网络中的表现、可能受 UDP 限制的场景,以及在 Shadowrocket 中添加的要点。

本文速览

Hysteria2 可能改善存在随机丢包的连接,但前提是网络允许 UDP 通行,服务端参数正确,且带宽设置符合实际链路。本文面向已有服务商与订阅的 Shadowrocket 用户:先区分 QUIC 与拥塞控制的作用,再核对添加字段,最后通过固定条件的测试判断是否适合当前网络,不把协议名称当作速度保证。

Hysteria2 与 QUIC:弱网优势来自哪里

Hysteria2 是基于 QUIC 的代理协议。QUIC 使用 UDP 承载数据,并提供加密、可靠传输、丢包恢复与多路流等机制。因此,“使用 UDP”不等于“数据丢了也不处理”,也不意味着应用内所有请求都会变成不可靠传输。Hysteria2 能承载 TCP 连接与 UDP 数据,而客户端到服务端这一段的底层传输依赖 UDP。

理解弱网表现,需要把延迟、丢包和拥塞分开。延迟是数据往返所需的时间;丢包是部分数据没有成功到达;拥塞则是链路或队列无法及时处理输入流量。无线信号波动造成的随机丢包,不一定说明链路已经塞满。若发送端每遇到丢包就大幅降低速率,仍有可用容量的链路也可能出现吞吐下降。

UDP
客户端到 Hysteria2 服务端的底层传输
TLS 1.3
QUIC 使用的握手与安全机制
443 / UDP
可配置的服务端端口示例,并非固定要求

Hysteria2 的设计支持以带宽估计为依据的 Brutal 拥塞控制,也存在自动协商与服务端限制等因素。其目标是在一定丢包条件下继续利用可用带宽,而不是将所有丢包都等同于拥塞。实际采用的行为取决于客户端参数、实现与服务端配置,不能仅凭条目名称推断。

哪些网络适合尝试,哪些情况应先排查

“弱网”不是单一故障。蜂窝网络信号不稳、公共 Wi-Fi 队列拥挤、跨网络路径丢包,表现可能相似,处理顺序却不同。Hysteria2 更值得在 UDP 可达、仍有可用带宽但存在随机丢包的环境中测试;若 UDP 已被阻断,调整拥塞参数通常无法解决连接建立问题。

观察到的现象 可能的限制 下一步操作
Wi-Fi 下超时,蜂窝网络下同一条目可用 当前 Wi-Fi 的 UDP 策略或路径差异 保持条目不变,切换网络复测,并向网络管理方确认 UDP 通行情况。
短请求能完成,长时间传输明显波动 持续限速、拥塞或带宽估计偏高 降低并发,核对带宽参数,再测试相同资源。
所有网络都在握手阶段失败 地址、端口、TLS 或服务端状态异常 逐项核对服务商给出的参数,不先改规则。
网页能打开,但视频仍缓冲 吞吐、目标站路径或服务端容量不足 记录持续传输表现,不能仅依据延迟数值判断。

UDP 443 与 TCP 443 是不同的传输端点。某个网络能打开普通 HTTPS 网页,并不能证明它允许 UDP 443;将端口填写为 443,也不会自动获得放行。端口必须与服务端实际监听配置一致,不应为了“常用端口看起来更可靠”而自行修改。

在 Shadowrocket 中添加:先核对服务端参数

以下操作以你已有可用服务为前提。订阅链接及手填参数均应从你的服务商处获取。Hysteria2 不能只凭服务器地址完成连接,也不能把其他协议条目的类型改成 Hysteria2 后直接使用。优先保留服务商提供的完整参数;手填时逐项对照,不靠试填猜测。

  1. 保留原条目

    在 Home 首页记录当前可用条目与 Global Routing 全局路由的选择。新增测试条目,不覆盖原有配置,避免测试失败后失去对照。

  2. 选择协议

    进入 Home 首页 → 右上角“+” → Add Server 添加服务器,在 Type 类型中选择 Hysteria2。若导入订阅,则在 Type 类型中选择 Subscribe 订阅,填入从你的服务商处获取的完整链接。

  3. 填写参数

    核对 Address 地址、Port 端口及认证信息。TLS 的服务器名称、证书验证要求和可选混淆参数,应与服务端保持一致;不要将旧协议密码直接套用。

  4. 核对连接

    保存后回到 Home 首页选择该条目,确认 Global Routing 全局路由没有停在 Direct 直连。打开连接开关;首次建立系统 VPN 配置时,按系统提示完成授权。

  5. 固定条件测试

    先用同一网络打开同一目标网页,再进行持续传输测试。遇到失败时一次只改一个参数,记录改动与结果,避免同时修改路由、DNS 和认证信息。

界面中可选字段的显示会随所选类型与应用界面调整而变化。未出现的高级选项不需要自行补造,导入成功也不代表服务端一定可达。涉及订阅更新和条目管理,可继续阅读Subscribe 订阅手册。

核对项 应当确认的内容 常见误区
Address / Port 域名或地址及 UDP 监听端口与服务端一致。 把示例端口 443 当成所有服务的固定端口。
认证信息 完整保留认证字符串及特殊字符。 复制时带入空格,或漏掉字符串尾部。
TLS / SNI 服务器名称与证书验证条件相符。 把关闭证书验证当作常规修复手段。
混淆参数 仅在服务端要求时启用,并使用匹配的类型与密码。 单方面开启混淆,认为任何服务器都能识别。
带宽参数 确认单位、上下行方向及服务商要求。 把参数填大理解为获得更多实际带宽。

Global Routing 与带宽:分别控制什么

Global Routing 全局路由决定流量采用哪种路由方式,Hysteria2 决定所选代理连接使用什么协议,两者不是同一个层级。条目选对了,但目标请求实际走 Direct 直连,就不能用该网页表现评价 Hysteria2。下面只比较排查时常用的三种路由姿态,并非全部选项。

Config 配置

推荐

按当前启用配置的规则决定请求去向。日常使用前应确认配置内容;测试时需要确认目标请求确实命中了预期代理策略。

适合:已有明确分流配置的日常使用

Proxy 代理

让受该路由模式处理的请求使用代理路径,便于减少配置规则对测试的干扰;仍不能据此断言设备所有系统流量都经过代理。

适合:短时确认目标请求是否因规则而绕过代理

Direct 直连

使用直连路径,不用于验证所选 Hysteria2 代理的性能。它可以作为同一目标在本地网络上的连接对照。

适合:确认目标资源在直连条件下的表现

结论:先确认路径,再调整速率

先确认测试请求经过选中的 Hysteria2 条目;只有路径和参数都正确,才有必要调整带宽估计并比较吞吐变化。

手动带宽值是发送策略的输入,不是向网络申请容量。填得远高于实际可用带宽,可能使队列积压,表现为网页响应变慢、语音卡顿或吞吐起伏。应依据当前链路的持续可用容量及服务端要求设置,而不是直接照抄套餐标称峰值。

如何复测:区分延迟、吞吐与稳定性

一次延迟测试只能反映特定探测的结果,不能完整说明网页、视频或文件传输的体验。Hysteria2 的优势需要在对应网络条件下验证。本文不提供虚构测速结果,也不设定“丢包达到某个比例就必然更快”的阈值。

  1. 固定条件:在同一设备、同一网络和相近时间测试,暂停其他大流量任务。选择同一目标资源,避免用不同网站比较。
  2. 分别观察:记录页面首次响应、持续传输是否中断,以及传输时其他小请求是否明显变慢。不要只保存一个延迟数字。
  3. 重复三轮:每轮保持相同操作顺序,记录成功或失败、是否发生停顿。三轮只是便于复核的操作建议,不代表统计结论。
  4. 单变量调整:每轮只改变一个因素,例如网络或带宽参数。更换条目的同时更换服务端,就无法把差异归因于协议。
  5. 恢复日常设置:排查结束后恢复原有路由与配置。若持续吞吐改善却明显损害交互响应,应回退参数,而不是只保留峰值更高的结果。

常见问题:UDP、证书与自动连接

普通网页能打开,为什么 Hysteria2 一直超时?

普通网页可能使用 TCP,而 Hysteria2 底层需要 UDP。先保持条目不变,分别在 Wi-Fi 与蜂窝网络测试;再核对服务端 UDP 端口及认证参数。若只有一个网络失败,优先确认该网络的 UDP 策略。

出现证书错误,直接跳过验证可以吗?

先核对设备日期与时间,再核对 Address 地址、TLS 服务器名称和服务商提供的证书要求。不要把跳过验证作为默认设置;参数正确后仍报错,应让服务商确认服务端证书与名称是否匹配。

需要开启 On Demand 才能使用 Hysteria2 吗?

不需要。Settings 设置 → On Demand 按需连接控制自动触发连接的条件,不负责修复协议参数或 UDP 可达性。手动连接测试成功后,再按实际网络使用需求设置 On Demand 按需连接。

订阅更新后有条目,就代表一定能连接吗?

不是。Subscribe 订阅更新成功只说明本次取得并解析了相应内容。回到 Home 首页选择条目、核对 Global Routing 全局路由并测试实际请求;条目过期、认证变化或服务端故障仍需分别检查。

选择 Hysteria2 的依据应当是当前网络下可复现的稳定性,而不是协议名称。若 UDP 长期受限,或经规范复测仍无改善,应保留可用配置,并向你的服务商确认当前服务支持的连接参数与网络要求。

App Store 正版核对