XTLS Vision, XHTTP, gRPC и WebSocket: что это в ключе VLESS и чем TLS отличается от Reality
В ключе VLESS три независимые настройки: протокол, защита (TLS или Reality) и транспорт (TCP, XHTTP, gRPC, WebSocket). Vision — режим для TCP, который прячет «TLS внутри TLS». XHTTP — новый транспорт Xray на обычных HTTP-запросах, ему на смену уходят gRPC и WebSocket.
На этой странице
В ключе VLESS полно непонятных слов: tcp, xhttp, grpc, ws, reality, tls, xtls-rprx-vision. Это не разные протоколы, а настройки одного. Xray собирает соединение из трёх независимых частей: протокол (VLESS) — кто вы и куда идёт трафик; защита — TLS или Reality; транспорт — как именно байты едут по сети. Поверх может стоять режим flow — сейчас это Vision. Ниже — что значит каждое слово, чем TLS отличается от Reality, зачем нужны XHTTP и gRPC и что из этого держится в России.
Из чего состоит ключ VLESS
| Часть | Параметр в ключе | Варианты | Что делает |
|---|---|---|---|
| Протокол | vless:// | VLESS (бывают VMess, Trojan, Shadowsocks) | Кто вы (UUID) и куда направить соединение |
| Защита | security | tls, reality, none | Шифрование и то, как соединение выглядит снаружи |
| Транспорт | type | tcp (raw), xhttp, grpc, ws, httpupgrade, kcp | Как данные упакованы и едут по сети |
| Режим | flow | xtls-rprx-vision или пусто | Скрывает «TLS внутри TLS» и убирает двойное шифрование |
Слово «tcp» в ключе — это транспорт, который в Xray с осени 2024 года называется RAW: данные идут по одному обычному TCP-соединению без дополнительной упаковки. Подробно о самом VLESS и его ключе — VLESS и Reality: что это за протокол.
TLS или Reality: в чём разница
TLS — то же шифрование, что у любого сайта с замком в адресной строке. Для него нужен свой домен и сертификат на него. Плюс TLS — гибкость: соединение можно пустить через CDN или обратный прокси, и тогда сервер прячется за чужими адресами. Минус — у сервера свой сертификат и свой отпечаток TLS, по которым его можно изучить; Reality как раз это убирает.
Reality — разработка команды XTLS, которую документация Xray называет «изменённой формой TLS, которая использует внешний вид и особенности рукопожатия целевого сайта как маскировку». По описанию на GitHub, Reality:
- не требует своего домена и настройки TLS-сервера — сервер указывает на чужой сайт;
- убирает отпечаток TLS самого сервера;
- отправляет тех, кто не прошёл проверку, на настоящий целевой сайт — проверяющий видит его подлинный сертификат;
- требует, чтобы целевой сайт был зарубежным, поддерживал TLS 1.3 и HTTP/2 и не перенаправлял на другой адрес.
По документации, Reality работает только с транспортами RAW (TCP), XHTTP и gRPC. Через CDN его не пустишь: CDN сам завершает TLS со своим сертификатом, а смысл Reality — в чужом. Неуязвимым Reality не считают и сами исследователи: в феврале 2026 года на форуме исследователей цензуры net4people описали способ отличить сервер Reality от настоящего сайта по мелочам в обработке TLS.
XTLS Vision (xtls-rprx-vision): что это
Когда вы открываете сайт через прокси в TLS, внутри одного шифрованного соединения идёт рукопожатие второго — с самим сайтом. По размерам и порядку пакетов такое вложение можно узнать: это и есть проблема «TLS внутри TLS», которую исследователи давно умеют находить. Vision — ответ Xray на неё. По описанию разработчиков из октября 2022 года:
- Выравнивает рукопожатие. Короткие пакеты внутреннего рукопожатия добиваются случайными данными до 900–1400 байт, чтобы по размерам не было видно, что внутри идёт ещё одно TLS.
- Не шифрует второй раз. Если внутри TLS 1.3, после рукопожатия данные передаются как есть: они и так зашифрованы сайтом и снаружи выглядят одинаково. На Linux Xray ещё и копирует их напрямую средствами системы — меньше нагрузки на процессор.
- Отключает QUIC в браузере. По умолчанию Vision перехватывает UDP на порт 443, чтобы браузер перешёл с HTTP/3 на обычный HTTPS через TCP. Есть вариант xtls-rprx-vision-udp443, который этого не делает.
Vision работает только с транспортом RAW (TCP) и защитой TLS или Reality; с XHTTP, gRPC и мультиплексированием его не сочетают. До Vision в Xray были режимы XTLS Origin, Direct и Splice — их убрали в версии 1.8.0 в марте 2023 года.
Что такое XHTTP
XHTTP — транспорт, где данные идут обычными HTTP-запросами и ответами. История у него короткая:
- Июнь 2024. В Xray появился SplitHTTP: получение — одним долгим запросом GET, отправка — множеством запросов POST. Так он проходил через CDN, которые не поддерживают WebSocket и gRPC.
- Октябрь 2024. SplitHTTP переделали, по-настоящему разделили отправку и получение и переименовали в XHTTP.
- Декабрь 2024. Разработчик Xray опубликовал разбор «XHTTP: Beyond REALITY». «Beyond» тут — «популярнее Reality», а не «вместо»: XHTTP можно использовать вместе с Reality.
У XHTTP несколько режимов: packet-up — отправка отдельными запросами, самый совместимый; stream-up — отправка тоже потоком; stream-one — один запрос, где всё идёт в обе стороны. По умолчанию Xray выбирает сам: с TLS и HTTP/2 — stream-up, с Reality — stream-one, иначе — packet-up. Работает XHTTP поверх HTTP/1.1, HTTP/2 или HTTP/3, через CDN и Nginx, а отправку и получение можно пустить даже разными путями — например, одно через CDN, другое напрямую через Reality.
Минус XHTTP — накладные расходы: в режиме packet-up каждый кусок данных — отдельный HTTP-запрос. На хорошей связи чистый TCP с Vision обычно быстрее.
gRPC, WebSocket и HTTPUpgrade
- gRPC — способ обмена данными от Google поверх HTTP/2. Документация Xray пишет, что его можно пустить через серверы с поддержкой HTTP/2, например Nginx, а мультиплексирование в нём встроено. Сейчас там же стоит совет: «переходите на XHTTP», и предупреждение, что сервисы gRPC рискуют попасть под активную проверку. С Reality gRPC работает.
- WebSocket — самый старый способ пустить прокси через CDN. Документация Xray советует уйти с него на XHTTP, чтобы избавиться от заметной приметы — в рукопожатии WebSocket видно, что используется только HTTP/1.1. С Reality не работает.
- HTTPUpgrade — облегчённый WebSocket: начало соединения как у WebSocket, а дальше без его лишних правил. Через CDN проходит так же, рекомендация та же — XHTTP.
Часть старых транспортов из Xray уже убрали: HTTP/2 как отдельный транспорт — в декабре 2024 года, QUIC — осенью 2024-го. Если в старом ключе стоит type=h2 или type=quic, в свежем Xray-клиенте такой ключ может не заработать.
Сравнение транспортов Xray
| Транспорт | Поверх чего | С Reality | Через CDN | С Vision | Статус в Xray | sing-box | Happ и другие Xray-клиенты |
|---|---|---|---|---|---|---|---|
| RAW (tcp) | TCP | Да | Нет | Да | Основной | Да | Да |
| XHTTP | HTTP/1.1, HTTP/2, HTTP/3 | Да | Да | Нет | Рекомендуемый на смену gRPC и WebSocket | Нет | Да |
| gRPC | HTTP/2 | Да | Да | Нет | Советуют перейти на XHTTP | Да | Да |
| WebSocket | HTTP/1.1 | Нет | Да | Нет | Советуют перейти на XHTTP | Да | Да |
| HTTPUpgrade | HTTP/1.1 | Нет | Да | Нет | Советуют перейти на XHTTP | Да | Да |
Про sing-box частый вопрос «sing-box xhttp»: в документации sing-box среди транспортов есть HTTP, WebSocket, QUIC, gRPC и HTTPUpgrade, а XHTTP и mKCP нет. Ключ с type=xhttp в sing-box не заработает — для него нужен клиент на ядре Xray, например Happ, v2rayNG или v2rayN: v2rayNG и v2rayN: что это и чем отличаются, sing-box или Happ: что выбрать.
Какой транспорт держится в России
Систематических замеров нет — есть датированные отзывы и наблюдения, и картина меняется от волны к волне.
- Ноябрь 2025. На нескольких московских и региональных сетях стали обрывать VLESS с Reality и Vision поверх TCP, как только начинали идти данные. В обсуждении в репозитории Xray люди писали, что замена TCP на gRPC или XHTTP помогала; разработчик Xray предположил, что фильтр считает число одновременных соединений, а gRPC держит всё в одном. Были и отзывы, что через день отвалился и gRPC.
- Февраль 2026. По наблюдениям автора статьи на Хабре, на проводных сетях стали массово ломать VLESS с Reality поверх обычного TCP: первые примерно 16 КБ проходят, дальше соединение «замерзает».
- Май — июнь 2026. По той же статье, под новую волну попали и gRPC, и XHTTP с Reality, хотя XHTTP, по словам автора, «пока проходит». В июньском обсуждении в репозитории Xray пересказывали наблюдения, что фильтр «замораживает» соединения, если к одному имени сайта за минуту открывается больше трёх TLS-соединений, и что под это попадает даже XHTTP с настройками по умолчанию.
Вывод: транспорт помогает выиграть время, но гарантии не даёт ни один. Сегодня проходит XHTTP, завтра фильтр учится и на нём. Решает не одна настройка, а то, как быстро сервис замечает поломку и меняет серверы и параметры. Сравнение протоколов целиком — Протоколы VPN: сравнение и что работает в России.
Что выбрать
- Обычный случай. TCP (RAW) с Reality и Vision: меньше всего накладных расходов и не нужен свой домен.
- Запасной путь. XHTTP с Reality или с TLS: другой рисунок трафика, когда TCP начинают ломать.
- Сервер нужно спрятать за CDN. XHTTP с TLS на своём домене. gRPC и WebSocket работают, но разработчики Xray советуют уходить с них.
- Приложение — sing-box. XHTTP в нём нет; остаются TCP, gRPC, WebSocket и HTTPUpgrade.
У Демьяныча
Демьяныч работает на VLESS с Reality, и выбирать транспорт и flow вручную не нужно: всё приходит в подписке, а в sing-box общий автовыбор между серверами. Серверы проверяются из обычных российских сетей каждые 2 минуты; если сервер перестал отвечать, автоматика ставит запасной, а приложение получает его при обновлении подписки. Российские сайты идут напрямую, зарубежные — через наши серверы в Европе. Как это устроено — Как это работает: включил и забыл; попробовать можно 3 дня бесплатно, без карты.
Частые вопросы
Что такое xtls-rprx-vision?
Это режим Vision для VLESS в Xray — параметр flow в ключе. Он добивает короткие пакеты рукопожатия до 900–1400 байт, чтобы по размерам не было видно «TLS внутри TLS», а после рукопожатия передаёт внутренний TLS 1.3 без второго шифрования. Работает только с транспортом TCP (RAW) и защитой TLS или Reality.
Что такое XHTTP в VLESS?
XHTTP — транспорт Xray, в котором данные идут обычными HTTP-запросами и ответами по HTTP/1.1, HTTP/2 или HTTP/3. Он вырос из SplitHTTP и в 2024 году получил нынешнее название. Работает с TLS и Reality и через CDN; разработчики Xray советуют переходить на него с gRPC и WebSocket.
Что значит gRPC в VPN?
gRPC — способ передачи данных от Google поверх HTTP/2. В Xray его используют как транспорт для VLESS: трафик похож на работу веб-приложения и может идти через Nginx или CDN. Сейчас документация Xray советует вместо gRPC переходить на XHTTP.
Поддерживает ли sing-box XHTTP?
Нет. В документации sing-box среди транспортов есть HTTP, WebSocket, QUIC, gRPC и HTTPUpgrade, а XHTTP нет. XHTTP понимают приложения на ядре Xray, например Happ, v2rayNG и v2rayN.
Чем TLS отличается от Reality?
Для TLS нужен свой домен и сертификат, зато соединение может идти через CDN. Reality своего сертификата не требует: сервер «одалживает» рукопожатие настоящего крупного зарубежного сайта, а тот, кто проверяет сервер без ключа, попадает на этот сайт. Через CDN Reality не работает.
Что лучше: TCP, XHTTP или gRPC?
Для скорости — TCP с Reality и Vision: у него меньше всего накладных расходов. XHTTP — запасной путь и способ пройти через CDN. gRPC в Xray уже не рекомендуют. В волнах блокировок в России отзывы расходятся, и ни один транспорт не даёт гарантии.
Источники
- Документация Xray: транспорт и безопасность (TLS, REALITY)
- Документация Xray: VLESS и режим Vision (flow)
- XTLS Vision — обсуждение #1295, 31.10.2022
- XHTTP: Beyond REALITY — обсуждение #4113, 05.12.2024
- XTLS/REALITY — описание на GitHub
- sing-box — транспорты V2Ray
- Xray-core: TCP + Reality gets blocked, issue #5332, 23.11.2025
- Хабр: «Заморозка по fingerprint» — волны блокировок 2026 года, 15.06.2026