Shadowrocket Hysteria2 是什么:基于 QUIC 的传输为什么快、哪些网络环境适合用

从 QUIC 与 UDP 传输讲起,解释 Hysteria2 在高丢包、高延迟链路上的表现差异,以及在 Shadowrocket 里添加时要核对的字段。

本文速览

Hysteria2 是基于 QUIC 的代理协议,适合已有服务配置、需要判断 UDP 链路是否可用的用户。本文解释传输原理、适用条件与配置核对顺序;读完可区分网络阻断、认证失败和规则分流问题,而不是仅凭一次测速更换协议。

Hysteria2、QUIC 与 UDP 的关系

Shadowrocket(小火箭)可以使用用户已有的 Hysteria2 服务配置。Hysteria2 是代理协议,QUIC 是其底层传输基础,UDP 则负责承载外层数据报。这三个名称处于不同层级:选择 Hysteria2 不等于只启用一个通用的 UDP 转发开关,也不等于浏览器的所有连接都会自动改为 HTTP/3。

UDP 本身不保证送达、顺序或重传;QUIC 在其上实现连接管理、可靠流、丢包恢复与加密。应用通过代理访问一个 TCP 服务时,外层仍可由 QUIC 承载,因此不能把“外层使用 UDP”理解成“网页数据丢失后就不补发”。Hysteria2 也可承载 UDP 业务,但不同业务的处理方式不能混为一谈。

UDP
Hysteria2 的外层网络传输,需要对应 UDP 端口可达
TLS 1.3
QUIC 使用的加密握手机制,仍需核对证书与名称
443
本文演示端口;实际 Port 必须使用已有配置给出的值

端口数字不能说明传输是否相同。允许 TCP 443 的网络,不一定允许 UDP 443;服务器也可能使用其他端口。Hysteria2 与较早的 Hysteria 配置不是可随意互换的类型,导入后应确认 Type,而不是保留旧类型、只替换地址和密码。

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

高延迟会拉长连接往返和丢包恢复时间。传统 TCP 连接在连续丢包后可能缩小拥塞窗口,使吞吐恢复较慢;但具体行为取决于拥塞控制算法及网络条件,不能仅凭“TCP”这个名称判断速度。Hysteria2 在 QUIC 基础上提供包括 Brutal 在内的拥塞控制机制,目标之一是在可用带宽较高、存在丢包的链路上维持传输效率。

QUIC 的独立流机制可以减少不同流之间的传输层队头阻塞:某个流丢包,不必让另一个流等待该流的数据补齐。不过,同一可靠流内仍需要按顺序交付。它也不会消除服务器处理时间、DNS 查询时间或实际物理延迟,因此“QUIC 更快”不是每次网页打开都能观察到的结论。

网络条件可能观察到的现象先核对什么
延迟高,偶发丢包持续下载可能更稳定,但首次打开页面仍受往返时间影响同一网络下重复测试,分开记录首字节与持续吞吐
延迟低,丢包少协议差距可能不明显,瓶颈可能在服务端或目标站点同一目标、相近时段与相同分流路径
UDP 被阻断或严格限速可能持续超时,或连接后吞吐明显受限目标 UDP 端口与当前网络策略
上行拥塞确认数据包延迟,下载与交互也可能受到影响暂停其他上传任务,再比较表现

结论:先验证 UDP 可达

先确认握手能够完成,再比较持续吞吐;如果连接一直超时,调大带宽参数并不能代替端口、地址与网络策略检查。

带宽设置不是越大越好。对使用 Brutal 的配置,明显高于实际可用带宽的数值可能增加丢包、挤占其他业务,或使交互变差。以已有服务配置说明为起点,观察稳定表现后再调整。本文不提供固定速度提升比例,因为没有统一的线路、负载与测试条件可支撑这种数字。

在 Shadowrocket 添加前核对哪些字段

配置必须来自用户自己已有的服务信息。Hysteria2 不是通用服务器登录方式:一个地址即使能打开网页,也不代表该地址运行了可用的 Hysteria2 服务。手动添加前,先确认服务类型、完整认证值、UDP 端口和 TLS 设置;优先保留已有配置给出的字段组合。

字段或设置核对内容常见错误
Type选择 Hysteria2,与服务端协议一致误选 Hysteria,认为只要地址相同就能连接
Address / Port服务器域名或 IP,以及实际开放的 UDP 端口复制地址时带入空格,或把网页端口当作代理端口
Password服务配置提供的完整认证值,区分大小写擅自拆分认证内容,或漏掉符号
SNI / TLS握手使用的名称与证书要求,以已有配置为准用 IP 连接时遗漏证书对应的名称
Obfuscation服务端要求启用时,类型和密码必须匹配把混淆密码与认证密码混用
带宽参数按已有配置说明及实际链路能力设置把服务套餐标称值当作当前网络可用值

不同界面语言与配置形式可能影响字段呈现,以当前编辑页为准。SNI 用于 TLS 握手中的名称选择,证书验证用于核对服务身份,二者不能替代 Password。使用 IP 作为 Address 时,若证书签发给域名,仍需按配置填写相应名称;不要用关闭证书验证来掩盖名称不匹配。

添加与验证:先连接,再检查分流

Shadowrocket 的 Home 用于查看和选择连接,Config 用于管理规则配置,Settings 用于应用设置。首次连接还需要确认系统的 VPN 配置授权。下面按手动添加已有 Hysteria2 配置的顺序操作;如果通过已有订阅导入,也应打开对应条目的编辑页检查同样的字段。

  1. 核对服务资料

    准备自己的 Address、Port、认证值及 TLS 说明。例如资料明确写 UDP 443,才填写 Port 为 443;不要从其他条目推测端口。

  2. 选择协议

    进入 Home → 右上角“+” → Add Server,在 Type 中选择 Hysteria2。手动输入地址、端口和 Password,并逐项比对原始资料。

  3. 核对加密项

    在该条目的编辑页核对 TLS、SNI 与可选的 Obfuscation 设置。填写服务端要求的名称与密码,保留证书验证,再保存条目。

  4. 验证连接

    回到 Home 选择已保存的条目,临时将 Global Routing 设为 Proxy,打开连接开关并确认系统授权。用同一个目标页面验证,再进行较长时间的下载观察。

  5. 恢复日常配置

    测试结束将 Global Routing 恢复为 Config,在 Config 中确认当前配置的规则和策略引用。若出现自动连接干扰,到 Settings → On Demand 核对启用状态与触发条件。

通过 Home → “+” → Type → Subscribe 添加已有订阅时,使用自己的完整 URL 并保存,再更新该订阅分组。更新成功只表示订阅内容获取与解析完成,不表示其中每个服务器都可连通。手工修改的字段也可能在下一次更新时被覆盖,长期纠正应从已有订阅的配置来源着手。

不要把订阅中的 token、Password 或完整配置截图发到公开页面。记录排查信息时保留错误类型、网络环境与时间段即可;需要核对字段时,先遮去认证值。连接测试结果也要区分:地址解析成功、握手成功和目标网页可用是不同阶段。

Config、Proxy 与 Direct 怎样配合排查

选择 Hysteria2 条目后,实际访问仍受 Global Routing 影响。Config 根据当前配置规则处理,Proxy 用于让可由代理接管的流量走所选代理路径,Direct 用于直接连接。Global Routing 中还可能使用 Scene;它按已设置的场景处理,不应仅凭条目已选中就认定当前流量经过 Hysteria2。

Config

推荐

依据当前配置的规则和策略处理连接。代理规则引用的策略必须能选到可用的 Hysteria2 条目;规则写 DIRECT 的流量仍会直连。

适合:验证完成后的日常分流使用

Proxy

临时统一使用代理路径,减少规则分流对测试的干扰。仍需确认当前选中的服务器或策略,不会绕过错误的认证与 TLS 设置。

适合:判断问题是否来自 Config 中的规则或策略

Direct

用于观察当前网络的直接访问表现。此时页面打开成功不能用作 Hysteria2 连接成功的证明。

适合:建立直连基线,区分目标站点与代理路径问题

例如,下面的规则仅演示语法,不是一份完整配置。DOMAIN-SUFFIX 匹配域名后缀,FINAL 是此前规则未命中时的最终处理方式;PROXY 必须对应当前配置内存在且可用的策略。若该策略选择了其他条目,测试结果就不能归因于 Hysteria2。

DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT

GEOIP 和 IP-CIDR 属于 IP 地址相关匹配,DOMAIN-SUFFIX 属于域名匹配。排查时要同时看规则顺序、匹配结果和策略选择,而不是仅确认配置里出现了某个关键字。Proxy 下可用、Config 下失败时,优先核对这些项;两个姿态都握手超时,才继续查 UDP 可达性及服务器字段。

常见问题:超时、测速波动与订阅更新

同样的配置在 Wi-Fi 能用,蜂窝网络一直超时?

保持同一个条目和目标不变,分别测试两种网络。先核对 Address、Port 与服务端 UDP 状态,再确认当前网络是否限制 UDP。如果只有一种网络失败,记录该差异,不要同时改密码、SNI 和带宽,否则无法定位原因。

显示连接了,为什么网页仍打不开?

系统 VPN 开关开启不等于远端代理握手成功。先在 Home 确认所选条目,临时用 Global Routing → Proxy 测试相同页面;检查连接记录中的握手、认证或 DNS 错误,再回到条目编辑页核对对应字段。

测速很高,打开网页却没有变快?

测速通常偏重持续吞吐,网页还受 DNS、连接建立和目标服务器响应影响。分别记录首次打开与后续加载的表现,保持目标与网络一致;不要只用一次大文件下载结果判断全部交互体验。

订阅更新后,手动改的设置又变了?

更新可能重新生成条目。回到 Home 的对应订阅分组核对 Type、Port、SNI 和认证字段,并与已有订阅说明比对。订阅获取失败与 Hysteria2 握手失败是两类问题,应分别检查 URL 可达性和服务器连接。

比较不同设置时,每次只修改一个变量。记录使用的网络、Global Routing 姿态、所选条目、目标地址,以及“握手超时”“认证失败”或“持续下载中断”等具体表现。必要时先暂停其他上传下载,再重复测试。这样的记录比一个孤立的延迟数值更有助于判断链路问题。

使用边界与 App Store 获取说明

Hysteria2 适合在已有服务支持、UDP 可达的前提下验证,尤其值得关注高延迟、存在丢包但仍有可用带宽的链路。若网络持续阻断 UDP,应使用自己已有配置中可用的其他传输方式,而不是反复增加带宽值。协议不能消除服务端负载、出口带宽或目标网站限制。

Shadowrocket 是闭源商业应用,仅在 Apple 平台发行,主要用于 iPhone 与 iPad;Mac、Apple TV、Apple Vision 的兼容性及系统要求以 App Store 页面标注为准。唯一获取入口为 App Store,核对开发者 Shadow Launch Technology Limited 和应用 ID 932747118 后完成一次性买断。客户端买断不等于线路套餐,本文不提供、不销售或推荐节点与订阅。

App Store 正版核对购买与恢复说明