Развертывание собственного MTProto Proxy на VPS через Docker

Данная инструкция позволяет развернуть собственный MTProto Proxy для Telegram на VPS под управлением Linux.

Важно: Для работы рекомендуется использовать VPS с белым IP-адресом и открытым TCP-портом 443.

Требования

Проверка Docker:

docker --version
docker compose version

Проверка доступности порта 443

Проверьте, не занят ли порт:

ss -tulpn | grep :443

Если вывод пустой — порт свободен.

Если порт используется Nginx, Apache, Xray, 3X-UI или другим сервисом, потребуется:

Важно: MTProto наиболее стабильно работает именно на порту 443.

Создание рабочей директории

mkdir -p ~/mtproto-proxy
cd ~/mtproto-proxy

Создание файла docker-compose.yml

Создайте файл:

nano docker-compose.yml

Содержимое:

services:
  mtproto-proxy:
    image: telegrammessenger/proxy:latest
    container_name: mtproto-proxy
    restart: unless-stopped
    network_mode: host
    volumes:
      - ./data:/data

Сохраните файл.


Запуск контейнера

docker compose up -d

Проверьте запуск:

docker ps

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

docker logs -f mtproto-proxy

Через несколько секунд появится строка вида:

tg://proxy?server=1.2.3.4&port=443&secret=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Где:


Подключение Telegram

Настройки → Данные и память → Прокси → Добавить прокси

Или откройте ссылку:

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

Настройка Firewall

UFW
ufw allow 443/tcp
ufw reload
iptables
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

Проверка доступности порта

nc -vz IP_СЕРВЕРА 443

или

telnet IP_СЕРВЕРА 443

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

docker logs mtproto-proxy 2>&1 | grep tg://

Просмотр состояния контейнера

docker ps

docker stats mtproto-proxy

docker logs mtproto-proxy

docker logs -f mtproto-proxy

Обновление контейнера

docker compose pull
docker compose up -d

Перезапуск контейнера

docker restart mtproto-proxy

docker stop mtproto-proxy

docker start mtproto-proxy

Удаление контейнера

docker stop mtproto-proxy

docker rm mtproto-proxy

docker rmi telegrammessenger/proxy:latest

Использование собственного домена

proxy.example.com

Подключение:

tg://proxy?server=proxy.example.com&port=443&secret=СЕКРЕТ
Важно: Домен должен корректно разрешаться в IP-адрес вашего VPS.

Типовые проблемы и решения

Проблема Причина Решение
Telegram не подключается Закрыт порт 443 Проверить Firewall
Контейнер не запускается Порт 443 занят Освободить порт
Ссылка не появляется в логах Ошибка запуска Проверить docker logs
Подключение постоянно обрывается Фильтрация провайдером Использовать другой VPS
Не открывается tg:/ ссылка Ограничение браузера Добавить прокси вручную
Важно: Если на сервере уже используется VLESS Reality на порту 443 (например, через Xray или 3X-UI), необходимо либо выделить дополнительный IP-адрес для MTProto, либо использовать отдельный VPS.

Antistatus 16.06.2026 08:40