Протоколы

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

Reality: подключение поверх стандартной TLS-сессии

Reality — технология из движка Xray: соединение устанавливается по правилам TLS 1.3, а своих клиентов сервер узнаёт по криптографическому ключу. Отдельный домен и собственный сертификат сервису не нужны, что упрощает эксплуатацию. В SomonVPN связка VLESS Reality — основной из открытых протоколов: приложение подключает её следом за нашим Aminyx.

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

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

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

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

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

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

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

Слабые места

Reality живёт поверх TCP, а на перегруженных мобильных сетях долгие TCP-сессии переносятся хуже коротких: соединение может рваться или терять скорость в часы пик. На такой случай у SomonVPN есть наш Aminyx и QUIC-протокол TUIC, а в ссылке для Happ — ещё XHTTP и gRPC.

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

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

Reality в SomonVPN

В приложении SomonVPN для Android VLESS Reality (по TCP и gRPC) подключается следом за нашим протоколом Aminyx: если сервер Aminyx не ответил, Smart Connect переходит на Reality, а затем на TUIC — без участия пользователя. Серверы Reality стоят в Финляндии, Германии, Нидерландах, Чехии и США. Подписочная ссылка для клиента Happ на iPhone, Windows и macOS содержит Reality-конфигурации, а также XHTTP и TUIC.

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

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

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

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

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

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

На перегруженных мобильных сетях долгие TCP-сессии живут хуже коротких — это касается любого протокола поверх TCP, не только Reality. В SomonVPN на такой случай приложение держит связь через Aminyx или QUIC-протокол TUIC.

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

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

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

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