11

CentOS7 安装部署MTProxy

 3 years ago
source link: https://3mile.github.io/archives/2018/11/13/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

MTProxy是Telegram(以下简称TG)官方开源的一个TG代理工具,用户可以用来自建代理方便自己使用TG,C语言写一个很轻便的代理软件。废话不多说,贴出github地址

传送门

github页面已经有详细的安装教程,这里简单说一下。

CentOS/RHEL:

yum install openssl-devel zlib-devel
yum groupinstall "Development Tools"
  1. 克隆源码编译安装

git clone https://github.com/TelegramMessenger/MTProxy
cd MTProxy
make && cd objs/bin

编译完会在 objs/bid*目录生成可执行文件mtproto-proxy 把这个可执行文件转移到你喜欢的目录

mv mtproto-proxy /usr/bin
cd /usr/bin
  1. 生成配置文件

获取secret,用于连接TG服务器的

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

获取proxy-multi.conf,TG官方的host,里面存放的是TG官方服务器的地址和端口,你需要代理访问的地址都在这里面,官方建议经常更新一下这个文件

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

生成一个密钥,这个密钥是要给客户端用的

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

以上命令会生成一个32位的字符串,copy下来,后面要用到。

完成之后,/usr/bin文件夹下面会有三个文件mtproto-proxyproxy-multi.confproxy-secret。配置文件获取完毕

  1. 创建Systemd service

创建一个system service可以很方便的管理你的mtproxy的启动、重启和查看状态等。

vi /etc/systemd/system/MTProxy.service

编辑MTProxy.service

[Unit]
Description=MTProxy
After=network.target

[Service]
Type=simple
WorkingDirectory=/usr/bin
ExecStart=/usr/bin/mtproto-proxy -u nobody -p 8888 -H 8080 -S <secret> --aes-pwd proxy-secret proxy-multi.conf -M 1
Restart=on-failure

[Install]
WantedBy=multi-user.target

其中secret是在第3步里面生成的客户端密钥,替换为你自己生成的字符串。 8888是内部查看服务状态的端口 8080是客户端连接用的端口,这里你可以自定义为你想开放的接口

千万别忘记还有防火墙要设置

firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-prot

保存MTProxy.service之后重载一下systemctl,并启动该服务

systemctl daemon-reload
systemctl restart MTProxy.service
//查看一下服务状态
systemctl status MTProxy.service

不出意外的话你会在控制台输出看到最后两行大概是长这样的

config_filename = 'proxy-multi.conf'
creating 1 workers
Started as [*.*.*.*:*:*:*]//这里是ip:端口:端口
configuration file proxy-multi.conf re-read successfully (797 bytes parsed), new configuration a main loop
Started as [*.*.*.*:*:*:*]//这里是ip:端口:端口
configuration file proxy-multi.conf re-read successfully (797 bytes parsed), new configuration a main loop

说明服务器已经正常跑起来了。你的MTProxy已经可以使用了。

阿里云的部分用户这里可能有一个注意事项,阿里云有的机器MTProxy获取不到外网IP的,绑定的是内部局域网IP,这样会导致即使你的服务没有任何问题的跑起来了,但是填到客户端里面客户端无法连接上代理。如何检测你的机器是不是能获取到外网地址,ifconfig一下,能看到你服务器的外网ip就可以,看不到的话就说明获取不到外网地址。如果看不到你的外网地址的话,在第四步的MTProxy.service文件里面使用--nat-info指定一下你的内网地址和外网地址。

WorkingDirectory=/usr/bin
ExecStart=/usr/bin/mtproto-proxy -u nobody -p 8888 -H 8080 -S <secret> --nat-info <内网地址>:<外网地址> --aes-pwd proxy-secret proxy-multi.conf -M 1

如果你想分享你的代理给亲朋友好友使用的话,你可以到TG里面注册你的代理,TG会生成分享连接

</div


Recommend

  • 74

    当你用Flask框架在本地完全开发好一个应用程序后,想部署到服务器上,让互联网用户可以访问它,这与搭建本地开发环境还是有一些不一样的地方。首先,我们假设在服务器上安装了CentOS-7系统,使用git来上传和后续更新程序源代码,由于Flask自带的开发Web服务器性能...

  • 40
    • Github github.com 7 years ago
    • Cache

    GitHub - TelegramMessenger/MTProxy

    README to build, simply run 'make'. Your binary will be objs/bin/mtproto-proxy to run mtproto-proxy: 1. Obtain a secret, used to connect to telegram servers. curl -s

  • 60

    基于CentOS7安装部署Oracle12c简介OracleDatabase,又名OracleRDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。Oracle数据库最新版本为OracleDatabase12c。Oracle数据库12c引入...

  • 14

    「漏洞扫描系统」CentOS7下安装部署巡风系统-51CTO.COM 「漏洞扫描系统」CentOS7下安装部署巡风系统 作者:walkingcloud 2022-02-14 07:47:30 巡风是一款适用于企业内网的漏洞快速应急、巡航扫描系统,通过...

  • 6

    centOS7 安装 seafile 并部署https踩坑分享 | python多版本问题 | yum无法使用问题 | seahub 无法启动 | systemctl中无法自启 seahub service | 使用 rc.local 自启seafile和seahub 一、安装 seafile

  • 8
    • eebond.github.io 3 years ago
    • Cache

    CentOS7 安装部署Shadowsocks

    之前安装的shadowsocks-libev有点不太好用了,端口直接被封,可能是加密协议的问题。 现在,用网上通用的脚本方法安装shadowsocks。 秋水逸冰的一键安装...

  • 12

    MTProxy 一键脚本 – Telegram 专用的轻量化代理工具 最近有人给我推荐了个代理软件,查了下发现是专门为 Telegram 开发的代理软件,代理服务端限制了客户端只允许访问 Telegram 的服务器。 优质加速器梯子推荐:

  • 12

    Linux - 无人值守安装服务 # 需求分析 - 使用光盘镜像来安装 Linux 系统的方式; 坦白讲, 该方法适用于只安装少量 Linux 系统的情况, 如果生产环境中有数百台服务器都需安装系统, 这种方式就不太适合; # 解决方案 -...

  • 6

    在Centos7.6上部署Docker环境以及安装docker-compose首页 - Mac & Linux/2019-08-21     毫无疑问,Do...

  • 8

    1. 简述静态网页和动态网页的区别。 2. 简述 Webl.0 和 Web2.0 的区别。 3. 安装tomcat8,配置服务启动脚本,部署jpress应用。 1、简述静态网页和动态网页的区别 静态网页:

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK