Выбор и проверка

MTProto, SOCKS5, VPN и WEB-прокси: что выбрать

Четыре способа добраться до Telegram и остального интернета: как они устроены и какой выбрать.

Содержание 16 разд.

Когда Telegram не открывается, вариантов обойти блокировку несколько, и называют их похоже: прокси, SOCKS, VPN, а теперь ещё и WEB-прокси. На деле это разные инструменты с разной областью действия. Ниже — как каждый устроен, что видит сеть и какой когда выбирать.

Коротко в таблице

MTProto-проксиSOCKS5VPNWEB-прокси
Что охватываетTelegramTelegram (в настройках приложения) или другое приложениеВесь трафик устройстваTelegram
МаскировкаЕсть: obfuscation, padding, FakeTLSНет, протокол открытыйЗависит от протокола VPNНе описана в документации Telegram
Что вводятСервер, порт, секретСервер, порт, логин и пароль (необязательно)Ссылка-подписка в приложенииСсылка на WEB-прокси
Звонки TelegramНе работаютЗависит от клиента; протокол поддерживает UDPИдут как обычный трафикНе описано

MTProto-прокси

Прокси, который говорит на собственном протоколе Telegram. Его поддерживают все основные приложения, он встроен и подключается ссылкой. Главное отличие от остальных — маскировка: поток шифруется (), может получить случайное дополнение пакетов (dd) или выглядеть как обычный HTTPS (ee, ).

Минусы: он работает только внутри Telegram, не пропускает звонки и бессилен против блокировки адреса и против белых списков. Устройство прокси подробно разобрано в статье «Что такое MTProto и MTProxy».

Для пользователя это самый простой вариант с точки зрения подключения: достаточно нажать на ссылку. Ограничения те же, что у любого прокси: ссылка живёт, пока адрес не заблокирован, а скорость зависит от нагрузки на сервер.

SOCKS5

SOCKS5 — универсальный прокси-протокол, описанный в RFC 1928. Telegram называет его вторым поддерживаемым типом наряду с MTProto. Для подключения нужны сервер и порт, а логин и пароль необязательны; у ссылки формат tg://socks?server=…&port=…&user=…&pass=….

Особенности SOCKS5, которые важны для блокировок:

  • базовый протокол ничего не шифрует. Защита зависит от способа аутентификации, а пароль в варианте «логин и пароль» по RFC 1929 передаётся открытым текстом;
  • адрес назначения передаётся в запросе открыто. В запросе CONNECT есть поля DST.ADDR и DST.PORT — то есть всякий, кто видит соединение с SOCKS-сервером, видит и то, к какому адресу клиент просит подключиться;
  • формат хорошо известен. Структура рукопожатия одинакова у всех, поэтому такой трафик проще узнать, чем обфусцированный.

Зато SOCKS5 универсален: он умеет UDP (команда UDP ASSOCIATE), поэтому подходит для задач, где MTProto-прокси не годится. И поддерживается не только Telegram.

Как выглядит рукопожатие SOCKS5

По RFC 1928 клиент начинает с короткого сообщения, где перечисляет поддерживаемые методы аутентификации; сервер выбирает один. В спецификации это 0x00 — без аутентификации, 0x02 — логин и пароль, 0x01 — GSSAPI. Затем клиент отправляет запрос CONNECT с адресом и портом назначения. Сообщения короткие и устроены одинаково у всех, поэтому такой трафик легко опознать, а у обфусцированного MTProto-прокси начало соединения — случайные байты без постоянного заголовка.

VPN

VPN создаёт защищённый туннель до своего сервера и пропускает через него трафик всего устройства или выбранных приложений. Для Telegram это означает, что блокировка мессенджера не видна: сеть оператора видит только соединение с VPN-сервером.

VPN решает то, чего не может прокси:

  • работает для всех приложений, а не только для Telegram;
  • пропускает звонки;
  • остаётся единственным вариантом на мобильном интернете с белыми списками.

Цена этого — больше настроек: нужен клиент, а в нём — ссылка-подписка.

ПодпискаВаша ссылка-подпискаhttps://…Отключенонажмите, чтобы включить
Рис. 1. Схема экрана VPN-клиента: ссылка-подписка добавляется в клиент, подключение — круглой кнопкой.

WEB-прокси

Новый тип прокси, который появился в самом Telegram. Подключается ссылкой на WEB-прокси. Работает так:

  • работает уже на всех платформах — в актуальных Telegram для iPhone, Android, Windows и Mac;
  • в браузерном Telegram Web (web.telegram.org) настроек прокси нет.

Документация Telegram о прокси (core.telegram.org/proxy) WEB-прокси пока не упоминает, поэтому устройство этого типа мы не описываем и ограничиваемся тем, что известно о поддержке в клиентах. Разработчики telemt в README пишут о реализации MTProxy для WEB через WebView на устройстве, а в FAQ отмечают, что WEB-режим не поддерживает ee. Список возможностей меняется вместе с обновлениями Telegram.

Как выбрать

СитуацияЧто выбрать
Нужен только Telegram, и быстроMTProto-прокси с секретом ee и портом 443
Нужны звонки в TelegramVPN или SOCKS5
Нужны другие приложения и сайтыVPN
Мобильный интернет с белыми спискамиVPN: прокси на постороннем сервере недоступен
Telegram Desktop и вы хотите новый типWEB-прокси
Прокси «умер», хотя вчера работалДругой прокси; затем проверьте сеть и ссылку

Пять ситуаций

  1. Дома по Wi‑Fi Telegram не открывается или еле грузится. Нужен только мессенджер — берите MTProto-прокси с секретом ee и портом 443. Он подключается за минуту и не меняет ничего на устройстве.
  2. Мобильный интернет, зарубежные ресурсы почти не открываются. Похоже на белые списки: прокси на постороннем сервере здесь недоступен. Нужен VPN.
  3. Нужны звонки в Telegram. MTProto-прокси их не пропускает. Остаётся VPN или SOCKS5, если его поддерживает ваш клиент.
  4. Рабочий компьютер с Telegram Desktop. Подойдёт MTProto-прокси или WEB-прокси. Корпоративные сети часто режут нестандартные порты, поэтому порт 443 надёжнее.
  5. Несколько человек в семье. Если всем нужен только Telegram, проще раздать одну ссылку. Если нужны ещё и другие сервисы, удобнее VPN — если подписка рассчитана на несколько устройств.

Что можно настроить в самом Telegram

Документация Telegram называет два типа прокси, которые поддерживают приложения: SOCKS5 и MTProto. Там же сказано, что некоторые клиенты могут поддерживать и другие типы, например HTTP, но подробностей нет. В окне добавления прокси нужно выбрать тип: для MTProto вводят сервер, порт и секрет, для SOCKS5 — сервер, порт и, если нужны, логин и пароль. Перепутать типы — частая причина того, что прокси не подключается.

Прокси и VPN вместе

Одновременно их держать обычно не нужно. Если VPN включён и Telegram работает через него, прокси можно выключить: он добавит ещё один узел на пути и только замедлит соединение. Прокси имеет смысл, когда VPN включать неудобно или он не нужен: например, на компьютере, где нужен только Telegram.

Что видит сеть

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

  • MTProto-прокси: соединение с адресом прокси; режим ee выглядит как обращение к сайту;
  • SOCKS5: узнаваемое рукопожатие и адрес, к которому клиент просит подключиться;
  • VPN: соединение с VPN-сервером и его протокол; сам трафик внутри туннеля скрыт;
  • WEB-прокси: в документации Telegram не описано, поэтому однозначного ответа у нас нет.

Что выбрать новичку

Если вы не уверены, начните с самого простого. Откройте ссылку на MTProto-прокси с секретом ee и портом 443: подключение займёт минуту и ничего не меняет в системе. Работает — оставьте. Не работает ни в одной из ваших сетей — переходите к VPN: он сложнее в настройке, зато решает больше задач и единственный работает при белых списках. SOCKS5 имеет смысл, когда вам нужен именно он: например, в корпоративной среде, где другой прокси уже настроен.

Кому вы доверяете

Любой посредник видит о вас больше, чем сторонний наблюдатель. Различается, что именно:

ВариантЧто видит владелец
MTProto-проксиВаш IP-адрес, объём и время трафика, дата-центр Telegram; содержимое и список чатов — нет
SOCKS5Ваш IP-адрес, адреса назначения из запросов CONNECT и пароль, если он передан открытым текстом по сети
VPNВаш IP-адрес и адреса всех сервисов, к которым вы подключаетесь с устройства; содержимое HTTPS-соединений — нет
WEB-проксиНе описано в документации Telegram

Отсюда правило: чем шире охват, тем выше требования к доверию. VPN-провайдер видит больше, чем владелец MTProto-прокси, потому что через него идёт весь трафик, а не только Telegram. Выбирайте источник, которому можете доверять, и не берите данные из случайных публичных списков.

Как понять, какой тип вам выдали

  • ссылка начинается с tg://proxy или t.me/proxy и содержит secret — это MTProto-прокси;
  • ссылка начинается с tg://socks или t.me/socks и может содержать user и pass — это SOCKS5;
  • ссылка на WEB-прокси содержит server и secret, но не port — это WEB-прокси;
  • обычная ссылка https://…, которую нужно добавить в приложение-клиент, — подписка на VPN.

Частые заблуждения

  • «Прокси шифрует мой трафик». Сообщения Telegram и без прокси зашифрованы ключом клиента и сервера. Прокси не добавляет шифрования содержимого — он помогает дойти до серверов.
  • «Любой прокси из списка безопасен». Telegram советует брать данные прокси только из надёжных источников: владелец видит ваш IP-адрес и объём трафика.
  • «Если есть прокси, VPN не нужен». Нужен, если вы хотите открывать что-то кроме Telegram или находитесь в сети с белыми списками.

Частые вопросы

Что лучше для Telegram: MTProto-прокси или SOCKS5?

Для обхода блокировок обычно лучше MTProto-прокси: он маскирует соединение, а в SOCKS5 формат соединения открыт и однозначен, а адрес назначения передаётся без шифрования. SOCKS5 имеет смысл, когда нужен UDP-трафик или универсальный прокси для нескольких приложений.

Чем MTProto-прокси отличается от VPN?

MTProto-прокси работает только внутри Telegram и подключается ссылкой. VPN пропускает через себя весь трафик устройства и требует клиент и подписку. На мобильном интернете с белыми списками прокси не поможет — нужен VPN.

Что такое WEB-прокси в Telegram?

Новый тип прокси в самом Telegram, подключается ссылкой на WEB-прокси. Он работает уже на всех платформах — в актуальных Telegram для iPhone, Android, Windows и Mac. Только в браузерном Telegram Web (web.telegram.org) настроек прокси нет.

Можно ли использовать SOCKS5 в Telegram вместо MTProto?

Можно: Telegram поддерживает оба типа. Для SOCKS5 нужны сервер и порт, логин и пароль необязательны. Но SOCKS5 не маскирует соединение, поэтому при блокировках чаще выбирают MTProto-прокси.

Нужен ли VPN, если есть прокси?

Если нужен только Telegram, достаточно прокси. VPN нужен для остальных приложений, для звонков и для мобильного интернета с белыми списками.

Источники

  1. Telegram: прокси — поддерживаемые типы
  2. Telegram: ссылки на прокси (MTProxy и SOCKS5)
  3. RFC 1928: SOCKS Protocol Version 5
  4. RFC 1929: Username/Password Authentication for SOCKS V5
  5. Telegram: MTProto transports (obfuscation)
  6. telemt: FAQ — ограничения MTProto-прокси