🧪 Обход блокировки сайтов флагом Chrome cryptography-compliance-cnsa
О чём заметка
Клиентский способ вернуть доступ к сайтам, которые не открываются только в Chromium-браузерах из-за блокировки по TLS-отпечатку (JA4/JA3): включить экспериментальный флаг
chrome://flags/#cryptography-compliance-cnsa. Это меняет TLS-«почерк» Chrome, и соединение перестаёт совпадать с заблокированной сигнатурой. Сам механизм блокировки и почему он бьёт по обычным браузерам — в разборе блокировки по JA4-отпечатку.
Первоисточник
Приём описан в статье eByeBots на Хабре (июнь 2026): 👉 habr.com/ru/articles/1045438. Там же — ссылка на репозиторий
ebyebots/chrome_fixс.bat-файлом для применения «в один клик».
Статус
Это народный приём, не официальная рекомендация. Автор прямо предупреждает: «может сработать не у всех». Объяснение «меняет порядок шифров» — авторская формулировка, и она технически неполна (см. раздел «Почему это работает»): против JA4 один лишь порядок шифров не помогает. Перед применением и после — проверьте свой отпечаток на tls.browserleaks.com/json.
TL;DR
- Сайт открывается в Firefox/Safari, но не в Chrome/Edge → вероятно, блок по TLS-отпечатку (JA4/JA3).
- Лечится включением флага:
chrome://flags/#cryptography-compliance-cnsa→ Enabled → перезапуск. - Флаг включает режим CNSA (американский стандарт криптографии), меняя приоритет (порядок) шифров и групп ключевого обмена в
Client Hello(а вблизи Chrome 146 — и post-quantum-согласование) → TLS-почерк меняется → под правило блокировки может перестать попадать. - Работает в Chromium-браузерах (Chrome, Brave, Opera, Яндекс.Браузер). Для Windows есть
.bat, ставящий флаг через реестр. - Это не панацея и не замена нормальному обходу: меняется лишь TLS-почерк, помогает только против блокировок, завязанных на него.
На пальцах
Аналогия
Охранник на входе не проверяет содержимое сумки (оно зашифровано), а сверяет ваш «фасон одежды» с ориентировкой: «не пускать в куртке такого-то покроя». Все Chromium-браузеры одеты в один и тот же фасон (одинаковый TLS-
Client Hello), и он попал в ориентировку. Флаг CNSA — это команда «оденься по другому дресс-коду»: Chrome пересобирает рукопожатие под стандарт CNSA, фасон меняется, и ориентировка на него больше не срабатывает.
Что наблюдается
Из-за блокировки по TLS-отпечатку «через раз» перестают открываться вполне легальные ресурсы — только в Chrome/Edge, тогда как в Firefox/Safari они работают. В самой статье как пострадавший назван Beget (хостинг, у автора блокировался CDN); README репозитория chrome_fix приводит в примерах beget.com, GitHub и Discord. Это побочный ущерб от правил, нацеленных на обходные средства с хромовским отпечатком.
Как включить
- Открой
chrome://flags/(в Chrome) илиedge://flags/,brave://flags/и т.п. — в адресной строке. - Найди Cryptography Compliance (CNSA) — ID флага
#cryptography-compliance-cnsa. - Переключи в Enabled.
- Перезапусти браузер (кнопка Relaunch).
- Проверь проблемный сайт. Для контроля отпечатка — открой tls.browserleaks.com/json до и после: если приём сработал, значение
ja4изменится. Не изменилось — значит на твоей сборке флаг на отпечаток не повлиял.
Для Windows автор предлагает .bat из ebyebots/chrome_fix, который ставит флаг через реестр без ручных шагов (требует прав администратора и перезапуска браузера).
Перед запуском чужого .bat
.batправит реестр и требует админ-прав. Запускать сторонние скрипты вслепую не стоит — открой и прочитай содержимое, убедись, что он трогает только ключи реестра Chrome и ничего лишнего, либо сделай то же руками черезchrome://flags. Содержимое чужого скрипта может меняться между версиями — не полагайся на чужие описания. Процедуру отката репозиторий не описывает — ручной способ отключается обратно тем же флагом (Disabled).
Почему это работает (и важная оговорка про JA4)
Флаг включает режим соответствия CNSA (Commercial National Security Algorithm Suite) — набор криптоалгоритмов правительства США. По описанию Google, флаг заставляет Chrome упорядочивать cipher suites по предпочтению CNSA; вблизи Chrome 146 при этом флаге TLS-серверы Google начинают согласовывать post-quantum ML-KEM-1024. Сама политика помечена как «не требуется для безопасности».
Тонкость: «порядок шифров» — неполное объяснение
Автор статьи пишет, что флаг «меняет порядок шифров». По документации Google флаг и правда лишь переупорядочивает предпочтение шифров и групп ключевого обмена под CNSA (
PreferSlowCiphers+PreferSlowKEXAlgorithms) — он не добавляет и не убирает шифры изClient Hello.Но современный отпечаток JA4 шифры сортирует перед хешированием (вторая часть JA4 — хеш отсортированного списка cipher suites). Значит, одно лишь переупорядочивание шифров JA4 не меняет — оно меняет устаревший JA3 (тот к порядку чувствителен).
Почему же при этом иногда меняется и JA4, и блок спадает — точно не задокументировано. Вероятные причины: вблизи Chrome 146 флаг включает post-quantum-согласование ML-KEM-1024 (меняется
key_share/supported_groups), либо сдвигается порядок алгоритмов подписи (их JA4, в отличие от шифров, не сортирует). Не исключено и то, что конкретное правило DPI завязано на JA3, а не JA4 — тогда переупорядочивания шифров уже достаточно. Этим же объясняется авторское «может не у всех»: эффект зависит и от сборки браузера, и от того, на что именно настроено правило.
Чем это НЕ является
Область применимости (из закреплённого комментария к статье)
Приём помогает только при «сибирской» блокировке в варианте с учётом фингерпринта браузера — то есть когда правило DPI завязано именно на TLS-отпечаток (JA3/JA4). Против других механизмов блокировки (а их довольно много) флаг не поможет. Это и есть прямой ответ на авторское «может не у всех». Что за «сибирская» схема и какие у неё ещё сигналы (подсеть, частота соединений) — см. разбор схемы ограничений июня 2026.
Границы приёма
- Это не VPN и не обход цензуры в целом — помогает только против блокировок, завязанных на TLS-отпечаток клиента.
- Не поможет против блокировок по IP/подсети, SNI или поведению (частота соединений).
- Canvas Defender и подобные расширения тут бесполезны — они работают только в JS (Canvas/WebGL) и не касаются TLS-рукопожатия. Полноценные антидетект-браузеры (Multilogin, GoLogin и т.п.) на модифицированном Chromium TLS-отпечаток менять как раз умеют — это их фича, — но это тяжёлый платный инструмент для других задач (мультиаккаунтинг); ради возврата доступа к сайту флаг CNSA куда проще.
- Альтернатива со стороны владельца сайта, упомянутая в статье, — отключить TLS 1.3 (тогда отпечаток клиента иной); но это решение для админа ресурса, а не для пользователя. Автор добавляет, что у многих TLS 1.3 «отключён ещё со времён Cloudflare» (утверждение размытое, без подтверждения) и обещает отдельный материал для владельцев сайтов.
Совместимость
| Браузер | Флаг доступен |
|---|---|
| Chrome | ✅ chrome://flags/#cryptography-compliance-cnsa |
| Brave / Opera / Яндекс.Браузер | ✅ (Chromium) |
| Edge | ⚠️ спорно: автор статьи пишет, что флага нет; README chrome_fix указывает edge://flags — проверь на своей сборке |
| Firefox / Safari | ❌ не нужно — у них и так другой JA4 |
📚 См. также
- Блокировка сайта по JA4-отпечатку браузера — что это за блок, почему страдает Chrome и какие ещё есть способы сменить отпечаток (Firefox, обновление Chrome, F5).
- Как DPI «замораживает» VLESS+REALITY: схема июня 2026 — теория JA3/JA4 и uTLS, чем JA4 отличается от JA3.
- Как DPI анализирует соединение: воронка проверок — где стоит проверка TLS-отпечатка.
- Как ТСПУ ломает легитимные сайты: сопутствующий ущерб (июнь 2026) — общая картина июньских сбоев сайтов, где JA4-блок — лишь один из механизмов.
- 🔗 Спецификация JA4+ (FoxIO) — почему JA4 сортирует шифры, а JA3 нет.
- 🔗 tls.browserleaks.com/json — посмотреть свой JA4 до/после.