«Telegram обошёл блокировку РКН» — нет, не Telegram

«Telegram обошёл блокировку РКН» — нет, не Telegram на хостинге 1BX.host

08.04.2026

«⚡️ Telegram обошёл блокировку прокси Роскомнадзором», «Команда мессенджера закрыла уязвимость в ClientHello», «Цифровое сопротивление возвращается — разработчики выпустили фикс!»

Спойлер: официальная команда Telegram не сделала для этого ровным счётом ничего, пока энтузиасты не принесли им готовое решение, разжёванное до конкретного байта. Дальше — как это было на самом деле.

Три месяца тишины


Слухи о том, что ТСПУ возьмутся за Telegram-прокси, ходили с начала 2026 года. У официальной команды было минимум три месяца, чтобы провести аудит своей реализации MTProxy. Код файла mtproto_tls_socket.cpp (в котором и была проблема) лежал в том же виде с ноября 2025 года. Команда Телеграм ждала и 1 апреля ТСПУ дёрнули рубильник.
А 31ого марта Паша с легкой руки и для поднятия деньжат разослал всем пользователям России сообщение мол "скоро вы не сможете оплатить премиум в Телеграм, купите его сейчас на 2 года за 2990р.!". Встроенный FakeTLS с маскировкой отвалился у подавляющего большинства пользователей в России. Прокси падают, коннекты таймаутятся. У Паши всё хорошо - считает выручку
Официальная Реакция Telegram? Молчание.

Кто реально взялся за работу

Пока СМИ ждали «официального обновления», участники сообщества вокруг прокси-сервера Telemt взяли ситуацию в свои руки, надели перчатки и давай анализировать дампы.
Алгоритм диагностики был прост до безобразия:
Перехватываем TLS-хэндшейк настоящего Chrome — который ТСПУ пропускает. Перехватываем хэндшейк Telegram — который блокируется. Меняем поля пакета по одному и гоняем на живой сети. В какой момент пакеты телеги перестают блокироваться, а пакеты от браузера начинают дропаться — в том поле и сидит сигнатура.
Через сутки картина стала ясной. Нашли конкретные байты(!!!), форкнули десктопный клиент, проверили на двух провайдерах всем сообществом — заработало. Детали тестирования намеренно не раскрываются — не стоит облегчать работу тем, кто фильтры настраивает. Они все таки получают зарплату за это

«Маскировка», за которую стыдно

FakeTLS — это попытка притвориться обычным HTTPS-трафиком. То есть как будто вы отправляете трафик на сайт. Чтобы DPI посмотрел на пакет и сказал: «А, это просто Васян ходит на сайт — пропускаем».

Что слал Telegram?

Ошибка 1 — несуществующий идентификатор расширения:

- S("\xfe\x02"_q);
 + S("\xfe\x0d"_q);
0xFE02 — это старый драфтовый мусор, которого нет ни в одном реальном браузере в 2026 году. 0xFE0D — стандартный IANA codepoint для Encrypted Client Hello (ECH), которое сегодня повсеместно использует, например, Cloudflare. Telegram годами слал в сеть расширение с идентификатором-призраком и называл это «маскировкой под браузер».

Ошибка 2 — математически кривой пакет:
- S("\x00\x20"_q);  // объявляем 32 байта
- R(20);            // а генерируем 20
+ R(32);            // теперь совпадает

Это поле — публичный ключ X25519, который по спецификации всегда занимает ровно 32 байта (256 бит). Код генерировал 20 байт вместо 32. Для DPI на ТСПУ это максимально простая для анализа аномалия: реальный клиент никогда не пришлёт X25519-ключ неправильной длины — это физически невозможно. Telegram слал математически невалидный пакет и называл это маскировкой.

Кража лавров

Сообщество оформило находки в Pull Request #30513, подробно расписав: что менять, почему и как. И даже с результатами тестирования на живых российских сетях! PR прошёл ревью внутри сообщества ещё до того, как официальная команда его увидела. В чате tdlib несколько раз поднимали эту тему, но разрабы Телеграм игнорировали вопросы.

Реакция Telegram Desktop: мейнтейнер делает коммит 407bf19 с комментарием «Fix parts of client hello generation. Inspired by wide internet discussions and #30513». Берут минимальный набор изменений из PR, сливают и на следующий день — заголовки про великую победу мессенджера над цензурой. Комьюнити в пресс-релизах не упомянули.

Ирония дня: john-preston (мейнтейнер tdesktop) сам подтвердил в треде PR, что tdlib содержит те же самые ошибки в ClientHello. Та же 0xFE02. Те же 20 байт вместо 32. Это значит, что iOS-клиент, Android-клиент и все библиотеки, написанные на tdlib, по-прежнему детектируются точно так же. Desktop получил заплатку. Остальные — ждут.

Как это выглядело в медиа

Паша Дуров празднует 'Победу'
Вышел пост от самого Дурова

Про 65 млн россиян, про банковский коллапс от блокировок, про «Цифровое сопротивление» — в общем, красиво. В конце — ключевая фраза: «On our end, we'll keep adapting — making Telegram's traffic harder to detect and block».

Вот так должен работать маркетинг на 10/10

«С нашей стороны». Мы будем адаптироваться... Мы!! Чувак, ваша сторона не делала ровно ничего, пока комьюнити не принесло вам готовый PR с байтами, тестами и объяснением на пальцах. «Наша сторона» в этой истории — это анонимные ребята в чатах, которые разбирали hex-дампы пока вы молчали три месяца. Хотя, честно говоря, вы молчали с 2018 года!

Это всего лишь хотфикс, а не решение

То, что сейчас исправили (и то не для всех) — необходимый минимум на данный момент, но не более. Карта детектируемых сигнатур в реализации FakeTLS намного длиннее двух исправленных строк:
Проблема Серьёзность
Padding target = ровно 513 байт → фиксированная длина всего ClientHello 🔴 Критическая
ECH payload с фиксированной длиной на весь процесс жизни приложения (singleton) 🔴 Критическая
ALPS-расширение с устаревшим codepoint 0x44CD вместо 0x4469 (актуален с Chrome 115) 🟠 Высокая
Darwin-ветка (#if TD_DARWIN) несёт cipher suites из эпохи TLS 1.2, удалённые Apple в 2021

🟠 Высокая
Равномерные inter-packet timings без jitter — статистически аномальны 🟠 Высокая
Фиксированные размеры TLS-записей (1380 / 4096 / 16384) — механистично 🟡 Средняя
После handshake ALPN декларирует h2/http/1.1, а идёт сырой MTProto 🔴 Критическая (отдельный трек)

Что дальше

Современные ТСПУ работают не только по статичным байтовым паттернам. Это ML-классификация: тайминги между пакетами, распределение размеров записей, поведение потока, концентрация соединений. Бюджет системы — 84+ млрд рублей. Статический TLS-хэндшейк против такого инструмента — не решение. Перекроют и этот фикс и снова будем не на связи

Почему мой MTProto не работает?

Сделали краткую таблицу состояния внедрения первых народных фиксов, касаемых MTProto в режиме EE (FakeTLS). Если у вас версия приложения младше - вы в пролете. Но только если вы не с нами конечно =)

Платформа Статус Версия Дата выпуска Pull Request
Windows Fixed ✅ 6.7.2 03.04.26 #30513
MacOS (Desktop) Fixed ✅ 6.7.2 03.04.26 #30513
MacOS (Native) ? ? ? ?
Linux Fixed ✅ 6.7.2 03.04.26 #30513
Android (Released Direct + Google Play) Fixed ✅ 12.6.4 07.04.2026 #1949 (коммит)
iOS In progress ⏳ - - #2089

Проверьте свою версию Телеграма, которой пользуетесь. Если она ниже указанной - НИКАКОЙ MTProto работать у вас не будет. Кроме нашего, конечно =)

Статья взята с Хабра, написана Давидом Осиповым.
Наша команда полностью солидарна с автором и обладала похожей информацией на момент событий, описанных в статье
Написать в