前几天我的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
其他的插件,比如passwall,也应该有类似的设置🫠