Tuic作为新的quic实现,和其他非商业团体和个人的作品一样,应用上也是先C后B、由C到B,当然,很多作品可能会等不到B端应用的那一刻。Tuic Server/Client自1.0.0版本,完整实现tuic v5协议,在特定领域尽可能发挥QUIC特性。作者提供了Tuic服务端和客户端的预编译二进制文件,实际安装并不困难,但要配合已有工具提供良好的UI接口和可视化管理手段,多少还需要点折腾。
1.规划与准备
- 域名及主机解析
定义主机DNS记录,指向tuic部署的主机,这方面主要是TLS对证书的要求
- 端口放行
建议提前将计划使用的端口在系统防火墙和主机安全策略层面放行,注意udp协议的选择。同时,建议同时将tcp/udp打开,通过其他应用或配置可以兼顾到tcp relay,单纯开放固定udp端口的配置操作很不常见。希望最大程度利用Tuic v5/QUIC特性的,关闭防火墙,清除所有访问控制策略。
- 已有GUI代理客户端的升级或转换
没有客户端或者不想安装第三方客户端的,可以直接使用作者提供的二进制预编译版本tuic client,文档说明了“provide a minimal reference for the TUIC protocol client implementation”。已安装有客户端的,除了更新版本之外,v2rayn需要下载官方tuic client以替换协议内核,Clash for win则需要下载clash meta以替换内核。
2.服务端
服务端可以直接下载预编译的版本,可以尝试使用预编译gnu版本,不行再换musl版本。手动创建配置文件,添加server、uuid、password、证书路径等必要内容,可选项一律留白保持默认值。运行以下命令即可启动tuic服务。
path/to/your/tuic-server -c path/to/your/tuic-config-file
当然,可以下载老E自用的一键安装脚本使用,随意修改折腾、自定义,多个乐趣。
https://github.com/evanawn65/appscross/raw/main/tuic5.sh
3.客户端
除官方的tuic client外,桌面端老E仅考虑win x64,适当配置下选择还是有的,相信会越来越多。仅以V2rayN和Clash for windows(含汉化版)为例。win x64下解压即可用、无需安装的最新版下载地址:
-Tuic client
https://github.com/EAimTY/tuic/releases/download/tuic-client-1.0.0/tuic-client-1.0.0-x86_64-pc-windows-gnu.exe
-V2rayN
https://github.com/2dust/v2rayN/releases/download/6.27/zz_v2rayN-With-Core-SelfContained.7z
-Clash for windows
https://github.com/Z-Siqi/Clash-for-Windows_Chinese/releases/download/CFW-V0.20.28_CN/Clash.for.Windows-0.20.28-win.7z
-Clash meta
https://github.com/MetaCubeX/Clash.Meta/releases/download/Prerelease-Alpha/clash.meta-windows-amd64-alpha-0b1aff5.zip
3.1 官方客户端
创建json配置文件,内容如下:
{ "relay": { "server": "yourdomianname:port", "uuid": "your uuid", "password": "your password", "ip": "ip地址", #如果domianname解析正常,无需此行 "udp_relay_mode": "quic", "congestion_control": "bbr", "alpn": ["h3"] }, "local": { "server": "127.0.0.1:10808" #本地socks5端口,与浏览器插件一致 } }
打开cmd,运行以下命令启动tuic client,连接tuic服务器。在此基础上可进行进一步的QUIC、tuicv5协议分析和性能测试。
path\to\your\tuic-server -c path\to\your\tuic-config-file
3.2 内核路径与替换
- V2rayN
tuic-client-1.0.0-x86_64-pc-windows-gnu.exe替换掉"v2ray解压目录\bin\tuic\tuic-client.exe"并保持tuic-client.exe文件名。
- Clash for windows
解压后的clash.meta-windows-amd64.exe替换掉“clash for windows解压目录\resources\static\files\win\x64\clash-win64.exe”并保持clash-win64.exe文件名。
3.3 Shawrocket内容补充
Shawrocket分享链接及二维码导入尚存瑕疵,需要看官方修补。当前最新版本在扫码或URL导入后,需要手动将版本协议置为5并补充UUID。对照以下补充填入内容及JSON关键字说明检查即可:
- 手动填入UUID
- user字段指定tuic5 uuid
- udp字段指定转发模式,0为关闭,1为native,2为quic
- proto字段指定拥塞控制算法bbr或其他 5.type字段指定协议,应为TUIC
URL书写的问题在于&uuid和@uuid都无法正确、完整识别,且&uuid与位置无关,无法自动写入sr uuid位置,@uuid会直接连同password字段和"user="/“uuid=”写入sr paswword位置,验证会失败。
文章评论
提问:为什么不建议使用系统代理和全局模式?
@Mr.Wick 因为udp可能会触发运营商QoS 系统或全局情况下本地流量更显突出