Telegram Desktop получил WEB-прокси для маскировки трафика
В Telegram Desktop обнаружили новый механизм WEB-прокси, который должен сделать соединения мессенджера менее заметными для сетевых фильтров. Идея заключается в том, чтобы передавать MTProto-трафик через привычную для веба связку HTTPS + WebSocket, а не устанавливать прямое соединение с инфраструктурой Telegram.
Подпишитесь на Telegram-канал "КОД" чтобы не пропустить новые статьи: https://t.me/kodjournal
Для пользователя это особенно актуально в сетях, где Telegram ограничивают или фильтруют по характерным признакам его трафика.
Как работает новая схема
Обычный MTProxy уже позволяет скрывать прямое подключение к серверам Telegram: клиент сначала соединяется с прокси, а тот передает зашифрованный трафик дальше. Сам MTProxy при этом не получает доступ к содержимому переписки.
WEB-прокси добавляет к этой схеме еще один уровень маскировки.
Вместо обычного соединения клиент использует встроенный веб-движок, открывает специальную страницу на HTTPS-домене и устанавливает защищенное WebSocket-соединение. Через него затем передается поток MTProto.
Telegram официально поддерживает WebSocket и WebSocket поверх HTTPS в качестве транспортов MTProto. Для защищенного варианта используется WSS-соединение через порт 443 — тот же порт, который обычно применяется для HTTPS-трафика.
Упрощенно схема выглядит так:
Telegram Desktop → WebView → HTTPS/WSS → прокси → серверы Telegram
За счет этого сетевому фильтру сложнее определить по одному лишь типу соединения, что внутри передается именно Telegram-трафик.
Почему это важно
Обычная блокировка по IP может работать достаточно эффективно, если провайдер знает адреса серверов Telegram. MTProxy решает эту проблему, направляя соединение через промежуточный сервер и дополнительно обфусцируя трафик.
WEB-прокси идет дальше: Telegram-трафик помещается в транспорт, похожий на обычное веб-соединение.
Это не означает полной невидимости. Сетевой оператор по-прежнему может видеть факт подключения к определенному серверу, объемы данных и другие метаданные. Сам Telegram также предупреждает, что оператор MTProxy способен видеть IP-адрес пользователя и время соединений, хотя содержимое сообщений ему недоступно.
Пока речь идет о Telegram Desktop
Новый механизм обнаружен именно в десктопном клиенте Telegram. По текущей информации, поддержка на смартфонах пока не заявлена.
Это особенно интересно потому, что мобильные приложения Telegram уже умеют работать с MTProto и SOCKS5-прокси, а сама платформа поддерживает WebSocket-транспорт.
Если технология будет перенесена на Android и iOS, пользователи смогут получить аналогичный способ подключения и на смартфонах — без необходимости полагаться исключительно на классические прокси или VPN.
Что это меняет для пользователей
Главное преимущество новой схемы — не ускорение Telegram само по себе, а маскировка характера соединения.
WEB-прокси может оказаться полезным там, где:
- Telegram-трафик фильтруется по сигнатурам;
- прямые подключения к IP-адресам Telegram ограничиваются;
- обычные MTProxy-соединения работают нестабильно;
- HTTPS-трафик при этом остается доступным.
При этом это не универсальная замена VPN. MTProxy предназначен прежде всего для работы Telegram, тогда как VPN обычно перенаправляет и защищает сетевой трафик всего устройства.
Главное
Telegram экспериментирует с более глубокой маскировкой прокси-трафика в десктопном клиенте. WebView и защищенный WebSocket позволяют спрятать MTProto внутри транспорта, который внешне ближе к обычному веб-соединению.
Пока новая схема относится к Telegram Desktop. Если разработчики добавят ее в мобильные клиенты, это станет особенно полезным вариантом для пользователей сетей с жесткой фильтрацией Telegram.
Следующий интересный вопрос — когда WEB-прокси официально появится на Android и iOS и насколько широко его внедрят в стабильные версии клиента.
Код — журнал о технологиях https://t.me/kodjournal подпишитесь на наш Telegram-канал!