为什么要用 MTProxy ?为何不直接用代理软件?
可能有人会疑问:MTProxy 是一个只能 Telegram 客户端使用的代理,那么为什么不直接用其他代理软件呢?
我就特地来回答一下大家的疑问:
1. 移动设备便捷性:对于电脑用户来说, MTProxy 相对鸡肋,因为很多人都是代理软件开机启动并且全天不关。但是对于手机用户来说,每次要查看 Telegram 客户端,都需要先开启代理软件,而如果你在手机上不是经常要挂代理,但是你会经常去 Telegram 里吹比打屁,那么你就很适合使用 MTProxy 了,它可以让你使用 Telegram 客户端像使用国内的 QQ、微信一样方便,打开即用。
2. 适合分享给朋友:当你觉得 TG很好用,想要劝身边的朋友抛弃 QQ、微信 转投 Telegram 时,你却发现你还需要给他配置一套代理软件、代理账号,指导他如何使用代理软件,巴拉巴拉的。但是如果你有 MTProxy 代理账号,那么只需要填写代理配置后,即可直接使用!
今天站长就给大家带来一个MTProxy一键脚本,有手就会操作。
脚本系统要求
CentOS 7 / Debian 7+ / Ubuntu 14.04 +
推荐 Debian 7/8 x64,这个是我一直使用的系统,我的脚本在这个系统上面出错率最低。
站长用良心云debian11.1报错,10.2正常
说明
此脚本安装的是绿色版,安装卸载都非常简单,并配置有TLS
域名伪装;
GitHub:https://github.com/sunpma/mtp
1.安装
执行如下代码进行安装
# 创建程序目录并进入mkdir /home/mtproxy && cd /home/mtproxy# 下载程序并配置安装curl -s -o mtproxy.sh https://raw.githubusercontent.com/sunpma/mtp/master/mtproxy.sh && chmod +x mtproxy.sh && bash mtproxy.sh
安装过程:
=========================================请输入一个客户端连接端口 [1-65535](默认端口: 443):433(说明:自定义链接端口)---------------------------port = 443---------------------------请输入一个管理端口 [1-65535](默认端口: 8888):8888(说明:自定义管理端口)---------------------------manage port = 8888---------------------------请输入一个需要伪装的域名:默认域名: azure.microsoft.com(说明:自定义TLS伪装域名)状态码:302---------------------------伪装域名 = azure.microsoft.com---------------------------请输入你需要推广的TAG:若没有,请联系 @MTProxybot 进一步创建你的TAG(留空则跳过):(说明:默认跳过或输入TAG)---------------------------PROXY TAG = ---------------------------配置已经生成完毕!TMProxy+TLS代理: 运行中服务器IP:45.76.157.102服务器端口:65534MTProxy Secret: xxxxxxTG一键链接: https://t.me/xxxxxxTG一键链接: tg://xxxxxx=========================================
2.使用
# 进入程序目录cd /home/mtproxy# 运行bash mtproxy.sh start# 调试bash mtproxy.sh debug# 停止bash mtproxy.sh stop# 重启bash mtproxy.sh restart
3.卸载
因为是绿色版卸载极其简单,直接删除程序目录即可;
rm -rf /home/mtproxy
4.开机启动
编辑/etc/rc.local
开机自启服务文件,将如下代码添加到开机自启脚本中;
# 编辑自启文件vi /etc/rc.local# 添加如下代码bash /home/mtproxy/mtproxy.sh start > /dev/null 2>&1 &
Telegram 使用方法说明:
如果你的 TG 客户端没有 Mtproto 代理选项,那么请更新到最新版本!
Telegram 内置了 Mtproto 代理选项,所以TG客户端内点击 tg://proxy?xxxx… 链接就会自动配置代理,非常方便。
分享代理账号并推广频道
MTProxy 有个官方机器人,可以让你在此分享 MTProxy 代理账号,但是只分享没收获的话,大家都没什么动力,所以 MTProxy 机器人可以让你分享出去的免费账号起到推广频道的作用,使用你机器人处分享的免费账号的人都会在聊天列表里看到推广频道信息。
机器人:https://t.me/MTProxybot 或 @MTProxybot
添加代理账号
使用机器人时,你需要先搭建好 MTProxy 代理,然后如下图所示在机器人处添加你的代理账号:
- /newproxy – 添加一个新的代理。
- 1.1.1.1:7000 – 机器人让你告诉它你的代理IP和端口
- 86193508cd50a0c050754feac123123 – 机器人让你告诉它你的代理密匙
(如果你密匙前面含有 dd 字符,则手动去掉,分享给他人时可以加上)
然后机器人会告诉你一个唯一的TAG标签,如下图的:ea5150cf06d21896ef08aaebd553569e
这时候你去运行脚本 – 7.设置 账号配置 – 3.修改 TAG 配置 – 填写TAG标签,然后脚本会自动重启代理服务端。
这时候我们仅仅是添加了个代理账号,还没有配置推广频道。接下来告诉你如何配置。
配置推广频道
/myproxies - 查看已分享的代理账号
机器人会列出你添加的代理账号,点击你要配置的账号信息。
Set promotion - 配置推广频道Stats - 查看已分享代理账号的统计信息Delete proxy - 取消分享当前代理(如果你已经分享给别人了,那么你还需要修改下端口或密匙才行)Back to list - 返回已分享代理列表
我们点击 Set promotion 选项。然后机器人就会让你说出要推广的频道链接,可以是 t.me/xxx 格式,也可以是 @xxx 格式。
例如我频道链接为 doubi_a ,那么我可以告诉机器人 t.me/doubi_a 或 @doubi_a 。
发出后,机器人就会告诉你需要一段时间生效,到时候其他人使用你这个代理账号,就会在他的聊天列表里看到你的推广频道信息。
这时候你再通过 /myproxies 查看你这个代理账号时,内容就会变成如下所示:
Edit promorion - 修改推广频道Remove promotion - 取消推广频道Stats - 查看已分享代理账号的统计信息Delete proxy - 取消分享当前代理(如果你已经分享给别人了,那么你还需要修改下端口或密匙才行)
其他说明
注意:MTProxy 仅支持 Telegram 客户端使用,无法用于其他软件!
Telegram一直无法连接代理的可能原因之一
MTProxy 对时间差要求严格,如果服务器与本地的系统时间相差过大(不清楚具体多少,但是差几分钟就不行)就会无法建立连接。
脚本一开始安装时,就已经将系统时区改为北京时区,不过时间可能还不够准确。
你可以安装 ntp 来定时校准时间,或者手动校准时间:
date -s "08:05:00"# 修改时间为 08:05:00# 当然也要记得校准本地设备系统时间偶~
编译失败,提示包含 xxxxx option “-std=gnu11” 错误
当你安装 MTProxy 出现编译错误,并且编译错误信息中包含的有 ccl: error: unrecognized command line option "-std=gnu11"
类似内容(往往在编译错误这几个字的上方几条内),则说明是系统的 OpenSSL 版本过低,不支持部分编译参数。
出现这个错误基本上就是用了老旧的系统,例如:CentOS6 Debian6 Ubuntu12
解决方法有两种:
- 1. 手动升级 OpenSSL (不推荐,依赖结构复杂)。
- 2. 更换为更高版本的系统。
启动失败:
1、日志提示 ‘S’ option requires exactly 32 hex digits 错误
该问题只出现于自定义密码时,因为 MTProxy 为了安全性而要求密码必须是 32位(多了少了都不行),如果数量不对就会提示这个,建议用脚本随机生成!
2、日志显示 mtproto-proxy: common/pid.c:42: init_common_PID: Assertion ‘!(p & 0xffff0000)’ failed.
Azure的服务器可能会出现该问题
3、提示wget: unknown host “raw.githubusercontent.com” 之类的错误
多半是DNS的问题,请更换DNS为谷歌DNS(以下两行一起复制 一起执行
echo -e "nameserver 8.8.8.8\nnameserver 8.8.4.4" > /etc/resolv.conf
4、提示 wget: command not found 的错误
是你的系统精简的太干净了,wget都没有安装,所以需要安装wget。
# CentOS系统:yum install -y wget# Debian/Ubuntu系统:apt-get install -y wget
升级脚本
升级脚本只需要重新下载脚本文件就可以了,会自动覆盖原文件。