Shadow-Tls v3搭建

原文来自:https://surge.tel/12/2488 由于原文在我这里复现的时候有处地方会报错,故修改了用于自用

搭建Shadow-Tls v3

搭建一般分为docker和在系统里面,我个人比较喜欢的是在系统里面搭建,这里先附上系统搭建的步骤,后面附上docker的

系统搭建

先去Shadow-Tls的发布页面查看一下最新发行版的版本号和下载地址,这里以AMD机器为例

获取权限

sudo -i

进行系统更新和升级

apt update && apt upgrade -y

下载Shadow-Tls
X86_AMD

wget https://github.com/ihciah/shadow-tls/releases/download/v0.2.23/shadow-tls-x86_64-unknown-linux-musl -O /usr/local/bin/shadow-tls

ARM

wget https://github.com/ihciah/shadow-tls/releases/download/v0.2.25/shadow-tls-aarch64-unknown-linux-musl -O /usr/local/bin/shadow-tls

给权限

chmod +x /usr/local/bin/shadow-tls

写服务单元

vim /etc/systemd/system/shadow-tls.service

然后将以下内容复制粘贴进去并保存退出即可:

[Unit]
Description=Shadow-TLS Server Service
Documentation=man:sstls-server
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
ExecStart=/usr/local/bin/shadow-tls --fastopen --v3 server --listen ::0:13105 --server 127.0.0.1:13106 --tls  gateway.icloud.com  --password xPk2Gx+NGm0V3
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=shadow-tls

[Install]<br>WantedBy=multi-user.target

参数说明:

–listen 0.0.0.0:8443

这个是你后面在 surge 里面输入的端口,ipv6的话改成::0:8443,8443不用改动

/# –fastopen

开启TFO

–server 127.0.0.1:40712

监听端口,也就是你的snell服务的端口,SS 那边可以监听改为 127.0.0.1,ipv6的话改成[::1]:40172

–password JsJeWtjiUyJ5yeto

shadow-tls 的密码

–tls gateway.icloud.com

tls伪装网址 要改TLS的话,作者推荐V3 Protocol · ihciah/shadow-tls Wiki · GitHub

vim操作:

i 底下出现INSERT提示即可进行编辑

编辑完成后按ESC键后,再输入:wq即可保存退出

如果想不保存退出,输入:q!

将服务单元添加到自启动项

systemctl enable shadow-tls.service

重载系统配置文件

systemctl daemon-reload

启动服务

systemctl start shadow-tls.service

可以通过以下查看服务状态看是否运行正常,并根据错误提示代码进行排障

查看服务状态

systemctl status shadow-tls.service

重启服务

systemctl restart shadow-tls.service

最后在surge的代理服务器中,Snell协议配置UI上根据上面填写的服务单元信息,修改Snell端口为:8443,并在底下填写上相应的Shdow-Tls 参数和版本号等信息

如果熟悉的话可以在文本编辑模式下,在原Snell协议后面贴上下面这段,并将Snell端口改为:8443

,shadow-tls-password=JsJeWtjiUyJ5yeto, shadow-tls-sni=gateway.icloud.com, shadow-tls-version=3

最终Surge的文本配置文件格式应该是:

Snell+TLS = snell, x.x.x.x(vps的ip), 8443, psk=xxxxxxxx, version=4, shadow-tls-password=JsJeWtjiUyJ5yeto, shadow-tls-sni=gateway.icloud.com, shadow-tls-version=3

Docker搭建shadow-Tls

首先用cd命令,进入snelldocker-compose.yml所在文件夹
例:

cd /root/snelldocker

接下来教程都将以这个路径作为例子,请将snelldocker换成自己的文件夹名
改docker-compose.yml第一种方法

可以用带sftp的ssh工具直接将下面的这一段复制到docker-compose.yml里去

⚠️注意:里面的一些内容要自己改动

shadow-tls:    image: ghcr.io/ihciah/shadow-tls:latest    container_name: shadow-tls    restart: always    network_mode: "host"    environment:      - MODE=server      - V3=1      - LISTEN=0.0.0.0:8443   # ipv6的话改成[::]:8443 ,8443不用改动      - SERVER=127.0.0.1:xxx  # ipv6的话改成[::1]:xxx ,xxx是你snell节点的端口      - TLS=mp.weixin.qq.com:443 #这里可以自己选,下面放了作者推荐的链接` - PASSWORD=Gm8UXm6aridZ  # 这里是密码,随便改`

要改TLS的话,作者推荐V3 Protocol · ihciah/shadow-tls Wiki · GitHub
改docker-compose.yml第二种方法

如果没有sftp的话,那也可以使用vim工具(⚠️注意,要用英文输入法)

输入以下命令

vim /root/snelldocker/docker-compose.yml

按i进入编辑模式,将光标移动到上图中的地方,然后复制下面的代码到里面去

  shadow-tls:
    image: ghcr.io/ihciah/shadow-tls:latest
    container_name: shadow-tls
    restart: always
    network_mode: "host"
    environment:- MODE=server
      - V3=1- LISTEN=0.0.0.0:8443   # ipv6的话改成[::]:8443 ,8443不用改动
      - SERVER=127.0.0.1:xxx  # ipv6的话改成[::1]:xxx ,xxx是你snell节点的端口,图中我以28272做例子      - TLS=mp.weixin.qq.com:443      - PASSWORD=Gm8UXm6aridZ  # 这里是密码,随便改

注意对齐!!
然后按esc退出编辑模式,再按:加上wq保存退出即可

启动shadow-tls

输入以下命令即可

cd /root/snelldocker && docker compose pull && docker compose up -d

查看日志输入

docker logs -f shadow-tls

在surge上应用

在确定服务端搭建完成之后,就可以将以下配置,复制到对应的snell节点上了

, shadow-tls-password=Gm8UXm6aridZ, shadow-tls-sni=mp.weixin.qq.com, shadow-tls-version=3

然后再把原本的snell节点的端口改成8443!

最终节点的配置应该是这样

Snell+TLS = snell, x.x.x.x(vps的ip), 8443, psk=GLk1ff4wuQNCDSqr97WwsHwe8KBjy3S, version=4, shadow-tls-password=Gm8UXm6aridZ, shadow-tls-sni=mp.weixin.qq.com, shadow-tls-version=3

至此全部完成!

暂无评论