近来Telegram升级,出现了一个新的选项MTProto代理,让我很好奇,于是就想,是否可以自已架设一个专用的MTProxy代理呢?答案是肯定的。

安装:
yum install -y git curl build-essential libssl-dev zlib1g-dev



克隆项目:
git clone https://github.com/TelegramMessenger/MTProxy.git

进入 MTProxy 目录
在 MTProxy 源码的根目录下直接执行 make 即可,编译出的可执行文件是 objs/bin/mtproto-proxy

进入 objs/bin/ 目录

获取 AES 密钥用于连接 Telegram 服务器
curl -s https://core.telegram.org/getProxySecret -o proxy-secret
Telegram电报专用代理服务器MTProto的架设方法
使用命令hd proxy-secret可以查看密钥文件
获取 Telegram 服务器列表及配置文件
curl -s https://core.telegram.org/getProxyConfig -o proxy-multi.conf

生成密钥用于客户端连接代理服务器
head -c 16 /dev/urandom | xxd -ps
#c27ceba181b8614e4274ed0d43068065 #此为命令执行结果



记住生成的密钥,后面还会多次用到。再后台方式运行 MTProto-proxy
./mtproto-proxy -u nobody -p 7777 -H 9528 -S c27ceba181b8614e4274ed0d43068065 --aes-pwd proxy-secret proxy-multi.conf -M 0 &



看到主线程及工作线程(如果有)都进入 main loop 之后,表示代理服务器开始工作了
参数说明
nobody 为用户名,mtproto-proxy 调用 setuid() 以放弃权限。

7777 为本地端口,用于获取统计数据。

9528 为代理服务器端口,客户端使用此端口与代理服务器连接。

c27ceba181b8614e4274ed0d43068065 为刚才生成的密钥,同样用于客户端。也可同时指定多个密钥:-S <secret1> -S <secret2>。

proxy-secret 为此前获取的用于连接 Telegram 服务器的 AES 密钥。
proxy-multi.conf 为此前获取的 Telegram 服务器列表及配置。
-M 参数指定除主线程之外的工作线程数目,此处指定为 0,仅用主线程。

客户端
为支持 MTProxy,首先需要把客户端升级到最新版本,我的是安卓,具体操作见下图所示。


阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。