Skip to content
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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

RknMustDie512
Copy link

@RknMustDie512 RknMustDie512 commented Sep 25, 2024

Добавил опцию --fake-with-sni имя_домена, позволяющую генерировать и отправлять фейковый пакет ClientHello с заданным в параметре SNI.
Помогает пробивать некоторые сервера Гугла, если подставлять SNI от незаблокированного гуглового домена.
Избавляет от портянок --fake-from-hex, который некоторые велосипедисты уже даже через PowerShell зачем-то пытаются генерировать полностью случайными, не понимая исходного смысла от этого пакета.
Генерируемый пакет аналогичен по структуре, наборам шифров и расширениям тому, что используется в Firefox 130, потому по фингерпринту заблочить его не получится, не сломав при этом Firefox, случайные поля внутри пакета (Session ID, ключи для DHE, фейковый ECH) генерируются случайно при каждом запуске GoodbyeDPI, не позволяя Роскомнадзору зафингерпринтить их.
С маскировкой под Chrome чуть сложнее, там TLS-расширения перетасовуются в случайном порядке, что усложнит код, потому пока что так.

@ValdikSS
Copy link
Owner

Не уверен, что наличие ECH extension по умолчанию — хорошая идея. Предлагаю убрать ECH, возможно сделав его опциональным дополнительным параметром.
А так — LGTM.

@Decavoid
Copy link

Не уверен, что наличие ECH extension по умолчанию — хорошая идея. Предлагаю убрать ECH, возможно сделав его опциональным дополнительным параметром. А так — LGTM.

Все браузеры (chrome, yandex, edge) отправляют encrypted_client_hello. Если его не отправлять, то ркн сделает фильтр - если нет ech, то дропать.

@ValdikSS
Copy link
Owner

Он отправляется только в том случае, если сайт (домен) поддерживает ECH, коих совсем немного, относительно всех доменов в интернете.
Это довольно нетипичный extension на текущий день.

@Decavoid
Copy link

image
На скрине только assets.msn.com не имеет ech, остальные пакеты имеют ech.

@SagePtr
Copy link

SagePtr commented Sep 26, 2024

Он отправляется только в том случае, если сайт (домен) поддерживает ECH, коих совсем немного, относительно всех доменов в интернете. Это довольно нетипичный extension на текущий день.

На сегодняшний день - типичный, популярная троица современных браузеров (Chrome, Edge, Firefox) отправляет ECH независимо от наличия в DNS-записи и на сервере, остальные браузеры не проверял. Если поддержки со стороны сайта нет - то данные в ECH лепятся от балды. Из статьи с Cloudflare:

While itself just an extension, the risk of ECH exposing (or introducing!) similar bugs is real. To combat this problem, ECH supports a variant of GREASE whose goal is to ensure that all ECH-capable clients produce syntactically equivalent ClientHello messages. In particular, if a client supports ECH but does not have the corresponding ECH configuration, it uses GREASE. Otherwise, it produces a ClientHello with real ECH support. In both cases, the syntax of the ClientHello messages is equivalent.

@Decavoid
Copy link

Скомпилил, проверил, работает (ютуб и другие сайты).
Теперь я могу заменить мой старый длинный конфиг:

goodbyedpi.exe -f 1 -e 1 --set-ttl 4 --reverse-frag --max-payload --fake-from-hex 16030102510100024d0303e8924e8aee2828c2ecf500574594b4e646488ba23933576db19161627739e4cf20509655eebac0de55438dbd77d3e830bdc020e5c7d6c19a6cc706e316ca4704dc00208a8a130113021303c02bc02fc02cc030cca9cca8c013c014009c009d002f0035010001e44a4a0000000b000201000010000e000c02683208687474702f312e3100000013001100000e7777772e676f6f676c652e636f6d446900050003026832002d000201010033002b00290a0a000100001d002087a721c0dc43fca3a41604a1bfcb69b8af4fa17ae5251f1f7cd59e476ecd1a2afe0d011a0000010001770020f7f4ee830f619bcab0a5514be210ce27b9c76a8622d7a0cf8157d8ed55607f7500f09ba8854102d311a652eb3072402b08c85633915eb6bb524d54298e06721cb173921d47333b80c067c404dcfa40ecea993ae2d3f16a2f5ce913a060e6d2f38d4a25229de3a9f76bf9596e51c90ee7cf622862fecdc25745c7fec47210106a3f520c7e5e0cd5b42246c6c38ce17e9d1b257cb249bf498c5b7f1f82a4afc5862ef0ca987429387d3cef472bc0170134bb04ae980c3108db31cb74cd6b1770e82622001464f28f2b4a77281299cab7dbc13cf328df2dc700cdae3937528c251309b57a0082e1695f9d07ca405f24508e9d362cb1d444321d12e7c35be0bb0589a8c5b0d18b15e43a828b1ebdd398fa4c3f3b001b0003020002000500050100000000000a000a00080a0a001d00170018ff01000100002300000017000000120000000d0012001004030804040105030805050108060601002b0007068a8a03040303dada000100 --blacklist ..\russia-blacklist.txt --blacklist ..\russia-youtube.txt

на новый с --fake-with-sni www.google.com, более короткий

goodbyedpi.exe -f 1 -e 1 --set-ttl 4 --reverse-frag --max-payload --fake-with-sni www.google.com --blacklist ..\russia-blacklist.txt --blacklist ..\russia-youtube.txt

@Decavoid
Copy link

goodbyedpi.exe (x86_64) для желающих потестить. Скомпилено в windows с отключенной либой libssp.
Размер: 102400 байт

Хеши файла goodbyedpi.exe:
MD5: C25B01DE6D5471F3B7337122049827F6
SHA-1: 90A8D3C8424D0F391555771AC2F709012A4EC2E1

goodbyedpi-fake-with-sni.zip

@johnnyd-78
Copy link

johnnyd-78 commented Sep 28, 2024

@Decavoid Огромное спасибо!

UPD: Работает отлично, проверил с разными доменами вместо гугла и на разных сайтах с TLS 1.2
Оставил по приколу вместо имя_домена rt.ru ))

@sansergs
Copy link

sansergs commented Sep 28, 2024

@Decavoid спасибо!

Работает, и кстати без дополнительных фейковых пакетов и флагов fake-gen.

@johnnyd-78
Copy link

johnnyd-78 commented Sep 28, 2024

и кстати без дополнительных фейковых пакетов и флагов fake-gen

Проверил. У меня без --fake-gen 3 --fake-resend 2 ютуб отрубился (

А не, с фейком от гугла заработал. Парни, вы лучшие! Дай вам бог здоровья!

@sansergs
Copy link

А не, с фейком от гугла заработал

У меня работает и без дополнительных фейковых пакетов, но субъективно в ними всё же лучше. Быстрее начинается воспроизведение роликов и первая подгрузка всего интерфейса сайта.
В любом случае всем спасибо!

@SagePtr
Copy link

SagePtr commented Sep 28, 2024

goodbyedpi.exe (x86_64) для желающих потестить. Скомпилено в windows с отключенной либой libssp. Размер: 102400 байт

Ещё можно напрямую скачать артефакты из автоматического билда, собираемого при каждом пуше и пулреквесте: https://github.com/ValdikSS/GoodbyeDPI/actions/runs/11042716687?pr=665

@johnnyd-78
Copy link

johnnyd-78 commented Sep 28, 2024

У меня работает и без дополнительных фейковых пакетов

У меня тоже. Просто если в новом ключе указать адрес не гугла, а какой-нибудь другой - все другие сайты работают, видео на ютубе не работает ) С ввв.гугл.ком пашет все

Если кто без реги на гитхабе и нужна версия х86 - то вот
goodbyedpi_x86_0411a42.zip
Хэши файла goodbyedpi.exe
MD5: A3131EABBF518EC6D8ED6DCA8BF112E6
SHA-1: 47BDDC1050A83BDCA15DC00597537D478576E7CE

WinDivert обновлять не надо - он не менялся.

@RealFoxes
Copy link

RealFoxes commented Sep 28, 2024

Спасибо за PR, без него никакие параметры ранее не работали, как только запустил с такими параметрами заработало
-f 1 -e 1 --set-ttl 4 --reverse-frag --max-payload --fake-with-sni www.google.com
Самара. Билайн

UPD: Работает только с отлюченым Kyber

@TheGallad
Copy link

Confirmed.
Downloaded from artifacts (because goodbyedpi-fake-with-sni.zip) file is detected as malicious by my Chrome browser).
Work with -f 1 -e 1 --set-ttl 4 --reverse-frag --max-payload --fake-with-sni www.google.com
Tested on Rostelecom, Tomsk, Russia.

@johnnyd-78
Copy link

file is detected as malicious by my Chrome browser

Странный он у вас какой-то )

@postmasta
Copy link

postmasta commented Sep 29, 2024

Добавил опцию --fake-with-sni имя_домена

@RknMustDie512 Можете еще добавить в стартовый лог вывод примененного SNI, например, под "Max payload size:"?

@camelos
Copy link

camelos commented Sep 29, 2024

Если ты такой же чайник как я и у тебя перестал работать ютуб:

  1. качаешь goodbyedpi-0.2.3rc3-2.zip с https://github.com/ValdikSS/GoodbyeDPI/releases/tag/0.2.3rc3
  2. разархив., потом заменяем в папке x86_64 файл goodbyedpi.exe тезкой из архива goodbyedpi_x86_64_0411a42 (рядом есть знак коробки) на странице https://github.com/ValdikSS/GoodbyeDPI/actions/runs/11042716687?pr=665
  3. чтобы сохранит оригинальный файл копируем в основной папке программы 1_russia_blacklist_YOUTUBE.cmd,вставляем рядом с оригиналом с именем 1_russia_blacklist_YOUTUBE_NEW.cmd, заменяем внутри файла текст между start "" goodbyedpi.exe и --blacklist ..\russia-blacklist.txt на -f 1 -e 1 --set-ttl 4 --reverse-frag --max-payload --fake-with-sni www.google.com, сохраняем и запускаем файл который мы сохранили
    п.с. у меня нет не ожиданий 10 секунд перед началом просмотра видео, грузится при перемотке быстро, миниатюры даже проигрывают видео

@johnnyd-78
Copy link

johnnyd-78 commented Sep 29, 2024

Пункт 2. для тех, у кого 32-хбитная система. Разархив., потом заменяем в папке x86 файл goodbyedpi.exe тезкой из архива goodbyedpi_x86_0411a42 (рядом есть знак коробки) на странице https://github.com/ValdikSS/GoodbyeDPI/actions/runs/11042716687?pr=665

Без регистрации на гитхабе знака коробки не будет, берем архивы для обоих разрядностей из постов выше.

@dudehoptoad
Copy link

у меня работает
start "" goodbyedpi.exe -6 --fake-gen 10 --fake-resend 2 --set-ttl 3 --fake-from-hex 160301FFFF01FFFFFF0303594F5552204144564552544953454D454E542048455245202D202431302F6D6F000000000009000000050003000000 --blacklist ..\russia-blacklist.txt --blacklist ..\russia-youtube.txt

с --set-ttl 2 только 144 показывает, так 1080
без фейк фром хекс не работает

будет ли работать если хекс не менять каждый раз - пока не знаю, на всякий пожарный до старт скопировала
:: Генерация случайного 58-байтного hex-числа через PowerShell (116 символов)
for /f %%i in ('powershell -command "[byte[]]$bytes = (1..58 | ForEach-Object { Get-Random -Max 256 }); $randomHex = -join ($bytes | ForEach-Object { $_.ToString('x2') }); $randomHex"') do set "hex_value=%%i"

если надо будет вставлю вместо 16ричного числа %hex_value% и он больше никогда не сломается, я надеюсь......... но совсем без него не работает

@dudehoptoad
Copy link

Капитан_Америка_разрывающий_пень_шаблон

@OlMat77
Copy link

OlMat77 commented Sep 30, 2024

у меня работает start "" goodbyedpi.exe -6 --fake-gen 10 --fake-resend 2 --set-ttl 3 --fake-from-hex 160301FFFF01FFFFFF0303594F5552204144564552544953454D454E542048455245202D202431302F6D6F000000000009000000050003000000 --blacklist ..\russia-blacklist.txt --blacklist ..\russia-youtube.txt

с --set-ttl 2 только 144 показывает, так 1080 без фейк фром хекс не работает

будет ли работать если хекс не менять каждый раз - пока не знаю, на всякий пожарный до старт скопировала :: Генерация случайного 58-байтного hex-числа через PowerShell (116 символов) for /f %%i in ('powershell -command "[byte[]]$bytes = (1..58 | ForEach-Object { Get-Random -Max 256 }); $randomHex = -join ($bytes | ForEach-Object { $_.ToString('x2') }); $randomHex"') do set "hex_value=%%i"

если надо будет вставлю вместо 16ричного числа %hex_value% и он больше никогда не сломается, я надеюсь......... но совсем без него не работает

Спасибо! На МГТС Мск полёт нормальный с этими параметрами.

@sansergs
Copy link

sansergs commented Sep 30, 2024

без фейк фром хекс не работает

так а причем тут fake-from-hex ? тут как раз версия обсуждается что БЕЗ него но с ключом --fake-with-sni www.google.com

про случайную генерацию fake-from-hex уже всё обсудили в
#663

с --set-ttl 2 только

set-ttl 2 при наличии домашнего роутера не знаю на каких провайдерах работает.
лучше пробовать сразу с 3 или 4

--fake-gen 10 --fake-resend 2

что-то многовато 20 фейковых пакетов. Вы пробовали --fake-gen 6 --fake-resend 2 ?

@WandererSt
Copy link

WandererSt commented Oct 1, 2024

--fake-with-sni www.google.com протянуло ровно 6 часов и перестало работать, затем снова сработало на 2 часа и теперь не работает вообще при запуске происходит "Нет подключения к Интернету"

@sansergs
Copy link

sansergs commented Oct 1, 2024

при запуске происходит "Нет подключения к Интернету"

было такое , но сейчас работает.
Но даже если нужен "рандомный" fake-from-hex и по каким-то причинам НЕ подходит сгенеренный --fake-with-sni,
то хотя бы первые байты надо НЕ генерить случайно, а оставлять 160301FFFF01FFFFFF0, ну и возможно последние. Чтобы пакет был похож на ClientHello (подробнее тут конечно подскажут, те кто добавлял функционал fake-with-sni и автор).
Просто так генерить мусор 11ым или ннадцатым пакетом нет смысла! Потому что они все предыдущие (на основе ключей --fake-gen и --fake-resend ) и так генерятся случайным образом. Ну разве что четкий размер известен пакета, который будет создан на основе fake-from-hex 58 байт (116 hex)

@RknMustDie512
Copy link
Author

RknMustDie512 commented Oct 1, 2024

Но даже если нужен "рандомный" fake-from-hex и по каким-то причинам НЕ подходит сгенеренный --fake-with-sni, то хотя бы первые байты надо НЕ генерить случайно, а оставлять 160301FFFF01FFFFFF0, ну и возможно последние. Чтобы пакет был похож на ClientHello (подробнее тут конечно подскажут, те кто добавлял функционал fake-with-sni и автор).

Это минимальный синтаксически правильный ClientHello с заданным, но пустым SNI. Полностью он выглядит так:
1603010035010000310303[...random 32 bytes...]000000000009000000050003000000
Некоторые поля, обозначающие размер данных после заголовка, по какой-то причине заменены на FF, может быть, из-за того, что они игнорируются DPI, а может быть, каким-то образом его обманывают:
160301FFFF01FFFFFF0303[...random 32 bytes...]000000000009000000050003000000
[...random 32 bytes...] = случайные 32 байта (64 символа [0-9A-F]), в сумме получается 58-байтовый пакет.

@johnnyd-78
Copy link

Да думаю достаточно будет к --fake-with-sni <адрес> прилепить сбоку --fake-from-hex 00 - у многих такой вариант работает. Или банальный --fake-gen 1

@johnnyd-78 johnnyd-78 mentioned this pull request Oct 1, 2024
1 task
@madararara
Copy link

madararara commented Oct 1, 2024

Перепробовал все вышеупомянутые варианты, ютуб не видит подключения к интернету.

Последний вариант (goodbyedpi.exe -f 1 -e 1 --set-ttl 4 --reverse-frag --max-payload --fake-with-sni www.google.com --fake-from-hex 00 --blacklist ..\russia-blacklist.txt --blacklist ..\russia-youtube.txt)

Уточните, пожалуйста, есть какая-то рабочая версия или у меня параметры не верно указаны?

На android только сегодня нашел рабочий вариант запуска byedpi (стандартный уже месяц не работает), там через команду -s1 -o1 -Atr -f8 -l':\x03\x16\x02\x01\x01\x87\x02\x00' -As ютуб завелся, можно что-то аналогичное в goodbyepdi установить?

@WandererSt
Copy link

WandererSt commented Oct 1, 2024

эта конфигурация больше не работает, по крайней мере у меня, больше нет:
-f 1 -e 1 --set-ttl 4 --reverse-frag --max-payload --fake-with-sni www.google.com
не одна не вторая вставка не помогает... не добавка --fake-from-hex 00 не добавка --fake-gen 1 хоть 101

эта шляпа тоже больше не работает - goodbyedpi_x86_64_0411a42
у меня вообще уже как примерно с 6 часов стал заблокированный Гуголь весть даже почта и много чего ещё помимо него... не говоря уже о ютуб

у меня около 6 часов работала вчера вот эта абракадабра, сегодня с утра уже нет:
-6 -r -m -f 2 -e 2 -p -q --wrong-seq --reverse-frag --max-payload --fake-gen 16 и 29 но без hex (в 4К ютуб был но загрузка видео около 6-15 секунд была)
эта работала несколько часов: -6 -e1 -q -p --fake-gen 29 --fake-from-hex (оригинал без изменения)
эта тоже работала позавчера:
-5 -e1 -p -q --fake-gen 5 --fake-from-hex (оригинал без изменения)
-5 -e1 -q --fake-gen 10 --fake-from-hex (оригинал без изменения)
-5 -e1 -q --fake-gen 29 --fake-from-hex (оригинал без изменения)
...попробуйте может вам поможет, хотя наврятли

@SagePtr
Copy link

SagePtr commented Oct 1, 2024

у меня вообще уже как 6 часов стал заблокированный Гуголь весть даже почта и много чего ещё помимо него...

Больше похоже на проблему со связностью сетей у самого провайдера, GoodbyeDPI в таком случае бесполезен.
Может помочь только VPN, если маршрут к нему работает.

@WandererSt
Copy link

WandererSt commented Oct 1, 2024

у меня вообще уже как 6 часов стал заблокированный Гуголь весть даже почта и много чего ещё помимо него...

Больше похоже на проблему со связностью сетей у самого провайдера, GoodbyeDPI в таком случае бесполезен. Может помочь только VPN, если маршрут к нему работает.

вполне возможно ибо они не смогли настроить принесённый им дешманский роутер TPLink новый из коробки когда затребовали зачем то принести им старый на срочную перепрошивку иначе интернет пропадёт ))))

@johnnyd-78
Copy link

johnnyd-78 commented Oct 1, 2024

Да думаю достаточно будет к --fake-with-sni <адрес> прилепить сбоку --fake-from-hex 00 - у многих такой вариант работает. Или банальный --fake-gen 1

у меня вообще уже как примерно с 6 часов стал заблокированный Гуголь весть даже почта и много чего ещё помимо него...

Ого, неужто какие-то дебилы решили блокнуть новый CH из фейка по неизменяемым полям? ;D

Смените адрес на fonts.google.com например, не поможет?

@WandererSt
Copy link

Да думаю достаточно будет к --fake-with-sni <адрес> прилепить сбоку --fake-from-hex 00 - у многих такой вариант работает. Или банальный --fake-gen 1

у меня вообще уже как примерно с 6 часов стал заблокированный Гуголь весть даже почта и много чего ещё помимо него...

Ого, неужто какие-то дебилы решили блокнуть новый CH из фейка по неизменяемым полям? ;D

Смените адрес на fonts.google.com например, не поможет?

нет тоже не помогает

@WandererSt
Copy link

WandererSt commented Oct 1, 2024

у меня вообще уже как 6 часов стал заблокированный Гуголь весть даже почта и много чего ещё помимо него...

Больше похоже на проблему со связностью сетей у самого провайдера, GoodbyeDPI в таком случае бесполезен. Может помочь только VPN, если маршрут к нему работает.

да... наверное вы правы, нужно организовать впн и не трепать нервы не себе не людям, или сменить провайдера )

@johnnyd-78
Copy link

Ну, давайте путать DPI )
А если так?
start "" goodbyedpi.exe -9 -e 5 --fake-with-sni fonts.google.com --fake-from-hex 00 --frag-by-sni --blacklist ..\russia-blacklist.txt --blacklist ..\russia-youtube.txt

@WandererSt
Copy link

WandererSt commented Oct 1, 2024

Ну, давайте путать DPI ) А если так? start "" goodbyedpi.exe -9 -e 5 --fake-with-sni fonts.google.com --fake-from-hex 00 --frag-by-sni --blacklist ..\russia-blacklist.txt --blacklist ..\russia-youtube.txt

протестил... сработало, страница ютуба открылась почти мгновенно, но загрузка видео 26 секунд, короткого видео 3 минутного и видео в 480р на 40 секундах обрывается, после обновления страницы грузится 1 минуту но в 1080р, следующее видео 5 минутное уже не запустилось вообще
но гугл почта открывается... батник перезапустил история повторяется

ну хотя бы с такими костылями хоть что-то заработало, на сколько долго не знаю но )) спасибо

@johnnyd-78
Copy link

johnnyd-78 commented Oct 1, 2024

страница ютуба открылась почти мгновенно

Такое впечатление, что что-то мешает видео нормально грузиться. Какие расширения в браузере стоят? Нет каких нибудь фастпроксей, обходов блокировок ютуба/рунета, юбустов и подобного? Вся эта братия мешает GDPI нормально работать

@WandererSt
Copy link

WandererSt commented Oct 1, 2024

страница ютуба открылась почти мгновенно

Такое впечатление, что что-то мешает видео нормально грузиться. Какие расширения в браузере стоят? Нет каких нибудь фастпроксей, обходов блокировок ютуба, юбустов и подобного?

нечего нет, проверил-протестил в Firefox, Google Chrome, Yandex и ситуация практически одинаковая, Opera и Vivaldi не тестил... в Edge протестил и там вообще мёртвый ютуб с этим конфигом, в ТоR думаю не смысла )

@sansergs
Copy link

sansergs commented Oct 1, 2024

--fake-from-hex 00

А что делает эта новая рекомендация? будет сначала фейковый пакет с полезной TCP нагрузкой 00000000 и потом уже поддельный ClientHello сгенерированный по ключу fake-with-sni? или порядок пакетов зависит от порядка указания опций fake-with-sni и fake-from-hex?
и при этом не нужны куча фейковыйх рандомных пакетов?
и чем это лучше комбинации --fake-with-sni fonts.google.com --fake-gen 1 ?
Понятно что пути DPI неисповедимы, но все же как-то это придумалось.

@SagePtr
Copy link

SagePtr commented Oct 1, 2024

--fake-from-hex 00
и чем это лучше --fake-with-sni fonts.google.com --fake-gen 1 ?

Чуточку меньше байт в фейковом пакете получится, но это экономия на спичках. И чуть более рискованно, т.к. 00 заблочить по содержимому возможно, а рандомный пакет - нет. Стратегия двух фейковых пакетов в том, что DPI почему-то анализирует первые 2, даже если SNI был встречен в первом (есть предположение, что так изначально сделали из-за Kyber, но могу и ошибаться). И только после двух успокаивается.

@johnnyd-78
Copy link

johnnyd-78 commented Oct 1, 2024

@sansergs Это не придумалось, это на форуме программы в этой теме пользователем написалось ) А вот и он, кстати. Там же, ближе к концу написано, что сначала идет, что потом. В разных вариациях.

Не нужны, уже несколько дней как. DPI научились этот мусор игнорить и искать SNI за его пределами. И находить. И блокировать. А SNI из --fake-with-sni они пока принимают за реальный, больше ничего не проверяют и пропускают пакет.

Фейк-ген генерирует несколько байтов фейка, 00 - всего один байт. Некоторым этого бывает достаточно. Как уже написали выше - дело в кол-ве пакетов, предшествующих реальному, с реальным SNI (он идет последним в любом случае)
frag-by-sni режет реальный SNI, затрудняя его обнаружение и блокировку. В итоге последний пакет с реальным SNI превращается в 2 пакета.

@johnnyd-78
Copy link

протестил... сработало, страница ютуба открылась почти мгновенно, но загрузка видео 26 секунд

Теперь у вас и форум должен открыться, сходите сюда, может скрипт вам рабочую стратегию подберет.

@WandererSt
Copy link

протестил... сработало, страница ютуба открылась почти мгновенно, но загрузка видео 26 секунд

Теперь у вас и форум должен открыться, сходите сюда, может скрипт вам рабочую стратегию подберет.

спасибо )

@sansergs
Copy link

sansergs commented Oct 2, 2024

@johnnyd-78

Фейк-ген генерирует несколько байтов фейка, 00 - всего один байт. Некоторым этого бывает достаточно.

что-то видимо постоянно исправляют на тспушах. Сейчас реально работает fake-from-hex 00 или fake-from-hex 160301
вместе с --fake-with-sni www.google.com
start "" goodbyedpi.exe -f 1 -e 1 --set-ttl 4 --reverse-frag --max-payload --fake-with-sni www.google.com --fake-from-hex 00 --blacklist ..\russia-blacklist.txt --blacklist ..\russia-youtube.txt

но НЕ работает рекомендованный фейковый ClientHello с fake-from-hex
1603010035010000310303[...random 32 bytes...]000000000009000000050003000000
да и просто любой более менее большой пакет с fake-from-hex (>8 байт)

просто для информации (по порядку следования)
сначала идёт пакет сгенерированный на основе fake-with-sni с указанным TTL (из set-ttl)
потом фейковый пакет на основе fake-from-hex с тем TTL
потом настоящий ClientHello разбитый на 2 части, которые посылаются в обратном порядке

также работает без fake-from-hex но с флагом --wrong-seq
start "" goodbyedpi.exe -f 1 -e 1 --set-ttl 4 --reverse-frag --wrong-seq --max-payload --fake-with-sni www.google.com --blacklist ..\russia-blacklist.txt --blacklist ..\russia-youtube.txt

в этом случае повторно отправляется пакет сгенерированный на основе fake-with-sni но с TTL=128 и неправльным номером SEQ
В общем как пишут на форуме сейчас желательно 2 пакета поддельных пакета и после него уже может идти реальный ClientHello разбитый на части и части могут быть отправлены в обратно порядке.

@SagePtr
Copy link

SagePtr commented Oct 2, 2024

но НЕ работает рекомендованный фейковый ClientHello с fake-from-hex 1603010035010000310303[...random 32 bytes...]000000000009000000050003000000 да и просто любой более менее большой пакет с fake-from-hex (>8 байт)

А такой? 16030100430100003f0303[...random 32 bytes...]00000000001700000013001100000e7777772e676f6f676c652e636f6d
Минимальный с гугловским SNI вместо пустого

@iturnes
Copy link

iturnes commented Oct 2, 2024

3. чтобы сохранит оригинальный файл копируем в основной папке программы 1_russia_blacklist_YOUTUBE.cmd,вставляем рядом с оригиналом с именем 1_russia_blacklist_YOUTUBE_NEW.cmd, заменяем внутри файла текст между `start "" goodbyedpi.exe` и `--blacklist ..\russia-blacklist.txt` на `-f 1 -e 1 --set-ttl 4 --reverse-frag --max-payload --fake-with-sni www.google.com`, сохраняем и запускаем файл который мы сохранили

Не робит на РТ

@johnnyd-78
Copy link

Не робит на РТ

И не будет, читайте что ниже написано. Нужен еще фейк-пакет Добавьте --wrong-seq например

@Arondy
Copy link

Arondy commented Oct 2, 2024

На мтс работает -5 -e1 -q --fake-gen 13 --fake-with-sni www.google.com

@sansergs
Copy link

sansergs commented Oct 2, 2024

@SagePtr

А такой? 16030100430100003f0303[...random 32 bytes...]00000000001700000013001100000e7777772e676f6f676c652e636f6d

Этот работает. Спасибо за еще один рабочий вариант.

Теперь у вас и форум должен открыться, сходите сюда, может скрипт вам рабочую стратегию подберет.

а это вообще супер удобная вещь для автотестирования конфигураций.

@johnnyd-78
Copy link

На мтс работает -5 -e1 -q --fake-gen 13 --fake-with-sni www.google.com

Не очень хороший конфиг, фейки прямо в сервер летают. Лучше думаю будет:
-6 -e1 -q --fake-with-sni www.google.com --fake-gen 1 --set-ttl X
Х - число от 3 до 7, повышать, если вдруг на 3 не заработает

@sansergs
Copy link

sansergs commented Oct 2, 2024

-6 -e1 -q --fake-with-sni www.google.com --fake-gen 1 --set-ttl X

повторюсь, но лучше все же работает --fake-from-hex 00 или --fake-from-hex 160301 вместо --fake-gen 1
именно эти hex ы. По крайней мере на билайне.
Если что попробуйте с этими ключами

@johnnyd-78
Copy link

johnnyd-78 commented Oct 2, 2024

@sansergs Одинаково оно работает. --fake-gen 1 просто добавляет рандомные данные, а предыдущие 2 - определенные

Но если кажется, что лучше - можно и попробовать, почему бы и нет.

@Freeznet59
Copy link

У меня прекрасно работает spoof-dpi на дефолтных настройках.
На одном из местечковых провайдеров, аплинк - ростелеком.
На втором местечковом провайдере, аплинк - Эр-Телеком и там работает даже без spoof-dpi.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.