· 14 мин чтения

MTProto Proxy на Debian 12 и Ubuntu 22.04: установка и настройка

Семёнов Евгений Сергеевич, директор АйТи Фреш. За последние годы у моих клиентов и у меня самого количество запросов «почему Telegram не работает на рабочем компьютере» выросло кратно. MTProto-прокси — это родной для мессенджера способ обойти блокировки: минимум настроек, нет клиента, работает прозрачно. В этой статье я соберу весь свой опыт по развёртыванию MTProto на Debian и Ubuntu — с обфускацией, fake-TLS, systemd и практическими граблями, на которые я сам наступал.

Как работает MTProto Proxy

MTProto — это собственный протокол Telegram, и у него есть несколько режимов туннелирования. Клиент Telegram сразу знает, как подключаться через прокси: вы указываете адрес, порт, secret — и всё, трафик идёт через промежуточный сервер. С точки зрения наблюдателя пакеты выглядят как случайный шифрованный поток (или, в режиме fake-TLS, как обычный HTTPS-трафик к популярному сайту).

У нас на практике это самое ненавязчивое для пользователя решение: один раз настроил ссылку tg://proxy?... и забыл.

Требования к серверу

MTProto-прокси жрёт минимально. Для 100–500 пользователей хватит самого дешёвого VPS:

ПользователейvCPURAMТрафик/мес
до 501512 МБ50 ГБ
50–5001–21 ГБ500 ГБ
500–50002–42 ГБ2–5 ТБ
5000+4+4 ГБбез лимита

Локация — Нидерланды, Финляндия или Германия. Я беру провайдеров, которые не режут торрент-подобный трафик: Hetzner, Netcup, OVH.

Установка на Debian 12

Официальный репозиторий — github.com/TelegramMessenger/MTProxy. Собирается из исходников за 3 минуты.

apt update && apt install -y git curl build-essential libssl-dev zlib1g-dev
cd /opt
git clone https://github.com/TelegramMessenger/MTProxy.git
cd MTProxy
make

# Получаем secret от Telegram
curl -s https://core.telegram.org/getProxySecret \
  -o objs/bin/proxy-secret

# Получаем список серверов MTProto
curl -s https://core.telegram.org/getProxyConfig \
  -o objs/bin/proxy-multi.conf

# Генерируем secret для клиентов
head -c 16 /dev/urandom | xxd -ps

Результат последней команды — 32-символьная hex-строка. Это и есть secret, который раздаётся пользователям. Обычный формат — dd-префикс для обфускации: dd<hex>.

Systemd-юнит и запуск

Я всегда оборачиваю прокси в systemd — так можно настроить автозапуск, мониторинг и рестарт при падении.

# /etc/systemd/system/mtproxy.service
[Unit]
Description=MTProto Proxy
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 ddAB12CD34EF56AB78CD90EF12AB3456 \
  --aes-pwd proxy-secret proxy-multi.conf \
  -M 1 --domain www.cloudflare.com
Restart=on-failure
RestartSec=5
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable --now mtproxy
systemctl status mtproxy

Параметр -H 443 — внешний порт, на котором клиенты подключаются. Я всегда использую 443 или 8443 — они не вызывают подозрений у DPI.

Fake-TLS для максимальной маскировки

Простая обфускация dd-префиксом — это минимум. Продвинутый режим — fake-TLS, когда прокси отвечает на handshake как настоящий HTTPS-сервер с валидным сертификатом указанного домена. В моей практике этот режим пережил много волн блокировок, тогда как простой MTProto пропадал.

Для fake-TLS secret формируется так: берём 16 случайных байтов, дописываем hex-представление домена-маски (например, www.cloudflare.com), добавляем префикс ee.

python3 -c "
import binascii
domain = 'www.cloudflare.com'
secret = 'ee' + binascii.hexlify(__import__('os').urandom(16)).decode() \
  + binascii.hexlify(domain.encode()).decode()
print(secret)"

Этот secret и раздаём клиентам. В строке запуска оставляем параметр --domain www.cloudflare.com. DPI видит TLS-хендшейк к cloudflare и пропускает.

Генерация ссылки-приглашения

Клиенту вместо скриншотов IP и порта удобно дать одну ссылку. Telegram её распознаёт и открывает настройки прокси автоматически.

SERVER=95.111.222.33
PORT=443
SECRET=ee83f4b...cloudflare_hex
echo "https://t.me/proxy?server=$SERVER&port=$PORT&secret=$SECRET"

Я всегда отправляю пользователям именно такую ссылку через корпоративный чат — один клик, и прокси настроен.

Безопасность и защита от злоупотреблений

MTProto-прокси — лакомый кусок для ботов и перепродавцов. Если не закрыть сервер, он нагреется за пару недель.

Кейс: 600 сотрудников за 24 часа

В конце 2025 года ко мне обратилась юридическая фирма в центре Москвы. 600 сотрудников, корпоративный Telegram как основной канал общения с клиентами. После очередной волны ограничений половина не могла писать клиентам. За 24 часа мы подняли MTProto-прокси на VPS Hetzner (1 vCPU, 2 ГБ RAM, 950 руб/мес), настроили fake-TLS с маской на cloudflare, сделали страничку внутри корпоративного портала с одной ссылкой-приглашением. Через неделю — 580 активных подключений, потребление трафика 4.2 ТБ, uptime 100%. Стоимость работы — 18 000 руб. разовых плюс аренда VPS.

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

Подниму MTProto-прокси за 2 часа

Выбор VPS, установка, fake-TLS, ссылка-приглашение, рассылка сотрудникам. Для компаний от 10 до 2000 пользователей. Или регулярное обслуживание уже работающего прокси — обновления, смена secret, мониторинг.

Телефон: +7 903 729-62-41
Telegram: @ITfresh_Boss
Семёнов Евгений Сергеевич, директор АйТи Фреш

FAQ — MTProto Proxy

Чем MTProto лучше обычного VPN?
MTProto работает только для Telegram, не требует клиентского приложения кроме самого мессенджера, встроенная поддержка во всех клиентах и минимальные накладные расходы. Это облегчённое решение для одной задачи — доступа к Telegram.
Что такое fake-TLS?
Fake-TLS — режим, при котором прокси маскируется под обычный HTTPS-сайт. Для наблюдателя трафик выглядит как соединение с google.com или cloudflare.com, а не как прокси.
Нужен ли отдельный сервер?
Да, MTProto-прокси должен стоять на сервере за пределами ограниченной юрисдикции. Обычно это VPS за 200–500 руб/мес в Нидерландах, Финляндии или Германии.
Сколько клиентов держит один сервер?
На 1 vCPU и 1 ГБ RAM — около 500 активных подключений без проблем. На мощном железе — до 50000 клиентов на одной виртуалке.
Можно ли запускать в Docker?
Да, официальный образ telegrammessenger/proxy работает отлично. Но я предпочитаю нативную установку через systemd — проще отлаживать и обновлять.

Подпишитесь на рассылку ITfresh

Раз в неделю — практические гайды для руководителя IT и сисадмина: безопасность, 1С, миграции, резервные копии, лайфхаки из реальных проектов.

Реквизиты оператора персональных данных

ООО «АЙТИ-ФРЕШ», ИНН 7719418495, КПП 771901001. Юридический адрес: 105523, г. Москва, Щёлковское шоссе, д. 92, корп. 7. Контакт: info@itfresh.ru, +7 903 729-62-41. Оператор обрабатывает e-mail подписчика в целях рассылки информационных и рекламных материалов до момента отзыва согласия.