Протоколы
XTLS — eXtended TLS (Vision, Reality)
Расширение протокола VLESS для прозрачной передачи TLS-трафика без дополнительного шифрования и handshake'а внутри туннеля. Основа современного стека VLESS Reality + Vision.
Определение
XTLS (eXtended TLS) — это набор расширений к протоколу VLESS, позволяющий передавать пользовательский TLS-трафик через VPN-туннель без двойного шифрования и без видимого вложенного handshake. Разработан проектом XTLS / Xray-core в 2020–2023 годах как ответ на детекцию TLS-in-TLS.
На 2026 актуальная инкарнация — xtls-rprx-vision (часто называется просто «Vision»), работающая поверх Reality-handshake.
Как работает
XTLS использует тот факт, что VLESS не требует собственного шифрования: все криптографические гарантии даёт внешний TLS-туннель. Из этого следует ключевая оптимизация — внутри туннеля не нужно повторно шифровать TLS-record’ы пользовательских HTTPS-запросов.
Алгоритм Vision:
- Внешний handshake между клиентом и VPN-сервером поднимает TLS 1.3 (или Reality-handshake к домену прикрытия).
- Первый внутренний пакет. Клиент отправляет VLESS-заголовок (target host, port) + первый application-data record целевого TLS-запроса пользователя.
- Vision-сплайсинг. Vision на сервере распознаёт, что внутри идёт пользовательский TLS-handshake. После handshake пользовательский TLS переключается в режим «splice» — сервер просто перенаправляет байты между клиентом и upstream-целью без расшифровки и переупаковки.
- Маскировка от TLS-in-TLS DPI. Vision переписывает длины record’ов, добавляет padding в первые пакеты, синхронизирует тайминги — внешний поток выглядит как обычный TLS application-data без признаков вложенного handshake.
Бонус — производительность. Поскольку Vision splice не делает re-encrypt, throughput ограничен только TCP/TLS внешнего слоя, а CPU-cost минимальный. На быстрых линиях разница с обычным VLESS+TLS видна — Vision в 1.5–2× быстрее.
Почему это важно для пользователя VPN
XTLS Vision — это техническая основа того, почему VLESS Reality работает в РФ в 2026. Без Vision Reality защищал бы только от active probing, но оставался бы уязвим к пассивной детекции TLS-in-TLS. Связка vless + reality + xtls-rprx-vision закрывает обе атаки.
Эволюция флоу:
- xtls-rprx-direct (2020) — первая версия, не пережила атаки 2021.
- xtls-rprx-origin (2021) — улучшения, но всё ещё детектируема.
- xtls-rprx-splice (2022) — Linux-only через
splice(2)syscall. - xtls-rprx-vision (2023 — ) — текущий стандарт, кросс-платформа, неуязвим к известным TLS-in-TLS атакам.
Юзеру: если в импортированном VPN-конфиге для xray-core / sing-box вы видите flow: xtls-rprx-vision — это рабочий стек. Если flow: xtls-rprx-direct — конфиг устарел, попросите провайдера обновить.
Связанные термины
VLESS — базовый протокол. VLESS Reality — handshake-слой. TLS-in-TLS — атака, против которой Vision защищает. xray-core — реализация. TLS 1.3 — нижний слой.
Источники
- XTLS / Xray-core — основной репозиторий с реализацией Vision.
- Project V documentation — описание XTLS-флоу.
- GitHub-обсуждения XTLS/Xray-core issues — threat model авторов.