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
生成秘钥
[[email protected] 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生成的秘钥)