Читаю ленту, и у меня откровенно горит.

«⚡️ 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 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

? Критическая (отдельный трек)

Последний пункт — отдельная история. 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

#30513

MacOS (Desktop)

Fixed ✅

6.7.2

03.04.26

#30513

MacOS (Native)

?

?

?

?

Linux

Fixed ✅

6.7.2

03.04.26

#30513

Android

Fixed ✅

12.6.4

в Бете

П.п. #1949

iOS

In progress ⏳

-

-

#2089


P.S. Если занимаетесь низкоуровневым C++, сетевой безопасностью или просто хотите сделать что-то реально полезное — ищите сообщество Telemt. Там есть задачи, с которыми стоит помочь.

Комментарии (310)


  1. Vitaliy-L
    04.04.2026 10:14

    Спасибо всем, кто не жалеет своё время и делает работу с целью заботы об остальных, а не с целью пиара.

    А Паша так не хорохорился когда его французы за мягкое взяли. Понты. Не более.


    1. achekalin
      04.04.2026 10:14

      Говорили тогда, что, смотрите, привыкнет чувак к круасанам, раздобреет, размякнет...

      И, да, Паша бы пояснил, чему служил сбор денег за подписку за сутки до официального отключения "средства доставки подписки".


      1. datadigger
        04.04.2026 10:14

        Очевидно, для него ТГ просто бизнес, ничего личного


        1. EvilTeacher
          04.04.2026 10:14

          Ну так детишкам на молочишко надо собирать...


          1. tba
            04.04.2026 10:14

            Учитывая количество детишек


        1. questor
          04.04.2026 10:14

          ну так и для нас телеграм - это просто мессенджер котиков пересылать. но взорвали все социальные связи


      1. dom1n1k
        04.04.2026 10:14

        Я до сих пор не понимаю, что все так возбудились на эту историю с подпиской.
        По-моему, посыл был совершенно понятный: пропадают физические возможности оплаты, поэтому если тебе нужен премиум, надежнее будет купить его сейчас. А что будет дальше, фиг знает. Ну а не нужен, не покупай.


        1. YouROK
          04.04.2026 10:14

          Как пример, фирма закрывается, но предлагает тебе купить подписку. Мы не знаем сколько еще проработаем, но точно знаем что вы не сможете купить подписку, так что возьмите на два года. А с нынешней ситуацией может через месяц все запретят и тг вообще не будет работать.

          Я когда прочитал сообщение, первое о чем подумал, если завтра закроют, то нафига мне на два года оплачивать. А потом подумал, криптой то они все равно будут принимать оплату. Хотя может сейчас уже и не принимают, не проверял уже пол года если не больше


          1. Cringeon
            04.04.2026 10:14

            А давно телеграм закрываться решил? Речь же о том была, что подписку рублями не оплатить

            Большая часть аудитории телеги же не из ру рынка


            1. zartarn
              04.04.2026 10:14

              Помнится, смотрел карту игровых сообществе ПокемонГо (думаю из за количества игрокков оно вполне репрезентативно). И чем дальше от РФ тем меньше на ней был ТГ а больше дискорд. у тг в принципе, скопление было по странам снг и около них. На данный момент к сожалению карты больше нет, чтоб посмотреть ккак изменилась ситуация за последние пару лет. А так по статистике пока больше всего пользователей - индия) Ну а по теме - в комменте на который вы отвечаете нет речи что тг закроется.


              1. dartraiden
                04.04.2026 10:14

                И чем дальше от РФ тем меньше на ней был ТГ а больше дискорд. у тг в принципе, скопление было по странам снг и около них.

                Я видел такое объяснение

                И эта теория объясняет и то, почему люди не понесут всё из Телеграма в Max (он воспринимается как замена вацапу с его родительскими и домовыми чатами, всратыми открытками от родственников и вот этим всем).


                1. zartarn
                  04.04.2026 10:14

                  Я видел такое объяснение

                  Телеграм имеет большую аудиторию. Вот только как мессенджер для белой зоны, основной, он используется в единицах стран. СНГ (не весь), Иран, несколько африканских стран, у арабов (не везде) и пара стран Азии, вроде Вьетнама и Камбоджи. Плюс россыпь государств поменьше. В других странах, в том числе в США и ЕС, это мессенджер серой и чёрной зоны.

                  ну вот нечто подобное, я от немцев слышал, что очень сомнительно к нему относились (при этом WA активно использовали, уж кого подозревать в слежке)


                1. Wesha
                  04.04.2026 10:14

                  Насколько спорим, что любой, у кого остались хотя бы две мозговые клетки, не понесёт нюдсы и дипики в мессенджер, который интегрирован с Госуслугами?


                  1. 13werwolf13
                    04.04.2026 10:14

                    я бы начал с того что любой у кого остались мозговые клетки в целом не потащит нюдсы и дикпики куда-то за пределы подконтрольной ему инфраструктуры..


                    1. Denis1121
                      04.04.2026 10:14

                      Я завершу этот диалог тем, что тот у кого есть хотя бы подобие на мозговые клетки не будет делать нюдсы и прочие пики. Тем более для личного хранения… ибо зачем?

                      Хотя может это я от мира отстал и думаю как старик…