Сервера MTProto → MTProto прокси в Docker: запуск по шагам

MTProto прокси в Docker: запуск по шагам

Docker превращает установку прокси в одну команду: образ содержит всё, вам остаётся задать секрет, домен и порт. Ниже — путь от пустого VPS до рабочей ссылки tg://proxy. Если своё поднимать не планируете — серверы в таблице выше уже работают.

Подключить srv1Подключить srv2Подключить srv3Все сервера

Инструкция общая для популярных реализаций; конкретные имена переменных смотрите в документации выбранного образа.

Подготовка

На VPS с Ubuntu или Debian установите Docker официальным скриптом. Убедитесь, что порт 443 свободен и открыт в файрволе. Выберите домен-легенду для FakeTLS — крупный сайт с TLS 1.3, не заблокированный.

Сгенерируйте 16 случайных байт и запишите их в hex — это ключ. Полный секрет для клиентов — ee + ключ + hex домена.

Запуск

Одна команда docker run с параметрами: проброс 443:443, переменная с секретом, переменная с доменом FakeTLS, флаг перезапуска always. Контейнер поднимется за секунды. Проверьте логами, что он слушает порт и не ругается на секрет.

Опционально добавьте рекламный тег из @MTProxybot — тогда у пользователей появится спонсорский канал.

Проверка

С телефона на мобильном интернете нажмите ссылку tg://proxy?server=IP&port=443&secret=ee… В настройках прокси должен появиться пинг. Проверьте отправку фото и звонок. Затем — с домашнего Wi-Fi: разные сети, разные фильтры.

Откройте https://IP в браузере с подменой хоста на домен легенды: должен открыться настоящий сайт, а не ошибка.

Обслуживание

Обновление — docker pull и пересоздание контейнера, секрет при этом не меняется. При блокировке IP — смена адреса у хостинга или новый VPS; ссылку придётся раздать заново, если не используете доменное имя с записью A.

Совет: сразу заведите имя вида proxy.ваш-домен и раздавайте ссылку с ним — тогда смена IP сведётся к правке DNS.

Частые ошибки первого запуска

Контейнер поднялся, но Telegram пишет «недоступен»: чаще всего порт 443 закрыт файрволом хостинга или уже занят другим сервисом — проверьте, кто слушает порт, и правила входящих соединений в панели провайдера. Вторая по частоте причина — секрет в переменной окружения указан с префиксом ee и доменом, тогда как образ ждёт голый 32-символьный ключ.

Контейнер перезапускается по кругу: смотрите первые строки логов — обычно там неверный формат домена или отсутствие прав на порт ниже 1024 без нужной capability. Решается запуском с правильным пользователем или пробросом высокого порта наружу через сетевой уровень.

  1. Установите Docker. Официальный скрипт установки на чистом VPS.
  2. Сгенерируйте ключ и выберите домен. 16 байт в hex; домен — крупный сайт с TLS 1.3.
  3. Запустите контейнер на 443. Секрет и домен — переменными, restart=always.
  4. Проверьте с мобильного интернета. Пинг в Telegram, фото, звонок.

Вопросы и ответы

Нужен ли root внутри контейнера?

Нет, стандартные образы работают от обычного пользователя.

Можно ли запустить два прокси на одном VPS?

Да, на разных IP или портах; на одном 443 — только через мультиплексор.

Сколько трафика съест контейнер сам по себе?

Ничего: расход равен трафику пользователей.

Читайте также

← Сервера MTProto