TeleMT — это open-source MTProto-прокси на Rust, который полностью повторяет официальный алгоритм прокси Telegram. На чистом Debian или Ubuntu вся установка укладывается в 10–15 минут: скачать бинарник, прописать telemt.toml, поднять службу systemd, забрать готовую ссылку через локальный API. Для совсем нетерпеливых в репозитории есть скрипт install.sh, который делает то же самое одной командой.
Прежде чем тратить вечер, главное ограничение середины 2026 года. В российских сетях эффективность MTProxy заметно просела. С 1 апреля ТСПУ научились выделять Fake-TLS по отпечатку клиента, а в конце мая пошли массовые отказы. Свой прокси ставится легко. Работает он уже не везде и не всегда. Дальше будет и инструкция, и разбор, где она упирается в стену.
Зачем поднимать собственный MTProto-прокси
Прокси встроен в саму архитектуру Telegram, поэтому свой сервер не ломает протокол, а использует штатный механизм. Типичный сценарий: оператор режет скорость до серверов мессенджера, и прямое соединение начинает захлёбываться на загрузке фото и видео. Прокси прокидывает трафик через арендованный VPS и возвращает нормальную скорость.
TeleMT написан на Rust поверх Tokio, держит десятки тысяч одновременных подключений и потребляет мало памяти. Ставится как обычный systemd-сервис, без Docker и лишних обвязок. Для одного человека или семьи хватает самой дешёвой виртуалки.
Что нужно перед установкой
Список короткий, но без любого пункта дальше не поедет:
- Сервер на Debian-подобной системе: Debian, Ubuntu, Mint, Kali. Root-доступ обязателен.
- Свободный порт. Лучше 443 — его сложнее заблокировать выборочно, потому что под ним живёт весь HTTPS.
- Домен для маскировки (
tls_domain). Подойдёт любой реально существующий сайт с валидным TLS, под который прокси будет притворяться. - Утилита
jqдля разбора ответа API:apt install jq.
Установка TeleMT: бинарник и служба systemd
Скачайте готовую сборку под вашу архитектуру. Команда сама определяет процессор и тип libc:
wget -qO- "https://github.com/telemt/telemt/releases/latest/download/telemt-$(uname -m)-linux-$(ldd --version 2>&1 | grep -iq musl && echo musl || echo gnu).tar.gz" | tar -xz mv telemt /bin chmod +x /bin/telemt
Альтернатива в одну строку — официальный установщик. Он удобен, но это curl | sh, то есть вы запускаете чужой код от root, не глядя. Прочитайте скрипт перед запуском:
curl -fsSL https://raw.githubusercontent.com/telemt/telemt/main/install.sh | sh
Сгенерируйте секрет — 16 байт в шестнадцатеричном виде. Сохраните результат, он понадобится в конфиге:
openssl rand -hex 16
Создайте директорию и сам конфиг:
mkdir /etc/telemt nano /etc/telemt/telemt.toml
Минимальный рабочий telemt.toml выглядит так. Замените tls_domain на свой сайт, а секрет — на тот, что выдал OpenSSL:
[general] use_middle_proxy = false [general.modes] classic = false secure = false tls = true [server] port = 443 [server.api] enabled = true [censorship] tls_domain = "example.ru" [access.users] user1 = "ваш_секрет_32_hex"
Заведите отдельного пользователя под службу и отдайте ему права на конфиг:
useradd -d /opt/telemt -m -r -U telemt chown -R telemt:telemt /etc/telemt
Создайте unit systemd:
nano /etc/systemd/system/telemt.service
[Unit] Description=Telemt After=network-online.target Wants=network-online.target [Service] Type=simple User=telemt Group=telemt WorkingDirectory=/opt/telemt ExecStart=/bin/telemt /etc/telemt/telemt.toml Restart=on-failure LimitNOFILE=65536 AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE NoNewPrivileges=true [Install] WantedBy=multi-user.target
Строки с AmbientCapabilities здесь не для красоты: без CAP_NET_BIND_SERVICE непривилегированный пользователь не сможет занять 443-й порт. Перечитайте конфигурацию systemd и запустите службу:
systemctl daemon-reload systemctl start telemt systemctl status telemt systemctl enable telemt
Если статус зелёный, прокси уже слушает порт. Осталось получить ссылку.
Конфиг telemt.toml: режимы dd и ee, маскировка под домен
В секции [general.modes] три переключателя, и важен только один. Режим classic мёртв. Режим secure (он же dd) заворачивает трафик в мусор по образцу Shadowsocks, но у него заметный паттерн, который DPI давно вылавливает. Рабочий вариант на 2026 год — tls = true, режим ee, или Fake-TLS.
Fake-TLS оборачивает соединение так, что его начало выглядит как обычное TLS 1.3-рукопожатие к домену из tls_domain. Для системы фильтрации это похоже на заход в интернет-банк или на крупный сайт. Поэтому домен берут безобидный и желательно «слишком важный, чтобы его рубить целиком».
Параметр use_middle_proxy для личного прокси держите выключенным. Он нужен только если вы цепляете спонсорский канал и статистику через бота, и заодно немного меняет маршрут трафика. Для доступа к самому Telegram он не требуется.
Получение рабочей ссылки и подключение
Ссылку отдаёт локальный API, а не вы руками. Запросите её так:
curl -s http://127.0.0.1:9091/v1/users | jq
В ответе будет строка вида tg://proxy?server=...&port=443&secret=ee.... Откройте её на устройстве с Telegram, и прокси добавится сам. Секрет в режиме ee начинается с ee — это и есть Fake-TLS.
Здесь живёт популярное заблуждение. Бот @MTProxybot тоже выдаёт ссылку, и многие копируют именно её. Она не подключится. Бот нужен только для привязки рекламного канала (ad_tag); рабочую ссылку формирует исключительно ваш сервер через API. Хотите домен вместо IP в ссылке — пропишите public_host в секции [general.links].
По умолчанию одной ссылкой пользуется сколько угодно человек. Ограничить число уникальных IP на пользователя можно через user_max_unique_ips, а несколько отдельных ссылок завести, добавив пользователей в [access.users].
Ограничения и реальные риски, о которых молчат гайды
Самая честная часть. MTProxy создавался против блокировок по IP: Telegram менял адреса быстрее, чем регулятор успевал их вносить в реестр. Этот этап давно пройден. Теперь фильтрация смотрит не на адрес сервера, а на поведение трафика.
1 апреля 2026 года произошёл перелом. По данным разборов SecurityLab и Хабра, ТСПУ начали распознавать Fake-TLS по отпечаткам JA3/JA4 — хешам параметров TLS ClientHello. Telegram-клиент «здоровается» с сервером чуть иначе, чем Chrome или Safari, и именно на эту разницу нацелились новые правила. Разработчики TeleMT утверждают, что проблема отпечатка закрыта в свежих версиях клиентов Telegram, и советуют обновить приложение.
Но картина не сходится в одну точку. В конце мая пользователи снова столкнулись с массовыми отказами MTProto-прокси; источники «Кода Дурова» предположили новую уязвимость в механизме, а провайдеры заговорили о блокировке отпечатков Chrome и частично протокола TCP-RAW. Эти детали не получили подтверждения в крупных изданиях, так что относитесь к ним как к версии, а не как к доказанному факту. Параллельно, по сообщениям, фильтрация сместилась с отдельных адресов на целые ASN-подсети и задела не только MTProxy, но и VLESS, WireGuard и ряд других протоколов.
Что из этого следует для вас. Свой TeleMT почти наверняка поднимется без проблем и будет работать на «домашнем» провайдере и за рубежом. В мобильных сетях РФ он может отваливаться, и единого рецепта, который держится месяцами, сейчас нет. Часть людей вытягивает связь каскадом через российский сервер, выводя трафик уже с зарубежного — конфиг это позволяет через [[upstreams]]. Гарантий это не даёт.
Ещё одно ограничение, не связанное с блокировками: звонки через MTProxy не идут. Telegram гоняет голос через SOCKS5, который замаскировать нельзя, и прокси их попросту не обслуживает.
MTProxy — инструмент двойного назначения. Эта инструкция описывает настройку собственного сервера для легального доступа к легальным сервисам. Прежде чем разворачивать прокси, проверьте действующее законодательство вашей страны и условия провайдера: правила вокруг средств обхода ограничений быстро меняются. Не используйте прокси для обхода блокировок там, где это запрещено, и не раздавайте ссылки публично. Когда задача решается штатными средствами, есть смысл рассмотреть и законные варианты.
Частые вопросы
Нужен ли домен для TeleMT?
Обязателен только параметр tls_domain — это сайт, под который маскируется трафик, и он указывается в конфиге. Свой домен в ссылке не нужен, но если хочется видеть имя вместо IP, привяжите его через public_host.
Чем режим dd отличается от ee?
dd обфусцирует трафик по образцу Shadowsocks и давно распознаётся DPI. ee (Fake-TLS) притворяется HTTPS-соединением к реальному домену. На 2026 год осмысленно использовать только ee.
Почему ссылка от @MTProxybot не подключается?
Бот формирует ссылку только для привязки рекламного канала через ad_tag. Рабочую ссылку отдаёт ваш сервер: запросите её командой curl к /v1/users.
Работают ли звонки через MTProxy?
Нет. Голосовой трафик Telegram идёт через SOCKS5, который не маскируется, поэтому MTProxy звонки не проксирует.
Где взять исходники и официальную документацию?
Сборки, конфиги и подробные сценарии лежат в репозитории проекта, включая раздел Quick Start и FAQ на русском.