前几天我的 Trojan 连续被墙了两次。尽管 Trojan 装作自己是正常且普通的 https 流量,但还是中枪了。可能是因为最近日子比较难过,或者热门机房不明大量流量引起了怀疑
有一个比较类似的东西,叫 ShadowTLS,也是用来伪装流量的,体验了一下感觉也不错。
ShadowTLS 本身并不提供加密代理,所以我们往往还要配合一个 Shadowsocks、vmess 或者 trojan 之类的东西。也就是说,服务端要跑 ShadowTLS Server 和 Shadowsocks Server,客户端要跑 ShadowTLS Client 和 Shadowsocks Client。当然,艺高人胆大的你也可以把 shadowsocks 替换成nc
,なんでもないよ!
服务端配置
以 docker 为例,直接参考官方 wiki 改改就行了,需要注意的是这里必须要用 host 网络模式,因为要配置ss-server
绑定到 ShadowTLS 的地址(通常我们是监听到0.0.0.0
),因此 host 模式最简单,如果需要使用 v3 那么加个 V3=1
即可
- version: '2.4'
- services:
- shadowsocks:
- image: shadowsocks/shadowsocks-libev
- restart: always
- network_mode: "host"
- environment:
- - SERVER_PORT=24000
- - SERVER_ADDR=127.0.0.1
- - METHOD=aes-256-gcm
- - PASSWORD=test-ss-password
- shadow-tls:
- image: ghcr.io/ihciah/shadow-tls:latest
- restart: always
- network_mode: "host"
- environment:
- - MODE=server
- - LISTEN=0.0.0.0:443
- - SERVER=127.0.0.1:24000
- - TLS=www.microsoft.com:443
- - PASSWORD=test-shadow-tls-password
test-ss-password
ss 客户端使用的密码,客户端使用 ShadowTLS 的监听端口 443 来连接test-shadow-tls-password
ShadowTLS 客户端使用的密码
Shadowrocket 客户端配置
如果你使用 shadowrocket,那么就很简单了,正常配置,端口写 ShadowTLS 的 443,插件 - ShadowTLS,版本 2,填入密码和 host(本例www.microsoft.com
)
手动配置客户端
- shadow-tls-aarch64-apple-darwin client --server IP:443 --sni www.microsoft.com --password test-shadow-tls-password --listen 127.0.0.1:3443
- sslocal -s localhost:3443 -m aes-256-gcm -k test-ss-password -b 127.0.0.1:17765
这样一波操作之后,你的 17765 就是 socks5 了,ProxySwitchyOmega 之类的配置一下就可以用了。
docker-compose 配置客户端
这里没有必要 host 网络,ss-local
连接到 ShadowTLS 的监听端口就可以,由于都在一个网络里,所以直接指定容器名 tls 就可以了。
- version: '2.4'
- services:
- shadow-tls:
- image: ghcr.io/ihciah/shadow-tls:latest
- restart: always
- environment:
- - MODE=client
- - LISTEN=0.0.0.0:3443
- - SERVER=64.176.34.43:443
- - TLS=www.microsoft.com
- - PASSWORD=test-shadow-tls-password
- shadowsocks:
- image: shadowsocks/shadowsocks-libev
- restart: always
- command: ss-local -s shadow-tls -p 3443 -l 17765 -b 0.0.0.0 -k test-ss-password -m aes-256-gcm
- ports:
- - "127.0.0.1:17765:17765"
LEDE/OpenWRT 配置
基本和上面一样,也许已经有人做过插件了?反正也要先运行 ShadowTLS
然后去 LUCI 中添加配置,ss 服务器地址写127.0.0.1
,端口写3443
(ShadowTLS 的端口)启动服务。这里有一个需要注意的点,如果你的运行模式是 GFWlist,那么没问题;如果是全局或者 chnroute(绕过大陆 IP),那么就会打环。我一般喜欢用 chnroute,两边的好处都占🙃️
此时要做的事情是添加一个例外,在我的这个插件里,是访问控制 - WAN IP 访问控制 - 不走代理的 WAN IP,填入你的梯子的 IP
其他的插件,比如 passwall,也应该有类似的设置🫠
查了下是 vultr ip,应该可以随便换