--- title: REALITY description: Настройка входящего подключения VLESS + REALITY с XTLS-Vision в 3x-ui — ключи, short ID, SNI, отпечатки и типичные ошибки. icon: ShieldCheck --- **REALITY** — это механизм безопасности транспорта Xray, маскирующий ваш прокси под обычный трафик к реальному популярному сайту. В отличие от классического TLS, вашему серверу **не нужен собственный сертификат** — он заимствует TLS-рукопожатие целевого сайта (`dest`). В сочетании с потоком **XTLS-Vision** это работает быстро и устойчиво к глубокому анализу пакетов. REALITY используется с **VLESS** (а также Trojan). Рекомендуемый поток — `xtls-rprx-vision`. ## Ключевые настройки Когда вы выбираете **REALITY** в качестве режима безопасности для входящего подключения VLESS, 3x-ui отображает следующие поля: | Поле | Что это такое | | ------------------------ | ------------------------------------------------------------------ | | **Dest (цель)** | Реальный TLS-сайт для имитации, например `www.microsoft.com:443`. | | **SNI / Server Names** | Имя(имена) хоста, которые отправляют клиенты; должны совпадать с сертификатом цели. | | **Public / Private key** | Пара ключей **x25519**. Приватный ключ остаётся на сервере. | | **Short IDs** | Шестнадцатеричные строки для аутентификации клиентов (их может быть несколько). | | **Flow** | Установите в `xtls-rprx-vision`. | | **Fingerprint (uTLS)** | TLS-отпечаток клиента для имитации, например `chrome`. | Приватный ключ генерируется утилитой `x25519` из состава Xray (панель может сгенерировать пару за вас): ```bash title="generate an x25519 keypair" xray x25519 ``` ## Настройка в панели ### Создайте входящее подключение VLESS Добавьте новое входящее подключение, выберите протокол **VLESS** и установите **Security** в **reality**. ### Выберите цель (dest) и SNI Выберите авторитетный сайт, поддерживающий TLS 1.3 и HTTP/2 и доступный как с вашего сервера, так и с устройств клиентов (например `www.microsoft.com:443`). Задайте server names / SNI так, чтобы они совпадали с сертификатом этого сайта. ### Сгенерируйте ключи и short ID Сгенерируйте пару ключей x25519 и один или несколько short ID. Держите **приватный ключ** в секрете; клиенты получают только **публичный ключ**. ### Задайте поток и отпечаток Используйте поток `xtls-rprx-vision` и распространённый отпечаток uTLS, например `chrome`. ### Добавьте клиента и поделитесь ссылкой Создайте клиента, затем используйте его ссылку для подключения или QR-код в совместимом приложении (v2rayNG, Hiddify, Mihomo и других). ## Как выглядит конфигурация На сервере секция `streamSettings` входящего подключения REALITY выглядит примерно так: ```json title="server inbound (excerpt)" { "network": "tcp", "security": "reality", "realitySettings": { "dest": "www.microsoft.com:443", "serverNames": ["www.microsoft.com"], "privateKey": "", "shortIds": [""], "fingerprint": "chrome" } } ``` Соответствующая клиентская ссылка для подключения содержит **публичные** параметры: ```text title="vless:// (excerpt)" vless://@:443?security=reality&pbk=&sid=&sni=www.microsoft.com&fp=chrome&spx=%2F&flow=xtls-rprx-vision#my-reality ``` - `pbk` — **публичный** ключ REALITY - `sid` — short ID (совпадает с одним из заданных на сервере) - `sni` — server name (совпадает с сертификатом цели) - `fp` — отпечаток клиента - `spx` — путь spiderX - `flow` — `xtls-rprx-vision` ## Типичные ошибки - **Неподходящая цель.** Значение `dest` должно указывать на реальный сайт, который поддерживает **TLS 1.3** и **HTTP/2**, доступен и не заблокирован в вашем регионе. Выбирайте сайт, который вам не принадлежит и на который идёт большой трафик. - **Несовпадение SNI.** Значения SNI / server names должны совпадать с реальным сертификатом цели, иначе рукопожатие выдаст маскировку. - **Утечка приватного ключа.** Клиентам всегда передавайте только **публичный** ключ. - **Неправильный поток.** Для REALITY + XTLS-Vision нужен `flow = xtls-rprx-vision` как в записи клиента входящего подключения, так и в ссылке для подключения. - **Ограничения версии клиента.** В Xray-core v26.9.8+ пустое поле **Мин. версия клиента** не задаёт нижнюю границу. Явно сохранённое ограничение продолжает действовать. Более ранние сборки могут использовать встроенный минимум (например, `26.3.27`) и отклонять сторонние клиенты с правильными ключами. Проверьте версию работающего ядра: снижение ограничения допускает старые отпечатки. - **Mihomo и ML-KEM.** Xray-core v26.9.8+ отдельно требует ключ `X25519MLKEM768` перед необязательным `X25519`. YAML-подписка Clash/Mihomo включает `reality-opts.support-x25519mlkem768` для REALITY, в том числе внешних ссылок, и выбирает `chrome`, если отпечаток не задан. Явный выбор сохраняется: нужен отпечаток с ML-KEM (`chrome` при uTLS v1.8.7 в Mihomo). Сам флаг не обновляет старые отпечатки. Исходные ссылки `vless://` не передают эту настройку Mihomo; при прямом импорте нужно постоянное переопределение в клиенте. Для очень старых серверов REALITY, отвергающих ML-KEM, задайте `false` для соответствующего узла в клиенте или обновите сервер. Снятие ограничения версии не исправляет это рукопожатие. ## Сгенерируйте конфигурацию Используйте генератор ниже, чтобы создать новую пару ключей X25519, UUID и short ID, а затем скопируйте JSON входящего подключения сервера и клиентскую ссылку для подключения. Все вычисления выполняются **в вашем браузере** — никакие ключи и ссылки никуда не отправляются. **Приватный ключ** должен оставаться только на вашем сервере. Делитесь с клиентами сгенерированной ссылкой `vless://` (которая содержит **публичный** ключ).