#!/bin/bash set -e # ============================================================ # MTProxy (Fake TLS) setup script for Telegram # Uses: nineseconds/mtg:2 Docker image # Port: 9443 (proxy), 8889 (stats) # ============================================================ echo "==> [1/6] Проверка и установка Docker..." if ! command -v docker &>/dev/null; then echo " Docker не найден. Устанавливаем..." curl -fsSL https://get.docker.com | sudo sh sudo systemctl enable --now docker echo " Docker установлен и запущен." else echo " Docker уже установлен: $(docker --version)" fi echo "" echo "==> [2/6] Генерация секрета (Fake TLS, домен: www.google.com)..." SECRET=$(sudo docker run --rm nineseconds/mtg:2 generate-secret --hex www.google.com) echo " Секрет сгенерирован: $SECRET" echo "" echo "==> [3/6] Создание конфига mtg.toml..." printf 'secret = "%s"\nbind-to = "0.0.0.0:3128"\nfake_tls_domain_check = false\n' "$SECRET" > mtg.toml echo " Файл mtg.toml создан:" cat mtg.toml echo "" echo "==> [4/6] Остановка и удаление старого контейнера (если есть)..." sudo docker stop mtproto-proxy 2>/dev/null || true sudo docker rm mtproto-proxy 2>/dev/null || true echo " Готово (или контейнера не было — это нормально)." echo "" echo "==> [5/6] Запуск нового контейнера mtproto-proxy..." sudo docker run -d \ --name=mtproto-proxy \ --restart=always \ -p 9443:3128 \ -p 8889:3129 \ -v "$(pwd)/mtg.toml:/config.toml:ro" \ nineseconds/mtg:2 echo " Контейнер запущен." echo "" echo "==> [6/6] Формирование ссылки для подключения..." SERVER_IP=$(curl -fsSL https://ifconfig.me 2>/dev/null || hostname -I | awk '{print $1}') SECRET_B64=$(echo -n "$SECRET" | xxd -r -p | base64 | tr '+/' '-_' | tr -d '=') TG_LINK="tg://proxy?server=${SERVER_IP}&port=9443&secret=${SECRET_B64}" echo "" echo "============================================================" echo " MTProxy успешно развёрнут!" echo "------------------------------------------------------------" echo " Сервер : $SERVER_IP" echo " Порт : 9443" echo " Секрет : $SECRET" echo "" echo " Ссылка для Telegram:" echo " $TG_LINK" echo "" echo " Также можно открыть в браузере (заменит tg:// на https://):" echo " https://t.me/proxy?server=${SERVER_IP}&port=9443&secret=${SECRET_B64}" echo "============================================================"