
Читаю ленту, и у меня откровенно горит.
«⚡️ Telegram обошёл блокировку прокси Роскомнадзором», «Команда мессенджера закрыла уязвимость в ClientHello», «Цифровое сопротивление возвращается — разработчики выпустили фикс!»
Спойлер: официальная команда Telegram не сделала для этого ровным счётом ничего, пока энтузиасты не принесли им готовое решение, разжёванное до конкретного байта. Дальше — как это было на самом деле.
Три месяца тишины
Слухи о том, что ТСПУ возьмутся за Telegram-прокси, ходили с начала 2026 года. У официальной команды было минимум три месяца, чтобы провести аудит своей реализации MTProxy. Код mtproto_tls_socket.cpp лежал в том же виде с ноября 2025 года.
Команда Телеграм ждала и 1 апреля ТСПУ дёрнули рубильник. Встроенный 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».
«С нашей стороны». Мы будем адаптироваться... Мы!!
Чувак, ваша сторона не делала ровно ничего, пока комьюнити не принесло вам готовый PR с байтами, тестами и объяснением на пальцах. «Наша сторона» в этой истории — это анонимные ребята в чатах, которые разбирали hex-дампы пока вы молчали три месяца. Хотя, честно говоря, вы молчали с 2018 года!
Маркетинг — десять из десяти. Инженерный процесс — ноль из десяти.
Это всего лишь хотфикс, а не решение
То, что смёрджили — необходимый минимум на данный момент, но не более. Карта детектируемых сигнатур в реализации FakeTLS намного длиннее двух исправленных строк:
Проблема |
Серьёзность |
|---|---|
Padding target = ровно 513 байт → фиксированная длина всего ClientHello |
? Критическая |
ECH payload с фиксированной длиной на весь процесс жизни приложения (singleton) |
? Критическая |
ALPS-расширение с устаревшим codepoint |
? Высокая |
Darwin-ветка ( |
? Высокая |
Равномерные inter-packet timings без jitter — статистически аномальны |
? Высокая |
Фиксированные размеры TLS-записей (1380 / 4096 / 16384) — механистично |
? Средняя |
После handshake ALPN декларирует |
? Критическая (отдельный трек) |
Последний пункт — отдельная история. Telegram заявляет в handshake «я HTTP/2», а затем гонит внутри TLS-туннеля голый MTProto без какого-либо HTTP-фрейминга. Для продвинутого L7-анализа это самостоятельная поведенческая сигнатура, которую не закрыть никаким JA3/JA4-шейпингом.
Современные ТСПУ работают не только по статичным байтовым паттернам. Это ML-классификация: тайминги между пакетами, распределение размеров записей, поведение потока, концентрация соединений. Бюджет системы — 84+ млрд рублей. Статический TLS-хэндшейк против такого инструмента — не решение.
Что дальше
Пока медиа праздновали, в сообществе Telemt уже проектировали фундаментальное решение — для tdlib, то есть для всех платформ сразу. С динамическими профилями браузеров (Chrome, Firefox, Safari, Edge), per-connection энтропией, шейпингом timing'ов и route-aware политикой. С нормальными тестами против реальных pcap-захватов и проверкой на трёх провайдерах, а не двумя строками diff.
Настоящее «цифровое сопротивление» — не громкие посты в Telegram-каналах от Павла. Это безымянные инженеры, которые по ночам реверсят правила DPI и пишут патчи за тех, кто получает за это зарплату и пиар.
Впрочем, один из участников комьюнити сказал это точнее, чем любой пресс-релиз:
«Комьюнити боролось не за сопротивление цензуре, а за продолжение пользования удобным мессенджером, в котором миллионы обычных людей пересылают котиков, фотки цветов, обсуждают в домовом чате кто загадил лифт, решают рабочие вопросы. Наши мамы, папы, бабули и дедули, шлющие открытки в чатах — не оппозиционеры, размахивающие флагом цифрового сопротивления. Это обычные люди. И таких 99,9% среди пользователей ТГ.»
Никакого «viva la resistance». Просто люди хотят пользоваться мессенджером. И другие люди починили это для них — пока корпорация писала красивые посты.
Upd. сегодня ребята из сообщества попытаются предложить патч и для iOS. Уже готов: https://github.com/TelegramMessenger/Telegram-iOS/pull/2089
Upd. 2026-04-05, 17:16 Мск. Ребята сделали таблицу состояния внедрения первых народных фиксов, касаемых EE (FakeTLS):
Платформа |
Статус |
Версия |
Дата выпуска |
Pull Request |
Windows |
Fixed ✅ |
6.7.2 |
03.04.26 |
|
Fixed ✅ |
6.7.2 |
03.04.26 |
||
? |
? |
? |
? |
|
Linux |
Fixed ✅ |
6.7.2 |
03.04.26 |
|
Android |
Fixed ✅ |
12.6.4 |
П.п. #1949 |
|
iOS |
In progress ⏳ |
- |
- |
P.S. Если занимаетесь низкоуровневым C++, сетевой безопасностью или просто хотите сделать что-то реально полезное — ищите сообщество Telemt. Там есть задачи, с которыми стоит помочь.
Vitaliy-L
Спасибо всем, кто не жалеет своё время и делает работу с целью заботы об остальных, а не с целью пиара.
А Паша так не хорохорился когда его французы за мягкое взяли. Понты. Не более.
achekalin
Говорили тогда, что, смотрите, привыкнет чувак к круасанам, раздобреет, размякнет...
И, да, Паша бы пояснил, чему служил сбор денег за подписку за сутки до официального отключения "средства доставки подписки".
datadigger
Очевидно, для него ТГ просто бизнес, ничего личного
EvilTeacher
Ну так детишкам на молочишко надо собирать...
tba
Учитывая количество детишек
questor
ну так и для нас телеграм - это просто мессенджер котиков пересылать. но взорвали все социальные связи
dom1n1k
Я до сих пор не понимаю, что все так возбудились на эту историю с подпиской.
По-моему, посыл был совершенно понятный: пропадают физические возможности оплаты, поэтому если тебе нужен премиум, надежнее будет купить его сейчас. А что будет дальше, фиг знает. Ну а не нужен, не покупай.
YouROK
Как пример, фирма закрывается, но предлагает тебе купить подписку. Мы не знаем сколько еще проработаем, но точно знаем что вы не сможете купить подписку, так что возьмите на два года. А с нынешней ситуацией может через месяц все запретят и тг вообще не будет работать.
Я когда прочитал сообщение, первое о чем подумал, если завтра закроют, то нафига мне на два года оплачивать. А потом подумал, криптой то они все равно будут принимать оплату. Хотя может сейчас уже и не принимают, не проверял уже пол года если не больше
Cringeon
А давно телеграм закрываться решил? Речь же о том была, что подписку рублями не оплатить
Большая часть аудитории телеги же не из ру рынка
zartarn
Помнится, смотрел карту игровых сообществе ПокемонГо (думаю из за количества игрокков оно вполне репрезентативно). И чем дальше от РФ тем меньше на ней был ТГ а больше дискорд. у тг в принципе, скопление было по странам снг и около них. На данный момент к сожалению карты больше нет, чтоб посмотреть ккак изменилась ситуация за последние пару лет. А так по статистике пока больше всего пользователей - индия) Ну а по теме - в комменте на который вы отвечаете нет речи что тг закроется.
dartraiden
Я видел такое объяснение
И эта теория объясняет и то, почему люди не понесут всё из Телеграма в Max (он воспринимается как замена вацапу с его родительскими и домовыми чатами, всратыми открытками от родственников и вот этим всем).
zartarn
ну вот нечто подобное, я от немцев слышал, что очень сомнительно к нему относились (при этом WA активно использовали, уж кого подозревать в слежке)
Wesha
Насколько спорим, что любой, у кого остались хотя бы две мозговые клетки, не понесёт нюдсы и дипики в мессенджер, который интегрирован с Госуслугами?
13werwolf13
я бы начал с того что любой у кого остались мозговые клетки в целом не потащит нюдсы и дикпики куда-то за пределы подконтрольной ему инфраструктуры..
Denis1121
Я завершу этот диалог тем, что тот у кого есть хотя бы подобие на мозговые клетки не будет делать нюдсы и прочие пики. Тем более для личного хранения… ибо зачем?
Хотя может это я от мира отстал и думаю как старик…