-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add TLS ClientHello fake packet generator #665
Conversation
Не уверен, что наличие ECH extension по умолчанию — хорошая идея. Предлагаю убрать ECH, возможно сделав его опциональным дополнительным параметром. |
Все браузеры (chrome, yandex, edge) отправляют encrypted_client_hello. Если его не отправлять, то ркн сделает фильтр - если нет ech, то дропать. |
Он отправляется только в том случае, если сайт (домен) поддерживает ECH, коих совсем немного, относительно всех доменов в интернете. |
На сегодняшний день - типичный, популярная троица современных браузеров (Chrome, Edge, Firefox) отправляет ECH независимо от наличия в DNS-записи и на сервере, остальные браузеры не проверял. Если поддержки со стороны сайта нет - то данные в ECH лепятся от балды. Из статьи с Cloudflare:
|
Скомпилил, проверил, работает (ютуб и другие сайты).
на новый с
|
goodbyedpi.exe (x86_64) для желающих потестить. Скомпилено в windows с отключенной либой libssp. Хеши файла goodbyedpi.exe: |
@Decavoid Огромное спасибо! UPD: Работает отлично, проверил с разными доменами вместо гугла и на разных сайтах с TLS 1.2 |
@Decavoid спасибо! Работает, и кстати без дополнительных фейковых пакетов и флагов fake-gen. |
Проверил. У меня без --fake-gen 3 --fake-resend 2 ютуб отрубился ( А не, с фейком от гугла заработал. Парни, вы лучшие! Дай вам бог здоровья! |
У меня работает и без дополнительных фейковых пакетов, но субъективно в ними всё же лучше. Быстрее начинается воспроизведение роликов и первая подгрузка всего интерфейса сайта. |
Ещё можно напрямую скачать артефакты из автоматического билда, собираемого при каждом пуше и пулреквесте: https://github.com/ValdikSS/GoodbyeDPI/actions/runs/11042716687?pr=665 |
У меня тоже. Просто если в новом ключе указать адрес не гугла, а какой-нибудь другой - все другие сайты работают, видео на ютубе не работает ) С ввв.гугл.ком пашет все Если кто без реги на гитхабе и нужна версия х86 - то вот WinDivert обновлять не надо - он не менялся. |
Спасибо за PR, без него никакие параметры ранее не работали, как только запустил с такими параметрами заработало UPD: Работает только с отлюченым Kyber |
Confirmed. |
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
Это минимальный синтаксически правильный ClientHello с заданным, но пустым SNI. Полностью он выглядит так: |
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
@sansergs Это не придумалось, это на форуме программы в этой теме пользователем написалось ) А вот и он, кстати. Там же, ближе к концу написано, что сначала идет, что потом. В разных вариациях. Не нужны, уже несколько дней как. DPI научились этот мусор игнорить и искать SNI за его пределами. И находить. И блокировать. А SNI из --fake-with-sni они пока принимают за реальный, больше ничего не проверяют и пропускают пакет. Фейк-ген генерирует несколько байтов фейка, 00 - всего один байт. Некоторым этого бывает достаточно. Как уже написали выше - дело в кол-ве пакетов, предшествующих реальному, с реальным SNI (он идет последним в любом случае) |
Теперь у вас и форум должен открыться, сходите сюда, может скрипт вам рабочую стратегию подберет. |
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
Выглядит хорошо, работает хорошо, спасибо! |
Добавил опцию
--fake-with-sni имя_домена
, позволяющую генерировать и отправлять фейковый пакет ClientHello с заданным в параметре SNI.Помогает пробивать некоторые сервера Гугла, если подставлять SNI от незаблокированного гуглового домена.
Избавляет от портянок
--fake-from-hex
, который некоторые велосипедисты уже даже через PowerShell зачем-то пытаются генерировать полностью случайными, не понимая исходного смысла от этого пакета.Генерируемый пакет аналогичен по структуре, наборам шифров и расширениям тому, что используется в Firefox 130, потому по фингерпринту заблочить его не получится, не сломав при этом Firefox, случайные поля внутри пакета (Session ID, ключи для DHE, фейковый ECH) генерируются случайно при каждом запуске GoodbyeDPI, не позволяя Роскомнадзору зафингерпринтить их.
С маскировкой под Chrome чуть сложнее, там TLS-расширения перетасовуются в случайном порядке, что усложнит код, потому пока что так.