Протоколы

Обновлено · Команда SomonVPN

Reality: маскировка под настоящий TLS-сайт

Reality — технология из движка Xray, при которой VPN-сервер показывает цензору рукопожатие и сертификат настоящего чужого сайта, а своих клиентов узнаёт по криптографическому ключу. Проверяющий видит легитимный HTTPS-ресурс, клиент получает туннель. В SomonVPN связка VLESS Reality — основной протокол.

Большинство способов обхода DPI пытаются сделать трафик «ни на что не похожим» — и рано или поздно проигрывают, потому что аномалия сама по себе улика. Reality, появившийся в Xray в 2023 году, пошёл от обратного: не прятаться, а выглядеть как конкретный настоящий сайт, вплоть до его сертификата.

Этот разворот решил и вторую больную проблему — активное зондирование, когда цензор сам подключается к подозрительному серверу и смотрит, что тот ответит. Серверу с Reality есть что показать: чужой сайт, настоящий и рабочий.

Год появления
2023
Транспорт
TCP
Базовый протокол
VLESS
Есть в SomonVPN
Да, основной протокол

Как проходит подключение

  1. 1Клиент отправляет TLS-приветствие, внешне неотличимое от запроса браузера к известному сайту, но с меткой, зашифрованной публичным ключом сервера.
  2. 2Сервер проверяет метку. Если она верна, он достраивает рукопожатие для VPN-туннеля; снаружи оно по-прежнему выглядит как сессия с тем самым сайтом.
  3. 3Если метки нет — например, подключился проверяющий, — сервер прозрачно проксирует соединение к настоящему сайту. Зондирующий видит подлинный сертификат и подлинные страницы.
  4. 4Внутри установленной сессии ходит VLESS-трафик, зашифрованный по современным стандартам TLS 1.3.

Почему это работает против DPI

Пассивный анализ видит TLS 1.3-сессию с корректным SNI известного домена — таких в любой сети миллионы, блокировать их по шаблону значит положить обычный веб. Активное зондирование упирается в настоящий сайт с настоящим сертификатом. Владельцу VPN-сервера при этом не нужен собственный домен и не нужно выпускать сертификаты — в этом принципиальное отличие от классических маскировок под HTTPS.

Слабые места

Reality живёт поверх TCP, и там, где оператор целенаправленно душит долгие TCP-сессии к неизвестным IP-адресам, соединение может рваться или резко замедляться — на некоторых мобильных сетях в России такое поведение периодически наблюдается. Против этого у SomonVPN есть обходные транспорты: XHTTP, gRPC и WebSocket-TLS, а также QUIC-протоколы TUIC и Hysteria 2.

Сравнение подходов к маскировке

СвойствоRealityКлассический TLS-VPN (WS/gRPC)OpenVPN
Нужен свой домен и сертификатНетДаНет
Что видит пассивный DPITLS-сессию с чужим известным сайтомTLS-сессию с доменом сервисаУзнаваемое рукопожатие OpenVPN
Устойчивость к активному зондированиюВысокая: показывает настоящий сайтСредняя: домен можно внести в спискиНизкая
Есть в SomonVPNДаДа, как транспорты gRPC и WS-TLSНет

Reality в SomonVPN

VLESS Reality — протокол по умолчанию на серверах SomonVPN в Хельсинки и Франкфурте; узел в Амстердаме готовится. Приложение для Android подключает его автоматически, а если на текущей сети Reality не проходит, Smart Connect переключается на XHTTP, TUIC, Hysteria 2 или AmneziaWG без участия пользователя. Подписочная ссылка для клиента Happ на iPhone, Windows и macOS содержит те же Reality-конфигурации, что и Android-приложение.

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

Чем Reality отличается от VLESS?

VLESS — протокол передачи данных внутри туннеля, Reality — способ установить сам туннель, замаскировав его под TLS-сессию чужого сайта. Они работают в паре: снаружи Reality, внутри VLESS.

Что увидит проверяющий, если зайдёт на сервер SomonVPN напрямую?

Настоящий сторонний сайт с корректным сертификатом: сервер без правильного клиентского ключа ведёт себя как обычный прокси к этому сайту. Признаков VPN снаружи нет.

Почему Reality иногда обрывается на мобильном интернете?

Некоторые операторы ограничивают долгие TCP-сессии к неизвестным адресам независимо от содержимого. Reality тут не виноват — под раздачу попадает любой протокол на TCP. В SomonVPN на такой случай Smart Connect уходит на XHTTP или QUIC-протоколы.

Нужно ли выбирать Reality вручную в приложении?

Нет. Smart Connect сам начинает с наиболее вероятного протокола для вашей сети и перебирает варианты при неудаче. Вручную протокол выбирать можно, но обычно незачем.

Попробуйте Reality в деле

В приложении SomonVPN протокол выбирается в один тап — или доверьте выбор Smart Connect.