kcptun

1. 原理

注: 端口仅供参考, 实际运用需要换为真实的port.

主要原理就是發兩次數據包,所以所用流量也是倍數增加。

2. 服务器端安装kcptun

SSH到VPS

# 准备工作
[root@default ~]# netstat -nl | grep <ss_port>

# <ip> - 服务器IP, 这个就是我们的加速IP, 可能是<ss_port>, 或者127.0.0.1, 是实际情况而定.
tcp       0      0     <ip>:<ss_port>                 :::*                    LISTEN     
udp       0      0     <ip>:<ss_port>                 :::*

安装kcptun

[root@default ~]# wget https://raw.githubusercontent.com/kuoruan/kcptun_installer/master/kcptun.sh
[root@default ~]# chmod +x ./kcptun.sh
[root@default ~]# ./kcptun.sh
获取系统信息成功...

开始配置参数...

请输入 Kcptun 服务端运行端口 [1~65535]
(默认: 29900):

---------------------------
端口 = 29900
---------------------------

是否禁用 IPv6?
(默认: 不禁用) [y/n]:

---------------------------
不禁用IPv6
---------------------------

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

---------------------------
加速 IP = <ss_ip>
---------------------------

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

---------------------------
加速端口 = <ss_port>
---------------------------

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

---------------------------
密码 = <your_kcptun_pw_not_ss_pw>
---------------------------

请选择加密方式(crypt):
(1) aes
(2) aes-128
(3) aes-192
(4) salsa20
(5) blowfish
(6) twofish
(7) cast5
(8) 3des
(9) tea
(10) xtea
(11) xor
(12) none
(默认: aes) 请选择 [1~12]: 4

-----------------------------
加密方式 = salsa20
-----------------------------

请选择加速模式(mode):
(1) fast3
(2) fast2
(3) fast
(4) normal
(5) manual (手动挡)
(默认: fast) 请选择 [1~5]: 2

---------------------------
加速模式 = fast2
---------------------------

请设置 UDP 数据包的 MTU (最大传输单元)值
(默认: 1350):

---------------------------
MTU = 1350
---------------------------

请设置发送窗口大小(sndwnd)
(数据包数量, 默认: 1024):

---------------------------
sndwnd = 1024
---------------------------

请设置接收窗口大小(rcvwnd)
(数据包数量, 默认: 1024):

---------------------------
rcvwnd = 1024
---------------------------

请设置前向纠错 datashard
(默认: 10):

---------------------------
datashard = 10
---------------------------

请设置前向纠错 parityshard
(默认: 3):

---------------------------
parityshard = 3
---------------------------

请设置差分服务代码点(DSCP)
(默认: 0):

---------------------------
DSCP = 0
---------------------------

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

---------------------------
启用数据压缩
---------------------------

配置设置完成, 按任意键继续...或者 Ctrl+C 取消
服务器IP:  <ss_ip>
端口:  29900
加速地址: <ss_ip>:<ss_port>
密码:  <your_kcptun_pw_not_ss_pw>
加密方式 Crypt:  salsa20
加速模式 Mode:  fast2

当前安装的 Kcptun 版本为: v20161009

推荐的客户端配置为:
{
	"localaddr": ":<ss_port>",
	"remoteaddr": "<ss_ip>:29900",
	"key": "<your_kcptun_pw_not_ss_pw>",
	"crypt": "salsa20",
	"mode": "fast2",
	"mtu": 1350,
	"sndwnd": 1024,
	"rcvwnd": 1024,
	"datashard": 10,
	"parityshard": 3,
	"dscp": 0,
	"conn": 1,
	"autoexpire": 60,
	"nocomp": false
}

手机端参数可以使用:
-autoexpire 60 -key "<your_kcptun_pw_not_ss_pw>" -crypt "salsa20" -mode "fast2"

其他参数请自行计算或设置, 详细信息可以查看: https://github.com/xtaci/kcptun

Kcptun 安装目录: /usr/share/kcptun
Kcptun 配置文件: /usr/share/kcptun/server-config.json
Kcptun 日志文件: /var/log/kcptun.log

Supervisor {启动|关闭|重启|查看状态} 命令: service supervisord {start|stop|restart|status}
Kcptun 服务端 {启动|关闭|重启|查看状态} 命令: supervisorctl {start|stop|restart|status} kcptun
已将 Supervisor 加入开机自启, Kcptun 服务端会随 Supervisor 的启动而启动

如需 {重新配置|更新|卸载|手动选择版本|查看配置}, 请使用: ./kcptun.sh {reconfig|update|uninstall|manual|show}

Start/Stop kcptun

[root@default ~]# supervisorctl stop kcptun

3. 本地客户端

需要用与服务器端版本一致的.

可以在服务器上运行 ./kcptun.sh show 查看.

Mac本地运行:

➜  kcptun-darwin-amd64-20161009 ./client_darwin_amd64 -c client.json

GoAgentX 设置:

3. 测试速度

http://beta.speedtest.net/run

4. Reference

Bonus - 锐捷

教你一步步搭建SS服务器~ - KoolShare改版固件 - KoolShare - 源于玩家 服务玩家

锐捷不支持OpenVz, 恰好搬瓦工是OpenVz.

Show Comments