Hysteria2 适合在 UDP 可达、存在随机丢包或时延波动的网络中进行对照测试,不保证在所有网络中更快。本文面向已有服务器参数或订阅的 Shadowrocket 用户,先解释传输机制,再给出 Home 中的填写顺序、Global Routing 的验证方法与故障定位步骤。iPhone、iPad、Mac、Windows、安卓、Linux 用户均可参考原理;操作以客户端实际显示的字段为准。
Hysteria2 与 QUIC:先区分传输层和代理协议
Hysteria2 是基于 QUIC 的代理协议,QUIC 通常运行在 UDP 之上,并使用 TLS 1.3 建立加密连接。UDP 提供数据报传送,本身不保证送达和顺序;QUIC 在此之上实现连接管理、可靠流、丢失检测与拥塞控制。因此,“使用 UDP”不等于“所有数据都不重传”,也不等于“可以绕过带宽限制”。
对于经代理传输的 TCP 连接,Hysteria2 使用 QUIC 的可靠流承载数据;对于 UDP 转发,则使用数据报机制,不应把可靠流的重传特性套到所有 UDP 数据上。应用是否容忍丢包,仍取决于其自身协议。网页传输和实时语音即使共用同一服务器,也可能表现出不同的故障现象。
服务器若配置为 UDP 443,网络只放行 TCP 443 仍然不足以建立连接。端口数字相同不代表传输协议相同。填写时必须使用用户已有配置指定的端口,不要因看到“443 常见”就覆盖原值,也不要把另一种协议的地址、密码和端口直接拼成 Hysteria2 配置。
为什么可能更快:独立流、拥塞控制与丢包恢复
QUIC 的一个特点是多路独立流。当一个流中有数据丢失,其他流不必仅因这个流等待补齐数据而全部停止交付。这减少了跨流的队头阻塞,但没有消除同一可靠流内部的顺序等待;多个流仍共享链路容量,且通常共享连接级拥塞控制。不能据此推导出“丢包不影响速度”。
| 机制 | 可能带来的收益 | 仍然存在的限制 |
|---|---|---|
| QUIC 独立流 | 降低不同流之间因顺序交付造成的相互等待 | 同一流丢失数据后仍可能等待恢复 |
| 丢失检测与恢复 | 根据确认反馈恢复可靠流中缺失的数据 | 恢复需要时间和额外传输,不能消除物理丢包 |
| 拥塞控制 | 调整发送节奏,影响随机丢包下的吞吐表现 | 参数过激可能增加排队、丢包及其他应用的延迟 |
| TLS 握手集成 | 减少传输层与加密层分别协商的开销 | 首次连接仍需握手,不能保证零等待 |
Hysteria2 的吞吐表现还与拥塞控制方式有关。其 Brutal 机制会结合目标带宽与反馈调整发送行为,在随机丢包的链路上可能比保守降速更能维持吞吐;是否使用该机制,以及带宽参数如何参与协商,取决于客户端实现、服务器策略和实际配置。不能将全部收益都归因于 QUIC,也不能把目标带宽当成实际可获得的带宽。
如果界面提供 Upload、Download 等带宽字段,先沿用已有配置或服务方明确给出的值,并核对字段单位。Mbps 与 MB/s 不同,数值上 8 Mbps 约等于 1 MB/s,实际有效传输还要扣除协议开销。把参数填到远超接入能力,可能只会让路由器排队更长,出现下载进行时通话延迟明显增大的现象。
结论:先保留参数,再做单变量测试
首次验证不要同时修改带宽、DNS 和路由规则。先确认已有参数能够连接,再单独调整一个项目,记录吞吐与交互延迟是否同时改善。
适用网络:随机丢包有机会受益,UDP 受限先排查可达性
移动网络中的无线干扰、跨区域链路抖动,以及接入点负载变化,都可能影响传输。Hysteria2 在部分此类环境中有测试价值,但“移动网络”不是性能保证。服务器出口、目标网站、无线信号和本地上行占用,都会形成与协议选择无关的瓶颈。
- 随机丢包但 UDP 可达:可观察持续下载是否频繁跌速,以及交互请求能否保持响应。要同时记录空闲与负载状态下的延迟,避免只看峰值速度。
- 高时延、链路容量较大:发送控制和丢失恢复会影响带宽利用率,但服务器到目标站点的慢速链路仍可能限制结果。
- 低时延、低丢包:未必能感到明显差异。保持配置简单、证书校验正确,比追求某个协议名称更有意义。
- UDP 被阻断或持续限速:可能出现握手超时、短暂连接后停顿。此时先检查网络策略,不要反复增大带宽字段。
- Wi-Fi 与蜂窝网络切换:需要重新观察连接状态。QUIC 具有连接迁移相关能力,但实际连续性受实现和网络条件影响,不能承诺切换时业务不断开。
Shadowrocket 填写步骤:使用已有 Hysteria2 参数
以下按 Home 中的手动添加流程说明。准备服务器地址、端口、认证密码、TLS 所需的 SNI,以及服务器明确要求的其他参数。地址与 SNI 可以不同:Address 决定连接到哪里,SNI 用于 TLS 握手中的服务器名称指示;证书名称验证还必须与配置要求一致。
-
确认来源
打开用户已有的服务器配置说明,确认协议明确为 Hysteria2。不要把 Hysteria 与 Hysteria2 当成可直接互换的 Type,也不要混用其他协议的认证字段。
-
选择类型
在 Home → 右上角“+”→ Type 中选择 Hysteria2,再返回添加页面。若实际界面中没有该选项,先到本站下载页确认当前平台的客户端获取入口,不要选择相似名称代替。
-
填写连接
按已有参数填写 Address、Port 与 Password。Address 只填写字段要求的服务器地址,Port 使用指定数值;不要将整条分享内容粘贴到地址栏,也不要额外添加空格。
-
核对安全
按配置填写 SNI,保留证书验证。若已有参数包含混淆或带宽设置,逐项确认客户端对应字段后再填写;没有要求的可选项不要猜值。
-
保存测试
保存后回到 Home,选中刚添加的服务器,检查 Global Routing 的当前模式,再启用连接并按系统提示授权。先访问一个已知可用的目标,再进行持续传输测试。
如果用户已有订阅,可在 Home → “+”→ Type → Subscribe 中导入自己的订阅地址,保存后更新订阅内容,并确认导入条目的协议类型。订阅更新可能重写受管理条目的端口、认证信息或其他参数;需要长期保留的修改,应先确认该条目是否由订阅管理,避免把本地临时修改误认为永久生效。
出现证书错误时,应核对 SNI、服务器证书有效期、证书链与设备时间。关闭验证会改变身份认证保障,不是常规修复步骤。认证失败则优先检查 Password 是否复制完整、服务器是否仍接受该认证信息,不要把认证问题归咎于 QUIC 丢包。
Global Routing 验证:区分协议故障与规则未命中
服务器参数正确,不代表每个请求都会使用该服务器。Shadowrocket 的 Global Routing 决定路由姿态;Config 使用当前配置中的规则,而 Proxy 可用于临时缩小排查范围。模式只影响交给客户端处理的流量,不能用来证明设备上所有系统流量都经过同一条路径。
Config
推荐使用当前选中的 Config,根据规则及其顺序决定 DIRECT、PROXY 或其他已定义策略。规则决定请求路径,Hysteria2 决定代理连接的传输方式。
适合:已有明确规则的日常分流与长期使用
Proxy
将客户端处理的请求按代理模式发送,可临时排除常规规则匹配的干扰。测试结束后恢复原模式,不把临时测试结果等同于原配置已正确。
适合:确认所选服务器是否能够承载目标请求
Direct
将客户端处理的请求按直连模式发送,不能据此测试 Hysteria2 服务器吞吐。可作为同一目标在当前网络下的直连参照。
适合:判断目标本身与本地接入是否可用
Global Routing 中的 Scene 用于场景化路由设置,不等同于 Config、Proxy 或 Direct 中任意一个固定结果;排查时应先确认其实际生效的设置。还应记录 Settings → On Demand 的状态,避免按需连接在测试过程中重新触发连接,造成“已经关闭却又连上”的误判。
在 Config 中,规则通常按顺序检查,先命中的规则决定策略。下面仅演示 DOMAIN-SUFFIX 与 FINAL 的语法,不是需要导入的完整配置;example.com 是文档示例域名,不是本文提供的服务器。实际配置中的策略名称必须存在。
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT
如果目标域名未命中第一条,就会落到 FINAL,DIRECT,此时访问成功或失败都不能直接证明 Hysteria2 的状态。其他配置还可能使用 GEOIP 或 IP-CIDR 处理 IP 匹配;涉及域名解析时,DNS 结果也可能影响后续判断。具体取值可查阅设置参考,路由姿态可查阅代理模式说明。
故障定位与对照记录:一次只改变一个条件
测试前记录网络类型、所选服务器、Global Routing、目标站点与时间范围。保持目标和服务器不变,分别在 Wi-Fi 与蜂窝网络上观察;若需要比较不同协议,只使用用户已持有、且服务器条件可比的配置。跨服务器的速度差异不能直接归因于协议。
| 观察到的现象 | 优先检查 | 下一步操作 |
|---|---|---|
| 连接阶段持续超时 | 服务器地址、UDP 端口、网络放行情况 | 核对 Port,并在另一种接入网络重复测试 |
| 明确提示证书错误 | SNI、证书名称、有效期、设备时间 | 修正对应字段或联系已有服务方确认服务器证书 |
| 认证失败 | Password、条目是否过期、订阅是否更新 | 重新核对已有参数,不用修改 DNS 代替认证排查 |
| Proxy 可用,Config 不可用 | 当前 Config、规则顺序、策略目标与 DNS | 检查目标请求命中的策略,而非立即重建服务器 |
| 下载时其他请求明显变慢 | 上行占用、排队、带宽字段是否过高 | 暂停并行传输,再保守调整单一带宽参数 |
| 订阅更新后参数改变 | 受管理条目与上游配置 | 确认更新内容,避免反复编辑会被覆盖的字段 |
- 可重复测试:每种条件连续做 3 次,分别记录是否连接成功、开始响应所需时间,以及持续传输是否中断。取中间表现作为参照,不只挑最快一次。
- 保持负载一致:对照时暂停系统更新和其他大流量任务。测速结果受目标端限速影响,不能作为线路容量的唯一证据。
- 区分故障层次:握手失败、认证失败、规则未命中和目标站点失败是不同问题,应分别记录,不要统一归类为“协议慢”。
- 保护配置内容:向已有服务方反馈时,可描述错误类别和网络条件;公开记录中隐藏密码、订阅地址与可识别的服务器信息。
Shadowrocket 下载与初次配置
iPhone / iPad 版从 App Store 获取,$2.99 一次性付费;Mac(Apple 芯片 / Intel)、Windows、安卓、Linux 版免费。iPhone / iPad 系统要求以 App Store 页面标注为准,产品页开发者为 Shadow Launch Technology Limited。通过下载页选择对应平台,再按教程导入用户已有的参数。