跳到正文
不翻车专注 VPN 软件评测

TUIC 是什么?和 Hysteria2 一样走 UDP,差在哪一次讲清

不翻车编辑部 · 更新于

TUIC 科普封面:节点后面写着 TUIC,它是什么

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

这篇有视频版:YouTube 上看《TUIC是什么?和hy2一样走UDP,差在哪一次讲清》。

TUIC 仓库首页:没有官方实现,只专注协议设计;最新协议版本 0x05

先说 QUIC

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

TUIC 仓库的设计目标:0-RTT 转发 TCP 和 UDP、Full Cone NAT、多路复用、连接迁移

特点一:认证和转发可以同时进行

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

TUIC 协议规范:认证过程可以和其他命令(转发任务)并行

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

sing-box 文档:zero_rtt_handshake 强烈建议禁用,容易受到重放攻击

特点二:UDP 转发更完整

打游戏、语音通话、视频会议,大多走 UDP。TUIC 的设计目标里写着,它的 UDP 转发能做到 Full Cone NAT 兼容:外面的设备能顺着同一个端口找回到你,联机游戏里常说的 NAT 类型跟这个有关。

sing-box 里 UDP 转发有两种模式:native 是原生 UDP,丢了就丢了,延迟低;quic 模式用 QUIC 流做无损转发,会多一些开销。

sing-box 文档:udp_relay_mode,native 原生 UDP,quic 无损 UDP 中继但有额外开销

特点三:拥塞控制可选,但没有 Brutal

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

sing-box 文档:TUIC 拥塞控制可选 cubic、new_reno、bbr,默认 cubic

Hysteria2 和 VLESS 在丢包线路上的对比,我们测过 60 次:丢包实测。

认证:不直接发密码

TUIC 的账号是 UUID 加密码。协议规范写着,客户端不直接发密码,而是用当前这条 TLS 连接导出密钥(TLS Keying Material Exporter),以 UUID 为标签、密码为上下文,算出一个 256 位的令牌发过去。换一条连接,令牌就不一样。

TUIC 协议规范:TOKEN 由 TLS Keying Material Exporter 导出,label 是 UUID,context 是密码

现状:官方只放规范

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

tuic-protocol/tuic 提交记录:主分支最近的提交在 2025 年 3 月 13 日

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

Itsusinn/tuic 仓库:本仓库 fork 自 tuic-protocol/tuic

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

TUIC 仓库的客户端实现列表

缺点

  1. 走 UDP:和 Hysteria2 一样,你那边的网络限制 UDP,它会更慢,甚至连不上。
  2. 没有 Brutal:丢包严重的晚高峰,别指望它像 Hysteria2 那样硬扛。
  3. 官方仓库不提供程序:服务端只能用 sing-box、mihomo 或社区版。

TUIC 还是 Hysteria2

  • 线路丢包多、想硬抢速度:Hysteria2 的 Brutal 更合适。
  • 想要稳定的 UDP 转发、打游戏语音,或者客户端正好支持 TUIC:可以试试它。
  • 在你那边谁更快:同一台服务器两个协议都开,晚上各测三次,以你自己测出来的为准。

资料来源