Личный MTProxy нужен в двух случаях. Первый, Telegram периодически висит на подключении или медленно грузит медиа. Второй, вы не хотите зависеть от случайных публичных прокси, которые умирают в самый неподходящий момент. Собственный сервер обычно дает более предсказуемую скорость и меньше сюрпризов.
Используйте MTProxy ответственно и только в рамках законов вашей страны. Инструкция подходит для личной настройки доступа к Telegram, но не гарантирует обход любых ограничений, не заменяет VPN и не делает трафик полностью анонимным. Если Telegram будет официально заблокирован в России или изменятся технические условия работы сервиса, просим считать эту инструкцию нерабочей и утратившей актуальность.
Но у MTProxy есть границы. MTProxy не заменяет VPN, не делает весь трафик анонимным и не скрывает IP-адрес от владельца прокси. Если сервер ваш, контроль хотя бы остается у вас. В основе инструкции ниже лежат официальное описание MTProxy и репозиторий Telegram, но без мусора из чужих «волшебных» скриптов.
MTProxy проксирует только Telegram. Сайты, почта, браузер, YouTube и остальной трафик через MTProxy не пойдут.
Что нужно для быстрой настройки личного MTProxy для Telegram
- VPS с Linux, лучше Ubuntu 22.04, 24.04 или Debian 12
- Публичный IPv4-адрес
- root или sudo
- Свободный внешний TCP-порт, обычно 443
Порт 443 удобен не потому, что он «магический», а потому что почти везде открыт и выглядит привычно. Если на сервере уже висит nginx или другой сервис на 443, берите другой внешний порт и подставляйте его дальше в команду и ссылку подключения.
Пошаговая установка MTProxy на VPS за 5 минут
Ниже путь без Docker. Формально у Telegram есть zero-config контейнер, но официальный Docker-образ давно не обновлялся, а в README репозитория прямо есть пометка, что образ устарел. Для личного сервера спокойнее собрать бинарник из исходников и сразу завернуть процесс в systemd.
1. Ставим зависимости и собираем MTProxy
sudo apt update
sudo apt install -y git curl build-essential libssl-dev zlib1g-dev ca-certificates
cd /opt
sudo git clone https://github.com/TelegramMessenger/MTProxy.git mtproxy
cd /opt/mtproxy
sudo make
sudo mkdir -p /opt/mtproxy/data
sudo curl -fsSL https://core.telegram.org/getProxySecret -o /opt/mtproxy/data/proxy-secret
sudo curl -fsSL https://core.telegram.org/getProxyConfig -o /opt/mtproxy/data/proxy-multi.conf
SECRET=$(openssl rand -hex 16)
echo "$SECRET"
Команда в конце выведет ваш базовый secret длиной 32 hex-символа. Сохраните строку сразу. Базовый secret нужен серверу. Для клиентской ссылки мы чуть позже добавим к нему префикс dd, чтобы включить padding. Такой режим прямо описан в README MTProxy.
2. Создаем systemd-сервис
sudo tee /etc/systemd/system/mtproxy.service >/dev/null <<EOF
[Unit]
Description=MTProxy
After=network.target
[Service]
Type=simple
WorkingDirectory=/opt/mtproxy/objs/bin
ExecStart=/opt/mtproxy/objs/bin/mtproto-proxy -u nobody -p 8888 -H 443 -S SECRET_ИЗ_ПРЕДЫДУЩЕЙ_КОМАНДЫ --aes-pwd /opt/mtproxy/data/proxy-secret /opt/mtproxy/data/proxy-multi.conf -M 1
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable --now mtproxy
sudo systemctl status mtproxy --no-pager
В строке ExecStart замените SECRET_ИЗ_ПРЕДЫДУЩЕЙ_КОМАНДЫ на реальное значение. Параметр -M 1 означает один worker. Для личного прокси на небольшом VPS чаще всего хватает. Порт 8888 нужен для локальной статистики и проверки работы сервиса.
3. Если включен UFW, открываем внешний порт
sudo ufw allow 443/tcp
Если вместо 443 выбрали другой порт, откройте именно его.
Как получить ссылку MTProxy для Telegram
Сервер запускается с базовым secret, а клиенту удобнее отдавать secret с префиксом dd. Префикс включает random padding на стороне клиента. На практике такой вариант обычно логичнее, чем голый secret.
CLIENT_SECRET="ddВАШ_32_СИМВОЛЬНЫЙ_SECRET"
echo "https://t.me/proxy?server=IP_ИЛИ_ДОМЕН_СЕРВЕРА&port=443&secret=$CLIENT_SECRET"
Откройте полученную ссылку на телефоне или ПК, Telegram сам предложит добавить прокси. Формат t.me/proxy у Telegram официальный. После подключения в приложении появится значок щита.
Как проверить, что личный MTProxy действительно работает
Минимальная проверка очень простая. Сначала сервис должен быть активен в systemd. Потом можно посмотреть локальную статистику.
systemctl status mtproxy --no-pager
wget -qO- http://127.0.0.1:8888/stats
Если Telegram подключился, сообщения уходят и медиа грузятся без бесконечного «Connecting...», прокси жив. Если сервис запущен, а клиент не цепляется, чаще всего причина одна из трех: занят порт, в ссылке ошибка в secret, или провайдер режет маршрут так, что одного MTProxy уже мало.
Почему «5 минут» работают не всегда
Честные пять минут получаются только для базовой рабочей схемы. Этого обычно хватает для личного использования. Но дальше начинаются нюансы, о которых в коротких гайдах любят молчать.
- MTProxy не скрывает IP от владельца сервера. Telegram прямо пишет, что оператор прокси может видеть IP-адрес и время подключений, хотя читать переписку и видеть аккаунт он не может.
- MTProxy не равен VPN. Telegram сам советует поверх MTProxy использовать доверенный VPN, если вы опасаетесь серьезного мониторинга или DPI.
- Fake TLS не равен «поставил за минуту и забыл». Полноценная схема с TLS emulation, доменом и SNI уже требует отдельной настройки и не укладывается в честный экспресс-старт.
- Публичные proxy-ссылки тоже несут риск. Есть показательный разбор риска, где клик по proxy-ссылке помогает раскрыть реальный IP на стороне атакующего сервера. Для личного сервера проблема решается просто: не нажимайте чужие ссылки, генерируйте свои.
Что еще стоит доделать после быстрой установки MTProxy
Официальная документация советует обновлять конфиг Telegram хотя бы раз в сутки, потому что маршрутная конфигурация меняется. Лучше сделать сразу, иначе через неделю можно снова получить «вчера работало, сегодня нет».
sudo tee /etc/cron.d/mtproxy-update >/dev/null <<EOF
17 4 * * * root curl -fsSL https://core.telegram.org/getProxyConfig -o /opt/mtproxy/data/proxy-multi.conf && systemctl restart mtproxy
EOF
Если нужен не только личный доступ, но и статистика через Telegram, тогда можно зарегистрировать прокси у @MTProxyBot и добавить тег через параметр -P. Для личного сервера без монетизации шаг необязателен.
Когда личный MTProxy для Telegram не лучший выбор
Личный MTProxy хорош, когда нужна точечная связь именно для Telegram. Если задача шире, например открыть сайты, почту, внешние сервисы и вообще весь трафик устройства, нужен VPN или другая маршрутизация. Если задача жестче, например минимизация метаданных перед провайдером и оператором канала, одного MTProxy тоже мало.
Еще один сценарий, где совет не работает, это сервер без свободного внешнего порта или VPS, который уже обвешан панелями, веб-серверами, чужими скриптами и непонятными правилами firewall. Там «быстрая настройка» превращается в раскопки старых конфликтов.
FAQ по настройке личного MTProxy для Telegram
MTProxy может читать мои сообщения в Telegram?
Нет. Telegram указывает, что оператор MTProxy не может читать сообщения и не видит ваш аккаунт. Но оператор сервера видит IP-адрес подключения и время обращений.
Нужно ли обязательно использовать порт 443?
Нет. Можно использовать любой открытый TCP-порт. Просто 443 чаще всего удобнее и привычнее.
Зачем нужен префикс dd в secret?
Префикс dd включает random padding на стороне клиента. Для быстрого личного прокси такой вариант обычно предпочтительнее голого secret.
Почему не Docker, если нужен быстрый старт?
Быстрый старт через Docker возможен, но официальный образ давно не обновлялся. Для личного сервера сборка из официального репозитория выглядит надежнее.
Что делать, если MTProxy запустился, а Telegram все равно не подключается?
Проверьте три вещи: правильный порт, правильный secret в ссылке и firewall. Если с сервером все в порядке, а соединения все равно нет, проблема может быть уже на стороне маршрута или фильтрации провайдера.
Вывод
Личный MTProxy за пять минут, это реальная задача, если не пытаться автоматизировать все чужими скриптами и не притворяться, будто MTProxy решает вообще все сетевые проблемы. Рабочая схема выглядит просто: чистый VPS, сборка из официального исходника, systemd, свой secret, клиентская ссылка с префиксом dd и ежедневное обновление конфигурации. Для личного Telegram такого набора обычно хватает с запасом. Если нужна более жесткая маскировка под TLS или защита всего трафика, дальше уже начинается другая архитектура, и там «быстрый старт» заканчивается.