Блокировки

Почему прокси блокируют и как это работает

Кто и чем блокирует прокси, по каким признакам его узнают и почему FakeTLS держится дольше.

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

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

Кто и чем блокирует

Трафик в России проходит через оборудование — программно-аппаратные комплексы, которые стоят в сетях операторов связи. Они появились на основе закона о «суверенном интернете» (№ 90-ФЗ от 1 мая 2019 года): с 2020 года Роскомнадзор обязал операторов их устанавливать. Основные технологии такого комплекса — и система предотвращения вторжений.[1]

[1] Описание ТСПУ дано по статье «ТСПУ» в Википедии; в источниках к материалу есть ссылка.

Комплексами управляет Роскомнадзор централизованно, поэтому правило, добавленное в одном месте, может начать действовать сразу у многих операторов. Для пользователя прокси это значит одно: если прокси «умер» у вас, это не обязательно поломка сервера.

Второе, что важно понимать: оборудование не читает сообщения. Оно оценивает форму трафика — и блокирует по ней.

Что видит оборудование

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

Зато многое остаётся открытым, и именно из этого набора складывается «отпечаток» соединения:

  • адрес и порт сервера, к которому идёт соединение;
  • первые байты соединения — по ним протокол чаще всего и определяют;
  • размеры пакетов, их порядок и паузы между ними — «ритм» потока;
  • открытые поля протоколов, например имя сайта (SNI) в начале TLS-соединения.

Оборудование сравнивает эти признаки с известными шаблонами. Если соединение похоже на шаблон MTProto-прокси, его замедляют или обрывают — не читая ни одного сообщения.

По каким признакам узнают прокси

Обычный режим: узнаваемая форма

Базовый режим прокси называют obfuscated2. Он шифрует весь поток поверх транспорта, так что открытых признаков протокола в данных не остаётся. Начало соединения — 64 «случайных» байта, из которых выводятся ключи.

Но шифрование прячет содержимое, а не форму. Стартовый пакет всегда одной длины, дальше идёт характерный ритм запросов и ответов. По словам авторов mtg, обычный трафик MTProto имеет особенности, которые системы DPI могут уже знать, а в README официального MTProxy прямо сказано: некоторые провайдеры определяют MTProxy по размерам пакетов.[2]

[2] Это называют «отпечатком» протокола: система DPI сравнивает форму трафика с шаблонами.

obfuscated2без маскировкиузнанFakeTLS (ee)как HTTPSкак сайт
Рис. 1. Ритм пакетов: однообразный у obfuscated2 и «как у сайта» у FakeTLS.

Префикс dd: случайное дополнение

Против распознавания по размерам придумали padding: к пакетам добавляют от 0 до 15 случайных байт, и длины перестают быть постоянными. В секрете такой режим включает префикс dd. Это усложняет жизнь фильтру, но начало соединения остаётся прежним.

Прямая блокировка адреса

Самый простой для оператора способ — не разбирать трафик, а закрыть адрес. Если IP-адрес сервера или его порт попали в список, ни один режим не поможет: пакеты просто не дойдут. Поэтому у прокси есть срок жизни, не зависящий от протокола.

Что делает оператор, когда прокси распознан

Распознанное соединение оборудование может обработать по-разному. DPI по определению умеет сигнализировать о трафике, блокировать его, перенаправлять или записывать, а ТСПУ, по описанию в Википедии, управляет трафиком: замедляет его или отключает на локальном уровне. Отсюда и разные симптомы у одной и той же причины:

  • соединение обрывают. Telegram показывает «Подключение…» и не доходит до статуса «Подключено»;
  • соединение замедляют. Прокси формально подключён, но чаты открываются долго, а фото и видео не грузятся;
  • закрывают адрес целиком. Тогда прокси не работает ни в каком режиме, пока владелец не поменяет сервер.

Медленный прокси поэтому не всегда перегружен: иногда его трафик просто выбран для замедления. Различить причины по одному признаку нельзя — помогает только сравнение сетей и других прокси.

Почему FakeTLS держится дольше

В режиме (секрет начинается с ee) клиент начинает соединение как обычный HTTPS-обмен: отправляет ClientHello с именем настоящего сайта в поле . Фильтр видит заход на этот сайт, а не на прокси.

У маскировки есть и второй слой. Фильтр может не ждать клиента, а сам постучаться на подозрительный адрес и посмотреть, что ответит сервер. Хорошая реализация на такой запрос отвечает как настоящий сайт: mtg, например, передаёт чужие запросы на сайт-прикрытие. Вывод простой: блокировать всё, что выглядит как обращение к популярным сайтам, дорого — заденет обычных пользователей.

Где FakeTLS перестаёт работать

Это не вечная защита. По FAQ проекта telemt, DPI может распознать FakeTLS по SNI, ALPN и энтропии, а устойчивость отпечатка зависит от версии клиента Telegram, выбранного домена и сетевого пути. Если домен не соответствует адресу сервера, провайдер может это заметить: в README mtg сказано, что google.com на чужом IP-адресе — плохой выбор.

Почему у соседа работает, а у вас нет

Правила для оборудования задаются централизованно, но результат всё равно зависит от того, где вы находитесь. Сеть домашнего провайдера, мобильного оператора и корпоративная сеть — это разные маршруты и разные настройки. В описании ТСПУ в Википедии отдельно отмечены локальные отключения мобильного интернета: в одном регионе они бывают, в другом нет.

Поэтому один и тот же прокси может работать дома по Wi‑Fi, но не работать в метро, а на работе — зависеть от корпоративного фильтра, который закрывает исходящие подключения на нестандартные порты. Если ссылка перестала работать у вас, проверьте её в другой сети: это самый информативный тест и он занимает минуту.

Как понять, что это блокировка

Надёжного способа «по одному признаку» нет, но картина обычно складывается из нескольких:

  • статус прокси «Подключение…» держится дольше минуты;
  • прокси работал и перестал, хотя вы ничего не меняли;
  • в одной сети (Wi‑Fi) работает, в другой (мобильный интернет) нет;
  • другие прокси на других адресах работают, а этот — нет.

Если совпало два-три пункта, дело скорее в сети, чем в ссылке.

Роль версии Telegram

Маскировка зависит не только от сервера, но и от клиента. FakeTLS-соединение начинает само приложение, и то, как именно выглядит его первое сообщение, называют отпечатком. Если отпечаток отличается от обычного браузерного, фильтру проще заметить подмену. По FAQ telemt, в новых версиях Telegram отпечаток исправлен, поэтому устаревший клиент — одна из причин, по которой «ту же» ссылку у знакомого открывает, а у вас нет.

Когда прокси не поможет

У прокси есть пределы, и лучше знать их заранее:

  • белые списки на мобильном интернете. В этом режиме пропускаются только заранее разрешённые адреса; сервер обычного прокси в такой перечень не входит. Здесь нужен VPN;
  • заблокированный адрес или порт. Маскировка протокола не меняет IP-адрес сервера;
  • перегруженный сервер. Если на одном прокси сидят тысячи людей, он упирается в канал, а не в блокировку;
  • звонки. Через MTProto-прокси они не работают — это свойство архитектуры Telegram, а не ошибка настройки.

Коротко

  • Оборудование не читает сообщения, а оценивает форму трафика, адрес и открытые поля протоколов.
  • Обычный MTProto-прокси узнаваем по началу соединения и ритму пакетов; padding и FakeTLS отвечают на эти признаки по очереди.
  • Маскировка не спасает от закрытого адреса и порта, от белых списков и от перегрузки сервера.
  • Прокси — расходный материал: держите запасной и не публикуйте ссылку.

Что из этого следует

  • Выбирайте прокси с секретом на ee и портом 443 — это повышает шансы, но не гарантирует работу.
  • Обновляйте Telegram: в новых версиях исправляют TLS-отпечаток клиента.
  • Не публикуйте свою ссылку: чем шире она расходится, тем быстрее её добавят в списки.
  • Для всего устройства и для белых списков нужен VPN, а не прокси.

Держите запасной прокси

Прокси живёт ограниченное время, поэтому один адрес — ненадёжная схема. В настройках прокси Telegram есть функция автоматического переключения (в английской версии — Auto-Switch Proxies): если текущий отключился, приложение переходит к следующему в списке. Добавьте два-три прокси из разных источников и включите эту опцию: потеря одного адреса не заставит вас искать ссылку заново.

Чего не стоит делать

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

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

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

Почему прокси в Telegram перестал работать?

Чаще всего его адрес, порт или форма трафика попали под правила фильтрации у оператора. Бывают и обычные причины: сервер выключен, перегружен или секрет введён неверно.

Что такое ТСПУ простыми словами?

Это оборудование у операторов связи, которое анализирует трафик на лету: смотрит на адреса, размеры и ритм пакетов, открытые поля протоколов и по ним замедляет или блокирует соединения. Содержимое сообщений Telegram оно не читает — оно зашифровано.

Помогает ли FakeTLS от блокировок?

Помогает против распознавания по форме трафика: соединение выглядит как заход на обычный сайт. Но не помогает, если заблокирован IP-адрес или порт сервера, и не гарантирует защиту навсегда: по FAQ проекта telemt, DPI может распознать FakeTLS по SNI, ALPN и энтропии.

Почему прокси работает по Wi‑Fi, но не работает на мобильном интернете?

У разных операторов и сетей разные правила и оборудование. Проверьте обе сети: если прокси работает в одной из них, сервер исправен, а проблема в сети. Отдельный случай — белые списки на мобильном интернете, при которых прокси не поможет.

Источники

  1. Telegram: MTProto, общее описание
  2. Telegram: MTProto transports (obfuscation)
  3. MTProxy (TelegramMessenger): README, раздел Random padding
  4. mtg: BEST_PRACTICES
  5. telemt: FAQ
  6. ТСПУ — Википедия
  7. Deep packet inspection — Википедия