Hysteria2 协议是什么?基于 QUIC 的节点怎么用
Hysteria2 协议是基于 QUIC 的 TCP 与 UDP 代理协议,服务端同时扮演标准 HTTP/3 服务器,认证通过的连接才被当作代理。它依赖 UDP 链路,与 Hysteria 1.x 不兼容,使用前要核对客户端内核是否支持。
Hysteria 2 资料卡核验于 2026-10-09
- 来历
- 官方站点 v2.hysteria.network,仓库 github.com/apernet/hysteria(MIT 许可)。协议文档称 Hysteria 2 指 2.0.0 起使用的协议,内部有时叫“v4”协议。页面未写明个人作者。
- 传输与加密
- 建立在标准 QUIC(RFC 9000)与不可靠数据报扩展上;用 HTTP/3 的 POST /auth 认证,成功返回状态码 233;TCP 用 QUIC 双向流,UDP 用数据报;可选 Salamander、Gecko 混淆。
- 官方文档写明支持的内核
- Hysteria(apernet/hysteria 官方实现)、Xray-core、V2Fly v2ray-core、sing-box、Mihomo
- 相关 RFC
- RFC 9000、RFC 9114、RFC 9221
站内收录的客户端里,文档写明支持 Hysteria2 的
- mihomo
- v2rayN
- v2rayNG
- Xray-core
- sing-box
- Karing
- NekoBox for Android
- Throne
- Shadowrocket
- Stash
- Surge
- Loon
- OpenClash
- PassWall
完整对照见协议 × 客户端支持矩阵。
Hysteria 2 官方站点Hysteria 2 协议规范Hysteria 2 与 Hysteria 1 的区别apernet/hysteria 仓库Xray 文档:Hysteria 出站sing-box 文档:Hysteria2Mihomo 文档:Hysteria2V2Fly:Hysteria2 配置(中文)
这张卡片的资料来源(14 条)
- 协议基于 QUIC(RFC 9000)与不可靠数据报扩展;服务端须实现 HTTP/3(RFC 9114);POST /auth 认证与状态码 233;Hysteria-CC-RX 速率与拥塞控制;TCP/UDP 转发格式;Salamander 与 Gecko 混淆;协议“v4”称呼(v2.hysteria.network)
- 首页:MIT 许可;支持 SOCKS5、HTTP 代理、TCP/UDP 转发、Linux TProxy、TUN;自述协议伪装为标准 HTTP/3 流量(v2.hysteria.network)
- 仓库 README 与首页文案一致,并链接 Hysteria 1.x 旧版文档(raw.githubusercontent.com)
- Hysteria 2 与 1.x 不兼容,客户端与服务端须同版本线(v2.hysteria.network)
- 不能使用 CDN 的原因(v2.hysteria.network)
- 第三方实现不受官方控制,可能缺少最新特性或有各自 bug(v2.hysteria.network)
- Xray 文档:hysteria 出站(version 必须为 2),hysteria 传输层是 Hysteria2 底层 QUIC 传输的 Xray 实现,与官方实现兼容(xtls.github.io)
- Xray 文档:hysteria 出站是 Hysteria 客户端实现,version 必须为 2;协议本身无认证,搭配非 hysteria 传输层时无法代理 UDP(xtls.github.io)
- V2Fly 文档含 hysteria2 协议页(入站/出站)(www.v2fly.org)
- sing-box 文档含 Hysteria2 出站,含 obfs(salamander、gecko)、端口跳跃等字段,并说明与官方 userpass 的差异(sing-box.sagernet.org)
- Mihomo 文档含 hysteria2 代理类型,obfs 支持 salamander 与 gecko(wiki.metacubex.one)
- RFC 9000:QUIC 传输协议(www.rfc-editor.org)
- RFC 9114:HTTP/3(www.rfc-editor.org)
- RFC 9221:QUIC 的不可靠数据报扩展(www.rfc-editor.org)
Hysteria2 协议是一套建立在 QUIC 之上的 TCP 与 UDP 代理协议:服务端同时扮演一台标准的 HTTP/3 服务器,只有认证通过的连接才会被当作代理连接。社区里常把它写成 hysteria2 或简称 hy2。这篇文章依据官方文档讲三件事:它的设计思路,依赖 UDP 意味着什么,以及拿到节点后客户端怎么选、转 Clash 要核对什么。
Hysteria2 协议是什么:藏在 HTTP/3 服务器背后的 QUIC 代理
官方站点是 Hysteria 2 官方文档,仓库是 apernet/hysteria。协议文档把 Hysteria 2 定义为新一代版本线所使用的协议。官方页面没有写明个人作者,这部分资料待核实,梯子岛不去补。
按协议文档,它有这几个特点:
- 建立在标准 QUIC 上:依据 RFC 9000 与 QUIC 的不可靠数据报扩展,TCP 流量走 QUIC 的双向流,UDP 流量走数据报。
- 服务端同时是 HTTP/3 服务器:认证通过 HTTP/3 的 POST /auth 请求完成,成功时返回状态码 233,之后这条连接才被当作代理连接。HTTP/3 本身见 RFC 9114。
- 对外表现得像普通网站:文档称,对没有凭据的第三方(包括主动探测者),服务端表现得像标准 HTTP/3 网站,加密流量与正常 HTTP/3 流量没有区别。这是官方的自述,梯子岛没有能力验证,也不替它背书。
- 让客户端声明速率:认证时客户端报告自己的最大接收速率,服务端据此决定发送速率。
还有一条要先记住:Hysteria 2 与 Hysteria 1.x 旧版不兼容,两端必须同属一条版本线。官方专门有一页 Hysteria 2 与 Hysteria 1 的区别 讲这件事。
依赖 QUIC 和 UDP,对使用者意味着什么
把协议拆成几个部件,每个部件对你的影响就清楚了:
| 部件 | 官方文档的做法 | 对使用者的含义 |
|---|---|---|
| 传输层 | QUIC 数据包承载于 UDP 数据报 | 从你的设备到服务器的路径必须放行 UDP |
| TCP 流量 | 放进 QUIC 的双向流 | 网页、下载这类流量不需要你另外设置 |
| UDP 流量 | 使用不可靠数据报,支持分片 | 依赖 UDP 的程序也能被转发,实际表现没有数据可引用 |
| 认证 | HTTP/3 POST /auth,成功返回 233 | 凭据填错时,连接不会被当作代理连接 |
| 速率 | 客户端声明最大接收速率,声明为 0 时服务端改用 BBR、Cubic 等拥塞控制算法 | 客户端若有填写速率的栏位,多半对应这个机制,以所用客户端的说明为准 |
| 混淆 | 可选 Salamander,较新文档还有 Gecko | 混淆类型和密码要与节点一致 |
“依赖 UDP”不是缺点也不是优点,只是一个前提。后面会专门讲哪些环境会受影响。
速率声明与拥塞控制:官方说它面向丢包网络,效果要你自己验证
官方的说法是,Hysteria 2 面向丢包、不稳定的网络,并允许客户端设置收发速率。这是设计目标,不是测试结论。梯子岛没有任何自己的测速、延迟、丢包数据,所以不会告诉你它在某类网络下“快多少”。
想知道它对你是否有用,可以用最朴素的办法:
- 选同一个出口地区里、协议不同的两个节点,别在不同日子比较。
- 在同一时间窗口内,用同一台设备、同一个网络,各访问同一批页面或下载同一个文件。
- 隔几个小时再做一次,晚高峰前后的差别最能说明问题。
- 只把结果当作自己网络下的参考,换了网络要重新比。
哪些网络环境会影响 Hysteria2 协议的节点
下面几种情况,会让这类节点连不上或行为异常。是否真的遇到,要看你的实际网络:
- 路径上有只转发 TCP 的环节:UDP 到不了服务端,节点自然连不上。
- 本地网络限制 UDP:有些网络环境对 UDP 出站另有策略,梯子岛没有办法替你判断你所处的网络是否如此。
- 想套 CDN:官方 CDN 页面 的答复是不能套,认证通过后连接会切换为自定义代理协议,CDN 不支持,多数 CDN 回源也不用 HTTP/3。
- 版本线不一致:1.x 与 2.x 不兼容。
- 混淆设置对不上:节点启用了 Salamander 之类的混淆,而客户端里没填或填错,同样会失败。
遇到连不上时,别急着怀疑节点失效,先按这五条排除一遍。
hysteria2客户端怎么选:官方实现、内核与第三方应用
官方实现内置 SOCKS5、HTTP 代理、TCP 与 UDP 转发、Linux TProxy、TUN 等多种模式。官方的 第三方应用页面 也明确写了:第三方实现不受官方控制,可能缺少最新特性,或有各自的 bug。
| 类别 | 文档里怎么说 | 选它之前要核对 |
|---|---|---|
| 官方实现 | 多种代理模式,规范最完整 | 适合愿意对照官方文档填写配置的人 |
| sing-box 内核 | Hysteria2 出站含混淆(salamander、gecko)、端口跳跃等字段 | 官方的 userpass 认证,在这里要把“用户名:密码”整体填进 password |
| Mihomo 内核 | 有 hysteria2 代理类型,混淆支持 salamander 与 gecko | Clash 系客户端是否用这个内核,看各自的档案页 |
| Xray-core | 有 hysteria 出站,version 必须为 2 | 搭配非 hysteria 传输层时无法代理 UDP |
| V2Fly 内核 | 文档里有 hysteria2 协议页,含入站和出站 | 与官方实现是否完全一致,资料待核实 |
具体到某个 App,请直接查 协议支持矩阵;想看内核本身,读 sing-box 是什么 和 Mihomo 内核是什么;拿不准就用 客户端选择工具。
hysteria2转clash:什么时候转得了,转的时候看哪几项
Mihomo 文档里有 hysteria2 代理类型,所以目标客户端如果基于 Mihomo 内核,节点信息通常能对应过去;如果目标内核没有这个类型,转换就没有意义。这一点要先于工具去确认。
转换时需要带过去的信息,大致是这几类:
- 服务器地址与端口。
- 认证凭据,注意 sing-box 与官方在 userpass 上的写法差异。
- TLS 相关设置,例如服务器名称。
- 混淆类型与混淆密码,仅当节点启用了混淆。
- 端口跳跃,仅当节点启用了它,且目标内核的文档支持。
转换站可能看到你的订阅,先读 订阅转换怎么做才安全;完整做法和“转得了与转不了”的分界见 hysteria2 转 Clash;想自己动手试,可以用 节点转换工具。
导入 Hysteria2 节点后,怎么自己确认它在工作
- 在节点详情里确认类型是 Hysteria2,并确认它属于 2.x 这条版本线。
- 确认客户端内核有对应类型,对照 协议支持矩阵。
- 节点若有混淆类型和密码,客户端里要原样对上。
- 连上后用 IP 与 DNS 检测 看出口地区和 DNS 走向,梯子岛只教方法,不提供检测结果。
- 连不上时,换一个网络再试同一个节点,例如从家宽换到手机热点。两边结果不同,说明问题更可能在链路而不是节点本身;这只是判断思路,不是结论。
- 仍然不通,就按 梯子连不上怎么办 的顺序往下查,节点全部超时的情况见 节点超时怎么办。
下一步该去哪
- 想看节点怎么填:读 Hysteria2 客户端配置。
- 想对照取舍:读 Hysteria2 与 VLESS 哪个好 和 Hysteria2 与 TUIC 的区别。
- 想查官方规范原文:去 协议规范导航。
- 想确认自己的客户端支不支持:查 协议支持矩阵。
Hysteria2 的前提只有一条:UDP 要能通。前提不满足时,换协议比反复调参数更省事。
这篇没有覆盖的
- 本文不涉及速度和解锁表现,线路好坏要放到你自己的网络环境里看。
- 官方页面没有写明个人作者,这部分资料待核实,本文不做推测。
- 本文只讲客户端一侧的认识,不涉及服务端搭建,也不评价具体节点是否可靠。
本文引用的官方来源
- Hysteria 2 官方文档(v2.hysteria.network)
- Hysteria 2 协议规范(v2.hysteria.network)
- Hysteria 2 与 Hysteria 1 的区别(v2.hysteria.network)
- apernet/hysteria 仓库(github.com)
- sing-box 文档:Hysteria2(sing-box.sagernet.org)
- Mihomo 文档:Hysteria2(wiki.metacubex.one)
以上链接均为官方页面,梯子岛在 2026-10-09 核对过;个别网站会拦截自动化访问,用浏览器直接打开即可。平台规则可能随时调整,以官方页面当前内容为准。
Hysteria2 协议常见问题
Hysteria2 是什么协议?
Hysteria 2 是基于 QUIC 的 TCP 与 UDP 代理协议。按官方文档,服务端同时扮演一台标准的 HTTP/3 服务器,认证通过的连接才会被当作代理连接。官方强调它面向丢包、不稳定的网络,并允许客户端设置收发速率。社区里常简称 hy2。
Hysteria2 为什么依赖 UDP?
因为它建立在 QUIC 之上,而 QUIC 的数据包承载于 UDP 数据报。TCP 流量放进 QUIC 的双向流,UDP 流量走不可靠数据报。所以链路上只要有环节不放行 UDP,这类节点就可能连不上,换网络对比一下可以帮你判断。
Hysteria2 和 Hysteria 1 能混用吗?
不能。官方对比页写明 Hysteria 2 与 1.x 不兼容,客户端和服务端必须同为 1.x 或同为 2.x。拿到节点后先确认它属于哪条版本线,再确认客户端支持的是同一条线,否则填得再对也连不上。
Hysteria2 节点能套 CDN 吗?
官方 CDN 页面的答复是不能。原因是认证通过后连接会切换为自定义代理协议,CDN 不支持这种流量,而且多数 CDN 回源时也不用 HTTP/3。如果有人把 Hysteria2 协议节点和 CDN 绑在一起宣传,建议先对照官方页面再判断。
hysteria2 节点能转成 Clash 配置吗?
Mihomo 文档里有 hysteria2 代理类型,支持 salamander 与 gecko 混淆,所以基于 Mihomo 内核的 Clash 系客户端通常能对应。能不能转取决于目标客户端用什么内核,转换后要核对服务器、端口、凭据、混淆等字段,并自己验证是否连通。
Hysteria2 用什么客户端?
官方实现内置 SOCKS5、HTTP 代理、TCP 与 UDP 转发、Linux TProxy、TUN 等模式;sing-box、Mihomo、Xray-core 等内核的文档也有对应类型。第三方客户端不受官方控制,可能缺少最新特性,具体以协议支持矩阵和客户端档案页为准。
接着读
- 对比 · Hysteria2 与 VLESS 哪个好?UDP 协议与 TCP 协议的取舍
- 对比 · Hysteria2 与 TUIC 的区别:两种 QUIC 系协议
- 教程 · Hysteria2 客户端配置:导入节点与常见填写项
- 教程 · hysteria2 转 Clash:什么时候转得了、什么时候转不了
- 术语 · QUIC是什么意思
- 客户端 · sing-box 是什么?内核、官方客户端与各平台入口