---
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
```

## Настройка в панели

<Steps>

<Step>
### Создайте входящее подключение VLESS

Добавьте новое входящее подключение, выберите протокол **VLESS** и установите
**Security** в **reality**.
</Step>

<Step>
### Выберите цель (dest) и SNI

Выберите авторитетный сайт, поддерживающий TLS 1.3 и HTTP/2 и доступный как с
вашего сервера, так и с устройств клиентов (например `www.microsoft.com:443`).
Задайте server names / SNI так, чтобы они совпадали с сертификатом этого сайта.
</Step>

<Step>
### Сгенерируйте ключи и short ID

Сгенерируйте пару ключей x25519 и один или несколько short ID. Держите
**приватный ключ** в секрете; клиенты получают только **публичный ключ**.
</Step>

<Step>
### Задайте поток и отпечаток

Используйте поток `xtls-rprx-vision` и распространённый отпечаток uTLS, например
`chrome`.
</Step>

<Step>
### Добавьте клиента и поделитесь ссылкой

Создайте клиента, затем используйте его ссылку для подключения или QR-код в
совместимом приложении (v2rayNG, Hiddify, Mihomo и других).
</Step>

</Steps>

## Как выглядит конфигурация

На сервере секция `streamSettings` входящего подключения REALITY выглядит
примерно так:

```json title="server inbound (excerpt)"
{
  "network": "tcp",
  "security": "reality",
  "realitySettings": {
    "dest": "www.microsoft.com:443",
    "serverNames": ["www.microsoft.com"],
    "privateKey": "<x25519 private key>",
    "shortIds": ["<hex short id>"],
    "fingerprint": "chrome"
  }
}
```

Соответствующая клиентская ссылка для подключения содержит **публичные**
параметры:

```text title="vless:// (excerpt)"
vless://<uuid>@<server>:443?security=reality&pbk=<public-key>&sid=<short-id>&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`

## Типичные ошибки

<Callout type="warn">

- **Неподходящая цель.** Значение `dest` должно указывать на реальный сайт,
  который поддерживает **TLS 1.3** и **HTTP/2**, доступен и не заблокирован в
  вашем регионе. Выбирайте сайт, который вам не принадлежит и на который идёт
  большой трафик.
- **Несовпадение SNI.** Значения SNI / server names должны совпадать с реальным
  сертификатом цели, иначе рукопожатие выдаст маскировку.
- **Утечка приватного ключа.** Клиентам всегда передавайте только **публичный**
  ключ.
- **Неправильный поток.** Для REALITY + XTLS-Vision нужен `flow = xtls-rprx-vision`
  как в записи клиента входящего подключения, так и в ссылке для подключения.
- **Старые ядра клиентов отклоняются по умолчанию.** Пустое поле
  **Мин. версия клиента** не означает «без ограничений»: Xray-core использует
  встроенный минимум используемой сборки ядра (26.3.27 в текущих релизах),
  который поддерживает свежесть
  TLS-отпечатков клиентов, поэтому сторонние ядра, такие как Mihomo и sing-box,
  не проходят проверку REALITY даже при корректной конфигурации — клиенты видят
  таймауты, а подключаются только приложения на базе Xray-core. Ставьте `1.0.0`,
  только если они вам необходимы; это также допустит устаревшие отпечатки.

</Callout>

## Сгенерируйте конфигурацию

Используйте генератор ниже, чтобы создать новую пару ключей X25519, UUID и short
ID, а затем скопируйте JSON входящего подключения сервера и клиентскую ссылку для
подключения. Все вычисления выполняются **в вашем браузере** — никакие ключи и
ссылки никуда не отправляются.

<RealityConfigGenerator />

<Callout type="info">
  **Приватный ключ** должен оставаться только на вашем сервере. Делитесь с
  клиентами сгенерированной ссылкой `vless://` (которая содержит **публичный**
  ключ).
</Callout>
