Telegram Desktop получил WEB-прокси для маскировки трафика

В Telegram Desktop обнаружили новый механизм WEB-прокси, который должен сделать соединения мессенджера менее заметными для сетевых фильтров. Идея заключается в том, чтобы передавать MTProto-трафик через привычную для веба связку HTTPS + WebSocket, а не устанавливать прямое соединение с инфраструктурой Telegram.

Подпишитесь на Telegram-канал "КОД" чтобы не пропустить новые статьи: https://t.me/kodjournal

Для пользователя это особенно актуально в сетях, где Telegram ограничивают или фильтруют по характерным признакам его трафика.

Как работает новая схема

Обычный MTProxy уже позволяет скрывать прямое подключение к серверам Telegram: клиент сначала соединяется с прокси, а тот передает зашифрованный трафик дальше. Сам MTProxy при этом не получает доступ к содержимому переписки.

WEB-прокси добавляет к этой схеме еще один уровень маскировки.

Вместо обычного соединения клиент использует встроенный веб-движок, открывает специальную страницу на HTTPS-домене и устанавливает защищенное WebSocket-соединение. Через него затем передается поток MTProto.

Telegram Desktop получил WEB-прокси для маскировки трафика

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-канал!

1