S-UI 面板搭建 TUIC 节点教程,附 Hysteria2 对比选择建议

TUIC 是另一个基于 QUIC 的代理协议,跟 Hysteria2 常被放在一起比较,两者思路接近,但拥塞控制算法和握手细节不一样。S-UI 面板对 TUIC 的支持也比较完整,入站、证书、拥塞控制都能在网页里直接配置。如果你还没搭好面板,可以先参考 S-UI面板搭建教程 把基础环境装好,这篇教程默认面板已经安装完成,直接进入 TUIC 节点的配置部分。

TUIC 和 Hysteria2 该选哪个

写正文之前先把这个问题说清楚,省得看到一半还在纠结选哪个协议。

TUIC 和 Hysteria2 都跑在 QUIC 之上,抗丢包能力都比传统 TCP 类协议强,实际表现更多取决于线路质量和拥塞控制算法的匹配程度,而不是协议本身谁更"先进"。如果你已经搭过 Hysteria2 节点,不妨把 TUIC 也部署一份,两边跑一跑测速对比,选延迟更低、丢包更少的那个留用,没有绝对的标准答案。如果只想留一个,新手可以优先试 Hysteria2,生态和客户端支持稍微成熟一点;TUIC 在部分线路上的小包延迟表现更好,喜欢折腾的可以两个都留着按场景切换。

准备工作

  • VPS 配置:1 核 CPU、512MB 内存足够,TUIC 对硬件要求不高。
  • 系统版本:Debian 11/12、Ubuntu 20.04 以上均可。
  • 端口:TUIC 同样走 UDP,记得在安全组和防火墙里放行对应端口。
  • 证书:可以用自签证书,也可以走正式证书,这篇教程两种都会讲,注意 TUIC 在这块有个跟 Hysteria2 不太一样的坑,下面会单独说明。

创建 TUIC 入站

进入 S-UI 面板的入站管理页面,新建入站:

  1. 入站类型选择 TUIC
  2. 监听端口自定,比如 55555,记得放行对应的 UDP 端口。
  3. 用户凭据(UUID + 密码)面板会自动生成,也可以手动填,保持默认让面板生成即可。
  4. 拥塞控制算法(congestion control)默认一般是 bbr,如果线路丢包比较多可以试试 cubic,具体哪个更好没有定论,实测最靠谱。
  5. 保存退出。

配置证书——注意这个坑

TUIC 在证书这块有个跟 Hysteria2 不完全一样的地方:部分客户端在导入 TUIC 节点时不会自动提示"跳过证书验证"的选项,如果用的是自签证书又没手动打开这个开关,连接会直接失败,报错信息通常不会明确指向证书问题,容易让人误以为是入站配置错了。

处理方式跟之前证书那篇思路一样:

  • 没有域名,用自签证书:面板里直接生成即可,但导入客户端后,一定要手动找到 skip-cert-verify 或"跳过证书验证"这个选项并打开,不然大概率连不上。具体证书生成和申请流程可以参考 S-UI面板申请和配置SSL证书 这篇,步骤是通用的,TUIC 和其他协议共用同一套证书管理入口。
  • 有域名,用正式证书:走 acme 自动申请 Let’s Encrypt 证书,域名解析和端口检查跟其他协议一致,用正式证书的话客户端不需要开跳过验证,兼容性更好,能省掉上面这个坑。

导入客户端并验证

进入用户管理,找到刚才建的 TUIC 用户,复制节点链接。目前主流客户端(NekoBox、Clash Verge、Shadowrocket 等)基本都已经支持 TUIC v5 协议,导入后连接,同样打开一个 IP 查询网站确认出口 IP 变成了 VPS 的地址,确认节点搭建成功。

如果导入后一直连不上,先按下面的顺序排查:

  1. 检查 VPS 安全组和系统防火墙是否放行了 TUIC 的 UDP 端口。
  2. 检查客户端是否需要手动打开"跳过证书验证"(用的是自签证书的情况下)。
  3. 检查拥塞控制算法客户端和服务端是否一致,部分客户端在这个字段上要求跟服务端严格匹配。

常见问题

S-UI 怎么配置 TUIC?
核心步骤是新建 TUIC 类型入站、配置好证书(重点注意自签证书要手动打开跳过验证)、选定拥塞控制算法,再从用户管理里导出节点链接给客户端使用,具体可以参照上文的分步说明。

TUIC 和 Hysteria2 哪个更好?
两者性能接近,实际体验取决于你的 VPS 线路和落地网络质量,建议都部署一份实测对比,参考前面"该选哪个"那一节。

TUIC 证书要怎么设置?
自签证书需要在客户端手动开启跳过证书验证,否则连接会失败;如果有域名,直接用面板的 acme 功能申请正式证书能省掉这一步,兼容性也更好。

搭好 TUIC 之后,如果想把这台机器也用来做多协议管理,可以参考 S-UI面板多用户管理 给不同协议、不同用户设置流量限额和到期时间;如果打算把 TUIC 用在中转落地架构里,思路和 S-UI 中转落地搭建教程 里讲的 Shadowsocks 出站类似,把 TUIC 换成对应的出站类型即可。