kcptun 使用下来的感受是:Too damn fast !
可配合 Ss 使用,也可单独裸上 Kcptun。我使用了配合 ss,而 kcp 本身不加密的方案。
示意图如下:
先讲在本地如何配置。
怎么安装?压缩包下载下来解开,客户端的可执行文件放到 $PATH 目录下就成了… 哦,我看原来的文件名不爽,顺手改了 XD
- 首先添加配套的 sS 客户端配置,其实只需把原来配置中的服务器 IP 改成
localhost
,就是127.0.0.1
。 - 编写
kcptun.service
文件如下,置于目录/usr/lib/systemd/system/
中,以便 Arch 通过 systemd 运行 kcptun 客户端服务。
其中--rcvwnd
和--sndwnd
参数是收发窗口大小,应该根据 Kcptun 作者的说明针对自己的网络情况进行修改,x.x.x.x:29900
是服务器 IP 和 Kcptun 端口,:23333
是 SS 的服务器端口。
上述配置文件是网络延迟和带宽折中的方案。[Unit] Description=Kcptun Client Service After=network.target [Service] Type=simple User=nobody ExecStart=/usr/bin/kcptun-amd64-client -r "x.x.x.x:29900" -l ":23333" --crypt none -mode manual -nodelay 0 -resend 0 -nc 1 -interval 20 -dscp 46 --rcvwnd 512 --sndwnd 512 [Install] WantedBy=default.target
希望尽可能降低延迟的,可以用下面内容替换上述文件中的相应代码:ExecStart=/usr/bin/kcptun-amd64-client -r "x.x.x.x:29900" -l ":23333" --crypt none -mode manual -nodelay 1 -resend 2 -nc 1 -interval 20 -dscp 46 --rcvwnd 512 --sndwnd 512
现在可以开启 Kcptun 加速的 SS 了,注意 ss 要使用修改过的配置文档。#systemctl start kcptun.service
#systemctl start shxdxwsxxks@kcp.service
下面讲服务器上怎么处理。
Kcptun 安装的方法和客户端一样… 客户端和服务端的执行文件不要弄错就好了…
sS 不需更改配置,不用动就是了。
kcptun 服务端执行代码和上面客户端配置文件中 ExecStart 类似,简单点用个 shell 脚本就可以在后台运行起来,比如下面这样:
#!/bin/sh
nohup /usr/bin/kcptun-amd64-client -t "127.0.0.1:23333" -l ":29900" --crypt none -mode manual -nodelay 0 -resend 0 -nc 1 -interval 20 --rcvwnd 512 --sndwnd 512 > /var/log/kcptun.log 2>&1 &
或者用 init 运行也行…… -l 是 kcptun 服务器监听端口,-t 是 kcptun 要转发的目标地址端口,这里就是 sS 的地址端口,--rcvwnd
和 --sndwnd
同样需要自行更改。
从我自己来看,因为不玩在线游戏,没有低延迟的需求,所以用的是有效带宽最大化,也就是网速尽可能加快的配置。虽然延迟稍高,像 Telegram 这类 IM 会不时掉一下线,但是挂下载看视频这类网速改善很明显。
目前 kcptun 还不支持配置文件,所以切换配置稍有些麻烦。还有一点,服务端目前还不支持多用户,一个进程只能处理一个端口。
嗯,就酱~以后 kcptun 有更新再来更。更多细节参考 kcptun 项目地址。图片来自本人,文章转载请注明出处。