搬瓦工/vurtl等vps加速工具kcptun, 1080p不是梦



在之前的文章中,向大家介绍过加速软件finalspeed:

阅读  搬瓦工VPS使用FinalSpeed加速 1080P不是梦

Finalspeed在搬瓦工或者vultr上的效果还是很不错的,但是原作者宣布项目暂停维护了,不知道什么原因。这就意味着bug不会及时修复,所以给使用者带来了麻烦。我于是开始寻找替代品,以防哪天finalspeed不能用了好切换。在互联网上搜索了相关内容,功夫不负有心人,找到另一个加速很不错的神器:kcptun。第一时间自己先尝了鲜,在搬瓦工的机器上使用了下,加速效果非常好,看视频完全够用了。

Kcptun介绍

Kcptun 是一个非常简单和快速的,基于 KCP 协议的 UDP 隧道,它可以将 TCP 流转换为 KCP+UDP 流。而 KCP 是一个快速可靠协议,能以比 TCP 浪费10%-20%的带宽的代价,换取平均速度提高 30%-40%,且最大延迟降低三倍的传输效果。

Kcptun 是 KCP 协议的一个简单应用,可以用于任意 TCP 网络程序的传输承载,以提高网络流畅度,降低掉线情况。由于 Kcptun 使用 Go 语言编写,内存占用低,而且适用于所有平台,甚至 Arm 平台。

Kcptun 工作示意图:

搬瓦工VPS/OPENVZ加速工具kcptun

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

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

相关项目

以下为 Kcptun 的相关项目,如果有兴趣,可以了解一下。

1.Kcp-server:https://github.com/clangcn/kcp-server

Kcp-server 是在 Kcptun 的基础上,添加了配置文件的支持,并简化了安装过程,一条命令即可配置完毕。

如果你是小白,而且看了后面的教程也看不懂的话,推荐直接使用 Kcp-server 吧,就是更新较原版略慢。

2.Shadowsocks-Plus:https://github.com/shadowsocks-plus/shadowsocks-plus

基于 Shadowsocks Go 版本,加入了以下特性:

  • 启动后降低权限至 nobody , 增强安全性;
  • 与 kcptun 集成,配合相应客户端可加速传输;
  • 网页控制面板。

部署Kcptun

 

本教程以 CentOS 6.5 64位为例。其他的服务器的安装过程类似,遇到问题可以留言或者问百度谷歌。

下载最新的 Kcptun,可以到 GitHub 上获取最新版:https://github.com/xtaci/kcptun/releases

用  Putty 登陆服务器,下载 Kcptun 的预编译版:

  1. mkdir /root/kcptun
  2. cd /root/kcptun
  3. wget https://github.com/xtaci/kcptun/releases/download/v20160922/kcptun-linux-amd64-20160922.tar.gz
  4. tar zxf kcptunlinuxamd64-*.tar.gz

不知道怎么用putty,建议看下之前的一篇文章:

阅读  网赚或VPS玩家基础教程--putty工具使用

注意:请根据你的系统下载对应版本。32位系统下载 kcptun-linux-386-*.tar.gz,64位系统下载 kcptun-linux-amd64-*.tar.gz

解压之后有两个文件:client_linux_amd64 和 server_linux_amd64,一个用于服务器,一个用于客户端。

请在服务端程序相同目录下新建两个文件 start.sh 和 stop.sh。

创建 start.sh,创建之前请执行一下ln sf /bin/bash /bin/sh

vi /root/kcptun/start.sh

写入以下内容:

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

server_linux_amd64 对应服务端文件名,请对应修改。
创建配置文件
vi /root/kcptun/server-config.json
写入以下内容:

{
    "listen": ":29900",
    "target": "127.0.0.1:8388",
    "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
}

参数说明:

-l 表示 Kcptun 的服务端监听端口,用于接收外部请求和发送数据,默认 29900;
-t 表示要加速的地址,我这里设置的是我服务器的 艾斯艾斯 端口;
-key 是 Kcptun 的验证密钥,服务端和本地必须一致才能通过验证,请自行设置;
-mode 为加速模式,默认 fast,这里使用 fast2。
响应速度:
fast3 > [fast2] > fast > normal > default
有效载荷比:
default > normal > fast > [fast2] > fast3
中间mode参数比较均衡,总之就是越快越浪费带宽,推荐模式 fast2
其他参数,请使用 ./server_linux_amd64 -h 查看,更深层次的参数调整需要理解 KCP 协议。
下面是作者给的配置样例,适用大部分ADSL接入(非对称上下行)的参数(实验环境电信100M ADSL)。其它带宽请按比例调整,比如 50M ADSL,把 CLIENT 的 -sndwnd -rcvwnd 减掉一半,SERVER 不变。
SERVER: -mtu 1400 -sndwnd 2048 -rcvwnd 2048 -mode fast2
CLIENT: -mtu 1400 -sndwnd 256 -rcvwnd 2048 -mode fast2 -dscp 46
创建 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

#!/bin/bash
cd /root/kcptun/
sh stop.sh
echo "Restarting Kcptun..."
sh start.sh

 

然后可以启动服务端:

sh /root/kcptun/start.sh

/root/kcptun/kcptun.log 为日志信息路径。
停止服务端请使用:

sh /root/kcptun/stop.sh

重启服务端:

sh /root/kcptun/restart.sh

添加开机启动:
Centos:

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

对于 Ubuntu/Debian系统:

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

配置客户端

客户端需要新建vbs脚本,如果觉得麻烦也可以考虑使用以下图形化客户端工具。
KcptunGUI,来自“诸神的黄昏”。

搬瓦工VPS/OPENVZ加速工具kcptun

源码地址:https://git.oschina.net/ragnaroks/KcptunGUI

软件下载:https://git.oschina.net/ragnaroks/KcptunGUI/releases

注意:客户端和服务端参数必须一致的有:

  • datashard
  • parityshard
  • nocomp
  • key
  • crypt

以下为手动创建启动文件的方法:

以本地 Windows 64位系统为例,首先下载 Kcptun 的 Windows 版本。
我这里先新建一个文件夹,命名为 Kcptun,然后下载:
https://github.com/xtaci/kcptun/releases/download/v20160922/kcptun-windows-amd64-2016022.tar.gz

解压到文件夹下。
由于 Kcptun 是控制台程序,所以我选择使用 vbs 脚本,来达到后台运行的目的:
新建 run.vbs

Dim RunKcptun
Set fso = CreateObject("Scripting.FileSystemObject")
Set WshShell = WScript.CreateObject("WScript.Shell")
'获取文件路径
currentPath = fso.GetFile(Wscript.ScriptFullName).ParentFolder.Path & "\"
'配置文件路径
configFile = currentPath & "client-config.json"
'日志文件
logFile = currentPath & "kcptun.log"
'软件运行参数
exeConfig = currentPath & "client_windows_amd64.exe -c " & configFile
'拼接命令行
cmdLine = "cmd /c " & exeConfig & " > " & logFile & " 2>&1"
'启动软件
WshShell.Run cmdLine, 0, False
'等待1秒
'WScript.Sleep 1000
'打印运行命令
'Wscript.echo cmdLine
Set WshShell = Nothing
Set fso = Nothing
'退出脚本
WScript.quit

 

新建 client-config.json

{
    "localaddr": ":12948",
    "remoteaddr": "10.10.10.10:29900",
    "key": "test",
    "crypt": "salsa20",
    "mode": "fast2",
    "conn": 1,
    "autoexpire": 60,
    "mtu": 1350,
    "sndwnd": 128,
    "rcvwnd": 1024,
    "datashard": 70,
    "parityshard": 30,
    "dscp": 46,
    "nocomp": false,
    "acknodelay": false,
    "nodelay": 0,
    "interval": 40,
    "resend": 0,
    "nc": 0,
    "sockbuf": 4194304,
    "keepalive": 10
}

localaddr 为 kcptun 本地客户端运行的端口,为 12948;
remoteaddr 服务器 IP 地址 10.10.10.10,Kcptun 服务端口为 29900
key 验证密钥,和服务端一致;
conn 单线连接;
autoexpire 60 表示一分钟之后重新建立连接;
其他参数说明见上面服务端配置的说明。
新建 stop.bat
taskkill /f /im client_windows_amd64.exe
然后双击 run.vbs 运行程序,使用 stop.bat 来停止程序,kcptun.log 为输出的日志信息。
开机启动配置:
新建 startUp.bat:

@echo off
title Kcptun 开机启动设置
mode con cols=50 lines=20
color A
echo.
echo.                Kcptun 启动项设置
echo.
echo.     此批处理可以将 Kcptun 客户端添加到开机启动
echo.
echo.       请将该文件放到 run.vbs 相同目录后运行
echo.
echo.   查看说明:https://blog.kuoruan.com/102.html
echo.
set /p ST=输入 y 添加开机启动,输入 n 取消开机启动:
if /I "%ST%"=="y" goto addStartup
if /I "%ST%"=="n" goto delStartup
:addStartup
reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "Kcptun Client" /t REG_SZ /d "\"%~dp0run.vbs\"" /F>NUL
exit
:delStartup
reg delete "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "kcptun Client" /F>NUL 2>NUL
exit

端口示意图
搬瓦工VPS/OPENVZ加速工具kcptun

Shadow*socks 客户端配置

在客户端中新建服务器:

  • 服务器 IP 填写本机:127.0.0.1
  • 服务器端口填写:12948

正确填写你的vps 密码,加密方式,协议和混淆方式。

切换到该服务器上,测试是否正确运行。

速度实测

我用的服务器是搬瓦工 512M 内存,费利蒙机房,以此测试加速效果。

  • 按结论看,Kcptun 的加速效果略逊于 Finalspeed,估计需要细调配置。
  • 刚运行 Finalspeed 时,内存占用就达到了 9.1% 也就是接近 47M;而此时 Kcptun 占用 0.4%,也就是 2M左右。
  • YouTube 1440p 满跑情况下,FInalspeed 最高内存占用 15.4%,接近 79M;而此时 Kcptun 占用 3% 左右,即 15.5M。
  • 速度方面,Finalspeed 最大速度达到了10000 Kbps +,Kcptun 6000+ Kbps。

以上结论为本人测试所得,仅作为参考;实际情况请自行测试,如有纰漏,欢迎指出。

总结

如果你预算有限,只能买openvz架构的vps,那么我首先推荐你搬瓦工,超级良心,稳定低价,后台一键S-S很方便。搬瓦工等openvz类vps目前有效的加速方案就是kcptun、finalspeed、net_speeder这三种,前两种需要配合客户端,最后一种不需要客户端但是效果最不明显。如果你能接受5美元一月更好的vps,那么vultr、DO是你不错的选择。对于一般人来说,搬瓦工是第一选择

阅读  搬瓦工VPS 2019年 正确注册教程(如何解决谷歌验证码显示不了)
阅读  (长期更新优惠活动)口碑佳的Vultr VPS 注册,购买,测试,加速2019年最全教程 新户注册充值10美元赠送20美元

未经允许不得转载:主机达人 » 搬瓦工/vurtl等vps加速工具kcptun, 1080p不是梦

赞 (2)

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址