共计 2904 个字符,预计需要花费 8 分钟才能阅读完成。
本文仅针对 X86-64,系统的话 Ubuntu 和 Debian 一样的。ARM 的自己找相应操作吧(该死的甲骨文换 4、5 张卡都申请不下来)
本教程主要内容来源于:https://lala.im/8424.html 这个教程,根据最新服务器版本做了一点点改动,对此文作者表示感谢。
也大力感谢 surge pro 群里的天心大佬和 luca 对于我这个小白的基础问题的耐心解答
昨天 surge TF 更新了支持 TUIC,对于折腾完 warp+ 的群里来说总算是有新东西可以折腾了。我这个完全的技术小白也试着按照群里大佬的教程弄了一把,虽然有波折,但是最终还是成功了。试着写一个手把手的教程。
折腾前需要准备的:最新版 TF 版的 surge,并且订阅没有过期;有一个 vps,有一个属于你的域名。(一般来说拥有这些东西的都已经不需要看这个教程了,但也不排除有像我这样只会一键 SS-Rust 的白痴吧)
建立服务端
进入 ssh,输入指令获取管理员权限
sudo -i
然后依次输入:
升级服务器
apt -y update
获取申请证书的 certbot
apt -y install wget certbot
建立服务器端的文件夹并进入该文件夹
mkdir /opt/tuic && cd /opt/tuic
获取服务器端程序
wget https://github.com/EAimTY/tuic/releases/download/0.8.5/tuic-server-0.8.5-x86_64-linux-gnu
赋予服务器端程序权限
chmod +x tuic-server-0.8.5-x86_64-linux-gnu
这里每一行是一条指令,输入后按回车等执行完再进行下一条命令
建立服务器端配置:
nano config.json
(有些 vps 可能默认没有 nano,那么就需要安装 nano 了,具体的方式可以自行搜索:nano 安装)
写入如下配置:
{
"port": 想要的端口,
"token": ["你的密码"],
"certificate": "/opt/tuic/fullchain.pem",
"private_key": "/opt/tuic/privkey.pem",
"ip": "0.0.0.0", "congestion_controller": "bbr", "alpn": ["h3"]
}
新建 systemd 配置文件
nano /lib/systemd/system/tuic.service
写入如下配置:
[Unit]
Description=Delicately-TUICed high-performance proxy built on top of the QUIC protocol
Documentation=https://github.com/EAimTY/tuic
After=network.target
[Service]
User=root
WorkingDirectory=/opt/tuic
ExecStart=/opt/tuic/tuic-server-0.8.5-x86_64-linux-gnu -c config.json
Restart=on-failure
RestartPreventExitStatus=1
RestartSec=5
[Install]
WantedBy=multi-user.target
至此其实服务器端已经建立好了。如果你已经之前玩过 trojan 有证书的话就直接把证书放入到 /opt/tuic 文件夹里按照上面的配置公钥命名为:fullchain.pem,私钥命名为:private.pem 那么就已经完成了。如果没有的话就接着往下看,通过 certbot 申请证书吧
申请证书:
certbot certonly \
--standalone \
--agree-tos \
--no-eff-email \
--email [email protected] \
-d your.com
这里注意就是要把整个指令先复制到其它文本编辑器里面,把里面的:[email protected] 换成你的邮箱,your.com 换成你的域名,换好后再复制到 ssh app 里面按下回车执行
将获得的证书放到服务器配置文件内的位置:(把里面的 your.com 换成你自己的域名)
cat /etc/letsencrypt/live/your.com/fullchain.pem > /opt/tuic/fullchain.pem
cat /etc/letsencrypt/live/your.com/privkey.pem > /opt/tuic/privkey.pem
注意上面是两条指令,分别执行。
启动 tuic 服务并设置开机自启:
systemctl enable --now tuic.service
至此服务器端的配置已经全部完成了。你在 surge 配置里面就可以按照老刘提供的格式进行节点设置了(暂时无 UI 添加节点)如下示意配置格式,1.1.1.1 换成你的 vps 的 IP,端口就是上面 config.json 里面设置的端口,token 后面就是里面设置的密码,sni 后面就是你的域名。
tuic-AWS = tuic, 1.1.1.1, 设置的端口, skip-cert-verify=true, sni=your.com, token= 设置的密码, alpn=h3
因为 certbot 申请的证书有期限,所以设置个自动运行的脚本进行自动续期
新建一个 certbot 的 hook 脚本文件,用于让 tuic 重新加载续期后的新证书:
nano /etc/letsencrypt/renewal-hooks/post/tuic.sh
写入如下内容:(把里面的 your.com 换成你自己的域名)
#!/bin/bash
cat /etc/letsencrypt/live/your.com/fullchain.pem > /opt/tuic/fullchain.pem
cat /etc/letsencrypt/live/your.com/privkey.pem > /opt/tuic/privkey.pem
systemctl restart tuic.service
给脚本执行权限:
cd /etc/letsencrypt/renewal-hooks/post
chmod +x tuic.sh
测试续期的情况以及脚本能否正常运行:(里面的 your.com 换成你自己的域名)
certbot renew --cert-name your.com --dry-run
至此服务器端就全部配置完成了。
重启:
systemctl restart tuic
如果想查看服务器状态,用这个指令
systemctl status tuic
卸载:
systemctl stop tuic && rm -rf /opt/tuic
附上 luca 的部署过程,包含 ARM 版的指令