Что такое VLESS, XTLS, Vision и Reality
VLESS — это легковесный протокол авторизации в экосистеме Xray-core. Сам по себе он не шифрует трафик: шифрование и маскировку обеспечивают транспортные обёртки, такие как TLS, XTLS, REALITY, WebSocket или gRPC. Благодаря минимальному оверхеду и гибкости VLESS стал стандартом для создания приватных прокси в средах с активным DPI.
XTLS — это набор оптимизаций для TLS-соединений в Xray, который снижает накладные расходы и задержку. Vision (или xtls-rprx-vision) — современный потоковый режим XTLS, имитирующий поведение реального TLS 1.3-клиента и повышающий устойчивость к анализу отпечатков.
REALITY — это транспортный механизм, который делает соединение неотличимым от обычного HTTPS-рукопожатия с популярным сайтом, не требуя собственного домена или сертификата. Вместо этого сервер проксирует рукопожатие через реальный сайт-маску, а своего клиента узнаёт по скрытой метке в служебном поле.
Комбинация VLESS + XTLS Vision + Reality считается одной из самых защищённых от DPI и активного зондирования, поэтому она широко используется для обхода блокировок в России и других странах с жёсткой фильтрацией.
Как работает Reality: рукопожатие через чужой сайт
Клиент начинает TLS-рукопожатие, указывая SNI сайта-маски, например www.samsung.com. Для DPI это выглядит как обычный запрос к доверенному домену. Сервер, получив соединение, сам подключается к сайту-маске и пересылает рукопожатие туда, ещё до проверки подлинности клиента. Если клиент не знает секретного ключа, он получает подлинный сертификат сайта и его страницу — как при обычном заходе. Это делает активное зондирование бесполезным: «неправильный» клиент видит реальный сайт.
Свой клиент встраивает метку в служебное поле рукопожатия, зашифрованную общим с сервером ключом. Сервер распознаёт метку и на лету подменяет сертификат сайта своим временным, подписанным тем же ключом. Клиент проверяет подпись. Со стороны и метка, и подпись выглядят как случайные байты, поэтому подменить сертификат посередине невозможно.
Flow xtls-rprx-vision убирает второе шифрование: уже зашифрованные TLS-данные передаются без дополнительного слоя, что снижает нагрузку на процессор и не выдаёт прокси характерными размерами TLS-записей. В результате заблокировать такое соединение по сигнатуре означает заблокировать сам сайт-маску, что практически невозможно без ущерба для легитимных пользователей.
Чем VLESS Reality отличается от VLESS XTLS Vision без Reality
VLESS XTLS Vision без Reality использует собственный домен и сертификат (или CDN). Он обеспечивает высокую производительность и гибкость, но более уязвим к блокировкам по SNI или IP домена. Если домен попадает в реестр запрещённых, доступ теряют все пользователи сразу.
VLESS Reality, напротив, не требует своего домена и сертификата, что снижает риск блокировки по SNI. Однако он зависит от выбора сайта-маски: если маска популярна и используется слишком многими, её SNI может быть заблокирован, что приведёт к недоступности сервера. Кроме того, Reality не скрывает ритм и объём трафика, репутацию подсети хостинга и число параллельных соединений к одному SNI — именно по этим признакам его ловят в России.
На практике выбор между Reality и Vision зависит от сценария: для строгого DPI и активного зондирования лучше Reality, для высоких скоростей и использования CDN — Vision с реальным сертификатом. В 2026 году многие эксперты рекомендуют комбинировать оба подхода: использовать Reality как основной транспорт, а Vision — как резервный.
Требования к серверу и выбор локации
Для стабильной работы VLESS Reality нужен VPS с минимум 1 vCPU, 512 МБ RAM и 5 ГБ SSD. Рекомендуется 1–2 vCPU, 1 ГБ RAM и 10 ГБ SSD. Операционная система — Ubuntu 22.04 или 24.04 LTS. Виртуализация KVM предпочтительна, так как позволяет включить BBR для улучшения производительности. IPv4 должен быть белым, без NAT, порт 443 свободен.
Ключевой фактор — расположение сервера. Поскольку каждое рукопожатие идёт через сайт-маску, задержка от VPS до неё добавляется к времени подключения. Идеально, если сервер находится в крупном европейском дата-центре (Германия, Нидерланды, Финляндия), а до сайта-маски не более 30 мс. В России серверы размещать не рекомендуется из-за риска блокировок и высокой задержки до зарубежных сайтов.
При выборе хостинга обращайте внимание на репутацию подсети: «грязные» ASN с историей спама или атак чаще попадают в блок-листы. Некоторые провайдеры, например Aeza, предлагают предустановленную панель 3X-UI, что упрощает настройку. Однако помните, что российские хостинги подчиняются местному законодательству, что может быть рискованно для обхода блокировок.
Установка панели 3X-UI и первичная настройка
3X-UI — это веб-панель для управления Xray-core. Установка выполняется одной командой, которая ставит ядро, панель и systemd-сервис. Перед установкой обновите систему: apt update && NEEDRESTART_MODE=a apt upgrade -y, затем запустите официальный установщик: bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh).
Установщик задаст несколько вопросов. Для базы данных выберите SQLite (вариант 1) — этого достаточно для личного прокси. Порт панели лучше оставить случайным (ответьте n на вопрос о кастомизации), чтобы его не нашли сканеры. При выборе SSL есть четыре варианта: Let's Encrypt на домен, на IP, свои сертификаты или без SSL. Если порт 80 открыт, можно выбрать вариант 2 — сертификат на IP выпускается автоматически и продлевается сам. Если панель не должна быть доступна из интернета, выберите вариант 4 и привяжите её к 127.0.0.1, а доступ организуйте через SSH-туннель.
После установки панель будет доступна по адресу, который выводится в конце. Логин, пароль и веб-путь сохраняются в файле /etc/x-ui/install-result.env с правами 600. Если забыли данные, прочитайте файл командой cat /etc/x-ui/install-result.env. Проверьте статус сервиса: systemctl status x-ui. Если панель не открывается, проверьте сетевой firewall у провайдера (Hetzner, Selectel, AWS и др.) — он может блокировать порт до того, как трафик дойдёт до VPS.
Настройка VLESS Reality inbound в 3X-UI
В панели 3X-UI перейдите в раздел «Входящие» и нажмите «Создать подключение». Заполните вкладки: на вкладке «Основное» укажите имя (например, reality-443), протокол VLESS, порт 443. На вкладке «Поток» выберите транспорт RAW (бывший TCP). На вкладке «Безопасность» включите переключатель Reality, выберите uTLS (например, chrome), укажите Цель (Target) — сайт-маску с портом, например www.samsung.com:443, и SNI — тот же домен без порта. Поля «Ключи», «Short IDs» и «SpiderX» панель заполнит автоматически при выборе Reality — трогать их не нужно.
Выбор сайта-маски — критически важный шаг. Цель должна поддерживать TLS 1.3, HTTP/2 и обмен ключами X25519, иметь действующий сертификат и быть доступной с вашего VPS. В панели есть кнопки «Сканировать» и «Найти цели»: первая проверяет введённую цель, вторая перебирает список кандидатов и находит подходящие в сети вашего дата-центра. Не рекомендуется использовать маски с apple, icloud, microsoft, а также домены .ru, .cn, .ir — они слишком заезжены и повышают риск блокировки IP. Также избегайте сайтов за Cloudflare, так как сертификат CDN легко проверить.
Рабочие варианты: www.samsung.com, www.nvidia.com, www.intel.com, www.sony.com. Лучше найти цель в своей сети кнопкой «Найти цели». После заполнения нажмите «Создать» — панель применит конфигурацию автоматически.
Создание клиента и подключение устройств
В 3X-UI 3.x пользователи вынесены в раздел «Клиенты». Нажмите «Добавить клиента», укажите Email (уникальное имя), при необходимости лимит трафика и срок действия. На вкладке «Учетные данные» выберите Flow xtls-rprx-vision — это поле появляется только после выбора inbound с Reality. После сохранения в строке клиента появятся иконки QR-кода и ссылки. Ссылка имеет вид vless://UUID@IP:443?encryption=none&flow=xtls-rprx-vision&fp=chrome&pbk=...&security=reality&sid=...&sni=www.samsung.com&spx=...&type=tcp#reality-443.
Для подключения используйте клиенты: на Windows — InvisibleMan-XRay или v2rayN, на Android — NekoBox или v2rayNG, на iOS — FoXray, на Linux — Nekoray или sing-box. Сканируйте QR-код или вставьте ссылку в приложение. Если устройств больше двух, включите подписку в настройках панели — тогда приложения будут автоматически подтягивать новые параметры при изменении конфигурации. Путь подписки по умолчанию /sub/ известен сканерам, поэтому его стоит сменить.
Важно: ссылку нельзя редактировать вручную, так как в ней зашиты публичный ключ, Short ID, SNI и отпечаток. Если вы изменили что-то в inbound, возьмите ссылку заново.
Оптимизация и защита от DPI
Чтобы повысить устойчивость к DPI, следуйте нескольким правилам. Во-первых, используйте uTLS с профилем популярного браузера (chrome, firefox) — это снижает уникальность JA3/JA4 отпечатка. Во-вторых, настройте ALPN на h2 и http/1.1, избегайте редких комбинаций. В-третьих, включите BBR для улучшения пропускной способности: sysctl -w net.core.default_qdisc=fq && sysctl -w net.ipv4.tcp_congestion_control=bbr.
Для мобильных сетей с нестабильным RTT рекомендуется ограничить MSS до 1360–1380, чтобы избежать фрагментации. Также стоит регулярно ротировать Short ID и ключи Reality (раз в месяц или квартал). Не используйте один UUID для многих пользователей — это увеличивает риск утечки и попадания в блок-листы. Логи лучше минимизировать или отключить, включая только для диагностики.
Важно настроить fallback: если клиент не прошёл проверку, сервер должен отдавать реальную страницу сайта-маски, а не «зависать». Это делает активное зондирование бесполезным. Проверьте fallback, подключившись без правильного shortId — вы должны увидеть сайт.
Типичные ошибки и как их избежать
Одна из частых ошибок — неправильный выбор сайта-маски. Если dest медленный или нестабильный, активное зондирование может выявить аномалии. Всегда проверяйте цель кнопкой «Сканировать» и выбирайте быстрые и надёжные сайты.
Вторая ошибка — отсутствие fallback. Сервер, который «замирает» при неудачном рукопожатии, легко детектируется. Всегда настраивайте переадресацию на реальный сайт.
Третья ошибка — использование редких ALPN или расширений TLS. Это увеличивает уникальность отпечатка и упрощает детект. Придерживайтесь стандартных профилей браузеров.
Четвёртая ошибка — плохая изоляция админ-панели. Открытый порт панели и SSH на 22 без ограничений — сигнал для блок-листов. Используйте SSH-ключи, ограничьте доступ по IP или через WireGuard.
Пятая ошибка — использование одного домена для Vision на всю организацию. Если домен заблокируют, все потеряют доступ. Планируйте резервные домены.
Наконец, неправильный MTU может вызывать фрагментацию и нестабильность. Настройте MSS для мобильных сегментов.
Диагностика и решение проблем
Если VPN не работает, сначала проверьте статус сервиса: systemctl status x-ui. Убедитесь, что порт 443 открыт в firewall как на уровне ОС (UFW), так и в панели управления хостинга. Проверьте доступность сайта-маски с сервера: openssl s_client -connect www.samsung.com:443 -servername www.samsung.com -tls1_3 -alpn h2. Если вывод содержит New, TLSv1.3, ALPN protocol: h2 и Server Temp Key: X25519, цель подходит.
Если соединение устанавливается, но трафик не идёт, проверьте, не блокирует ли провайдер протокол по ритму или объёму. В России Reality ловят по постоянному потоку к одному адресу, репутации подсети и числу параллельных соединений. В таком случае попробуйте сменить сайт-маску, порт или использовать другой протокол (например, VLESS + WebSocket + TLS).
Для диагностики используйте mtr для проверки пути, iperf3 для замера скорости, а также инструменты для анализа JA3/JA4 отпечатков. Если клиент не подключается, проверьте, совпадают ли публичный ключ, shortId и SNI в ссылке с настройками сервера. Также убедитесь, что flow на клиенте и сервере одинаковый.
Вопросы и ответы
В чём разница между VLESS Reality и VLESS XTLS Vision?
VLESS Reality использует чужой сайт в качестве маски и не требует собственного домена или сертификата, что делает его более устойчивым к блокировкам по SNI. VLESS XTLS Vision без Reality использует собственный домен и сертификат, что даёт больше гибкости (например, через CDN), но увеличивает риск блокировки по домену. Reality лучше для строгого DPI, Vision — для высоких скоростей и использования CDN.
Как выбрать сайт-маску для Reality?
Сайт-маска должна поддерживать TLS 1.3, HTTP/2 и X25519, иметь действующий сертификат и быть доступной с вашего VPS. Избегайте популярных масок (apple, microsoft, .ru, .cn), а также сайтов за Cloudflare. Лучше использовать кнопку «Найти цели» в 3X-UI, чтобы найти цель в сети вашего дата-центра. Хорошие варианты: www.samsung.com, www.nvidia.com, www.intel.com.
Какие минимальные требования к VPS для VLESS Reality?
Минимум: 1 vCPU, 512 МБ RAM, 5 ГБ SSD, Ubuntu 22.04, KVM или OpenVZ, белый IPv4, свободный порт 443. Рекомендуется: 1–2 vCPU, 1 ГБ RAM, 10 ГБ SSD, KVM (для BBR), расположение в Европе (DE, NL, FI). Задержка до сайта-маски не должна превышать 30 мс.
Что такое flow xtls-rprx-vision и зачем он нужен?
xtls-rprx-vision — это потоковый режим XTLS, который имитирует поведение реального TLS 1.3-клиента и убирает второе шифрование, снижая нагрузку на процессор и делая трафик менее заметным для DPI. Он используется в связке с VLESS Reality и Vision для повышения производительности и устойчивости к анализу.
Как защитить панель 3X-UI от несанкционированного доступа?
Рекомендуется привязать панель к 127.0.0.1 (вариант 4 при установке) и получать доступ через SSH-туннель: ssh -L 2222:127.0.0.1:ПОРТ_ПАНЕЛИ root@IP. Также используйте случайный порт и веб-путь, включите двухфакторную аутентификацию, если она поддерживается, и ограничьте доступ по IP через firewall.
Почему VLESS Reality может перестать работать в России?
Reality не скрывает ритм и объём трафика, репутацию подсети и число параллельных соединений к одному SNI. DPI может блокировать IP сервера, если он находится в «грязной» подсети, или блокировать SNI сайта-маски, если она используется слишком многими. Также возможна блокировка по поведенческим признакам (постоянный поток к одному адресу). Решение — смена маски, порта, сервера или переход на другой протокол.