Рубрики
Интернет

Установка MTProto прокси на VPS: свой proxy для Telegram

MTProto — это протокол от Telegram, который позволяет поднять собственный прокси-сервер и пускать через него трафик мессенджера. Разберём весь процесс от начала до конца.

Что нужно перед началом

  • VPS с Ubuntu 20.04/22.04 или Debian 11/12 (минимум 512 МБ RAM, 1 ядро)
  • Root-доступ или пользователь с sudo
  • Открытый порт (обычно 443 или любой другой, например 8888)
  • Немного терпения

Вариант 1: официальный Python-сервер (простой способ)

Telegram выпустил официальную реализацию на Python — MTProto Proxy.

Шаг 1 — Обновляем систему

apt update && apt upgrade -y
apt install -y python3 python3-pip git curl

Шаг 2 — Клонируем репозиторий

cd /opt
git clone https://github.com/TelegramMessenger/MTProtoProxy.git
cd MTProtoProxy

Шаг 3 — Генерируем секрет

Секрет — это уникальный ключ вашего прокси. Без него подключиться нельзя.

python3 -c "import secrets; print(secrets.token_hex(16))"

Сохраните полученную строку, она понадобится позже. Выглядит примерно так:

a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6

Шаг 4 — Запускаем прокси

python3 mtproto_proxy.py --port 443 --secret a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6

Если порт 443 занят (например, nginx), используйте любой другой — 8888, 2083, 9443.

Вариант 2: 9seconds/mtg (Go-реализация, рекомендуется)

Это более производительная и современная реализация на Go. Меньше потребляет ресурсов, легче настраивается.

Шаг 1 — Устанавливаем mtg

curl -L https://github.com/9seconds/mtg/releases/latest/download/mtg-linux-amd64 -o /usr/local/bin/mtg
chmod +x /usr/local/bin/mtg

Проверяем:

mtg --version

Шаг 2 — Генерируем секрет

mtg generate-secret --hex

Программа сама выдаст готовый секрет. Запишите его.

Шаг 3 — Создаём конфигурационный файл

nano /etc/mtg.toml

Вставляем содержимое:

secret = "ВАШ_СЕКРЕТ_ЗДЕСЬ"
bind-to = "0.0.0.0:443"

[network]

timeout = «10s»

[stats]

bind-to = «127.0.0.1:3129»

Шаг 4 — Создаём systemd-сервис

Чтобы прокси запускался автоматически после перезагрузки:

nano /etc/systemd/system/mtg.service
[Unit]
Description=MTG MTProto Proxy
After=network.target

[Service]
ExecStart=/usr/local/bin/mtg run /etc/mtg.toml
Restart=always
RestartSec=5
User=nobody

[Install]
WantedBy=multi-user.target

Активируем и запускаем:

systemctl daemon-reload
systemctl enable mtg
systemctl start mtg
systemctl status mtg

Вариант 3: Docker (самый быстрый способ)

Если на VPS установлен Docker, это займёт буквально 2 минуты.

# Устанавливаем Docker, если ещё нет
curl -fsSL https://get.docker.com | sh

# Генерируем секрет
SECRET=$(openssl rand -hex 16)
echo "Ваш секрет: $SECRET"

# Запускаем контейнер
docker run -d \
  --name mtproto \
  --restart always \
  -p 443:443 \
  telegrammessenger/proxy:latest \
  -p 443 \
  -s $SECRET

Готово. Контейнер сам запустится после перезагрузки сервера.

Настройка фаервола

Обязательно откройте выбранный порт:

# UFW (Ubuntu)
ufw allow 443/tcp
ufw reload

# iptables (Debian/другие)
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables-save > /etc/iptables/rules.v4

Получаем ссылку для подключения

После запуска прокси формируем ссылку вручную:

tg://proxy?server=ВАШ_IP&port=443&secret=ВАШ_СЕКРЕТ

Или в виде https://t.me/proxy?... — оба формата работают.

Можно открыть прямо в браузере — Telegram предложит добавить прокси автоматически.

Скрытый режим (FakeTLS)

Чтобы трафик выглядел как обычный HTTPS и не блокировался провайдером, используют секрет с префиксом ee и доменом для маскировки:

# В mtg
mtg generate-secret --hex --domain google.com

Полученный секрет начинается на ee... — это признак FakeTLS. Трафик прокси при этом маскируется под обращение к google.com, что существенно затрудняет блокировку.

Полезные команды для проверки

# Смотрим логи
journalctl -u mtg -f

# Проверяем, слушает ли порт
ss -tlnp | grep 443

# Тест подключения с другой машины
nc -zv ВАШ_IP 443

Частые проблемы

ПроблемаПричинаРешение
Порт занятnginx/apache сидит на 443Используйте другой порт
Клиент не подключаетсяФаервол закрывает портПроверьте ufw status
Сервис падаетНедостаточно правЗапустите от root или проверьте User= в юните
Трафик блокируется провайдеромDPI определяет MTProtoВключите FakeTLS режим

Один ответ к “Установка MTProto прокси на VPS: свой proxy для Telegram”

даже я блондинка смогла сделать установку на vps mtproto для тг
люто благодарна например))))))))

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *