Сторонний форк Telegram Desktop для Windows меняет ClientHello при каждом подключении и усложняет распознавание MTProto-трафика по единому шаблону.

Пока разработчики официального Telegram Desktop не приняли решение по проблеме с MTProto-прокси, сообщество уже выпустило экспериментальную сборку клиента. Форк Telegram Desktop 6.8.4-dpifix получил правку, которая меняет поведение TLS-соединения при работе через прокси и делает сетевой отпечаток менее предсказуемым.
Речь идёт не об официальном релизе Telegram, а о сторонней портативной сборке для Windows. Форк опубликован в репозитории Qz3rK/tdesktop на GitHub и помечен как предварительный релиз. Без рабочего MTProto-прокси такая сборка не даёт самостоятельного доступа к Telegram и не заменяет прокси-сервер.
Правка стала реакцией на массовые жалобы конца мая, когда в России пользователи начали сообщать о проблемах с MTProto-прокси Telegram и частью VPN-сервисов. Фильтрующие системы научились распознавать характерный сетевой рисунок таких подключений. Разработчики форка попытались убрать именно предсказуемую часть соединения.
Проблема, по словам автора изменений, была в первом пакете TLS-соединения. При подключении через прокси Telegram Desktop отправлял ClientHello с почти неизменной структурой. Такой пакет работает как цифровой отпечаток. Если система фильтрации один раз описала характерные признаки ClientHello, дальше похожие соединения можно находить по шаблону.
В форке изменили файл mtproto_tls_socket.cpp, который отвечает за установку TLS-соединения для MTProto-прокси. Теперь клиент не отправляет один и тот же отпечаток при каждом подключении, а собирает ClientHello с элементами случайности. Сборка выбирает вариант, похожий на Chrome или Firefox, перемешивает наборы шифров, меняет расширения TLS и добавляет небольшие случайные задержки при отправке частей пакета.
Дополнительно разработчик отключил алгоритм Нейгла, чтобы клиент быстрее отправлял сетевые пакеты, и добавил случайный разброс во временные метки. В результате каждое новое подключение получает другой набор признаков, а фильтрации становится сложнее опираться на единую сигнатуру MTProto-трафика.
Ограничения у решения серьёзные. Сборка остаётся форком сообщества, а не частью официального Telegram Desktop. На момент публикации соответствующие изменения не попали в основной репозиторий клиента. Кроме того, готовая портативная версия рассчитана только на Windows, поэтому пользователям других платформ придётся ждать официального решения или отдельных сборок от энтузиастов.