0%

MTproxy一款专为Telegram打造的代理

MTProxy 简介

MTProxy 是专为 Telegram 打造的代理工具,也只能代理 Telegram 。
比较轻量,无需每次启动 Telegram 都需要先启动代理软件,非常方便,占用较少的资源。
官方传送门:MTProxy

MTProxy 安装

安装依赖项

需要安装一些编译的必要工具,以及opensslzlib的开发包。

  • Debian/Ubuntu:

    1
    apt install git curl build-essential libssl-dev zlib1g-dev
  • CentOS/RHEL:

    1
    2
    yum install openssl-devel zlib-devel
    yum groupinstall "Development Tools"
  • Git获取MTProxy源代码:

    1
    2
    git clone https://github.com/TelegramMessenger/MTProxy
    cd MTProxy
    编译

    上面步骤完成,开始编译,运行 make, 编译完成的二进制文件会保存在 objs/bin/mtproto-proxy

    1
    2
    3
    make && cd objs/bin

    # 'cd objs/bin' 只是在编译完成后进入该目录

    要是编译失败了,执行 make clean 清理,再重试吧!

运行

  1. 获取用于连接到 Telegram 服务器的密钥

    1
    curl -s https://core.telegram.org/getProxySecret -o proxy-secret
  2. 获取 Telegram 配置文件,(配置有时候会变,官方建议每天更新)

    1
    curl -s https://core.telegram.org/getProxyConfig -o proxy-multi.conf
  3. 生成一个32位16进制 secret 秘钥,用于客户端连接到你的代理

    1
    head -c 16 /dev/urandom | xxd -ps
  4. 运行 mtproto-proxy:

    1
    2
    3
    ./mtproto-proxy -u nobody -p 8888 -H 443 -S 秘钥 --aes-pwd proxy-secret proxy-multi.conf -M 1

    # 记得把 '秘钥' 替换成第三步生成的秘钥

    参数说明:

    • 8888 本地监听端口,如无特殊需求保持默认即可
    • 443 代理端口,啥23336666,随意!
    • 秘钥 步骤三中生成的32位秘钥,你也可以设置多个秘钥: -S 秘钥1 -S 秘钥2
    • 1 是工作的进程数.如果你有一个配置很好的服务器,你可以增加工作进程数。
  5. 生成指定格式的链接,便于 Telegram 使用:tg://proxy?server=SERVER_NAME&port=PORT&secret=SECRET(或者让官方机器人帮你生成)。

  6. 在 Telegram 通过 @MTProxybot 注册你的代理。请认准官方认证标志

配置 Systemd

  1. 创建systemd系统服务文件,便于以后的管理和运行MTProxy

    1
    vi /etc/systemd/system/MTProxy.service
  2. 编辑并写入以下代码

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    [Unit]
    Description=MTProxy
    After=network.target

    [Service]
    Type=simple
    WorkingDirectory=/opt/MTProxy
    ExecStart=/root/MTProxy/objs/bin/mtproto-proxy -u nobody -p 8888 -H 443 -S 密匙 --aes-pwd /root/MTProxy/objs/bin/proxy-secret /root/MTProxy/objs/bin/proxy-multi.conf -M 1
    Restart=on-failure

    [Install]
    WantedBy=multi-user.target

    注意:

    • 替换自己的秘钥
    • 确保WorkingDirectory以及ExecStart内正确写明mtproto-proxy可执行文件的绝对路径。以及指定proxy-secret、proxy-multi.conf的路径也是绝对路径。
  3. 重新加载守护进程,让新的服务文件生效

    1
    systemctl daemon-reload
  4. 测试 MTProxy 服务进程

    1
    2
    3
    4
    systemctl restart MTProxy.service

    # 查看运行状态
    systemctl status MTProxy.service

    查看运行状态时,如果Active: active (running)就说明运行正常

  5. 把 MTProxy 设为开机启动

    1
    systemctl enable MTProxy.service
  6. 停止MTProxy的运行

    1
    systemctl stop MTProxy.service

其它

Telegram官网
Telegram第三方下载地址