目前ss会存在端口阻断现象,所以一般会套个隧道,一般是ws/wss/tls。从实战效果来看,没发现阻断问题。
类似隧道项目有很多,常见的:
https://latest.gost.run/
https://github.com/Ehco1996/ehco
https://github.com/zephyrchien/kaminari
https://pass.yougotme.cc/
一般情况下,会在server端部署一个ss-server(127.0.0.1:10000),所以实际的数据流向:
client-tcp -> client-ws ---> server-ws(0.0.0.0:60000) -> server-tcp(127.0.0.1:10000)
常见的ss项目,比如ss-rust支持SIP003 plugin
https://shadowsocks.org/en/wiki/Plugin.html
启动方式:
ssserver -s "0.0.0.0:8080" -m "aes-128-gcm" -k "123456" \
--plugin "path/to/kaminaris" \
--plugin-opts "ws;host=example.com;path=/chat"
也就是说,在server端可以实现ws+ss合一,并且减少一个端口占用。
所以希望surge可以在client端实现对接,如果不想重复造轮子,可以借助已有的v2ray-plugin即可。
https://github.com/shadowsocks/v2ray-plugin