Инфраструктура · Telegram · Безопасность

Корпоративный MTProto прокси
для Telegram

...

Мы подготовили полное руководство по настройке с нуля: здесь вы найдете все про архитектуру, конфигурацию и управление пользователями, а еще мы разберем самые типичные ошибки.

Автор Семёнов Евгений
Март 2026
Чтение ~15 мин
Содержание
01

Что такое MTProto прокси и зачем он нужен

MTProto, собственный протокол шифрования Telegram, — это одно. А вот MTProto прокси — уже совсем другая история, по сути, специальный сервер-посредник. Что он делает? Принимает все подключения от Telegram-клиентов, затем мастерски маскирует этот трафик под обычный HTTPS (например, может притвориться сайтом cloudflare.com или любым другим проверенным доменом). И лишь после этого, через защищенный туннель, данные отправляются прямиком на серверы Telegram.

Зачем же нужен такой прокси, спросите вы? Чаще всего его используют, чтобы Telegram работал там, где его официально заблокировали — вспомните Иран, Китай или строгие корпоративные файрволы. У нас, например, он оказался невероятно удобен для создания единой точки выхода для всей компании, обеспечивая при этом жесткий контроль доступа. Просто выдаем каждому сотруднику личный ключ (тот самый "secret"), и никаких проблем!

Важно
Прокси не шифрует содержимое сообщений — Telegram и без того зашифрован end-to-end. Прокси лишь скрывает сам факт использования Telegram и маршрутизирует трафик через нужный сервер.
02

Что это даёт бизнесу

Для компании
  • Полный корпоративный контроль? Легко! Каждый пользователь получает свой, персональный ключ.
  • Мониторинг в реальном времени: кто сейчас подключён, сколько трафика потребляет, и, конечно, с каких IP-адресов.
  • Независимость от блокировок и DPI
  • Трафик не проходит через чужие сервисы
  • Один-единственный сервер без труда выдерживает больше 300 одновременных подключений. Впечатляет, правда?
  • Отключить пользователя можно за секунду
Для пользователей
  • Неважно, где вы: в офисе, в заграничной командировке или в регионе с блокировками. Ваш Telegram будет работать безупречно – везде.
  • А скорость? Просто феноменальная! Потому что это прямое подключение, никаких замедлений от VPN-оверхеда.
  • Смотрите и отправляйте фото и видео даже в тех местах, где обычный Telegram уже давно сдался.
  • Забудьте про лишние установки! Всё, что вам понадобится — это просто ввести адрес прокси. Удобно, правда?
03

Архитектура: как это работает

При включённом USE_MIDDLE_PROXY = True трафик идёт через официальные Telegram relay-серверы. Это рекомендуемый режим: большинство хостингов блокируют прямые соединения к Telegram CDN, а через relay надёжно работают в том числе фото и видео.

Клиент Telegram
TLS-обфускация → выглядит как HTTPS к cloudflare.com
Прокси-сервер :443
MTProto туннель (зашифрованный)
Telegram Middle Proxy Relay
Внутренний протокол Telegram
Сервер Telegram DC1 / DC2 / DC4...

TLS-маскировка работает через секрет формата ee<hex>636c6f7564666c6172652e636f6d: префикс ee означает fake-TLS, а последняя часть — «cloudflare.com» в HEX. DPI-системы видят легитимный HTTPS, а не Telegram.

04

Что понадобится

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 минут.
05

Установка шаг за шагом

01

Подключение и первоначальная настройка

Подключитесь по SSH и обновите систему:

bash
# Подключиться
ssh root@<IP_СЕРВЕРА>

# Обновить пакеты
apt update && apt upgrade -y

# Установить необходимые утилиты
apt install -y git curl wget nano ufw fail2ban

# Защита SSH от брутфорса
systemctl enable fail2ban && systemctl start fail2ban
02

Установка зависимостей

bash
# Проверить Python
python3 --version

# Если нет — установить
apt install -y python3 python3-pip

# Ускорение криптографии (опционально)
pip3 install cryptography
03

Установка mtprotoproxy

Используем оригинальный alexbers/mtprotoproxy — самый популярный open-source MTProto прокси на Python (asyncio, держит 300+ подключений на 1 ядре).

bash
cd /opt
git clone https://github.com/alexbers/mtprotoproxy.git
cd /opt/mtprotoproxy
06

Конфигурация прокси

Откройте файл конфигурации:

nano /opt/mtprotoproxy/config.py

Пример рабочего конфига:

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 МБ. Критически важен для скорости видео. Не уменьшать.
Стоп
Не добавляйте PROXY_INFO_UPDATE_PERIOD = 300. Дефолт (24 часа) — оптимален. Частые обновления relay-листа запускают 16+ фоновых подключений к Telegram, что воспринимается как атака и приводит к бану IP.
07

Systemd и файрвол

Создайте файл сервиса:

/etc/systemd/system/mtproxy.service
[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
bash
systemctl daemon-reload
systemctl enable mtproxy
systemctl start mtproxy
systemctl status mtproxy   # должно быть active (running)

Настраиваем файрвол: сначала SSH, а потом уже занимаемся всем остальным:

UFW
ufw allow 22/tcp    # SSH — обязательно первым!
ufw allow 443/tcp   # MTProxy
ufw enable
ufw status verbose
Важно
Всегда открывайте SSH (порт 22) до включения UFW. Иначе потеряете доступ к серверу.
08

Подключение в 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-режим активен. А если появилась зелёная галочка — всё в порядке, прокси успешно подключён.

09

Управление пользователями

Добавить пользователя: отредактируйте /opt/mtprotoproxy/config.py, вставьте новую строку в USERS, перезапустите сервис.

Хотите удалить прокси? Просто уберите соответствующую строку из файла USERS, а затем перезапустите всю систему. И всё — ссылка сразу же перестанет работать.

Совет
Для крупной команды можно поднять второй инстанс: скопируйте папку в /opt/mtprotoproxy2, смените порт на 8888, создайте отдельный systemd-сервис mtproxy2.service — и получите независимый прокси для другой группы пользователей или резерв.
10

Мониторинг и логи

Прокси выдает статистику в лог каждую минуту. Вот как это выглядит:

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
# Логи в реальном времени
journalctl -u mtproxy -f
# Статус сервисов
systemctl status mtproxy mtproxy2
# Активные подключения
ss -tnp | grep python3 | wc -l
# Открытые порты
ss -tlnp | grep -E '443|8888'
# Трафик за сегодня
journalctl -u mtproxy --since today | grep Stats
# Генерация нового секрета
python3 -c "import secrets; print(secrets.token_hex(16))"
11

Важные настройки и ловушки

Стоп
Никогда не делайте TCP health check к relay-серверам Telegram. Скрипт, который проверяет доступность relay через TCP connect к 24 серверам, воспринимается как флуд. Telegram заблокирует ваш IP на своих relay. Симптом: «[Errno 104] Connection reset» и «0 bytes read» в логах. Лечение: ждать 30–60 минут.
Стоп
Не уменьшайте PROXY_INFO_UPDATE_PERIOD. Значение 300 (5 минут) — значит каждые 5 минут запускаются 16 фоновых подключений ко всем relay. Дефолт 24 часа — оптимален.
Помните
LimitNOFILE = 65536 — каждое подключение потребляет 2 файловых дескриптора. Без этого лимита сервис упадёт после ~500 одновременных подключений.
Совет
Оригинальный код mtprotoproxy + USE_MIDDLE_PROXY = True + дефолтные настройки = надёжная работа. Не нужно «улучшать» то, что уже работает.
12

Диагностика типичных проблем

Проблема

«Can't connect to proxy» в Telegram

Проверьте: systemctl is-active mtproxy (должно быть active), ss -tlnp | grep 443 (должен слушать), ufw status | grep 443 (правило ALLOW). Исправление: systemctl restart mtproxy
Проблема

Сообщения отправляются, а фото и видео — никак? Что случилось?

Причина 1: 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» в логах?

IP попал под rate-limit relay Telegram. Остановите сервис: systemctl stop mtproxy, подождите 30–60 минут, уберите все скрипты с TCP-коннектами к relay. Затем: systemctl start mtproxy
Проблема

Сервер перезагрузили, а прокси почему-то не запускается?

Забыли включить автозапуск: systemctl enable mtproxy && systemctl start mtproxy
История настройки · Март 2026

Исходная проблема

Однажды мы заметили неприятную вещь: фото и видео перестали грузиться. Оказалось, наш прокси почему-то упрямо выбирал всего один случайный 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 и вернули все настройки к дефолтным значениям. И знаете что? Как только бан сняли, всё тут же заработало стабильно, как швейцарские часы.

Комментарии

© 2026 ITfresh — IT-аутсорсинг для бизнеса

✈ Telegram: @ITfresh_Boss — задать вопрос

Часто задаваемые вопросы

Что такое Корпоративный 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 подписчика в целях рассылки информационных и рекламных материалов до момента отзыва согласия.