Kcptun是一款双边加速软件,其工作原理参见下图:
Kcptun所实现的加速功能基本上是基于多倍发包,与此软件比较类似的还有一个叫FinalSpeed的,只不过开发者已经停止维护很久了。而Kcptun的作者一直都有在维护和更新,在使用上有比较好的保障。其次Kcptun不怎么挑剔环境,在OpenVZ、KVM等虚拟化的VPS中都能安装,可谓又一个OpenVZ救星!下面LALA就来和大家一起配置一下这个Kcptun,并用它来给shadowsocks加速。
首先准备一台VPS,系统选择CentOS6X64位,使用Xshell以root用户的身份登录到你的机器内。
新建一个目录:
mkdir lala
进入这个目录:
cd lala
下载Kcptun项目文件:
wget https://github.com/xtaci/kcptun/releases/download/v20171021/kcptun-linux-amd64-20171021.tar.gz
解压:
tar -zxvf kcptun-linux-amd64-20171021.tar.gz
新建一个Kcptun配置文件:
vi /root/lala/server-config.json
复制粘贴下面的内容:
{ "listen": ":6666", "target": "127.0.0.1:2333", "key": "lala.im", "crypt": "salsa20", "mode": "fast2", "mtu": 1350, "sndwnd": 1024, "rcvwnd": 1024, "datashard": 70, "parityshard": 30, "dscp": 46, "nocomp": false, "acknodelay": false, "nodelay": 0, "interval": 40, "resend": 0, "nc": 0, "sockbuf": 4194304, "keepalive": 10 }
稍微解释一下这个配置文件里面的各项信息所代表的意思:
1、listen是Kcptun监听的端口,也就是Kcptun的服务端口,这里可以自行修改。
2、target是你准备加速的端口,因为我们是要给ss加速,所以这里一定要填写你的ss端口号,我这里就先写个2333。
3、key是通讯密钥,默认是lala.im,你可以修改为你自己的。
4、crypt是加密方式,默认是salsa20,同时还支持aes, aes-128, aes-192, salsa20, blowfish, twofish, cast5, 3des, tea, xtea, xor, none。可以自行修改。
5、mode是传输模式,这里建议大家统一使用fast2。
6、sndwnd以及rcvwnd是你的本地带宽速度,比如lala是本地电信100M,这里就填写1024即可。
7、其他的一些参数如果你不知道是什么用途就不要去更改了。
现在ls或者ll看一下,当前目录下有这些文件:
我们是64位的系统,所以运行就是用server_linux_amd64这个文件。那么现在可以尝试运行一下:
./server_linux_amd64 -c /root/lala/server-config.json
看到类似如图回显,说明运行是没有任何问题的:
按键盘组合键Ctrl+C退出程序。
现在来给Kcptun创建一个开机启动脚本。
新建一个sh配置文件:
vi /root/lala/start.sh
复制粘贴下面的内容:
#!/bin/bash cd /root/lala/ ./server_linux_amd64 -c /root/lala/server-config.json 2>&1 & echo "KcpTun Started by lala.im."
给脚本文件执行权限:
chmod +x /root/lala/start.sh
添加开机启动项:
chmod +x /etc/rc.d/rc.local && echo "sh /root/lala/start.sh" >> /etc/rc.d/rc.local
运行Kcptun:
sh /root/lala/start.sh
现在你就可以Ctrl+C退出来了,即便你退出SSH,实际上程序也是跑在后台的,并且机器重启后会自动重新运行。
我们可以用如下命令查看当前运行状态:
ps -ef | grep server_linux_amd64
看到类似如图回显则说明运行正常:
如果你想关闭Kcptun,可以直接使用如下命令:
kill -9 上图显示的进程ID
一般情况下是不需要关闭的,因为这程序很轻巧,就一个文件,也不占用什么资源。
至此,Kcptun的服务端就部署完成了。
现在我们来安装一下SS服务。这里为了方便,LALA就直接使用秋水的一键安装包了。执行下面的命令开始安装:
wget --no-check-certificate -O shadowsocks-libev.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-libev.sh chmod +x shadowsocks-libev.sh ./shadowsocks-libev.sh 2>&1 | tee shadowsocks-libev.log
如图填写你的ss密码:
填写你想让SS运行在哪个端口:
这里我就要填写2333了,因为我之前在Kcptun的配置文件上填写的加速端口是2333,所以这里的端口一定要对应。
按两次回车程序就开始自动安装了,安装完毕后记得复制类似如下图的这些内容,这些是你的ss连接信息:
关闭一下CentOS6的防火墙:
service iptables stop
现在我们在服务器上需要做的操作就基本都做完了。现在我们来配置本地客户端。由于Kcptun官方是没有Win下的图形客户端的,所以LALA这里为了方便,就使用一款第三方的Kcptun客户端了。
我们先来下载这款客户端:
https://github.com/dfdragon/kcptun_gclient/releases
打开上面的地址,下载如图箭头所指压缩包:
我们还需要下载Kcptun的官方命令行客户端:
https://github.com/xtaci/kcptun/releases
打开上面的地址,下载如图红框中的压缩包,如果你的系统是32位就下载windows-386,如果是64位就下载windows-amd64。
解压这两个压缩包,将得到的文件统一放在一个文件夹内。此时我们打开kcptun_gclient.exe。
看到如图界面,首先浏览选择Kcptun的命令行客户端路径,接着点击添加按钮:
因为LALA这里的系统是64位,所以这里我就要选择client_windows_amd64.exe。
接着按照如下图的配置来填写相应的信息:
还是给大家解释一下这些参数要怎么填:
1、本地侦听的端口,这个可以随意填写一个,只要不与ss本地代理客户端所使用的1080想冲突就行。这里LALA就随便写了个5266。
2、KCP服务器地址,顾名思义就是你的VPS公网IP,端口就是我刚才让你们配置的配置文件里面的端口号,如果你使用的是我这篇文章里面的配置文件,并且你没做修改,那么这里默认就是6666
3、通讯密钥和配置文件里面的要一致,默认是lala.im
4、加密方式同理,默认是salsa20。
5、数据块、校验块同理,默认是70、30。
6、发送窗口以及接收窗口,按照你的本地实际带宽来填写,100M带宽就是1024。
7、传输模式,我们这里要选择fast2。这个一定不能错!
现在Kcptun这边就算全部配置完成了,点击启动按钮,启动Kcptun即可。
此时我们打开ss客户端,按如图填写配置信息:
1、服务器地址填写:127.0.0.1。
2、服务器端口填写我们刚在Kcptun客户端上配置的本地侦听端口。我这边就是5266。
3、密码以及加密方式这些还是不变,你原本的ss连接信息上是什么这里就填写什么,不用做更改。
现在没什么意外的话,你就可以使用ss来连接这个代理上网了。这个代理的流量就是经过Kcptun加速过的。
下面是LALA在使用Kcptun前后的速度对比。
首先是裸连SS的速度:
1080P都卡的看不鸟!!!
现在是使用Kcptun加速后的SS速度:
瞬间速度就变的炒鸡快,看4K视频完全没问题!!!
可以说Kcptun的加速效果是相当的明显,个人觉得Kcptun更适合使用在那些本身线路就特别烂的VPS上面,这样可以体现出Kcptun最佳效果,就感觉是打了鸡血似的。。。如果是本身网络就比较好的VPS,使用Kcptun的效果就不会特别明显。
总结:
如果拿Kcptun和FinalSpeed比较一下的话,我个人还是更喜欢FinalSpeed一点,因为相对来说配置更简单一些,并且有作者已经开发好的官方客户端,而Kcptun则没有,只能使用命令行或者第三方的客户端来运行。其次FinalSpeed在使用上比Kcptun灵活,我使用FinalSpeed可以同时加速多个任意的SS端口,而Kcptun则不行,一个启动就只能对应加速一个端口,对于多用户、多端口的SS服务器而言真的很麻烦。
当然Kcptun的优点也是很多的,在作者不断的更新和维护下,现有的很多功能都非常实用。另外在加速方面,我个人觉得是比FinalSpeed要好一些的。
总的来说,Kcptun比较适合个人使用!并且它绝对是一款加速神器,但有一些VPS商家是禁止安装此类软件的,阁下在VPS中安装这类软件之前务必先阅读一下你所在VPS商家的TOS条款,以免在后续使用中出现一些不必要的麻烦。
你用的阿里云新加坡翻墙什么情况下会封你的服务器?
阿里云不会管这个,我之前那些服务器被锁定是别的原因和翻墙没关系。
已经装了BBR的能否再装这个
一个是TCP加速,一个是UDP加速,感觉装上应该不会有什么影响。
可以参考一下这个:https://github.com/xtaci/kcptun/issues/440
禁止的商家安装的时候可以用screen
还有这种操作???
被查出来不会封VPS么。。另外virtual virmatch 办瓦工三家哪家禁止啊?
2018/06/09 13:51:47 invalid character ‘s’ looking for beginning of value
运行不起来啊
你这是配置哪里出问题了吧。
之前用的ov vps的时候用过kcp,然后换了kvm后就没用了,现在的速度又不行了,看你的文章,然后今天又装上了,看油管又是几兆的了,美
kcp这种东西,基本能够拯救百分之90的VPS。。
配置文件如何保存啊
全部按着教程走完也没出错为啥还是无法上网。。。崩溃了。
讲真的,我不知道该怎么回复你。。
大佬有空帮我看看吗?我搞了好几个小时了kcptun显示运行也是正常客户端也是安着设置的开ss代理就是无法上网。正常用ss可以上。
进这个聊天群组:https://chat.ohshit.fun/
私聊把ssh信息发给我,明天帮你看,今天没空。
好的。感谢。