MTProto Proxy на Debian 12 и Ubuntu 22.04: установка и настройка
Привет! Я, Семёнов Евгений Сергеевич, директор ITFresh. За последние годы мы с клиентами бесчисленное количество раз слышали один и тот же вопрос: «Почему Telegram не работает на рабочем компьютере?» Представьте, как часто! Ответ простой: MTProto-прокси. Это родной, максимально надёжный способ обхода любых блокировок, придуманный самими разработчиками Telegram. Что удобно, ему не нужен отдельный клиент, да и настроек минимум — всё работает абсолютно прозрачно, никаких лишних движений. Здесь я поделюсь своим опытом развёртывания MTProto на Debian и Ubuntu. Мы поговорим об обфускации, fake-TLS, systemd и, конечно, о тех «граблях», на которые я сам однажды наступил.
Как работает MTProto Proxy
MTProto — это же собственная разработка Telegram, и у него есть специальные режимы для туннелирования трафика. Самое классное, что клиент Telegram моментально «понимает», как подключиться через такой прокси: достаточно просто указать адрес, порт и secret. И всё, вуаля! Весь ваш трафик полетел через промежуточный сервер. Со стороны пакеты выглядят как совершенно случайный шифрованный поток. А если включить fake-TLS, то это и вовсе будет не отличить от обычного HTTPS-трафика к какому-нибудь популярному сайту. Ну разве не удобно?
- Серверная часть? Это открытая C-реализация, созданная самими разработчиками Telegram.
- Клиентская часть уже встроена во все официальные приложения Telegram.
- Шифрование использует MTProto 2.0, а для дополнительной защиты есть опциональная обфускация префикса.
- Важно помнить: трафик идёт только для Telegram. Если нужен доступ к обычным сайтам, понадобится отдельный прокси или VPN.
У нас на практике это самое ненавязчивое для пользователя решение: один раз настроил ссылку tg://proxy?... и забыл.
Требования к серверу
MTProto-прокси практически не нагружает сервер, это фантастика! Забудьте о гигабайтах оперативной памяти. Представьте: даже для обслуживания 100–500 активных пользователей вполне хватит самого бюджетного VPS.
| Пользователей | vCPU | RAM | Трафик/мес |
|---|---|---|---|
| до 50 | 1 | 512 МБ | 50 ГБ |
| 50–500 | 1–2 | 1 ГБ | 500 ГБ |
| 500–5000 | 2–4 | 2 ГБ | 2–5 ТБ |
| 5000+ | 4+ | 4 ГБ | без лимита |
Мы в ITFresh предпочитаем локации в Нидерландах, Финляндии или Германии. Главное, чтобы провайдеры лояльно относились к торрент-подобному трафику и не «резали» скорость. Проверено: 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-прокси — это настоящая приманка для ботов и недобросовестных перепродавцов. Если вовремя не «прикрыть» сервер от публичного доступа, он быстро «нагреется» и перестанет работать буквально за пару недель. Стоит быть внимательным.
- Firewall. Открываем только 443 на мир. SSH переносим на нестандартный порт и ограничиваем по ключу.
- fail2ban. Защита от брутфорса SSH.
- Сменные secret. Раз в 3 месяца меняю secret и рассылаю новую ссылку.
- Ограничение по странам. Через ipset+geoip можно запретить подключения из нецелевых регионов.
- Мониторинг. Количество активных соединений смотрю через
ss -tn state established sport = :443 | wc -l.
Кейс: 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.
Обслуживание
- Раз в неделю обновляем
proxy-multi.confизgetProxyConfig— Telegram иногда меняет внутренние серверы. - Раз в месяц
apt upgradeи перезапуск. - Логи —
journalctl -u mtproxy -n 200. - Подозрение на утечку secret? Мы сразу генерируем новый и оперативно рассылаем всем пользователям.
Подниму 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 — проще отлаживать и обновлять.
