近来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
使用命令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,首先需要把客户端升级到最新版本,我的是安卓,具体操作见下图所示。
该页面还没有任何评论,赶快占个沙发吧!