• 推荐!搬瓦工官方代理,自动更换被封IPJust My Socks

ad

搭建Telegram代理:MTProxy,解决Telegram无法连接问题

很多人发现用了SS或者SSR后Telegram还是连接超时,打不开。自己搭建socks5代理也是各种碰壁,本文介绍下如何搭建Telegram专属代理:MTProxy(也叫MTProto),不需要SS或者SSR,也可以直连Telegram,彻底解决Telegram无法连接的问题。

 

什么是MTProxy

Telegram MTProxy是Telegram官方出的一个轻量级的代理工具(也叫MTProto),可以直接配置在Telegram客户端中,不需要开启其他代理就可以直连Telegram。官方地址:Telegram MTProxy

MTProxy非常方便,搭建起来也容易,之后就不需要每次都开代理了,还省下不少电,毕竟小火箭是真的耗电。

 

MTProxy搭建教程

必须要一台国外的服务器(可以直连Telegram的),如果有就跳过,没有就去买一台,推荐搬瓦工,便宜适合新手:搬瓦工购买与优惠码使用

之后就是SSH到服务器上,参考:Windows/Mac/Linux如何SSH远程连接/登陆搬瓦工

1.编译MTProxy

首先安装依赖:

在Debian/Ubuntu系统上:

apt install git curl build-essential libssl-dev zlib1g-dev

在CentOS/RHEL系统上:

yum install openssl-devel zlib-devel
yum groupinstall "Development Tools"

之后下载源码库:

git clone https://github.com/TelegramMessenger/MTProxy
cd MTProxy

最后直接直接make安装,并进入到bin文件夹:

make && cd objs/bin

如果安装失败,需要重新make,则先执行 make clean 。

2.运行MTProxy

下载位于Telegram服务器的secret(就是下载文件)

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

下载telegram配置文件(还是下载文件)

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

生成一个32位16进制secret用于客服端连接服务器(运行完这个会在界面输出一个密码)

head -c 16 /dev/urandom | xxd -ps

运行mtproto-proxy

./mtproto-proxy -u nobody -p 8888 -H 1024 -S de731d1e955150d03ae40579efdfb3a3 --aes-pwd proxy-secret proxy-multi.conf -M 0

关于几个参数说明以下

  • nobody 为用户名,mtproto-proxy 调用 setuid() 以放弃权限。(不需要改)
  • 8888 为本地端口,用于获取统计数据。
  • 1024 为代理服务器端口,客户端使用此端口与代理服务器连接。
  • de731d1e955150d03ae40579efdfb3a3 为此前生成的密钥,同样用于客户端。也可同时指定多个密钥:-S <secret1> -S <secret2>
  • proxy-secret 为此前获取的用于连接 Telegram 服务器的 AES 密钥。(不需要改)
  • proxy-multi.conf 为此前获取的 Telegram 服务器列表及配置。(不需要改)
  • -M 参数指定除主线程之外的工作线程数目,此处指定为 0,仅用主线程。

 

MTProxy代理注册及分享

你可以直接用你的配置添加代理配置,具体位置:Setting > Data Storage > Use Proxy > + Add Proxy > MTProto,输入你的server ip,端口和secret就行。

或者直接通过Telegram机器人注册与管理,步骤如下:

  • 添加官方机器人 @MTProxybot
  • 发送 /newproxy
  • 根据提示发送代理服务器地址及端口号: 102.11.23.21:1024
  • 再根据提示发送此前生成的密钥: de731d1e955150d03ae40579efdfb3a3
  • 注册完成

 

FAQ

使用阿里云服务器或者AWS服务器搭建Telegram MTProxy时,发现这个MTProxy绑定的是内网IP,解决方案也很简单,使用NAT模式就行,指定内网IP和外网IP:

./mtproto-proxy -u nobody -p 8888 -H 443 -S <secret> --nat-info <intranet ip>:<public ip> --aes-pwd proxy-secret proxy-multi.conf -M 0
点赞
  1. 积木说道:

    现在加上白名单,MTProxy 还可以用

  2. Jackson说道:

    有没有发现最近MTProxy设置好用几分钟就连接不上端口了?换个端口又几分钟之后连接不上有没有什么解决办法啊?

    1. flyzy小站说道:

      MTProxy 好像被经准识别了。用 SS 代理上 TG 吧

  3. Beyond0518说道:

    root@iZj6cbt4z16my4bnhfoh70Z:/opt/MTProxy/objs/bin# ./mtproto-proxy -u nobody -p 8888 -H 443 -S 6f690fb4fac91e0110b4c4fd77e8b9d6 --aes-pwd proxy-secret proxy-multi.conf -M 1 --nat-info 47.91.227.42:172.31.123.76
    [5346][2019-03-01 11:19:28.600220 local] Invoking engine mtproxy-0.01 compiled at Mar 1 2019 10:24:02 by gcc 5.4.0 20160609 64-bit after commit 2c942119c4ee340c80922ba11d14fb3b10d5e654
    [5346][2019-03-01 11:19:28.600337 local] config_filename = 'proxy-multi.conf'
    [5346][2019-03-01 11:19:28.600597 local] creating 1 workers
    [5346][2019-03-01 11:19:28.601519 local] Started as [172.31.123.76:8888:5346:1551410368]
    [5346][2019-03-01 11:19:28.601731 local] configuration file proxy-multi.conf re-read successfully (809 bytes parsed), new configuration active
    [5346][2019-03-01 11:19:28.602086 local] main loop
    [5347][2019-03-01 11:19:28.603237 local] Started as [172.31.123.76:8888:5347:1551410368]
    [5347][2019-03-01 11:19:28.603429 local] configuration file proxy-multi.conf re-read successfully (809 bytes parsed), new configuration active
    [5347][2019-03-01 11:19:28.603665 local] main loop

    请问阿里云这是什么情况,NAT配置不上?