共计 3443 个字符,预计需要花费 9 分钟才能阅读完成。
折腾前需要准备的:最新版 TF 版的 surge,并且订阅没有过期;有一个 vps,有一个属于你的域名
建立服务端
进入 ssh,输入指令获取管理员权限
sudo -i
然后依次输入:
升级服务器
apt -y update
获取申请证书的 certbot
apt -y install wget certbot
建立服务器端的文件夹并进入该文件夹
mkdir /opt/tuic && cd /opt/tuic
获取服务器端程序:
因为最近作者一直在更新,版本更新比较快,所以去 作者的库 查看下最新版
X86
wget wget https://github.com/EAimTY/tuic/releases/download/tuic-server-1.0.0/tuic-server-1.0.0-x86_64-unknown-linux-gnu -O /opt/tuic/tuic-server
ARM
wget https://github.com/EAimTY/tuic/releases/download/tuic-server-1.0.0/tuic-server-1.0.0-aarch64-unknown-linux-gnu -O /opt/tuic/tuic-server
赋予服务器端程序权限:
X86
chmod +x /opt/tuic/tuic-server
ARM
chmod +x /opt/tuic/tuic-server
这里每一行是一条指令,输入后按回车等执行完再进行下一条命令
建立服务器端配置:
nano config.json
(有些 vps 可能默认没有 nano,那么就需要安装 nano 了,具体的方式可以自行搜索:nano 安装)
写入如下配置:
{"server": "[::]:52408",
"users": {"8e21e704-9ac8-4fb8-bef1-6c9d7d7e390b": "RnJ5BfJ3"},
"certificate": "/opt/tuic/fullchain.pem",
"private_key": "/opt/tuic/privkey.pem",
"congestion_control": "bbr",
"alpn": ["h3", "spdy/3.1"],
"udp_relay_ipv6": true,
"zero_rtt_handshake": false,
"auth_timeout": "3s",
"max_idle_time": "10s",
"max_external_packet_size": 1500,
"gc_interval": "3s",
"gc_lifetime": "15s",
"log_level": "warn"
}
新建 systemd 配置文件
nano /lib/systemd/system/tuic.service
写入如下配置:
X86:
[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 -c config.json
Restart=on-failure
RestartPreventExitStatus=1
RestartSec=5
[Install]
WantedBy=multi-user.target
ARM
[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 -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 配置里面就可以按照老刘提供的格式进行节点设置了, 如下示意配置格式,1.1.1.1 换成你的 vps 的 IP,端口就是上面 config.json 里面设置的端口,password 后面就是里面设置的密码,sni 后面就是你的域名,uuid 就是 config.json 里面 user 部分,可以自己去通过相应工具生成。
最新版的 surge 已经可以通过 UI 添加。参照填入即可
TUIC V5 = tuic, 1.1.1.1 , 52408, skip-cert-verify=true, sni=your.com, uuid=8e21e704-9ac8-4fb8-bef1-6c9d7d7e390b, alpn=h3, password=RnJ5BfJ3, version=5
可以用下面命令获取证书指纹,在 surge 里面进行证书锁定,来进一步确保安全性。
openssl x509 -noout -fingerprint -sha256 -inform pem -in /opt/tuic/fullchain.pem
因为 certbot 申请的证书有期限,所以设置个自动运行的脚本进行自动续期
新建一个 certbot 的 hook 脚本文件,用于让 tuic 重新加载续期后的新证书:
nano /etc/letsencrypt/renewal-hooks/post/tuic.sh
写入如下内容:(把里面的 your.com 换成你自己的域名)
#!/bin/bashcat /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 && systemctl disable --now tuic.service && rm -rf /opt/tuic
更多资源请 点击这里 关注 TG 频道