通过KCP中转实现MTP代理(UDP) | Telegram实现稳定代理

77

MTProxy 代理搭建

通过KCP中转实现MTP代理(UDP) | Telegram实现稳定代理

由于GFW大部分情况是阻断的TCP连接,MTP流量也是特征明显,基本上能达到秒封!大部分情况是封禁端口,更换端口即可恢复。时间久了可能会阻断全部TCP连接。

所以这里,我们通过UDP方式进行连接远端服务器。

即需要两台服务器

1.海外服务器(REMOTE SERVER)

2.大陆服务器(CHINA SERVER)

1.远端服务器MTP搭建

参照官方文档进行安装

https://github.com/TelegramMessenger/MTProxy

配置主要参数,如这里的443即外部连接端口。

安装编译MTP
git clone https://github.com/TelegramMessenger/MTProxy cd MTProxy

make && cd objs/bin

下载相关配置

curl -s https://core.telegram.org/getProxySecret -o proxy-secret
curl -s https://core.telegram.org/getProxyConfig -o proxy-multi.conf

生成秘钥

[root@eller MTProxy]# head -c 16 /dev/urandom | xxd -ps 271082e5da56c2877f215c225eb93ffe

启动MTP代理服务端

客户端连接端口:443

连接统计查看端口:8888

./mtproto-proxy -u nobody -p 8888 -H 443 -S 271082e5da56c2877f215c225eb93ffe --aes-pwd proxy-secret proxy-multi.conf -M 1 > /dev/null 2>&1 &
除此之外,亦也可以以服务方式启动,具体参照官方文档。

++https://github.com/TelegramMessenger/MTProxy#systemd-example-configuration++

2.远端服务器KCP安装

这里以KCP作为SERVER端,外部连接80即相当于连接了443端口(MTP)

下载KCP

无需编译,直接解压即可使用。

mkdir kcptun
cd kcptun
wget https://github.com/xtaci/kcptun/releases/download/v20190809/kcptun-linux-amd64-20190809.tar.gz
tar -zxf kcptun-linux-amd64-*.tar.gz

启动KCP

可将命令保存为 run.sh

./server_linux_amd64 -l :80 -t 127.0.0.1:443 -key eller -mtu 1400 -sndwnd 2048 -rcvwnd 2048 -mode fast2 > kcptun.log 2>&1 &

3.中继服务器KCP安装

这里以KCP作为客户端,实现用户的流量转发。将来自9000端口的流量转发到远端80端口上,通过KCP实现UDP传输。

下载KCP

mkdir kcptun
cd kcptun
wget https://github.com/xtaci/kcptun/releases/download/v20190809/kcptun-linux-amd64-20190809.tar.gz
tar -zxf kcptun-linux-amd64-*.tar.gz

KCP客户端启动

可将启动命令保存为 run.sh

./client_linux_amd64 -l :9000 -r remote_server:80 -key eller -mtu 1400 -sndwnd 256 -rcvwnd 2048 -mode fast2 -conn 4 > /dev/null 2>&1 &

4.客户端连接

客户端通过远端安装的MTP配置,加以修改即可使用。

整理以上的通信过程,大致为 【客户端】 => 【:9000 中继】 => 【:80 远端】 => 【:443 远端】

至此实现了不直接通过TCP协议连接MTP代理。

配置信息如下:

IP:中继服务器 PORT:9000 SECRET:271082e5da56c2877f215c225eb93ffe (最初远端MTP生成的秘钥)