Happ VPN

Reality: что это

Автор
Екатерина Лебедева, редактор раздела knowledge base
Проверил:
Артём Волков
Проверено:
Опубликовано:
, обновлено
Версия гайда:
1.0

Коротко

Reality — слой защиты соединения для VLESS в Xray-core: сервер работает без собственного сертификата, заимствуя параметры TLS-рукопожатия настоящего сайта, а клиент проверяет сервер по публичному ключу. В Happ добавляется как часть ссылки vless://.

У обычного TLS сервер доказывает подлинность своим сертификатом на домене. Reality решает ту же задачу иначе: администратор указывает адрес настоящего стороннего сайта, TLS-рукопожатие которого сервер повторяет, а клиент проверяет сервер по паре ключей x25519 — публичному (pbk) и приватному. Домен и сертификат самому серверу Reality не нужны вовсе. Документация Happ показывает пример именно для VLESS: ссылка с параметрами security=reality, pbk, sid и обычно с flow xtls-rprx-vision.

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

Суть термина

В обычном TLS сервер доказывает, что он — это он, с помощью сертификата: клиент проверяет подпись центра сертификации на домене сервера. Reality в Xray-core решает эту задачу без такого сертификата вовсе.

Администратор настраивает сервер на адрес настоящего постороннего сайта (параметр dest) — обычно крупного и не связанного с прокси. При подключении сервер Reality воспроизводит характеристики TLS-рукопожатия этого сайта, а сам клиент проверяется отдельно, криптографически: по паре ключей x25519 — публичному (pbk) на клиенте и приватному на сервере.

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

Ключевое следствие для администратора — не нужны ни покупка домена, ни выпуск и продление сертификата: подлинность держится на паре ключей, которые можно сгенерировать локально командой xray x25519.

Из чего складывается настройка Reality

Часть параметров задаёт администратор сервера, часть — попадает в ссылку клиента.

ПараметрГде задаётсяНазначение
dest (target)серверадрес и порт настоящего сайта, чьё TLS-рукопожатие заимствуется
serverNamesсерверсписок доменных имён, которые сервер примет от клиентов в качестве sni
privateKey / pbk (publicKey)сервер / клиентпара ключей x25519 для проверки подлинности
shortIds / sidсервер (список) / клиент (одно значение)короткий идентификатор для различения клиентов или провайдеров

Клиент указывает в ссылке security=reality, публичный ключ pbk, идентификатор sid, имя из списка сервера в sni и обычно XTLS Vision в параметре flow. Пример из документации Happ — сокращённо, с условными значениями:

Ссылка
vless://00000000-0000-0000-0000-000000000000@example.com:443?security=reality&pbk=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA&sid=0123abcd&sni=example.com&flow=xtls-rprx-vision&type=tcp#Example

Как это выглядит в Happ

Reality в Happ — не отдельный протокол в списке при ручном добавлении, а значение параметра security внутри настройки VLESS. Способы добавления сервера общие для всех протоколов приложения.

Ссылка или подписка. Строка vless:// с security=reality импортируется из буфера обмена, QR-кода, диплинка или приходит в составе подписки — так же, как VLESS с обычным TLS.

Ручной ввод. Кнопка «+» вверху справа → «Ручной ввод» → протокол VLESS → заполнение полей, включая pbk, sid и sni → «Готово».

Если один из параметров Reality указан неверно, Happ обычно сообщает «Конфигурация vless не валидная» при импорте либо соединение просто не устанавливается уже после добавления — разбор этой ошибки на странице «Конфигурация не валидная». Полный набор параметров VLESS Reality с примерами — на странице VLESS в Happ.

Чем Reality отличается от похожих терминов

  • TLS — обычный слой защиты с собственным сертификатом сервера на домене; Reality решает ту же задачу без сертификата.
  • SNI — в обычном TLS это домен сертификата, а в Reality — одно из имён списка serverNames, которое сервер использует для проверки клиента, а не для настоящей выдачи сертификата.
  • XTLS Vision — режим ускорения передачи данных, а не способ проверки подлинности сервера; часто идёт вместе с Reality, но выполняет другую роль.
  • VLESS — протокол, для которого Reality обычно применяется; сам по себе Reality без VLESS в Happ не встречается.

Главное

  • Reality — не отдельный протокол, а слой защиты для VLESS: он занимает то же место в ссылке, что обычный TLS.
  • Серверу с Reality не нужны собственный домен и сертификат — подлинность проверяется криптографически, по ключам publicKey и privateKey.
  • Сервер настраивается на адрес настоящего постороннего сайта (dest) и заимствует форму его TLS-рукопожатия при подключении клиентов.
  • Короткий идентификатор shortId (sid) на сервере может быть списком: разным клиентам или провайдерам выдают разные значения из этого списка.
  • Документация Happ приводит пример ссылки Reality именно для VLESS, вместе с параметрами pbk, sid и flow xtls-rprx-vision.

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

Нужен ли для сервера с Reality собственный SSL-сертификат?

Нет, и в этом главное отличие от обычного TLS. Сервер Reality заимствует характеристики TLS-рукопожатия настоящего стороннего сайта, а подлинность самого сервера клиент проверяет криптографически — по паре ключей x25519. Администратору не нужно выпускать и продлевать сертификат на собственный домен, как это требуется, например, для Trojan.

Что происходит с подключением, если у клиента неверный ключ или shortId?

По описанию механизма Reality в документации Xray, соединение с неверными данными аутентификации перенаправляется на тот самый настоящий сайт, чьё TLS-рукопожатие заимствует сервер. Со стороны это выглядит как обычное посещение постороннего сайта, а не как отказ в доступе с явной ошибкой. Клиенту Happ в такой ситуации доступ к прокси просто не откроется.

Зачем нужен shortId, если уже есть publicKey?

publicKey подтверждает, что клиент вообще имеет право обращаться к серверу, а shortId — дополнительный идентификатор, по которому сервер может различать разных клиентов или провайдеров внутри одной настройки Reality. На сервере может быть настроен целый список значений shortId, и клиент указывает одно из них. Это не замена publicKey, а отдельный параметр рядом с ним.

Работает ли Reality с протоколами кроме VLESS?

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

Что если параметр serverName у клиента не совпадает со списком сервера?

Сервер Reality проверяет присланное клиентом имя по своему списку допустимых значений serverNames. Если имени нет в списке, аутентификация не пройдёт, и, как и при неверном ключе, соединение уйдёт на настоящий сайт вместо прокси. Клиенту нужно указывать в ссылке ровно то имя, которое администратор сервера включил в список.

Через какие транспорты работает Reality?

По документации Xray, Reality поддерживает транспорты RAW (обычный TCP), XHTTP и gRPC. WebSocket с Reality не сочетается — для него используют обычный TLS с сертификатом на домене. В Happ выбор транспорта задаётся тем же параметром type, что и для VLESS с обычным TLS.

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

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

Упомянутые темы

Разделы по теме

Источники

  1. Документация Happ: примеры ссылок и параметры — обращение 28 сентября 2026
  2. Документация Xray: REALITY — обращение 28 сентября 2026
  3. Документация Xray: исходящее подключение VLESS — обращение 28 сентября 2026