68 lines
2.7 KiB
Bash
Executable File
68 lines
2.7 KiB
Bash
Executable File
#!/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 "============================================================"
|