什么是kcptun
Kcptun 是一个简单和快速的,基于 KCP 协议的 UDP 隧道,它可以将 TCP 流转换为 KCP+UDP 流。
原理图
以岩兔站的理解来看,kcptun就是一个加速软件,将原本连接缓慢的TCP协议转化为UDP从而实现高速传输。其他不说,对于海外龟速服务器来说,具有鸡血般的功效,具体参考第一张作者提供的测试图。
优点:目前用过最快的tcp加速工具
缺点:服务端客户端都要安装
正是因为kcptun需要同时安装服务端和客户端,而岩兔站又怕麻烦,所以一直都没用,直到最近网速实在是慢,才想到尝试kcptun,而且也找到了kcptun客户端安装的新思路,这样能避免每个终端都安装kcptun客户端。
部署kcptun
部署kcptun已经有很多大佬已经做过详细研究了,岩兔站就不再班门弄斧了,放几个链接,大家可以参考下
GitHub:https://github.com/xtaci/kcptun
一键脚本:https://blog.kuoruan.com/110.html
客户端配置
按照常规方式,如果手机想使用kcptun则需要安装手机端kcptun,如果是PC端又需要重新部署,非常麻烦。
路由器部署
如果是在同一局域网内,将kcptun客户端部署在智能路由器上,则本局域网内设备,都可以直接连接路由器kcptun客户端,进而实现加速。
虽然方便,但限制也很明显,比如一旦出门,手机连不到路由器,加速就会失效。
服务器部署
受此启发,既然路由器部署kcptun客户端能覆盖全局域网,那么如果在一台面向全网的服务器中部署kcptun客户端,是不是能覆盖全网呢?
正好,岩兔站在国内也有一台服务器,所以折腾方法是这样的:
- 国外服务器安装 $SR + kcptun服务端
- 国内服务器安装kcptun客户端
- 手机/电脑等终端连接国内服务器kcptun
原理图大致如下:
这样,手机/电脑等终端设备均只需要和平时一样,运行 S$R 客户端即可享受kcptun带来的加速!
必要条件
要想实现上述功能,需要具备一些必备条件:
- 一台国内服务器(只需使用一个出网端口即可)
- 终端与国内服务器的互联速度远高于国外服务器
这里说下速度问题,安装kcptun就是为了提高速度,如果将kcptun客户端部署于公网服务器,首先要保证该服务器与终端之间互联顺畅。比如阿里/腾讯云之类的1M带宽服务器就不适合当作kcptun客户端使用,因为即使部署成功,客户端能获取的最高下行速度只有1Mbps,合128KB/s,这样的速度只能用来看网页,也背离了使用kcptun加速的初衷。
岩兔站是用单位的一台windows服务器来安装kcptun客户端的,上传带宽大还不限流量。kcptun的windows客户端只有一个可执行文件,使用起来不方便,而且不太稳定,可以参考NSSM-将可执行文件升级成系统服务(Windows)将kcptun客户端做成系统服务,运行更稳定!