- A+
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
1 2 3 4 |
[crayon-65c499f3cd119536621878 inline="true" class="language-bash"]git clone https://github.com/TelegramMessenger/MTProxy cd MTProxy make && cd objs/bin |
[/crayon]
下载相关配置
1 2 |
[crayon-65c499f3cd11d763022938 inline="true" class="language-bash"]curl -s https://core.telegram.org/getProxySecret -o proxy-secret curl -s https://core.telegram.org/getProxyConfig -o proxy-multi.conf |
[/crayon]
生成秘钥
1 2 |
[crayon-65c499f3cd121690777555 inline="true" ][root@eller MTProxy]# head -c 16 /dev/urandom | xxd -ps 271082e5da56c2877f215c225eb93ffe |
[/crayon]
启动MTP代理服务端
客户端连接端口:443
连接统计查看端口:8888
1 |
[crayon-65c499f3cd126734775048 inline="true" class="language-bash"]./mtproto-proxy -u nobody -p 8888 -H 443 -S 271082e5da56c2877f215c225eb93ffe --aes-pwd proxy-secret proxy-multi.conf -M 1 > /dev/null 2>&1 & |
[/crayon]
除此之外,亦也可以以服务方式启动,具体参照官方文档。
https://github.com/TelegramMessenger/MTProxy#systemd-example-configuration
2.远端服务器KCP安装
这里以KCP作为SERVER端,外部连接80即相当于连接了443端口(MTP)
下载KCP
无需编译,直接解压即可使用。
1 2 3 4 |
[crayon-65c499f3cd12a119335243 inline="true" class="language-bash"]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 |
[/crayon]
启动KCP
可将命令保存为 run.sh
1 |
[crayon-65c499f3cd12e593460204 inline="true" class="language-bash"]./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 & |
[/crayon]
3.中继服务器KCP安装
这里以KCP作为客户端,实现用户的流量转发。将来自9000端口的流量转发到远端80端口上,通过KCP实现UDP传输。
下载KCP
1 2 3 4 |
[crayon-65c499f3cd132727099258 inline="true" class="language-bash"]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 |
[/crayon]
KCP客户端启动
可将启动命令保存为 run.sh
1 |
[crayon-65c499f3cd136316302325 inline="true" class="language-bash"]./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 & |
[/crayon]
4.客户端连接
客户端通过远端安装的MTP配置,加以修改即可使用。
整理以上的通信过程,大致为 【客户端】 => 【:9000 中继】 => 【:80 远端】 => 【:443 远端】
至此实现了不直接通过TCP协议连接MTP代理。
配置信息如下:
1 2 3 |
[crayon-65c499f3cd139686090490 inline="true" ]IP:中继服务器 PORT:9000 SECRET:271082e5da56c2877f215c225eb93ffe (最初远端MTP生成的秘钥) |
[/crayon]