TUIC 是什么?和 Hysteria2 一样走 UDP,差在哪一次讲清
不翻车编辑部 · 更新于

先说结论:TUIC 是跑在 QUIC 上的代理协议,和 Hysteria2 一样走 UDP,最新协议版本是第 5 版(0x05)。它的特点是连接建立快、UDP 转发更完整,拥塞控制用的是常规算法,没有 Hysteria2 那种按你填的带宽硬发的 Brutal 模式。现在它的官方仓库只放协议规范,不再提供官方程序。下面的内容来自 tuic-protocol/tuic 仓库的说明和协议规范、Itsusinn/tuic 仓库,以及 sing-box、mihomo 文档,核对日期 2026 年 10 月 11 日。
这篇有视频版:YouTube 上看《TUIC是什么?和hy2一样走UDP,差在哪一次讲清》。

先说 QUIC
QUIC 最早由谷歌做出来,现在的 HTTP/3 就跑在它上面。它走 UDP,但自己带了加密和丢包重传,一条连接里能同时跑很多条数据流;手机从 Wi-Fi 切到流量,连接也不用断(连接迁移)。TUIC 仓库的设计目标里写着,它就是想用上 QUIC 这些好处。

特点一:认证和转发可以同时进行
设计目标第一条是“在 0-RTT 里转发 TCP 和 UDP”。RTT 是一个来回的时间。普通代理要先连上、再认证、再告诉服务器你要去哪,一来一回好几趟。TUIC 的协议规范写着,认证这一步可以和转发请求并行,不用等认证回来再发请求,所以能少等一个来回。

要分清另一件事:sing-box 里还有一个 zero_rtt_handshake(0-RTT 握手)选项,指的是 QUIC 连接本身的快速重连。sing-box 文档写着:强烈建议禁用此功能,因为它容易受到重放攻击。客户端里这个开关,默认关着就好。

特点二:UDP 转发更完整
打游戏、语音通话、视频会议,大多走 UDP。TUIC 的设计目标里写着,它的 UDP 转发能做到 Full Cone NAT 兼容:外面的设备能顺着同一个端口找回到你,联机游戏里常说的 NAT 类型跟这个有关。
sing-box 里 UDP 转发有两种模式:native 是原生 UDP,丢了就丢了,延迟低;quic 模式用 QUIC 流做无损转发,会多一些开销。

特点三:拥塞控制可选,但没有 Brutal
拥塞控制就是遇到丢包怎么调速度。TUIC 可以选 cubic、new_reno 或 bbr,sing-box 默认 cubic,mihomo 里也能设成 bbr。它没有 Hysteria2 的 Brutal(按你填的带宽硬发,丢包还发得更快一点)。所以在丢包很多的线路上,按设计,TUIC 不会像 Hysteria2 那样抢带宽,表现更接近普通的 QUIC 连接。

Hysteria2 和 VLESS 在丢包线路上的对比,我们测过 60 次:丢包实测。
认证:不直接发密码
TUIC 的账号是 UUID 加密码。协议规范写着,客户端不直接发密码,而是用当前这条 TLS 连接导出密钥(TLS Keying Material Exporter),以 UUID 为标签、密码为上下文,算出一个 256 位的令牌发过去。换一条连接,令牌就不一样。

现状:官方只放规范
TUIC 最早放在开发者 EAimTY 的账号下,仓库后来搬到 tuic-protocol 组织。仓库首页写着:这里没有官方实现,只专注于协议设计。主分支最后一次提交是 2025 年 3 月 13 日。

原来那套服务端程序,现在由社区接手,放在 GitHub 上 Itsusinn 的账号下(Itsusinn/tuic),还在持续更新。

支持 TUIC 的软件,仓库的实现列表里写着:sing-box、mihomo、小火箭(Shadowrocket)、Stash、Surge、Egern、dae、ClashRS 等。

缺点
- 走 UDP:和 Hysteria2 一样,你那边的网络限制 UDP,它会更慢,甚至连不上。
- 没有 Brutal:丢包严重的晚高峰,别指望它像 Hysteria2 那样硬扛。
- 官方仓库不提供程序:服务端只能用 sing-box、mihomo 或社区版。
TUIC 还是 Hysteria2
- 线路丢包多、想硬抢速度:Hysteria2 的 Brutal 更合适。
- 想要稳定的 UDP 转发、打游戏语音,或者客户端正好支持 TUIC:可以试试它。
- 在你那边谁更快:同一台服务器两个协议都开,晚上各测三次,以你自己测出来的为准。
