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 для тг
люто благодарна например))))))))