Зачем поднимать свой прокси, если есть публичные
Публичные MTProto прокси работают — до тех пор, пока Роскомнадзор не добавит их IP в чёрный список. Живут такие прокси от нескольких дней до нескольких месяцев, потом перестают работать без предупреждения.
Свой прокси работает пока вы его не выключите. IP только у вас — никто другой его не палит. Если хотите раздать прокси друзьям и семье, это тоже решается в несколько строк конфига.
Расходы: любой VPS за 3–5€/месяц в Европе. Для MTProto прокси даже самый базовый тариф избыточен — протокол крайне легковесный.
Что нужно для начала
- VPS с Ubuntu 22.04 или Debian 12, KVM-виртуализация, белый IPv4. Подойдёт любой европейский хостер — например, netcup (промокод 36nc17698518190 даёт -5€ для новых пользователей).
- Доступ по SSH — терминал на Mac/Linux или PuTTY/Windows Terminal на Windows.
- Docker и Docker Compose — установим в процессе, если ещё нет.
- Telegram-аккаунт для проверки прокси.
Установка Docker на сервер
Подключитесь к серверу по SSH: ssh root@ВАШ_IP. Затем установите Docker одной командой — curl -fsSL https://get.docker.com | sh. Это официальный скрипт от Docker Inc., он определяет дистрибутив и ставит нужные пакеты автоматически.
После завершения проверьте: docker --version — должно вывести версию. Если видите ошибку "Permission denied", добавьте пользователя в группу docker командой usermod -aG docker $USER и перелогиньтесь.
Создание конфига MTProto прокси
Создайте рабочую директорию: mkdir ~/mtproto && cd ~/mtproto. Внутри создайте файл docker-compose.yml командой nano docker-compose.yml.
Используем образ telegrammessenger/mtproto-proxy — это официальная реализация от Telegram. Секрет генерируется командой openssl rand -hex 16 — результат вставьте в поле SECRET.
- services:
- mtproto:
- image: telegrammessenger/mtproto-proxy:latest
- restart: always
- ports:
- - "443:443"
- environment:
- - SECRET=ваш_секрет_из_32_hex_символов
- - PORT=443
- volumes:
- - ./proxy-secret:/data/secret
- - ./proxy-config:/data/config
Запуск и проверка
Запустите прокси: docker compose up -d. Первый запуск скачает образ (~50 МБ) и запустит контейнер в фоне.
Проверьте логи: docker compose logs -f mtproto. В выводе должна быть строка вроде "MTProto proxy started" и ваш PUBLIC_IP. Если видите ошибку про порт 443 — значит он занят nginx или другим сервисом, замените на 8443.
Прокси автоматически перезапустится при перезагрузке сервера благодаря restart: always.
Подключение прокси в Telegram
После успешного запуска добавьте прокси в Telegram. Формат ссылки для подключения:
tg://proxy?server=ВАШ_IP&port=443&secret=ваш_секрет
Откройте эту ссылку в браузере на телефоне с Telegram — приложение предложит добавить прокси. Или добавьте вручную: Настройки → Конфиденциальность и безопасность → Тип соединения → Добавить прокси.
Если хотите поделиться прокси с другими — отправьте им ту же ссылку в любом мессенджере. Лимитов на количество пользователей нет: MTProto прокси масштабируется хорошо.
Секрет с fake-TLS (обход DPI)
Обычный MTProto прокси в России распознаётся ТСПУ по характерному рукопожатию. Чтобы этого избежать, используйте fake-TLS секрет — он маскирует трафик под обычный HTTPS к известному домену.
Для этого секрет должен начинаться с dd и содержать hex-закодированное доменное имя. Например, секрет для маскировки под google.com генерируется так: printf "dd%s" $(echo -n "google.com" | xxd -p | tr -d '\n')
С fake-TLS секретом замените SECRET в docker-compose.yml на результат этой команды и перезапустите: docker compose up -d --force-recreate. Ссылку для Telegram обновите с новым секретом.