相信很多人都使用了
SS
+KCP
进行科学上网了
KCP
会大量向服务器发送UDP
消耗更多流量获取更快的网速不过有时KCP用着用着会没有网然后断一段时间
这可能是受运营商限制,当被检测到UDP流量过多,会受到运营商的限制导致断流
这里介绍一下 windows下 SS
+KCP
+UDP2RAW
解决遭运营商限UDP流量的方法
需要用到的工具
都可以在github上下载
shadowsocks
windows ss 客户端
https://github.com/shadowsocks/shadowsocks-windows
shadowsocks-kcptun (可选)
windows ss 客户端 kcptun插件
可使用kcptun客户端 或者这款 ss的插件版
https://github.com/shadowsocks/kcptun
kcptun
windows 客户端 & server 服务端
https://github.com/xtaci/kcptun
udp2raw-multiplatform
windows udp2raw 客户端
https://github.com/wangyu-/udp2raw-multiplatform
udp2raw-tunnel
udp2raw 服务端
https://github.com/wangyu-/udp2raw-tunnel
网络拓扑
SS
client -> ss client -> ss server -> server
SS + KCP
client -> ss client -> kcp client -> kcp server -> ss server -> server
SS + KCP + UDP2RAW
client -> ss client -> kcp client -> udp2raw client -> udp2raw server -> kcp server -> ss server -> server
部署
Server
shadowsocks
ssserver -d start -c /etc/shadowsocks.json
1 | { |
kcptun
以实际解压路径为准
监听8400 udp端口 发送数据包到 ss的4430 tcp端口/usr/local/kcptun/server_linux_amd64 -c /etc/kcptun.json 2>&1| tee -a /var/log/kcptun.log
1 | { |
udp2raw
以实际解压路径为准
监听4096 tcp端口 发送数据包到kcptun的8400 udp端口/usr/local/udp2raw/udp2raw_amd64 -s -l0.0.0.0:4096 -r127.0.0.1:8400 -a -k "{udp2raw-password}" 2>&1| tee -a /var/log/udp2raw.log
Client
udp2raw
以实际解压路径为准
监听本地 30001 udp端口 发送到 {serve-ip}的4096 tcp端口"D:\udp2raw_mp_nolibnet.exe" -c -l0.0.0.0:30001 -r{server-ip}:4096 -k "{udp2raw-password}"
kcptun
可用shadowsocks kcptun插件
服务器地址:127.0.0.1
服务器端口:30001 与客户端udp2raw 监听本地的30001 端口一致
密码:{ss-password} 与服务器ss设置的密码一致
加密:aes-256-cfb 与服务器ss设置的加密一致
插件程序:./client_windows_amd64.exe 路径为shadowsocks-kcptun 下载解压的路径
插件选项:crypt=salsa20;keepalive=10;nodelay=0;mtu=1350;nocomp;mode=fast3;dscp=0;sockbuf=4194304;nc=1;resend=2;parityshard=3;rcvwnd=4096;interval=20;key={kcptun-password};sndwnd=4096;datashard=10 其中[crypt] [nocomp] [key] [datashard] [parityshard] [smuxver] 要和服务器配置保持一致,没填就表示默认如果用的是客户端
"D:\client_windows_amd64.exe" -l :30001 -r 127.0.0.1:30001 --crypt salsa20 --key {kcptun-password} --nocomp
shadowsocks
- shadowsocks kcptun 插件
就是上面的图片配置 - kcp用的是客户端
如下图
服务器地址:127.0.0.1
服务器端口:30001 与客户端udp2raw 监听本地的30001 端口一致
密码:{ss-password} 与服务器ss设置的密码一致
加密:aes-256-cfb 与服务器ss设置的加密一致
总结
这样配置之后kcp就没出现过断流了
kcp不仅可以加速ss 也可以加速ssh