碰上垃圾 VPS 提供商怎么办,商家说是亚洲优化,到本地还是绕 GTT 怎么办?不用担心,KCPTun 来帮你。
说来,网上那堆教程实在是写得不怎么好,要么太复杂,我就想加速一下网络连接,写那么多原理干什么……要么就是太简单,我真的不喜欢一键包。所以还是自己来吧。
KCP 简单来说,就是一个 UDP 暴力发包软件,如果原先建立的连接是这样
Client -> (TCP) -> Server
那么加入 KCP 以后就变成了这样
Client -> (TCP) -> KCP Client -> (UDP) -> KCP Server -> (TCP) -> Server
KCP 无论是客户端,还是服务端,都涉及到两个端口,在客户端有一个 listening port 和 remote,服务端有 一个 listening port 和一个 target。从连接的角度来说,是这样的一个流程:
Client -> KClient_Listening_Port -> KClient -> KRemote
KRemote = KServer_Listening_Port -> KServer -> KTarget = Server
原先 C->S 怎么连接,只要把地址改成对应的 KCP 端地址就可以无缝工作。
举个例子来说,比如我本地有个程序需要连接 Server:8388,原先直接连接就可以了,但是特别慢,打算用 KCP 来加速一下,且 KServer 监听 3389 端口。那么本地需要做的事情是:
"client_windows_amd64.exe" -l :1081 -r Server:3389 -key "test" -crypt none -mode fast2
这个的意思是说,KClient 监听 1081 端口并转发至 Server 的 3389 端口,密码是 test,没有加密,使用的模式是 fast2。
服务端要做的事情是:
server_linux_amd64 -l :3389 -t 127.0.0.1:8388 --key test --crypt none --mode fast2 --quiet
监听 3389 端口的传入连接,转发至本地的 8388 端口,也就是原来的服务端,其他和 Client 的配置相同。
这么简单就配置好了。
项目的 Github 在这里:https://github.com/xtaci/kcptun
这是一个图形化的 Windows 客户端:https://github.com/dfdragon/kcptun_gclient