Python自动化脚本:2分钟快速搭建MTProto代理服务(支持多端口负载均衡)

安装docker:

复制代码
apt install -y docker docker-compose curl

手动创建脚本,你可以在服务器上执行

复制代码
nano mtproxy.sh

黏贴代码

复制代码
#!/bin/bash

WORKDIR=$(dirname $(readlink -f $0))
cd $WORKDIR


function get_ip_public() {
    public_ip=$(curl -s https://api.ip.sb/ip -A Mozilla --ipv4)
    [ -z "$public_ip" ] && public_ip=$(curl -s ipinfo.io/ip -A Mozilla --ipv4)
    echo $public_ip
}


function install_docker() {
    if ! command -v docker &> /dev/null; then
        echo "Docker 未安装,正在安装..."
        if [[ -f /etc/redhat-release ]]; then
            yum install -y docker
        elif [[ -f /etc/debian_version ]]; then
            apt-get update && apt-get install -y docker.io
        fi
        systemctl enable docker && systemctl start docker
    fi
    echo "Docker 已安装。"
}

function config_mtp() {
    echo -e "请输入 MTProto 代理的端口(默认 443):"
    read -p "(默认端口: 443):" input_port
    [ -z "${input_port}" ] && input_port=443

    echo -e "请输入需要伪装的域名(默认 itunes.apple.com):"
    read -p "(默认域名: itunes.apple.com):" input_domain
    [ -z "${input_domain}" ] && input_domain="itunes.apple.com"

    echo -e "请输入 MTProto Secret(留空则随机生成):"
    read -p "(自动生成 Secret):" input_secret
    [ -z "${input_secret}" ] && input_secret=$(openssl rand -hex 16)
 echo "PORT=${input_port}" > .env
    echo "FAKE_TLS_DOMAIN=${input_domain}" >> .env
    echo "SECRET=${input_secret}" >> .env
}

# 运行 Docker 容器
function run_mtp() {
    echo "正在启动 MTProto Proxy..."

    docker run -d \
        --name=mtproto-proxy \
        --restart=always \
        -p ${PORT}:443 \
        -e SECRET=${SECRET} \
        -e FAKE_TLS_DOMAIN=${FAKE_TLS_DOMAIN} \
        telegrammessenger/proxy:latest

    sleep 2

    # 生成 Telegram 代理链接
    public_ip=$(get_ip_public)
    client_secret="ee${SECRET}$(xxd -pu <<<${FAKE_TLS_DOMAIN} | sed 's/0a//g')"

    echo

✅ 获取代理链接

相关推荐
大飞记Python36 分钟前
实战分享:一键自动化下载指定版本的Chrome及Chromedriver(附Python源码)
chrome·python·自动化
北城笑笑1 小时前
Server 15 ,VMware ESXi 实战指南:Ubuntu 20.04.6 版本虚拟机静态 IP 配置、分辨率固定及远程访问实践
linux·运维·ubuntu·1024程序员节
汪汪大队u1 小时前
IPv4与IPv6的对比
运维·网络·智能路由器
苹果醋32 小时前
学习札记-Java8系列-1-Java8新特性简介&为什么要学习Java8
java·运维·spring boot·mysql·nginx
or77iu_N2 小时前
Linux 查找文件
linux·运维·服务器
笑洋仟2 小时前
nvm切换node版本-jenkins上编译
运维·jenkins
zz-zjx2 小时前
MySQL 索引深度指南:原理 · 实践 · 运维(适配 MySQL 8.4 LTS)
运维·数据库·mysql
JavaOpsPro2 小时前
审计 jenkins获取构建历史,生成excel
运维·jenkins·excel
小小的木头人3 小时前
Nagios Core + 插件 + Web 界面
运维
<但凡.3 小时前
Linux修炼:基础IO(二)
linux·运维·服务器·1024程序员节