ShadowTLS — это не очередной прокси-протокол, а скорее инструмент для маскировки другого протокола. Если кратко: он берёт ваш трафик, который мог бы быть заблокирован по сигнатуре или по порту, и упаковывает его так, чтобы DPI видел только обычное TLS-рукопожатие с легитимным сайтом. Никаких дополнительных шифрований, никаких собственных handshake — только имитация.
До ShadowTLS были попытки маскировать Shadowsocks под TLS (например, через gRPC или WebSocket), но они либо требовали полноценного TLS-терминирования на стороне сервера, либо оставляли в трафике хвосты, по которым DPI мог понять, что это не браузер. ShadowTLS решил задачу иначе: он не устанавливает реальное TLS-соединение с целевым сайтом. Он просто эмулирует клиентское рукопожатие до момента, когда DPI теряет интерес, а затем переключает трафик на внутренний прокси-протокол (чаще всего Shadowsocks).
Ключевая техническая деталь — «проброс по длине». ShadowTLS отправляет первые байты (ClientHello) на какой-то реальный HTTPS-сервер, получает ответ (ServerHello), и если ответ выглядит как валидный TLS, соединение считается замаскированным. После этого клиент и сервер договариваются по заранее известному ключу, и дальнейший трафик идёт уже не через легитимный сайт, а напрямую между клиентом и сервером, но с сохранением TLS-заголовков. DPI, который уже увидел «чистое» рукопожатие, дальше не проверяет.
Сильные стороны: минимальные накладные расходы (нет своего шифрования — оно уже есть у родительского протокола), очень низкая задержка, легкость в развёртывании (не нужен сертификат, не нужен домен). Слабые: не защищает от активного анализа Trafic Flow — если DPI смотрит на статистику пакетов, то рано или поздно может вычислить аномалию. Также уязвим к полной подмене рукопожатия (deep packet inspection с re-negotiation), но это редкость.
Текущий статус: стабилен, активно используется в связке с Shadowsocks как бесплатный способ маскировки. Развивается медленно, так как задача уже решена. Не рекомендуется для стран с тотальным DPI (как Китай или Иран), но для среднего уровня блокировок — отлично.
И последнее — не путайте ShadowTLS с ShadowSocks. Первый — это именно обёртка. Второй — транспорт. Вместе они работают как «невидимый канал», который для внешнего наблюдателя выглядит как просмотр новостей на CNN.
#ShadowTLS #DPI #прокси #маскировка #TLS



