前言

Surge早几天前就更新了一下支持Shadow-Tls v3,整点猫咪出了教程,跟着学习一下

单独的Docker搭建Snell

Snell协议可以说是Surge上搭建最简单的了,单独搭建直接一✋如下

docker run -it \
-p 12345:12345 \
--name snell \
--restart=always altriabot/snell

会自动创建配置文件和参数,并打印以下默认的log信息。Ctrl +C退出交互shell让后台运行。

Using predefined PSK: f513b94c32ce4718b9e77b238df587c6
Generating new config...
2023-04-22 12:44:13.737428 [server_main] <NOTIFY> snell-server v4.0.1 (Feb  9 2023 20:19:03)
2023-04-22 12:44:13.738604 [server_main] <NOTIFY> Start snell server on 0.0.0.0:12345
2023-04-22 12:44:13.739452 [server_main] <NOTIFY> TCP Fast Open enabled
  • 想要自定义端口密码混淆,则如下即可
docker run -it \
--env PORT=12345 \ #和下面容器端口保持一致,可自定义
--env PSK=f513b94c32ce4718b9e77b238df587c6 \ #随便写
--env OBFS=off \
#以上3个默认参数可自定义
-p 12345:12345 \ #主机端口:容器端口
--name snell \
--restart=always altriabot/snell

Docker compose 搭建Snell + Shadow-tls

1.创建文件夹

在当前位置创建一个文件夹,此文档以 ~/snell为例。

# snell随便可以换成自己的文件夹名
mkdir ~/snell && cd ~/snell

2.编写docker-compose.yaml

创建:

#无论用nano还是Vim,或者sftp传文件,都OJBK,懂得都懂
nano docker-compose.yaml

根据官方的教程修改为如下:

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

version: '3'
services:
  snell:
    image: altriabot/snell
    container_name: snell
    restart: always
    environment:
      - PORT=12345
      - PSK=f513b94c32ce4718b9e77b238df587c6 #请修改默认密码
      - OBFS=off # 默认即可
    volumes:
      - ~/snell:/etc/snell #自动创建配置文件在~/snell目录下
    networks:
      - snellnet

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

networks:
  snellnet:

原作者推荐的TLS域名Services-that-support-tls3 Github

3.启动shadow-tls

输入以下命令即可

cd ~/snell && docker compose up -d

查看日志

# 查看shadow-tls 日志
docker logs shadow-tls

#查看 snell 日志
docker logs snell

# 实时查看加 -f参数,Ctrl+C退出
docker logs -f shadow-tls

4.在surge上应用

Snell+TLS = snell, ip, 8443, psk=f513b94c32ce4718b9e77b238df587c6, version=4, 
shadow-tls-password=Gm8UXm6aridZ, shadow-tls-sni=mp.weixin.qq.com, shadow-tls-version=3

至此全部完成!!

致谢