До Reality маскировка трафика была игрой в напёрстки. Shadowsocks прятал данные в случайный шум, Trojan — в HTTPS, но любой DPI со знанием паттернов раскуривал их, как дешёвую сигарету. V2Ray/VMess хотя бы умели имитировать TLS-рукопожатие, но их сертификаты можно было проверить — и отличить от настоящего сайта. Проблема всех этих решений в том, что они маскируются под HTTPS, но не проходят полную верификацию. Если DPI решит проверить сертификат — маскарад раскрыт.
Reality (XTLS) заходит с другой стороны. Он не маскируется под HTTPS — он реально использует существующий TLS-сайт. Выглядит это так: клиент устанавливает TLS-соединение, но не с твоим сервером, а с реальным, легитимным сайтом (например, youtube.com). Сервер Reality перехватывает это рукопожатие, проксирует его до настоящего сайта, а поверх этого туннеля уже идёт твой трафик. Для DPI это просто очередное соединение с YouTube. Сертификат валидный, handshake настоящий, подозрений ноль.
Ключевое отличие от Trojan — в Reality нет заранее известного fingerprint отпечатка клиента. Trojan использует фиксированный набор параметров TLS, а Reality наследует fingerprint реального сайта. Это делает его практически неотличимым от обычного HTTPS-сёрфинга на уровне анализа пакетов.
Сильные стороны: устойчивость к DPI даже с глубоким анализом TLS, не требуется выделенный домен или сертификат — используешь чужой, низкий overhead, так как данные не шифруются дважды (только поверх TLS). Слабые: требует стабильного доступа к внешнему сайту-проксируемому (если он упадёт, Reality встанет колом), не маскирует размер пакетов — DPI может вычислить аномалию по объёму. И да, Reality — это не про анонимность, а про обход блокировок. Для анонимности нужен Tor, а не XTLS.
Статус: активно развивается, версия Reality 1.0 уже стабильна, но всё ещё идут доработки по оптимизации handshake. На текущий момент — один из самых эффективных протоколов для обхода DPI в странах с тотальной фильтрацией (Китай, Иран, Россия).
Любопытный факт: Reality можно использовать не только с Xray, но и с sing-box, что даёт гибкость в конфигурации. Но главный вопрос к сообществу — как долго это останется недетектируемым, если DPI начнёт анализировать поведение на уровне потоков (correlation attacks)?