VLESS, XTLS Reality и XHTTP: как устроены современные прокси и что выбрать

Разбираем принципы работы VLESS, XTLS Reality и XHTTP, сравниваем их возможности, ограничения и сценарии использования. Практические рекомендации по настройке и выбору транспорта.

Что такое VLESS и чем он отличается от других протоколов

VLESS — это легковесный прокси-протокол, разработанный в экосистеме Xray. Он не шифрует трафик самостоятельно, а полагается на внешний транспортный уровень (TLS, XHTTP и другие). Благодаря этому VLESS работает быстрее и гибче, чем традиционные VPN-протоколы вроде WireGuard или OpenVPN, которые строят собственный туннель со своим рукопожатием.

Ключевая особенность VLESS — отсутствие встроенного шифрования. Это означает, что его необходимо комбинировать с TLS или Reality для защиты данных. Однако именно такая модульность позволяет использовать VLESS с самыми разными транспортами: от простого TCP до XHTTP, который имитирует обычный веб-трафик.

В отличие от Shadowsocks или V2Ray, VLESS не имеет фиксированной структуры пакетов, что затрудняет его детектирование по сигнатурам. В сочетании с XTLS Reality он становится практически неотличимым от обычного HTTPS-соединения.

XTLS Reality: как работает маскировка под реальный сайт

XTLS Reality — это технология, которая позволяет прокси-серверу маскироваться под легитимный веб-сайт. Вместо того чтобы использовать собственный TLS-сертификат, Reality перенаправляет TLS-рукопожатие на реальный сайт (например, www.samsung.com) и использует его сертификат для подтверждения подлинности.

Процесс выглядит так: клиент отправляет TLS-запрос с SNI (Server Name Indication) сайта-маски. Сервер Reality пересылает это рукопожатие на реальный сайт, получает его сертификат и возвращает клиенту. Если клиент не знает секретного ключа, он получает обычную страницу сайта-маски. Свой клиент встраивает в рукопожатие зашифрованную метку, которую сервер распознает и подменяет сертификат на временный, подписанный общим ключом.

Это делает Reality неотличимым от обычного HTTPS для DPI (Deep Packet Inspection). Заблокировать такое соединение можно только вместе с самим сайтом-маской. Однако у Reality есть ограничения: он не скрывает ритм и объём трафика, репутацию подсети хостера и количество параллельных соединений к одному SNI. Именно по этим косвенным признакам Reality иногда обнаруживают.

XHTTP: транспорт, который имитирует веб-трафик

XHTTP — это транспортный протокол, разработанный для Xray. Он позволяет передавать данные через HTTP-запросы, что делает трафик похожим на обычное посещение веб-сайтов. В отличие от WebSocket, XHTTP не требует специальной поддержки CDN и может работать через большинство веб-серверов.

XHTTP имеет три режима работы:

  • packet-up — самый медленный, но совместимый с большинством серверов. Использует одно долгоживущее соединение для приёма данных и множество коротких для отправки.
  • stream-up — более быстрый, но требует определённой настройки сервера. Использует два отдельных долгоживущих соединения для входящего и исходящего трафика.
  • stream-one — единственный режим, который не разделяет соединения. Все данные передаются в одном соединении, как в обычном VLESS с HTTP-заголовком.

Главное преимущество XHTTP — возможность разделять входящий и исходящий трафик по разным каналам: например, отправлять данные через QUIC, а получать через HTTPS. Это сильно затрудняет анализ трафика и делает блокировку практически невозможной.

Сравнение Reality и XHTTP: что выбрать

Выбор между Reality и XHTTP зависит от ваших задач и условий сети.

Reality — это простая и эффективная маскировка под реальный сайт. Она не требует настройки CDN или дополнительных серверов. Reality работает только с TLS 1.3, что может стать проблемой, если провайдер блокирует TLS 1.3 к популярным хостерам. Однако для большинства пользователей Reality — оптимальный выбор: он быстрый, легко настраивается через панели вроде 3X-UI и не требует сложной инфраструктуры.

XHTTP — более гибкий транспорт, который позволяет подключаться через CDN, использовать QUIC и даже разделять трафик по разным каналам. Он также поддерживает TLS 1.2, что может быть полезно, если TLS 1.3 блокируется. Однако XHTTP требует более тщательной настройки и совместимости версий Xray на клиенте и сервере. Кроме того, XHTTP не работает с XTLS-Vision, но может использоваться с Reality в режиме stream-one.

Если вам нужна максимальная скорость и простота — выбирайте Reality. Если вы сталкиваетесь с блокировками по косвенным признакам или хотите использовать CDN — XHTTP будет лучшим вариантом.

Практическая настройка VLESS Reality на VPS

Для настройки VLESS Reality на VPS можно использовать панель 3X-UI, которая автоматизирует установку и конфигурацию Xray. Вот основные шаги:

  1. Выберите VPS с характеристиками: минимум 1 vCPU, 512 МБ RAM, 5 ГБ SSD, KVM-виртуализация. Расположение — Европа (Германия, Нидерланды, Финляндия), чтобы минимизировать задержку до сайта-маски.
  2. Установите 3X-UI с помощью официального скрипта. Во время установки выберите SQLite для личного использования, случайный порт для панели и вариант SSL (лучше всего — Let's Encrypt на IP, если порт 80 открыт).
  3. Создайте inbound с протоколом VLESS, портом 443, транспортом RAW и безопасностью Reality. Укажите цель (Target) — сайт-маску, например www.samsung.com:443, и SNI — тот же домен без порта. Панель сама сгенерирует ключи x25519 и Short ID.
  4. Добавьте клиента с уникальным Email, выберите flow xtls-rprx-vision и привяжите к inbound. После сохранения вы получите ссылку vless:// и QR-код для подключения.
  5. Настройте firewall — откройте порт 443 в панели управления хостера и на самом сервере (UFW).

Важно: выбирайте сайт-маску, которая поддерживает TLS 1.3, HTTP/2 и X25519. Избегайте популярных масок вроде apple.com или microsoft.com, так как они часто блокируются. Лучше использовать кнопку «Найти цели» в панели, чтобы найти сайт в сети вашего дата-центра.

Настройка XHTTP с Reality: пошаговый пример

XHTTP с Reality можно настроить вручную, используя конфигурационные файлы Xray. Вот пример для двух профилей: TCP+Reality+Vision и XHTTP+Reality+H2.

Сначала сгенерируйте UUID, ключи x25519 и Short ID для каждого профиля:

/usr/local/bin/xray uuid
/usr/local/bin/xray x25519
openssl rand -hex 8

Затем создайте конфигурационные файлы в каталоге /usr/local/etc/xray/profiles. Для TCP-профиля используйте streamSettings с network: "tcp", security: "reality" и flow: "xtls-rprx-vision". Для XHTTP-профиля — network: "xhttp", security: "reality" и xhttpSettings с path.

Важно: XHTTP не поддерживает flow xtls-rprx-vision. Вместо этого используйте XMUX для мультиплексирования. Убедитесь, что версии Xray на клиенте и сервере совпадают, иначе возможны сбои.

После создания файлов проверьте конфигурацию командой xray run -test -config <файл>, затем активируйте нужный профиль и перезапустите сервис. Для переключения между профилями можно написать скрипт, который сохраняет резервную копию активного конфига и восстанавливает её при ошибке.

Как выбрать сайт-маску для Reality

Сайт-маска — это внешний HTTPS-ресурс, под который маскируется ваш прокси. От его выбора зависит скорость и надёжность соединения.

Основные требования к цели:

  • Поддержка TLS 1.3, HTTP/2 и обмена ключами X25519.
  • Действующий сертификат, который можно проверить.
  • Доступность с вашего VPS — рукопожатие идёт через сервер, а не через клиента.
  • Низкая задержка от VPS до цели (не более 30 мс).

Избегайте сайтов, которые часто используются в качестве масок: apple, icloud, microsoft, а также домены .ru, .cn, .ir. Они повышают риск блокировки IP. Также не стоит брать сайты за Cloudflare, так как их сертификаты легко проверить.

Хорошие варианты: www.samsung.com, www.nvidia.com, www.intel.com, www.sony.com. Но лучше всего использовать функцию «Найти цели» в 3X-UI, которая сканирует подсеть вашего дата-центра и находит подходящие сайты.

Безопасность и ограничения: что нужно знать

Даже с Reality и XHTTP ваш трафик не полностью анонимен. Вот ключевые ограничения:

  • Ритм и объём трафика: постоянный поток к одному адресу может быть замечен. Если вы скачиваете большие файлы, это может вызвать подозрения.
  • Репутация подсети: диапазоны IP хостингов известны и могут блокироваться целиком. Выбирайте VPS у провайдеров с хорошей репутацией.
  • Число параллельных соединений: слишком много одновременных подключений к одному SNI может быть признаком прокси.
  • Версии Xray: XHTTP активно развивается, поэтому важно использовать одинаковые версии на клиенте и сервере. Иначе возможны сбои.
  • Совместимость клиентов: XHTTP не поддерживается Sing-box, но работает с v2rayN и v2rayNG. Убедитесь, что ваш клиент поддерживает нужный транспорт.

Также помните: Reality не скрывает факт использования прокси от провайдера, если он анализирует трафик по косвенным признакам. Для максимальной безопасности комбинируйте разные технологии, например, используйте промежуточный сервер в России.

Частые проблемы и их решение

При настройке VLESS Reality или XHTTP могут возникнуть типичные проблемы:

  • Не открывается панель 3X-UI: проверьте, открыт ли порт панели в firewall хостера. У многих провайдеров (Hetzner, DigitalOcean) есть собственный сетевой firewall, который блокирует трафик до VPS.
  • Соединение устанавливается, но нет трафика: проверьте, что сайт-маска доступна с сервера и поддерживает TLS 1.3. Используйте команду openssl s_client для проверки.
  • Клиент не подключается: убедитесь, что версии Xray на клиенте и сервере совпадают. Для XHTTP это критично.
  • Медленная скорость: возможно, сайт-маска находится далеко от VPS. Выберите цель с меньшей задержкой.
  • Блокировка IP: если ваш IP заблокирован, смените сайт-маску или перейдите на XHTTP с CDN.

Если ничего не помогает, проверьте логи Xray командой journalctl -u xray -n 100.

Вопросы и ответы

В чём разница между VLESS и V2Ray?

VLESS — это протокол, а V2Ray — это платформа, которая его реализует. VLESS — более лёгкий и современный протокол, который не имеет встроенного шифрования, полагаясь на внешний TLS. V2Ray также поддерживает другие протоколы, такие как VMess и Shadowsocks, но VLESS считается более эффективным и гибким.

Можно ли использовать XHTTP без CDN?

Да, XHTTP может работать и без CDN, напрямую подключаясь к серверу. Это даёт преимущества в виде разделения входящего и исходящего трафика по разным каналам, что затрудняет анализ. Однако для максимальной эффективности рекомендуется использовать CDN, особенно если ваш IP заблокирован.

Какой транспорт лучше для обхода блокировок в России?

Оба варианта эффективны, но XHTTP более устойчив к блокировкам по косвенным признакам, так как имитирует обычный веб-трафик и позволяет использовать CDN. Reality проще в настройке, но может быть обнаружен по паттернам трафика. Рекомендуется комбинировать оба подхода.

Нужен ли свой домен для VLESS Reality?

Нет, Reality не требует собственного домена или сертификата. Он использует чужой сайт в качестве маски, поэтому вам нужен только VPS с открытым портом 443.

Какие клиенты поддерживают XHTTP?

XHTTP поддерживается клиентами на базе Xray, такими как v2rayN, v2rayNG и Nekoray. Клиенты на базе Sing-box (например, Sing-box для Android) не поддерживают XHTTP. Убедитесь, что версия клиента совместима с сервером.

Что такое XMUX и зачем он нужен?

XMUX — это алгоритм мультиплексирования, который появился вместе с XHTTP. Он позволяет объединять несколько потоков данных в одно соединение, что повышает эффективность и затрудняет детектирование. XMUX особенно полезен при использовании XHTTP, так как компенсирует отсутствие XTLS-Vision.