前排提醒,kcptun对速度的提升很明显,但同时消耗的流量也会成倍增长。

理论上脚本支持:CentOS 6+、Ubuntu 12+和Debian 7+

安装过的可以更新脚本,执行以下命令

./kcptun.sh update

 

事前准备

在配置之前请确认一下你的加速地址,大部分不能加速都是由于加速地址配置错误。

下面以 Shadowsocks 为例,首先找到你的ss端口,比如我的ss端口为 8022,然后在命令行输入以下命令:

netstat -nl | grep 8022

如果提示以上命令不存在,请输入:

ss -nl | grep 8022

然后你会看到类似下面的结果:

情况1:
  tcp6       0      0     :::8022                 :::*                    LISTEN     
  udp6       0      0     :::8022                 :::*

情况2:
  tcp       0      0     127.0.0.1:8022                 :::*                    LISTEN     
  udp       0      0     127.0.0.1:8022                 :::*

情况3:
  tcp       0      0     0.0.0.0:8022                 :::*                    LISTEN     
  udp       0      0     0.0.0.0:8022                 :::*

情况4(假如 10.10.10.10 是当前服务器IP):
  tcp       0      0     10.10.10.10:8022                 :::*                    LISTEN     
  udp       0      0     10.10.10.10:8022                 :::*

若为情况1、情况2和情况3,那么你的加速地址可以为:加速 IP 127.0.0.1,加速端口 8022(你的ss端口)

若为情况4,那么你的加速地址为:加速IP 10.10.10.10(你的服务器IP),加速端口8022(你的 ss端口)

 

一键安装脚本

wget --no-check-certificate https://raw.githubusercontent.com/kuoruan/kcptun_installer/master/kcptun.sh
chmod +x ./kcptun.sh
./kcptun.sh

1.设置 Kcptun 的服务端端口:

请输入 Kcptun Server 端口 [1-65535]:
(默认: 29900):

请输入一个未被占用的端口,Kcptun 运行时将使用此端口。

2.设置加速的 IP:

请输入需要加速的 IP [0.0.0.0 ~ 255.255.255.255]:
(默认: 127.0.0.1):

填入上面获取到的加速 IP。

3.设置需要加速的端口:

请输入需要加速的端口 [1-65535]:
(默认: 12948):

填入上面获取到的加速端口 8022。

4.设置 Kcptun 密码:

请输入 Kcptun 密码:
(如果不想使用密码请留空):

你可以为 Kcptun 单独设置一个密码,这个密码和 SS 的密码没有半毛钱关系。如果直接回车,默认密码是: it’s a secrect 。

再提一句,Kcptun 和 Shadowsocks 没有任何关系,请不要脑补它们之间存在任何联系,Kcptun 你可以理解为一款网络加速软件,只不过它是通过将 TCP 协议转换为 UDP 协议,然后再通过大量的发送数据包,浪费了带宽以换取网速的提升。它能加速所有以 TCP 协议传输数据的软件,不单单是 Shadowsocks。只是大家都用来……你懂的。

5.禁用压缩

是否禁用数据压缩?
(默认: 不禁用) [y/n]:

Kcptun 默认是启用压缩的,如果你这里设置为 y,也就是配置为 nocomp:true,那么就是禁用压缩。

许多朋友这里设置的是保持默认(启用压缩),而偏偏在软件之中设置为禁用压缩,当然就连不上咯。

其他配置项如果你不知道,那么直接回车使用默认参数。

但是,使用默认参数,是有可能浪费大量流量的,你需要会调节参数。

简易自我调优方法:

  1. 同时在两端逐步增大 client rcvwnd 和 server sndwnd ;
  2. 尝试下载,观察如果带宽利用率(服务器+客户端两端都要观察)接近物理带宽则停止,否则跳转到第一步。

各参数详细信息请查看:https://github.com/xtaci/kcptun

 

安装之后,Kcptun 服务交由 Supervisor 管理。

Supervisor 相关命令:

service supervisord {start|stop|restart|status}

Kcptun 相关命令:

supervisorctl {start|stop|restart|status} kcptun

Supervisor 启动的时候会同时启动 Kcptun,运行 kcptun 相关命令时先确保 Supervisor 已启动。

手动配置的方法请看这里:小内存福音,Kcptun Shadowsocks加速方案

 

Kcptun客户端配置

1.Kcptun启动工具,https://github.com/dfdragon/kcptun_gclient/releases

2.Kcptun客户端,https://github.com/xtaci/kcptun/releases

32位系统下载:kcptun-windows-386-20160922.tar.gz

64位系统下载:kcptun-windows-amd64-20160922.tar.gz

注意看红字的版本号和服务端版本一致。

打开 Kcptun 启动工具,界面如下,请按序号操作。

kcptun_gui_config-550x330

1.直接导入配置文件

我们可以将推荐参数保存为文件,找到如下这部分:

{
 "localaddr": ":8022",
 "remoteaddr": "10.10.10.10:29900",
 "key": "test",
 "crypt": "salsa20",
 "mode": "fast2",
 "conn": 1,
 "autoexpire": 60,
 "mtu": 1350,
 "sndwnd": 1024,
 "rcvwnd": 1024,
 "datashard": 10,
 "parityshard": 3,
 "dscp": 0,
 "nocomp": false,
 "acknodelay": false,
 "nodelay": 0,
 "interval": 20,
 "resend": 2,
 "nc": 1,
 "sockbuf": 4194304,
 "keepalive": 10
}

新建一个记事本文件,文件名随意(比如 config.txt 或者 config.json),然后将上面大括号里的内容复制到文件里边(包括大括号),确保它是标准的 json 格式(可以到这里校验格式  https://www.json.cn/)。

然后勾选“使用配置文件”,选择你新建的文件即可,下面的参数区域直接留空,点击启动。

2.手动配置参数

手动配置的时候只需要看保存下来的提示信息上面一部分(有标红部分,非常显眼):

服务器IP:10.10.10.10
端口:29900
加速地址:127.0.0.1:8022
加密方式 Crypt:salsa20

为了规避错误,遵循较少配置原则,在配置服务端时没有修改过的选项都不需要配置。配置完毕,点击启动。

几项说明:

  • 本地监听端口,这个端口你可以随意设置,不是必须设置为 Shadowsocsk 的端口;
  • KCP服务器地址为你的服务器IP地址,不是 127.0.0.1,端口为服务端 Kcptun 的端口;
  • 如果你想使用IPv6协议,在填写服务器IP地址的时候需要用 [] 将IPv6地址括起来,如:[2000:0:0:0:0:0:0:1];
  • 通信密钥是你配置的 Kcptun 密码,不是 Shadowsocks 的密码;在配置 Kcptun 的时候,不用管 Shadowsocks 的配置参数;
  • 参数区配置的时候,只需要配置你修改过的部分就行了,其他部分都不用改,除非你了解每项参数的意义;
  • 日志区非常重要,在排查问题的时候,这是必看部分;
  • 右下角为 Kcptun 最低需求版本,更新服务端之后,也需要更新本地客户端,只需要替换客户端文件即可。

 

Shadowsocks 配置

1.Windows端

在 Shadowsocks 客户端中添加一个选项,服务器IP固定填写 127.0.0.1,服务器端口填写 Kcptun 启动工具中配置的“本地监听端口”(即这里的 8022),密码和加密配置的是 Shadowsocks 的密码和加密方式。

基本原则,配置 Kcptun 的时候不用管 Shadowsocks 的参数,配置 Shadowsocks 的时候不用管 Kcptun 的参数。

2.Android端

ss账号正常填写,kcp配置如下:

(关掉kcp是可以正常连接使用的)

andriod-kcptun2

kcp参数

-crypt salsa20 --key test --mtu 1350 -sndwnd 1024 --rcvwnd 1024 --mode fast2

 

其他说明

请使用: ./kcptun.sh <option>
可使用的参数 <option> 包括:
    install 安装
    uninstall 卸载
    update 检查更新
    manual 自定义 Kcptun 版本安装
    help 查看脚本使用说明
    add 添加一个实例, 多用户使用
    reconfig <id> 重新配置实例
    show <id> 显示实例详细配置
    log <id> 显示实例日志
注: 上述参数中的 <id> 可选, 代表的是实例的序号
    可使用 1, 2, 3 ... 分别对应 kcptun, kcptun2, kcptun3 ...
    若不指定 <id>, 则默认为 1

Supervisor 命令:
    service supervisord {start|stop|restart|status}
    {启动|关闭|重启|查看状态}
Kcptun 相关命令:
    supervisorctl {start|stop|restart|status} kcptun<id>
    {启动|关闭|重启|查看状态}

 

原文:https://blog.kuoruan.com/110.html