TL;DR: Обычный MTProxy с Fake TLS маскирует протокол, но палится при активном зондировании. Telemt при попытке «пощупать» ваш прокси извне отдаёт настоящий сайт с настоящим TLS-сертификатом. Для DPI и краулеров это
сайт.ru. Для вас это стабильный Telegram.

Привет, Хабр!
Это продолжение серии про обход блокировок Telegram. В первой части мы подняли MTProxy на nineseconds/mtg с Fake TLS. Работает, подключаешь и забываешь. Но есть нюанс.
Fake TLS маскирует протокол. DPI смотрит на пакеты и видит обычный TLS к сайт.ru. Всё красиво, пока к вашему серверу не придёт краулер и не попробует на него зайти.
Проблема: active probing
Представьте, что DPI не просто анализирует пакеты, а сам подключается к подозрительному IP и проверяет: «а правда ли это 1c ru?». Такое называется active probing, и это не теория, а реальная практика.
# Краулер делает: curl -v --resolve сайт.ru:443:<ваш_IP> https://сайт.ru/ # mtg отвечает: # Connection reset / Timeout / Мусор # Вывод: это не сайт.ru. Блокируем.
У nineseconds/mtg на это нет ответа. Если клиент приходит без правильного секрета, mtg просто дропает соединение. Краулер это видит и делает выводы.
Telemt: прокси, который прикидывается сайтом
Telemt написан на Rust + Tokio. Ключевая фича: transparent TCP splice. Если клиент приходит без секрета, Telemt не дропает соединение, а прозрачно перенаправляет его на реальный сайт.
Никакого MITM. Telemt не подменяет сертификаты, не генерирует фейки. Он просто склеивает TCP-потоки. Краулер получает настоящий ответ от сайт.ru с настоящим GlobalSign-сертификатом. Претензий нет.

Почему стоит перейти с mtg
Особенность | nineseconds/mtg | Telemt |
Язык | Go | Rust + Tokio |
Active probing | ❌ Дропает | ✅ Проксирует реальный сайт |
Контейнер | Обычный образ | Distroless, non-root |
Конфиг | CLI-флаги | TOML-файл |
Пользователи | Один секрет | Каждому свой + квоты |
Upstream | Только direct | Direct + SOCKS5 |
Статус проекта | 🔴 Заброшен (Но разработка может возобновится) | 🟢 Активно развивается |
Шаг 1. Подготовка
Docker и Compose на месте?
docker --version docker compose version
Если занят порт 443, освобождаем его:
ss -tulpn | grep 443
Шаг 2. Секрет
В Telemt секрет — это просто 16 рандомных байт.
openssl rand -hex 16 # Результат (запишите): a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6
Шаг 3. Конфигурация
Создаём рабочую папку:
mkdir -p /root/mtproxy-telemt cd /root/mtproxy-telemt
Пишем telemt.toml:
# telemt.toml show_link = ["user1"] [general] prefer_ipv6 = false fast_mode = true use_middle_proxy = false [general.modes] classic = false secure = false tls = true [server] port = 443 listen_addr_ipv4 = "0.0.0.0" listen_addr_ipv6 = "::" [censorship] tls_domain = "сайт.ru" # домен для SNI (пример! см. ниже) mask = true # Включает проксирование реального сайта mask_port = 443 fake_cert_len = 2048 [access.users] user1 = "ВАШ_СЕКРЕТ_ИЗ_ШАГА_2" [[upstreams]] type = "direct" enabled = true weight = 10
⚠️ сайт.ru — это пример из документации telemt. НЕ используйте его в продакшене: если все читатели статьи поставят один домен, это само по себе станет маркером.
Выберите свой: сайт.ru, сайт.ru и т.д.
Шаг 4. Docker Compose
Создаем docker-compose.yml:
services: telemt: image: whn0thacked/telemt-docker:latest container_name: telemt restart: unless-stopped environment: RUST_LOG: "info" volumes: - ./telemt.toml:/etc/telemt.toml:ro ports: - "443:443/tcp" security_opt: - no-new-privileges:true cap_drop: - ALL cap_add: - NET_BIND_SERVICE read_only: true tmpfs: - /tmp:rw,nosuid,nodev,noexec,size=16m deploy: resources: limits: cpus: "0.50" memory: 256M
Шаг 5. Запуск и проверка
Запускаем:
docker compose up -d
Берем ссылку из логов:
docker compose logs | grep "tg://proxy"
Проверяем маскировку (active probing тест)
curl -v -I --resolve petrovich.ru:443:<ВАШ_IP> https://сайт.ru/
Если в ответе Server certificate: CN=*.сайт.ru и HTTP/1.1 200 OK — вы невидимы.
Фичи, которых нет в mtg
Индивидуальные секреты: Удаляйте утекшие ключи без смены пароля для всех остальных.
SOCKS5 upstream: Возможность перенаправлять трафик через Tor или другой прокси.
Hardening: Distroless-образ и запуск от non-root пользователя максимально усложняют взлом сервера.
Какой домен выбрать для маскировки
Хорошие варианты | Плохие варианты |
|
|
|
|
|
|
Итоги
Мы подняли MTProxy, который при active probing ведет себя как настоящий веб-сервер. Telemt закрывает главную дыру Fake TLS и добавляет возможности для полноценного администрирования.
В третьей части выйдем за рамки Telegram. Поднимем Hysteria 2 — прокси на QUIC, который обходит TCP-троттлинг. Следите!
🎁 Бонус: Где взять готовые прокси?
Если у вас сейчас нет под рукой свободного сервера или вы хотите просто протестировать, как работает MTProto с Fake TLS на практике, можно воспользоваться готовыми решениями от сообщества.
Одним из самых популярных агрегаторов является канал @ProxyMTProto.

Как это работает:
Заходите в канал @ProxyMTProto.
Выбираете любой свежий пост с прокси.
Нажимаете кнопку «Connect».

В появившемся окне Telegram (как на скриншоте ниже) нажимаете «Включить».
🛑🛑🛑Важно понимать: Бесплатные прокси часто спонсируются. Это значит, что после подключения в самом верху вашего списка чатов может появиться «Спонсорский канал». Это стандартная механика Telegram, которая позволяет владельцам прокси окупать аренду серверов. Ваш трафик при этом остается зашифрованным и недоступным для владельца прокси.
