Что на самом деле произошло с Telegram 1 апреля 🤹
В полночь 1 апреля ТСПУ начали получать правила блокировки всех IP-подсетей Telegram. Не замедление – полная блокировка на уровне IP. Одновременно вендоры DPI выкатили новые эвристики, которые научились определять MTProxy в режиме Fake-TLS. Тысячи прокси-серверов по всей стране отвалились за минуты.
То есть 1 апреля – не шутка. РКН действительно попытался положить Telegram. И у многих он действительно не работал.
Но дальше произошло интересное. Комьюнити telemt (одна из самых популярных реализаций MTProxy на Rust) за часы разобралось в проблеме. DPI перестал смотреть на серверы – он начал смотреть на клиент. Telegram здоровается с сервером не так, как это делает Chrome или Safari. Конкретно – паттерн TLS ClientHello отличается от браузерного. DPI это увидел и начал резать соединения по этому признаку.
Решение нашли в тот же день. Исследователь alexbers показал, что нужно исправить ClientHello в клиенте Telegram, чтобы он выглядел как браузерный. Команда Telegram ответила – допилим. Открыли pull request на GitHub.
3 апреля – вышла версия Telegram Desktop 6.7.2 с исправленным ClientHello для работы с EE-MTProxy. Windows, Linux, macOS.
Сегодня – бета Android 12.6.4 с тем же фиксом. iOS на подходе, ждет проверку Apple.
А между делом Дуров написал: 65 миллионов россиян пользуются Telegram ежедневно через VPN, больше 50 миллионов отправляют сообщения каждый день. Попытки блокировки VPN вызвали банковский кризис — наличные на короткое время стали единственным способом оплаты в стране. «Добро пожаловать обратно в цифровое сопротивление».
Итого. РКН сидел в засаде, ударил по IP и по MTProxy одновременно. Комьюнити за 48 часов нашло проблему, Telegram за 72 часа выкатил фикс. Гонка продолжается, но пока счет не в пользу блокировщиков 🍸
@echo_telegi