Что такое MTProto прокси и зачем он нужен
MTProto, собственный протокол шифрования Telegram, — это одно. А вот MTProto прокси — уже совсем другая история, по сути, специальный сервер-посредник. Что он делает? Принимает все подключения от Telegram-клиентов, затем мастерски маскирует этот трафик под обычный HTTPS (например, может притвориться сайтом cloudflare.com или любым другим проверенным доменом). И лишь после этого, через защищенный туннель, данные отправляются прямиком на серверы Telegram.
Зачем же нужен такой прокси, спросите вы? Чаще всего его используют, чтобы Telegram работал там, где его официально заблокировали — вспомните Иран, Китай или строгие корпоративные файрволы. У нас, например, он оказался невероятно удобен для создания единой точки выхода для всей компании, обеспечивая при этом жесткий контроль доступа. Просто выдаем каждому сотруднику личный ключ (тот самый "secret"), и никаких проблем!
Что это даёт бизнесу
- Полный корпоративный контроль? Легко! Каждый пользователь получает свой, персональный ключ.
- Мониторинг в реальном времени: кто сейчас подключён, сколько трафика потребляет, и, конечно, с каких IP-адресов.
- Независимость от блокировок и DPI
- Трафик не проходит через чужие сервисы
- Один-единственный сервер без труда выдерживает больше 300 одновременных подключений. Впечатляет, правда?
- Отключить пользователя можно за секунду
- Неважно, где вы: в офисе, в заграничной командировке или в регионе с блокировками. Ваш Telegram будет работать безупречно – везде.
- А скорость? Просто феноменальная! Потому что это прямое подключение, никаких замедлений от VPN-оверхеда.
- Смотрите и отправляйте фото и видео даже в тех местах, где обычный Telegram уже давно сдался.
- Забудьте про лишние установки! Всё, что вам понадобится — это просто ввести адрес прокси. Удобно, правда?
Архитектура: как это работает
При включённом USE_MIDDLE_PROXY = True трафик идёт через официальные Telegram relay-серверы. Это рекомендуемый режим: большинство хостингов блокируют прямые соединения к Telegram CDN, а через relay надёжно работают в том числе фото и видео.
TLS-маскировка работает через секрет формата ee<hex>636c6f7564666c6172652e636f6d: префикс ee означает fake-TLS, а последняя часть — «cloudflare.com» в HEX. DPI-системы видят легитимный HTTPS, а не Telegram.
Что понадобится
| VPS сервер | Debian 12 или Ubuntu 22.04. От 512 МБ RAM, 1 CPU. ~5–10 ГБ трафика в месяц на 20 активных пользователей. Порт 443 должен быть открыт. |
| Рекомендуемые хостинги | Hetzner (Германия / Финляндия), DigitalOcean, Vultr. Регион: Frankfurt, Helsinki, Amsterdam — хороший пинг из России. |
| Python 3.7+ | Обычно уже есть в Debian/Ubuntu. |
| SSH-доступ | Root или sudo. Windows: PuTTY или Windows Terminal. |
| Время | 15–30 минут. |
Установка шаг за шагом
Подключение и первоначальная настройка
Подключитесь по SSH и обновите систему:
# Подключиться ssh root@<IP_СЕРВЕРА> # Обновить пакеты apt update && apt upgrade -y # Установить необходимые утилиты apt install -y git curl wget nano ufw fail2ban # Защита SSH от брутфорса systemctl enable fail2ban && systemctl start fail2ban
Установка зависимостей
# Проверить Python python3 --version # Если нет — установить apt install -y python3 python3-pip # Ускорение криптографии (опционально) pip3 install cryptography
Установка mtprotoproxy
Используем оригинальный alexbers/mtprotoproxy — самый популярный open-source MTProto прокси на Python (asyncio, держит 300+ подключений на 1 ядре).
cd /opt git clone https://github.com/alexbers/mtprotoproxy.git cd /opt/mtprotoproxy
Конфигурация прокси
Откройте файл конфигурации:
nano /opt/mtprotoproxy/config.py
Пример рабочего конфига:
PORT = 443 USERS = { "admin": "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6", "employee1": "b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7", "employee2": "c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8", } TLS_DOMAIN = "cloudflare.com" USE_MIDDLE_PROXY = True # ОБЯЗАТЕЛЬНО PREFER_IPV6 = False TG_READ_TIMEOUT = 3600 TO_CLT_BUFSIZE = 33554432 # 32 МБ — не уменьшать! TO_TG_BUFSIZE = 33554432 IGNORE_TIME_SKEW = True CLIENT_KEEPALIVE = 600
Новый ключ для пользователя? Сгенерировать его очень просто:
python3 -c "import secrets; print(secrets.token_hex(16))"
| PORT = 443 | Стандартный HTTPS-порт. Открыт в 99% корпоративных и мобильных сетей. |
| USERS | Словарь пользователей: имя + 32-символьный hex-ключ. Каждый ключ = отдельная ссылка для подключения. |
| TLS_DOMAIN | Домен-маскировка. Cloudflare — идеально: трафик неотличим от обычного HTTPS. |
| USE_MIDDLE_PROXY | Подключение через официальные Telegram relay. Обязательно на большинстве хостингов — без него медиа не грузятся. |
| TO_CLT_BUFSIZE | Буфер 32 МБ. Критически важен для скорости видео. Не уменьшать. |
Systemd и файрвол
Создайте файл сервиса:
[Unit] Description=MTProto Proxy After=network.target [Service] Type=simple ExecStart=/usr/bin/python3 /opt/mtprotoproxy/mtprotoproxy.py WorkingDirectory=/opt/mtprotoproxy Restart=always RestartSec=5 LimitNOFILE=65536 LimitNPROC=65536 Nice=-10 CPUWeight=700 MemoryHigh=2G MemoryMax=3G StandardOutput=journal StandardError=journal [Install] WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable mtproxy
systemctl start mtproxy
systemctl status mtproxy # должно быть active (running)
Настраиваем файрвол: сначала SSH, а потом уже занимаемся всем остальным:
ufw allow 22/tcp # SSH — обязательно первым! ufw allow 443/tcp # MTProxy ufw enable ufw status verbose
Подключение в Telegram
Как только прокси запустится, вы тут же увидите в логе ссылки вот такого вида:
admin: tg://proxy?server=82.25.161.30&port=443&secret=ee...636c6f7564666c6172652e636f6d
Три формата: без префикса (обычный MTProto), с dd (обфускация), с ee (TLS-маскировка). Выдавайте пользователям ссылку с ee — она работает в максимальном числе сетей.
| Android | Настройки → Конфиденциальность → Прокси → «+» → MTProto |
| iOS | Настройки → VPN и прокси → Прокси → Добавить прокси (MTProto) |
| По ссылке | Просто перейдите по tg://proxy?... — Telegram сам предложит подключиться |
Видите иконку 🛡️ рядом с именем прокси? Знайте, это значит, что TLS-режим активен. А если появилась зелёная галочка — всё в порядке, прокси успешно подключён.
Управление пользователями
Добавить пользователя: отредактируйте /opt/mtprotoproxy/config.py, вставьте новую строку в USERS, перезапустите сервис.
Хотите удалить прокси? Просто уберите соответствующую строку из файла USERS, а затем перезапустите всю систему. И всё — ссылка сразу же перестанет работать.
Мониторинг и логи
Прокси выдает статистику в лог каждую минуту. Вот как это выглядит:
Stats for 22.03.2026 09:00:00 tg: 11 connects (4 current), 1.57 MB, 879 msgs test: 3 connects (1 current), 0.45 MB, 120 msgs
Важные настройки и ловушки
Диагностика типичных проблем
«Can't connect to proxy» в Telegram
systemctl is-active mtproxy (должно быть active), ss -tlnp | grep 443 (должен слушать), ufw status | grep 443 (правило ALLOW). Исправление: systemctl restart mtproxyСообщения отправляются, а фото и видео — никак? Что случилось?
USE_MIDDLE_PROXY = False — хостинг блокирует Telegram CDN. Поставьте True, перезапустите.Причина 2: IP забанен relay (в логах «0 bytes read»). Подождите 30–60 минут, убедитесь что нет health-check скриптов.
Причина 3: Маленький буфер. Установите
TO_CLT_BUFSIZE = TO_TG_BUFSIZE = 33554432.
Что означает загадочная строка «[Errno 104] Connection reset by peer» в логах?
systemctl stop mtproxy, подождите 30–60 минут, уберите все скрипты с TCP-коннектами к relay. Затем: systemctl start mtproxyСервер перезагрузили, а прокси почему-то не запускается?
systemctl enable mtproxy && systemctl start mtproxyИсходная проблема
Однажды мы заметили неприятную вещь: фото и видео перестали грузиться. Оказалось, наш прокси почему-то упрямо выбирал всего один случайный relay. Если этот relay вдруг оказывался недоступен, то соединение просто обрывалось — и так уже через каких-то 10 секунд!
Первая попытка: retry-патч
Мы сразу взялись за дело и решили добавить новую логику: пусть прокси перебирает relay с таймаутом в 1.5 секунды. Это, конечно, частично помогло, но одновременно с этим мы установили параметр PROXY_INFO_UPDATE_PERIOD = 300. И, к сожалению, это привело к совершенно новой проблеме.
Критическая ошибка: TCP health check
Мы не сдавались и пошли дальше: добавили скрипт, чтобы проверять relay через TCP connect к 24 разным серверам. Но Telegram, видимо, воспринял это как настоящий флуд и моментально заблокировал наш IP-адрес. Симптом был однозначный, просто кричащий: «[Errno 104] Connection reset» — а это означало полный паралич в работе.
Исправление: откат к оригиналу
В итоге, что мы сделали? Просто восстановили оригинальный файл mtprotoproxy.py с рабочего сервера, выкинули этот злосчастный PROXY_INFO_UPDATE_PERIOD и вернули все настройки к дефолтным значениям. И знаете что? Как только бан сняли, всё тут же заработало стабильно, как швейцарские часы.
Часто задаваемые вопросы
Что такое Корпоративный MTProto проксидля Telegram?
Зачем вообще нужен корпоративный MTProto прокси для Telegram? Да это же основа системного администрирования! Мы в ITFresh на своей практике видим, как он помогает не просто настроить, но и заметно оптимизировать всю IT-инфраструктуру. И мы сейчас разложим по полочкам все ключевые моменты, чтобы вы точно ничего важного не упустили.
Как правильно настроить Корпоративный MTProto проксидля Telegram?
Хотите, чтобы корпоративный MTProto прокси для Telegram работал как часы? Тогда вот что важно: строго следуйте пошаговой инструкции, которую мы подробно описали. И, что не менее критично, всегда учитывайте уникальные особенности вашей инфраструктуры, а также все требования безопасности. Мелочей тут нет!
Какие типичные ошибки возникают при работе с Корпоративный MTProto проксидля Telegram?
С какими проблемами чаще всего сталкиваются, когда настраивают корпоративный MTProto прокси для Telegram? Обычно это классика: некорректная конфигурация, не хватает прав доступа или версии просто несовместимы. Если вдруг что-то пойдёт не так и понадобится помощь, не ломайте голову! Просто обратитесь к специалистам ITFresh. Мы точно знаем, как сделать профессиональную настройку без лишних нервов.
Официальная документация: Telegram MTProto Documentation
Подпишитесь на рассылку ITfresh
Каждую неделю мы готовим свежие практические гайды, специально для IT-руководителей и сисадминов! Что внутри? Безопасность, 1С, миграции, резервные копии, а ещё куча лайфхаков, которые мы реально применяли в наших проектах. Только по делу, без воды!
Реквизиты оператора персональных данных
ООО «АЙТИ-ФРЕШ», ИНН 7719418495, КПП 771901001. Юридический адрес: 105523, г. Москва, Щёлковское шоссе, д. 92, корп. 7. Контакт: info@itfresh.ru, +7 903 729-62-41. Оператор обрабатывает e-mail подписчика в целях рассылки информационных и рекламных материалов до момента отзыва согласия.
Комментарии