前言
博主在之前写过一篇文章《网络加速暴力工具 - Kcptun 安装使用教程(服务端&客户端)》 文章中服务端使用的是一键脚本安装,客户端以Linux系统为例进行手动配置安装。考虑到一键脚本存在利弊,好的方面就是让安装配置更加通用和简单,不好的是对于后期的维护非常不便。如果不是自己亲手一步一步配置安装,之后在日常使用中出现问题都无法知道问题在哪。
也因此,这里我再提供这篇关于KcpTun服务端的手动部署教程。
简介
Kcptun是一个非常简单和快速的,基于KCP协议的UDP隧道,它可以将TCP流转换为KCP+UDP流。而KCP是一个快速可靠协议,能以比TCP浪费10%-20%的带宽的代价,换取平均延迟降低30%-40%,且最大延迟降低三倍的传输效果。
加速效果
部署服务端
以搬瓦工contOS6 64位系统为例:
kcptun地址 https://github.com/xtaci/kcptun/releases, 按需选择对应32或者64位版本.
mkdir /root/kcptun
cd /root/kcptun
wget https://github.com/xtaci/kcptun/releases/download/v20170221/kcptun-linux-amd64-20170221.tar.gz
tar -zxf kcptun-linux-amd64-20170221.tar.gz创建 start.sh
vim /root/kcptun/start.sh写入以下内容:
#!/bin/bash
cd /root/kcptun/
./server_linux_amd64 -c /root/kcptun/server-config.json 2>&1 &
echo "Kcptun started."创建配置文件server-config.json
vi /root/kcptun/server-config.json写入以下内容:
{
    "listen": ":29900",
    "target": "127.0.0.1:444",
    "key": "test",
    "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,
    "log": "/root/kcptun/kcptun.log"
}其中"listen": ":29900" ,端口29900可以随便填写一个自己喜欢的。
"target": "127.0.0.1:444"地址 127.0.0.1是写死的, 444换成需要加速的端口
创建 stop.sh
vi /root/kcptun/stop.sh写入以下内容
#!/bin/bash
echo "Stopping Kcptun..."
PID=`ps -ef | grep server_linux_amd64 | grep -v grep | awk '{print $2}'`
if [ "" !=  "$PID" ]; then
  echo "killing $PID"
  kill -9 $PID
fi
echo "Kcptun stoped."创建 restart.sh
vi /root/kcptun/stop.sh写入以下内容
#!/bin/bash
cd /root/kcptun/
sh stop.sh
echo "Restarting Kcptun..."
sh start.sh启动服务端
/root/kcptun/start.sh停止服务端
/root/kcptun/stop.sh重启服务端
/root/kcptun/restart.sh监听日志信息
tail -f /root/kcptun/kcptun.log按 control + c 退出监听
添加开机启动
chmod +x /etc/rc.d/rc.local;echo "sh /root/kcptun/start.sh" >> /etc/rc.d/rc.local客户端
首先下载 Kcptun 的客户端 ->传送门,最好单独放到一个文件夹中。具体客户端如何使用不再赘述,和服务端基本差别不大。也可以参考之前的文章 ->传送门
darwin即代表Mac版
注意:版本要和服务端一致. 服务端为v20170221, 客户端也要20170221


