标题:Telegram专用的轻量化代理工具——MTProxy一键脚本
作者:Toyo
日期:2018-11-04 21:46:22
内容:

最近有人给我推荐了个代理软件,查了下发现是专门为 Telegram 开发的代理软件,代理服务端限制了客户端只允许访问 Telegram 的服务器。

相比于使用其他代理软件,然后 Telegram 配置链接本地代理软件而言,该方法更方便一些,无需每次启动 Telegram 都需要先启动代理软件,特别是对于手机使用者来说。

至于该软件的特性,大概就是占用资源少、使用方便、Telegram官方支持(是不是官方开发的我也不知道,估计不是)。

而且,今年4月俄罗斯封禁了 Telegram,5月底 MTProxy 第一个版本就出来了,考虑到开发时间,怕是因为俄罗斯封禁的原因而促使 Telegram 要搞个 Telegram 专用的代理工具了。

注意:MTProxy 仅支持 Telegram 客户端使用,无法用于代理其他网站和软件!

Github 项目地址:https://github.com/TelegramMessenger/MTProxy

官方项目为 C 语言编写,另一个 Go 语言编写的:『原创』MTProxy Go版 一键脚本

为什么要用 MTProxy ?为何不直接用代理软件?

可能有人会疑问:MTProxy 是一个只能 Telegram 客户端使用的代理,那么为什么不直接用其他代理软件呢?

我就特地来回答一下大家的疑问。

1. 移动设备便捷性:对于电脑用户来说, MTProxy 相对鸡肋,因为很多人都是代理软件开机启动并且全天不关。但是对于手机用户来说,每次要查看 Telegram 客户端,都需要先开启代理软件,而如果你在手机上不是经常要挂代理,但是你会经常去 Telegram 里吹比打屁,那么你就很适合使用 MTProxy 了,它可以让你使用 Telegram 客户端像使用国内的 QQ、微信一样方便,打开即用。

2. 适合分享给朋友:当你觉得 TG很好用,想要劝身边的朋友抛弃 QQ、微信 转投 Telegram 时,你却发现你还需要给他配置一套代理软件、代理账号,指导他如何使用代理软件,巴拉巴拉的。但是如果你有 MTProxy 代理账号,那么只需要填写代理配置后,即可直接使用!


系统要求

CentOS 7 / Debian 7+ / Ubuntu 14.04 +

推荐 Debian 7/8 x64,这个是我一直使用的系统,我的脚本在这个系统上面出错率最低。

注意:因为 CentOS 6 系统的 GCC 版本过低,会导致编译失败报错这个),请使用更高版本的系统!

脚本版本

Ver: 1.0.8


安装步骤

执行下面的代码下载并运行脚本。


 
  1. wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/mtproxy.sh && chmod +x mtproxy.sh && bash mtproxy.sh

运行脚本后会出现脚本操作菜单,选择并输入 1 就会开始安装。


 
  1. 请输入 MTProxy 端口 [1-65535]
  2. (默认: 443):
  3.  
  4. ========================
  5. 端口 : 443
  6. ========================
  7.  
  8. 请输入 MTProxy 密匙(手动输入必须为32位,[0-9][a-z][A-Z],建议随机生成)
  9. (默认:随机生成):
  10.  
  11. ========================
  12. 密码 : xxxxx
  13. ========================
  14.  
  15. 请输入 MTProxy TAG标签(TAG标签只有在通过官方机器人 @MTProxybot 分享代理账号后才会获得,不清楚请留空回车)
  16.  
  17. 如果本机是NAT服务器(谷歌云、微软云、阿里云等),则请输入你的服务器内网IP,否则会导致无法使用。如果不是请直接回车!
  18. (默认:回车跳过):
  19.  
  20. [信息] MTProxy 停止成功 !
  21. [信息] MTProxy 启动中...
  22. [信息] MTProxy 启动成功 !
  23.  
  24. ————————————————
  25.  
  26. Mtproto Proxy 信息 :
  27.  
  28. 地址 : x.x.x.x
  29. 端口 : 443
  30. 密码 : xxxxx
  31. 链接 : tg://proxy?server=xxxxxx...
  32. 链接 : https://t.me/proxy?server=xxxxxx...
  33.  
  34. ————————————————

使用说明

进入下载脚本的目录并运行脚本:


 
  1. ./mtproxy.sh

然后选择你要执行的选项即可。


 
  1. MTProxy 一键管理脚本 [vX.X.X]
  2. ---- Toyo | doub.io/shell-jc7 ----
  3.  
  4. 0. 升级脚本
  5. ————————————
  6. 1. 安装 MTProxy
  7. 2. 更新 MTProxy
  8. 3. 卸载 MTProxy
  9. ————————————
  10. 4. 启动 MTProxy
  11. 5. 停止 MTProxy
  12. 6. 重启 MTProxy
  13. ————————————
  14. 7. 设置 账号配置
  15. 8. 查看 账号信息
  16. 9. 查看 日志信息
  17. 10. 查看 链接信息
  18. ————————————
  19.  
  20. 当前状态: 已安装 已启动
  21.  
  22. 请输入数字 [0-10]:

其他操作

启动:/etc/init.d/mtproxy start

停止:/etc/init.d/mtproxy stop

重启:/etc/init.d/mtproxy restart

查看状态:/etc/init.d/mtproxy status

安装目录:/usr/local/mtproxy

配置文件:/usr/local/mtproxy/mtproxy.conf

日志文件:/usr/local/mtproxy/mtproxy.log

Telegram 使用方法说明:

如果你的 TG 客户端没有 Mtproto 代理选项,那么请更新到最新版本

Telegram 内置了 Mtproto 代理选项,所以TG客户端内点击 tg://proxy?xxxx... 链接就会自动配置代理,非常方便。


PC 使用步骤

点击 Telegram 客户端左上角的 三横杠 按钮,

然后点击 你的头像 就会进入保存消息聊天窗口中(在这里发只会被自己看到,而且正好保存起来),

接着复制 tg://proxy?xxxx... 并发送,

最后点击 tg://proxy?xxxx... 链接后就会提示你是否要启用这个代理,点击 启用 按钮,

就会发现自动添加并使用该代理配置了。


或者你可以浏览器访问 https://t.me/proxy?server=xxxxxx... 链接,然后浏览器会自动调用 Telegram 客户端。


至于手动添加,只需要去代理设置处,添加新代理并选择 Mtproto 代理选项,根据账号信息分别填写服务器IP、端口、密码即可。

分享代理账号并推广频道

MTProxy 有个官方机器人,可以让你在此分享 MTProxy 代理账号,但是只分享没收获的话,大家都没什么动力,所以 MTProxy 机器人可以让你分享出去的免费账号起到推广频道的作用,使用你机器人处分享的免费账号的人都会在聊天列表里看到推广频道信息。

机器人:https://t.me/MTProxybot@MTProxybot

添加代理账号

使用机器人时,你需要先搭建好 MTProxy 代理,然后如下图所示在机器人处添加你的代理账号:

注意:此处的代理信息请填写自己的代理信息,不要跟着教程一模一样的添加。。。

然后机器人会告诉你一个唯一的TAG标签,如下图的:ea5150cf06d21896ef08aaebd553569e

这时候你去运行脚本 - 7.设置 账号配置 - 3.修改 TAG 配置 - 填写TAG标签,然后脚本会自动重启代理服务端。

这时候我们仅仅是添加了个代理账号,还没有配置推广频道。接下来告诉你如何配置。

配置推广频道

机器人会列出你添加的代理账号,点击你要配置的账号信息。

接着文字就会变成如下图所示:

我们点击 Set promotion 选项。

然后机器人就会让你说出要推广的频道链接,可以是 t.me/xxx 格式,也可以是 @xxx 格式。

例如我频道链接为 doubi_a ,那么我可以告诉机器人 t.me/doubi_a  或 @doubi_a

注意:如果你不打算配置推广频道了,请输入 /cancel 取消该操作。

发出后,机器人就会告诉你需要一段时间生效,到时候其他人使用你这个代理账号,就会在他的聊天列表里看到你的推广频道信息。

这时候你再通过 /myproxies 查看你这个代理账号时,内容就会变成如下所示:

 


其他说明

注意:MTProxy 仅支持 Telegram 客户端使用,无法用于其他


Telegram一直无法连接代理的可能原因之一

MTProxy 对时间差要求严格,如果服务器与本地的系统时间相差过大(不清楚具体多少,但是差几分钟就不行)就会无法建立连接。

脚本一开始安装时,就已经将系统时区改为北京时区,不过时间可能还不够准确。

你可以安装 ntp 来定时校准时间,或者手动校准时间:


 
  1. date -s "08:05:00"
  2. # 修改时间为 08:05:00
  3. # 当然也要记得校准本地设备系统时间偶~

 


 编译失败,提示包含 xxxxx option "-std=gnu11" 错误

当你安装 MTProxy 出现编译错误,并且编译错误信息中包含的有 ccl: error: unrecognized command line option "-std=gnu11" 类似内容(往往在编译错误这几个字的上方几条内),则说明是系统的 OpenSSL 版本过低,不支持部分编译参数。

出现这个错误基本上就是用了老旧的系统,例如:CentOS6 Debian6 Ubuntu12

解决方法有两种:

 


启动失败,日志提示 'S' option requires exactly 32 hex digits 错误

该问题只出现于自定义密码时,因为 MTProxy 为了安全性而要求密码必须是 32位(多了少了都不行),如果数量不对就会提示这个,建议用脚本随机生成!


启动失败,日志显示 mtproto-proxy: common/pid.c:42: init_common_PID: Assertion '!(p & 0xffff0000)' failed.

Azure的服务器可能会出现该问题,具体见评论:#comment-43366


提示wget: unknown host “raw.githubusercontent.com” 之类的错误

这是无法解析我的域名,多半是DNS的问题,请更换DNS为谷歌DNS(以下两行一起复制 一起执行)。


 
  1. echo -e "nameserver 8.8.8.8\nnameserver 8.8.4.4" > /etc/resolv.conf

 


提示 wget: command not found 的错误

这是你的系统精简的太干净了,wget都没有安装,所以需要安装wget。


 
  1. # CentOS系统:
  2. yum install -y wget
  3.  
  4. # Debian/Ubuntu系统:
  5. apt-get install -y wget

 


升级脚本

升级脚本只需要重新下载脚本文件就可以了,会自动覆盖原文件。

更新日志

2018年11月10日,版本 v1.0.8

1. 新增 监测外网IP变更功能(位于 7. 设置 账号配置 中)。

—— 该功能适合于IP经常变更的服务器,不需要每次都手动修改了。

来自https://doub.io/shell-jc7/


返回列表 网站首页