复活被断IP—-TCP被阻断的替代方案KCP。

  • A+
所属分类:TOOL

KCP 可以简单的理解为将 TCP 协议数据转换为 KCP 协议数据,并通过 UDP 协议方式传输。

作为ss代理的替代方案,

KCP 协议:https://github.com/skywind3000/kcp

Kcptun 项目地址:https://github.com/xtaci/kcptun

注意:下面的KCPTun文件下载可能不是最新的地址,最新文件的下载地址看这里:Github-kcptun-releases,直接替换第三行 wget 后面链接的版本号就行了。
  1. mkdir /root/kcptun
  2. # 新建一个文件夹
  3. cd /root/kcptun
  4. # 进入刚才新建的文件夹
  5. wget https://github.com/xtaci/kcptun/releases/download/v20181114/kcptun-linux-amd64-20181114.tar.gz
  6. # 下载最新的 kcptun-linux-amd64 文件
  7. tar -zxvf kcptun-linux-amd64-20181114.tar.gz
  8. # 解压刚才下载的文件

解压之后会发现只有两个文件: client_linux_amd64 server_linux_amd64,第一个是是客户端文件(linux的客户端),第二个是服务端文件。

创建 start.sh:

  1. vi /root/kcptun/start.sh

写入以下内容:

  1. #!/bin/bash
  2. cd /root/kcptun/
  3. ./server_linux_amd64 -c /root/kcptun/server-config.json 2>&1 &
  4. echo "Kcptun started."

server_linux_amd64 对应服务端文件名,请对应修改。

创建配置文件:

  1. vi /root/kcptun/server-config.json

写入以下内容:

  1. {
  2. "listen": ":2333",
  3. "target": "127.0.0.1:8388",
  4. "key": "vjsun.com",
  5. "crypt": "aes-192",
  6. "mode": "fast2",
  7. "mtu": 1350,
  8. "sndwnd": 1024,
  9. "rcvwnd": 1024,
  10. "datashard": 70,
  11. "parityshard": 30,
  12. "dscp": 46,
  13. "nocomp": false,
  14. "acknodelay": false,
  15. "nodelay": 0,
  16. "interval": 40,
  17. "resend": 0,
  18. "nc": 0,
  19. "sockbuf": 4194304,
  20. "keepalive": 10,
  21. "log": "/root/kcptun/kcptun.log"
  22. }
  • listen 表示 Kcptun 的服务端监听端口,用于接收外部请求和发送数据,默认 2333
  • target 表示要加速的地址,由于 Kcptun 和 Shadowsocks 在同一服务器,地址填写 127.0.0.1(不需要改,这是指本机IP,除非你有多个IP),而 8388 为 Shadowsocks 服务端监听端口
  • key 是 Kcptun 的验证密钥,上面的启动脚本参数默认加上了 -key dou-bi.co 如果不需要可以删掉,服务端和本地必须一致才能通过验证,请自行设置;
  • mode 为加速模式,默认 fast2 ;
  • crypt 为加密方式,默认 aes-192 ;
  • nocomp 为压缩传输,默认 false 表示开启压缩传输。

其他参数可以参考项目主页的介绍。

下面是引用官方介绍:

响应速度:

fast3 > [fast2] > fast > normal > default

有效载荷比:

default > normal > fast > [fast2] > fast3

中间 mode 参数比较均衡,总之就是越快越浪费带宽,推荐模式 fast2。

其他参数,请使用 ./server_linux_amd64 -h 查看,更深层次的参数调整需要理解 KCP 协议,并通过“隐藏参数”调整。

作者推荐配置参数:

  1. 适用大部分ADSL接入(非对称上下行)的参数(实验环境电信100M ADSL)。
  2. 其它带宽请按比例调整,比如 50M ADSL,把 -sndwnd -rcvwnd 减掉一半。
  3.  
  4. SERVER:   -mtu 1400 -sndwnd 2048 -rcvwnd 2048 -mode fast2
  5. CLIENT:   -mtu 1400 -sndwnd 256 -rcvwnd 2048 -mode fast2 -dscp 46

注意:客户端和服务端的参数 -sndwnd 2048 -rcvwnd 2048 这两个值不要大于你的本地宽带,否则流量消耗会浪费好几倍,100M就是2048,50M就是1024。这两个值可以逐渐调小,但是不能比本地的实际宽带大!

注意:产生大量重传时,一定是窗口偏大了

创建 stop.sh:

  1. vi /root/kcptun/stop.sh

写入以下内容:

  1. #!/bin/bash
  2. PID=`ps -ef | grep server_linux_amd64 | grep -v grep | awk '{print $2}'`
  3. if [ "" != "$PID" ]; then
  4. echo "killing $PID"
  5. kill -9 $PID
  6. else
  7. echo "Kcptun not running!"
  8. fi

注意:这里的 server_linux_amd64 ,自行替换为你的 服务端名称,64位的系统就是示例的这个,如果是32位的则是 server_linux_386 。

创建 restart.sh:

  1. vi /root/kcptun/restart.sh

写入以下内容:

  1. #!/bin/bash
  2. cd /root/kcptun/
  3. echo "Stopping Kcptun..."
  4. bash stop.sh
  5. bash start.sh
  6. echo "Kcptun started."

给上面创建的脚本添加执行权限:

  1. chmod +x /root/kcptun/*.sh

启动服务端:

  1. sh /root/kcptun/start.sh

日志文件在:/root/kcptun/kcptun.log

监听日志信息:

  1. tail -f /root/kcptun/kcptun.log

停止服务端:

  1. sh /root/kcptun/stop.sh

重启服务端:

  1. sh /root/kcptun/restart.sh

添加开机启动:

Centos系统:

  1. chmod +x /etc/rc.d/rc.local && echo "sh /root/kcptun/start.sh" >> /etc/rc.d/rc.local

Ubuntu/Debian系统:

  1. chmod +x /etc/rc.local && echo "sh /root/kcptun/start.sh" >> /etc/rc.local

升级服务端

重复一开始的步骤,下载最新版本的压缩包然后解压覆盖源文件,记得先 停止KCPTUN运行再覆盖。

  1. cd /root/kcptun
  2. # 进入新建的文件夹
  3. wget https://github.com/xtaci/kcptun/releases/download/v20181114/kcptun-linux-amd64-20181114.tar.gz
  4. # 下载最新的 kcptun-linux-amd64 文件
  5. tar -zxvf kcptun-linux-amd64-20181114.tar.gz
  6. # 解压刚才下载的文件

KcpTun客户端设置

简单步骤:

  1. 打开软件,并点击 新建 按钮
  2. 依次填写 KcpTun 信息
  3. 选择 KcpTun文件目录 和填写 上传下载宽带
  4. 点击 保存配置 按钮
  5. 点击 启动加速 按钮
  6. 完成,如果没有填错,那就可以使用了。

详细步骤:

注意:加速端口 / 加密方式 / 验证密匙 / 压缩 必须和服务器配置一致!
  • 首先你要先安装好 KcpTun 的服务端或者有 KcpTun 的加速信息,然后打开本软件。
  • 点击最下角的 新建 按钮,然后在右边依次输入 KcpTun参数
注意:在基础配置中本地端口是可以任意的(但是不要使用1080,这样会和Shadowsocks客户端的本地端口冲突),DSCP不懂得不要设置,验证密匙需要和服务端配置一样(可以不设置留空),因为参数过多,软件只是把常用的参数列出来 其他配置大家可以手动添加。剩余的参数必须和服务器一模一样

(注意:验证密匙是 KcpTun服务端的验证密匙,和Shadowsocks账号的密码毫无关系,不要弄混了)


  • 宽带配置,就去测试一下你的宽带实际上行和下行是多少,然后填上去,下面就会根据作者推荐的比例自动计算 Sndwnd/Rcvwnd 参数的值了。MTU不懂不要改。
注意!这里的宽带数值只能填少,不能填多,如果宽带数值高于本地实际宽带过多,将会导致服务器浪费大量宽带和流量,甚至你的 服务器实际使用流量 会比 你使用的流量 多十几倍,等于说完全浪费了十几倍的流量,也没有给你用到,服务器还消耗了这些流量。

  • 然后点击 浏览 按钮选择你的 TcpKun 客户端文件,例如: 32x 的是 client_windows_386.exe ,64x的是 client_windows_amd64.exe
TcpKun下载地址:https://github.com/xtaci/kcptun/releases (32位下载kcptun-windows-386-*.tar.gz,64位下载kcptun-windows-amd64-*.tar.gz)

当然,你也可以直接 把 TcpKun 客户端文件拖拉到软件窗口,将会自动获取目录。

最后,确定各个选项参数都正确,就可以点击 启动加速 按钮启动软件了!这时候你可以点 右上角的x 关闭软件了,软件会自动托盘后台运行的,在右下角你会看到软件图标的!

Shadowsocks客户端设置

打开Shadowsocks客户端,添加服务器,服务器IP为127.0.0.1,服务器端口为 KcpTun Tools 上面的的本地端口,这里是2000,然后你的ss密码、加密方式等等都按照原来的账号设置,也就是说只改了IP和服务器端口选项,其他的都和原Shadowsocks账户保持一致。

下边的是两个不同的kcptun的客户端,根据自己的喜欢下载使用:

Kcptun下载地址:

 

 

Kcptun下载地址2:

Shadowsocks手机客户端设置:下边的设置请参考自己上边设置的配置,手机的端口设置kcptun的端口。

key=你自己的密码;crypt=aes-192;mode=fast2;mtu=1350;sndwnd=2048;rcvwnd=2048;datashard=70;parityshard=30;dscp=46

首先下载安装最新的 Shadowsocks Android:https://github.com/shadowsocks/shadowsocks-android/releases

和 Kcptun Plugin:https://github.com/shadowsocks/kcptun-android/releases

附赠一键安装脚本:来自于网上

wget --no-check-certificate -O kcptun.sh https://github.com/kuoruan/shell-scripts/raw/master/kcptun/kcptun.sh
sh kcptun.sh
wget --no-check-certificate -O kcptun.sh  https://www.vrrmr.net/55R/kcptun/kcptun.sh
sh kcptun.sh

 

 

 

 

 

 

 

 

 

weinxin
我的QQ群
这是我的QQ群扫一扫

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: