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, хотя обратное сочетание почти не встречается.
Упомянутые темы
Похожие материалы
Разделы по теме
Источники
- Документация Happ: примеры ссылок и параметры — обращение 28 сентября 2026
- Документация Xray: REALITY — обращение 28 сентября 2026
- Документация Xray: исходящее подключение VLESS — обращение 28 сентября 2026