Hysteria2(常简称 hy2)是 Hysteria 项目 2023 年 9 月推出的第二代协议,基于 QUIC,走 UDP,流量伪装成 HTTP/3。官方说它为不稳定、丢包多的网络设计。它的短板也在 UDP 上,所在网络限制 UDP 时节点会全部超时,这时换 VLESS、Trojan 这类走 TCP 的节点就行。
梯子节点列表里写着 Hysteria2 或 hy2 的,都是同一种协议。它和 VLESS、Trojan 最大的不同是走 UDP。对你来说,要记住两件事。所在网络对 UDP 友好时,它能正常工作,官方还说它为丢包多的网络专门做了设计;网络限制 UDP 时,这类节点会一起超时,换回走 TCP 的节点就好。
Hysteria2 和第一代 Hysteria
Hysteria 项目的第一个 2.x 正式版 v2.0.0 发布于 2023 年 9 月 2 日。官方文档写明,Hysteria 2 与 Hysteria 1.x 完全不兼容,协议和代码都做了重大修改,客户端和服务器必须用同一代。第二代的主要变化是重新设计了协议,伪装成 HTTP/3,UDP 会话建立也更快。
名字上,分享链接既可以写成 hysteria2:// 开头,也可以用简写 hy2://,两种官方都认。现在机场说的 hy2 节点,指的都是第二代。项目仓库最新的版本是 2026 年 9 月 16 日的 v2.12.3。
它是怎么工作的
Hysteria2 建立在 QUIC 上。QUIC 是 HTTP/3 底下用的传输协议,跑在 UDP 上,本身就用 TLS 1.3 加密。按协议规范,客户端连上服务器后,发一个 HTTP/3 请求做认证,密码对了,服务器回一个特殊的状态码,之后开始代理。
认证失败时,服务器会表现得像一台普通网站服务器,或者把请求转给一个真实的网站,这就是官方说的伪装。服务端配置里的 masquerade 项专门管这个,文档的说法是,数据包不仅在中间设备看来像 HTTP/3,服务器也会像普通网站一样真的回应请求。
服务端还可以开混淆,类型有 salamander,2026 年 5 月的 v2.9.2 又加了实验性的 gecko。开了混淆,数据包就不再像标准 QUIC。官方文档提醒,启用混淆会让服务器失去 HTTP/3 伪装的能力。机场有没有开混淆,看节点参数里有没有 obfs 一项。
带宽设置和 Brutal
这是 Hysteria2 特有、也容易被填错的一项。客户端配置里可以填上行和下行带宽,填了,这个方向就用官方的 Brutal 拥塞控制,按你填的速度发送数据;不填,就用 BBR。拥塞控制指协议在网络变差时怎么调整发送速度。
官方文档专门加了警告,意思是带宽值不是越大越好,千万别超过你的网络实际能跑到的速度,否则会造成拥塞,连接反而更不稳。所以别把 100M 宽带写成 1000M。机场订阅里已经写好的 up、down 一般不用动,服务端还可以开启“忽略客户端带宽”,那样你改了也不生效。
适合什么网络,不适合什么网络
| 对比项 | Hysteria2 | VLESS、Trojan 等 TCP 协议 |
|---|---|---|
| 传输方式 | UDP 上的 QUIC | TCP |
| 拥塞控制 | 协议自己管,可选 Brutal、BBR | 交给操作系统的 TCP |
| 伪装方式 | 伪装成 HTTP/3 | TLS 或 Reality |
| 端口 | 支持端口跳跃 | 固定端口 |
| 容易出问题的地方 | 网络限制或丢弃 UDP | 丢包多时速度下降 |
适合的情况,官方说得很清楚,它为不稳定、丢包多的网络设计。TCP 遇到丢包会主动降速,Hysteria2 用自己的拥塞控制处理,这是两者设计上的主要差别。实际快不快,还得看机场线路,要按梯子测速的方法自己比。
不适合的情况出在 UDP 上。Hysteria 文档提到,国内有用户反映运营商会阻断或限速 UDP,不过通常只针对单个端口。为此它支持端口跳跃,客户端定时换一个端口连,默认 30 秒换一次,前提是服务端开放了一段端口。节点参数里有 ports 或 hop-interval,就是开了端口跳跃。
如果你在学校、公司的网络里,发现 Hysteria2 节点全部超时,而同一订阅里的 VLESS、Trojan 节点正常,多半是网络对 UDP 有限制,也可能是机场的 Hysteria2 服务器出了问题。换成手机流量再试一次就能分清。前一种情况换节点就行,学校网络的问题可以看校园网能用梯子吗,其他超时原因见节点全部超时怎么办。
哪些客户端能用
mihomo 内核的客户端都支持 Hysteria2,比如 Clash Verge Rev、FlClash 和 Clash Party,端口跳跃、obfs 混淆这些参数 mihomo 文档里都有。sing-box 内核的客户端也支持,2026 年 8 月 31 日的 sing-box v1.14.0 还给 Hysteria2 加了 Chrome QUIC 指纹模仿、跳跃间隔随机化和 gecko 混淆。Xray 从 2026 年 1 月的 v26.1.23 起支持,v2rayN 则可以直接调用 Hysteria2 内核。
已经停更的 Clash for Windows 不支持 Hysteria2,它的内核在 Hysteria2 正式发布前就停在了 2023.08.17。还在用它的话,看 Clash for Windows 停更以后用什么。
2026 年 Hysteria 的几次更新
Hysteria 今年更新频繁,下面是官方发布页里和普通用户关系较大的几条。这些是 Hysteria 自家程序的更新,mihomo、sing-box 这些客户端内核什么时候跟进、支持到什么程度,以各自的更新说明为准。
| 版本 | 发布日期 | 主要变化 |
|---|---|---|
| v2.9.0 | 2026-05-10 | 新增 Realms,通过 NAT 打洞,没有公网 IP 也能架服务端 |
| v2.9.2 | 2026-05-23 | 新增实验性的 gecko 混淆,修复 UDP 包可绕过 ACL 等安全问题,官方强烈建议更新 |
| v2.10.0 | 2026-07-13 | 支持 ECH(加密客户端问候),可关闭 Brutal 的速率补偿 |
| v2.11.0 | 2026-08-01 | 客户端的 QUIC 握手默认模仿 Chrome 浏览器 |
| v2.12.0 | 2026-08-06 | 集成 mimic,把 UDP 伪装成 TCP,只支持 Linux,服务端和客户端都要开 |
| v2.12.3 | 2026-09-16 | 新增生成 ECH 密钥的命令,修复 HTTP 代理和 Linux 端口跳跃的问题 |
mimic 是专门给限制 UDP 的网络准备的,可惜只能在 Linux 上用,而且服务端一开,没开 mimic 的老客户端就连不上了,普通用户基本碰不到。在 Windows 电脑和手机上遇到 UDP 受限,换 TCP 协议的节点仍是最省事的办法。
常见问题
Hysteria2 和 Hysteria 有什么区别?
Hysteria2 是 Hysteria 的第二代,协议重新设计,伪装成 HTTP/3。官方文档写明 Hysteria 2 与 Hysteria 1.x 完全不兼容,客户端和服务器必须用同一代。现在机场说的 hy2、Hysteria2 节点指的都是第二代。
Hysteria2 节点全部超时怎么办?
先看同一订阅里走 TCP 的节点能不能用。能用,多半是所在网络限制了 UDP,也可能是机场的 Hysteria2 服务器有问题,换手机流量试一次就能分清;都不能用,再按节点超时的常规思路排查,比如订阅是否过期、客户端是否支持。
Hysteria2 的上传下载带宽要怎么填?
按你自己网络的实际上下行速度填,不要往大了写。Hysteria 官方文档警告,带宽值超过网络实际能力只会造成拥塞和断流。机场订阅里已经填好的,一般不用改,服务端也可能设置了忽略客户端带宽。
哪些客户端能用 Hysteria2?
用 mihomo 内核的 Clash Verge Rev、FlClash、Clash Party,用 sing-box 内核的客户端,以及 v2rayN 都能用。Xray 从 2026 年 1 月的 v26.1.23 起也支持。已经停更的 Clash for Windows 不支持。
参考资料
- Hysteria 2 官网
- Hysteria 2 协议规范
- Hysteria 2 与 Hysteria 1 的比较
- Hysteria 2 客户端完整配置(带宽与拥塞控制)
- Hysteria 2 服务端完整配置(混淆、伪装、忽略客户端带宽)
- Hysteria 2 端口跳跃
- Hysteria 2 URI 格式(hysteria2 与 hy2)
- Hysteria 2 文档,mimic
- Hysteria 发布页 app/v2.0.0(2023-09-02)
- Hysteria 发布页 app/v2.12.3(2026-09-16)
- mihomo 文档,Hysteria2 节点配置
- sing-box 文档,Hysteria2 出站
- sing-box v1.14.0 发布说明
- Xray 文档,Hysteria 出站