kcp 是一个快速可靠协议,能以比 tcp浪费10%-20%的带宽的代价,换取平均延迟降低 30%-40%,且最大延迟降低三倍的传输效果。纯算法实现,并不负责底层协议(如udp)的收发,需要使用者自己定义下层数据包的发送方式,以 callback的方式提供给 kcp。连时钟都需要外部传递进来,内部不会有任何一次系统调用。
1. 先下载kcptun
mkdir kcptun
cd kcptun
wget https://github.com/xtaci/kcptun/releases/download/v20160701/kcptun-linux-amd64-20160701.tar.gz
tar -zxf kcptun-linux-amd64-20160701.tar.gz
提醒:wget时根据本地系统下载。32位下载 kcptun-linux-386-*.tar.gz,64位下载 kcptun-linux-amd64-*.tar.gz
2.创建 start.sh
vi /root/kcptun/start.sh
写入以下内容:
./server_linux_amd64 -l :29900 -t 127.0.0.1:8388 -key test -mtu 1400 -sndwnd 2048 -rcvwnd 2048 -mode fast2 > kcptun.log 2>&1 &
server_linux_amd64 对应服务端文件名,请对应修改。
-l 表示 kcptun 的服务端监听端口,用于接收外部请求和发送数据,默认 29900; -t 表示要加速的地址,我这里设置的是我服务器的 shadowsocks 端口;
-key 是 kcptun 的验证密钥,服务端和本地必须一致才能通过验证,请自行设置;
-mode 为加速模式,默认 fast,这里使用 fast2。
3.创建 stop.sh
vi /root/kcptun/stop.sh
写入以下内容:
#!/bin/sh
pid=`ps -ef | grep server_linux_amd64 | grep -v grep | awk '{print $2}'`
if [[ "" != "$pid" ]]; then
echo "killing $pid"
kill -9 $pid
fi
4.创建 restart.sh
#!/bin/sh
cd /root/kcptun/
echo "stopping kcptun..."
sh stop.sh
sh start.sh
echo "kcptun started."
添加开机启动:
echo "sh /root/kcptun/start.sh" >> /etc/rc.d/rc.local
上面是服务器端配置,下面配置客户端
1. 先下载客户端文件,以windows为例
http://download.csdn.net/detail/per_son/9583356 kcptun64位下载
http://download.csdn.net/detail/per_son/9583352 kcptun32位下载
由于 kcptun 是控制台程序,所以我选择使用 vbs 脚本,来达到后台运行的目的:新建 run.vbs
dim runkcptun
set fso = createobject("scripting.filesystemobject")
set wshshell = wscript.createobject("wscript.shell")
'获取文件路径
currentpath = fso.getfile(wscript.scriptfullname).parentfolder.path & "\"
'软件运行参数
execonfig = "client_windows_amd64.exe -l :12948 -r 10.10.10.10:29900 -key test -mtu 1400 -sndwnd 256 -rcvwnd 2048 -mode fast2 -dscp 46"
'日志文件
logfile = "kcptun.log"
'拼接命令行
cmdline = "cmd /c " & currentpath & execonfig & " > " & currentpath & logfile & " 2>&1"
'启动软件
wshshell.run cmdline, 0, false
'等待1秒
'wscript.sleep 1000
'打印运行命令
'wscript.echo cmdline
set wshshell = nothing
set fso = nothing
'退出脚本
wscript.quit
本地监听端口为 12948;服务器 ip 地址 10.10.10.10 端口 29900;验证密钥和服务端一致。其他参数说明见上面服务端配置的说明。
v20160616 新增参数:-conn,使用多线程连接。可尝试添加 -conn 4 以使用4线程连接服务器。
新建 stop.bat
taskkill /f /im client_windows_amd64.exe
把stop.bat 和 run.vbs 放到kcptun解压的那个文件里,双击 run.vbs 运行程序,使用 stop.bat 来停止程序,kcptun.log 为输出的日志信息。
然后是shadowsocks 客户端配置
在客户端中新建服务器:
服务器 ip 填写:127.0.0.1
服务器端口填写:12948
正确填写你的 shadowsocks 密码,加密方式,协议和混淆方式。
切换到该服务器上,测试是否正确运行。
制作500个工牌?不用三天,专业it运维工程师教你一个功能,3秒搞定
2021年你还在为加班烦恼吗?今天gemini给大家带来了免加班技巧分享,让你从...
专业it运维工程师教你告别丑,ppt美化表格,好用到爆
一表胜千言,数据表达在ppt内有很大的用途,它不仅能够让晦涩难懂的纯文字表达得清...
年终总结时间到,专业it运维服务商教你做领导喜欢的动态报表
年关将至,有的人狂冲业绩,坐等年终奖,有的人可能正被年终总结折磨……年终工作总结...
花5分钟,了解一下专业it运维服务商整理的excel省时技巧吧!
excel的存在是为了更高效工作,但庞大的数据处理却成了每晚加班的”凶手“?所以...
想要一个与众不同的windows菜单栏吗?专业it运维服务商教你私人订制
win 10默认的菜单栏你看够了吗?想不想要做一个与众不同的win 10菜单栏?...
汇报季|数据太多太杂乱?试试这种动态图表展示效果
又要到年终汇报的时刻了相信不少小伙伴在进行工作汇报的时候总免不了制作各种图表但是...
专业it运维工程师分享:快速在excel里打√×
自带神器属性的excel,看似简单,其实花样很多。就拿在excel中敲“√”、“...
专业it运维服务商教你如何在word内筛选数据
excel的筛选功能很多人都会但是word的筛选你知道怎么操作吗?word不能直...
it运维服务商分享:excel的数字显示异常的问题的解决方法
大家都知道excel多用来做数据统计,说到数据,不知道你有没有遇到过,使用exc...
word的查找和替换你会用吗?专业it运维工程师教你高效处理工作
很多刚入职场的人,正常来说工作并不是很多,但是会经常觉得自己很忙,你知道自己为什...
分享到
未经本公司书面许可,任何单位及个人不得以任何方式或理由对上述产品、服务、信息、材料的任何部分进行使用、复制、修改、抄录、传播或与其它产品捆绑使用、销售。
凡侵犯本公司捕鱼平台app的版权等知识产权的,本公司必依法追究其法律责任。
本公司法律事务部受本公司指示,特此郑重法律声明!