本文速览

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 数据上。应用是否容忍丢包,仍取决于其自身协议。网页传输和实时语音即使共用同一服务器,也可能表现出不同的故障现象。

TLS 1.3
QUIC 使用的安全协议,证书验证仍需正确完成
UDP
底层传输,客户端与服务器之间必须允许通过
443
常见配置示例端口,不是 Hysteria2 的固定端口

服务器若配置为 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 在部分此类环境中有测试价值,但“移动网络”不是性能保证。服务器出口、目标网站、无线信号和本地上行占用,都会形成与协议选择无关的瓶颈。

Shadowrocket 填写步骤:使用已有 Hysteria2 参数

以下按 Home 中的手动添加流程说明。准备服务器地址、端口、认证密码、TLS 所需的 SNI,以及服务器明确要求的其他参数。地址与 SNI 可以不同:Address 决定连接到哪里,SNI 用于 TLS 握手中的服务器名称指示;证书名称验证还必须与配置要求一致。

  1. 确认来源

    打开用户已有的服务器配置说明,确认协议明确为 Hysteria2。不要把 Hysteria 与 Hysteria2 当成可直接互换的 Type,也不要混用其他协议的认证字段。

  2. 选择类型

    在 Home → 右上角“+”→ Type 中选择 Hysteria2,再返回添加页面。若实际界面中没有该选项,先到本站下载页确认当前平台的客户端获取入口,不要选择相似名称代替。

  3. 填写连接

    按已有参数填写 Address、Port 与 Password。Address 只填写字段要求的服务器地址,Port 使用指定数值;不要将整条分享内容粘贴到地址栏,也不要额外添加空格。

  4. 核对安全

    按配置填写 SNI,保留证书验证。若已有参数包含混淆或带宽设置,逐项确认客户端对应字段后再填写;没有要求的可选项不要猜值。

  5. 保存测试

    保存后回到 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检查目标请求命中的策略,而非立即重建服务器
下载时其他请求明显变慢上行占用、排队、带宽字段是否过高暂停并行传输,再保守调整单一带宽参数
订阅更新后参数改变受管理条目与上游配置确认更新内容,避免反复编辑会被覆盖的字段

Shadowrocket 下载与初次配置

iPhone / iPad 版从 App Store 获取,$2.99 一次性付费;Mac(Apple 芯片 / Intel)、Windows、安卓、Linux 版免费。iPhone / iPad 系统要求以 App Store 页面标注为准,产品页开发者为 Shadow Launch Technology Limited。通过下载页选择对应平台,再按教程导入用户已有的参数。