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

Небольшая доработка батника для генерации фейкового числа #663

Closed
1 task done
black1277 opened this issue Sep 24, 2024 · 68 comments

Comments

@black1277
Copy link

I've made sure there's no existing feature request / Я убедился, что такой функциональности еще никто не предлагал

  • I've made sure there's no existing feature request / Я убедился, что такой функциональности еще никто не предлагал

Describe your feature / Опишите ваше предложение

Заметил что с параметром --fake-from-hex если не менять число перестает работать, пока не изменишь число. Поэтому написал строку для генерации этого числа случайным образом.
`
:: Генерация случайного 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"

start "" goodbyedpi.exe -9 -e1 -q --fake-gen 29 --fake-from-hex %hex_value% --blacklist ..\russia-blacklist.txt --blacklist ..\russia-youtube.txt
`
Подходит для Windows (через powershell), у меня работает отлично. Возможно, кому пригодится.

@ValdikSS
Copy link
Owner

Что это даёт? Почему именно такой подход? Почему 116?

@black1277
Copy link
Author

Хо-хо! Этого я не знаю. Я лишь скачал последний релиз и в пакете там есть файл 1_russia_blacklist_YOUTUBE.cmd и в нем именно такие параметры и число с 116 знаками. Я сделал так, чтобы оно становилось случайным при каждом запуске и поделился.

@johnnyd-78
Copy link

johnnyd-78 commented Sep 24, 2024

Универсальность теряется, на win 7-8.1 нет повершелла. Может написать маленькую программку, которая делала бы то же самое и передавала параметры GDPI?

Интересно, почему вы взяли именно 29 фейков, меньше не работает, что ли? У большинства отлично работают с 12 и по 15

@ValdikSS
Copy link
Owner

Хо-хо! Этого я не знаю. Я лишь скачал последний релиз и в пакете там есть файл 1_russia_blacklist_YOUTUBE.cmd и в нем именно такие параметры и число с 116 знаками. Я сделал так, чтобы оно становилось случайным при каждом запуске и поделился.

Это минимальный ClientHello, и нужен он потому, что иначе на части провайдеров не открывается, например, linkedin.com.
Если вам нужен просто какой-то hex-мусор, используйте fake-gen. Для чего дополнительный мусор отдельно, или у него всё же есть какой-то неочевидный смысл?

@johnnyd-78
Copy link

@ValdikSS Это какой-то гений тут же предложил этот хекс через сайт генерить, с такой длиной и пошло-поехало. Многие даже не понимают, что это за хекс

@black1277
Copy link
Author

black1277 commented Sep 24, 2024

Интересно, почему вы взяли именно 29 фейков, меньше не работает, что ли? У большинства отлично работают с 12 и по 15

Можете дописать и сделать случайным число от 12 до 29 тоже Чем больше случайных параметров - тем лучше.

@black1277
Copy link
Author

Если вам нужен просто какой-то hex-мусор, используйте fake-gen. Для чего дополнительный мусор отдельно, или у него всё же есть какой-то неочевидный смысл?

Конкретно, у меня без этого мусора перестает работать. Сайт загружается, но поток видео не идет.

@ValdikSS
Copy link
Owner

Ну так уберите fake-from-hex вообще, эффект будет такой же. Это сломает доступ на части провайдеров.

@meatlayer
Copy link

На ростелекоме (краснодарский край) AS12389, если просто убираешь fake-from-hex, видеопоток перестаёт работать как и с и дефолтным содержимом батника. Решение из 1-го комментария помогает.

@ValdikSS
Copy link
Owner

@meatlayer нужно не убрать fake-from-hex, а увеличить количество отправляемых пакетов: либо увеличить число у fake-gen, либо использовать fake-resend 2 и более.

Решение в первом сообщении делает точно то же самое, что и fake-gen, только зачем-то отдельным скриптом.

@TheGlitchedMan
Copy link

хочу подметить то что если не делать по новой hex число через день у меня все отрубает и интернет тупит сильно

@black1277
Copy link
Author

Универсальность теряется, на win 7-8.1 нет повершелла. Может написать маленькую программку, которая делала бы то же самое и передавала параметры GDPI?

Для несчастных пользователей на win 7-8.1 у которых нет powershell можно попробовать такой скрипт:

setlocal enabledelayedexpansion

set "hex_value="

rem Цикл для генерации 116 символов
for /l %%i in (1,1,116) do (
    rem Получаем случайное число от 0 до 15
    set /a rand_index=!random! %% 16

    rem Инициализация счетчика
    set "count=0"

    for %%j in (0 1 2 3 4 5 6 7 8 9 A B C D E F) do (
        if !count! equ !rand_index! (
            set "rand_char=%%j"
        )
        set /a count+=1
    )

    rem Добавляем найденный символ в hex_value
    set "hex_value=!hex_value!!rand_char!"
)

start "" goodbyedpi.exe -9 -e1 -q --fake-gen 29 --fake-from-hex !hex_value! --blacklist ..\russia-blacklist.txt --blacklist ..\russia-youtube.txt

@user4715876
Copy link

Для несчастных пользователей на win 7-8.1 у которых нет powershell можно попробовать такой скрипт:

Ало, гараж, какой скрипт, зачем

Решение в первом сообщении делает точно то же самое, что и fake-gen, только зачем-то отдельным скриптом.

@black1277
Copy link
Author

Ало, гараж, какой скрипт, зачем

я понимаю, что оно ДОЛЖНО работать и делать то же самое, но по факту у меня не работает. А работает только со случайным числом в параметрах, поэтому я и поделился.

@ValdikSS
Copy link
Owner

Предоставьте дамп трафика без fake-from-hex и с ним.
https://github.com/ValdikSS/GoodbyeDPI/wiki/Как-сделать-дамп-трафика-в-Wireshark

@krlvm
Copy link

krlvm commented Sep 25, 2024

В таком случае, возможно, дело в относительном порядке вот этого, добавленного через --fake-from-hex пакета, относительно N сгенерированных с помощью --fake-gen N пакетов - @black1277, если поменять эти два ключа местами, то работоспособность не нарушается? А если поперезапускать программу несколько раз с --fake-gen 30 и без --fake-from-hex и каждый раз проверять доступность, то в какой-то момент заблокированные ресурсы не начинают открываться?

@anauthentic
Copy link

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

@johnnyd-78
Copy link

Так же Ростелдеком, видеопоток отлично идет с оригинальным HEX + fake-gen 5 + fake-resend 2
При добавлении после хекса --set-ttl 2 (или 3) - вообще летает

@Danipulok
Copy link

Danipulok commented Sep 25, 2024

Помогло просто --fake-gen 29
Остальное не менял
Через время может перестать работать и буду генерить хекс тогда, но с ориг командой видеопоток не грузился
В любом случае спасибо большое топик опенеру

@onizukamen
Copy link

onizukamen commented Sep 26, 2024

I've made sure there's no existing feature request / Я убедился, что такой функциональности еще никто не предлагал

  • I've made sure there's no existing feature request / Я убедился, что такой функциональности еще никто не предлагал

Describe your feature / Опишите ваше предложение

Заметил что с параметром --fake-from-hex если не менять число перестает работать, пока не изменишь число. Поэтому написал строку для генерации этого числа случайным образом. ` :: Генерация случайного 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"

start "" goodbyedpi.exe -9 -e1 -q --fake-gen 29 --fake-from-hex %hex_value% --blacklist ..\russia-blacklist.txt --blacklist ..\russia-youtube.txt ` Подходит для Windows (через powershell), у меня работает отлично. Возможно, кому пригодится.

подскажите куда данный параметр добавлять? для чайника. Ибо при добавлении его в конец файла service_install_russia_blacklist_YOUTUBE.cmd не находит goodbyedpi.exe при запуске

@black1277
Copy link
Author

подскажите куда данный параметр добавлять? для чайника. Ибо при добавлении его в конец файла service_install_russia_blacklist_YOUTUBE.cmd не находит goodbyedpi.exe при запуске

нужно выделить и удалить всю строку, которая начинается на start "" goodbyedpi.exe и вместо неё вставить все из моего скрипта.
PS. Попробуйте сначала, --fake-gen 5 заменить на --fake-gen 15 или другую цифру до 29 - многим это тоже помогает.

@johnnyd-78
Copy link

Ибо при добавлении его в конец файла service_install_russia_blacklist_YOUTUBE.cmd не находит goodbyedpi.exe при запуске

Его в сервис инсталл и нет смысла добавлять, это работает только из 1_russia... и 2_any_country...
Не занимайтесь херней, читайте что Валдик написал

@sazhnikoff
Copy link

sazhnikoff commented Sep 26, 2024

подскажите куда данный параметр добавлять? для чайника. Ибо при добавлении его в конец файла service_install_russia_blacklist_YOUTUBE.cmd не находит goodbyedpi.exe при запуске

нужно выделить и удалить всю строку, которая начинается на start "" goodbyedpi.exe и вместо неё вставить все из моего скрипта. PS. Попробуйте сначала, --fake-gen 5 заменить на --fake-gen 15 или другую цифру до 29 - многим это тоже помогает.

Помогло как указал @krlvm - "с --fake-gen 30 и без --fake-from-hex"

ps. тоже "Ростелеком", который ни в какую (с параметрами от 5, до 9) не отдавал видео-поток ...

@Anonimno55
Copy link

Ребят а у кого нибудь идет видеопоток с сайта kinobase.org?
youtube работает без проблем на --fake-gen 29
Провайдер Росстелеком Сибирь

@johnnyd-78
Copy link

johnnyd-78 commented Sep 26, 2024

ps. тоже "Ростелеком", который ни в какую (с параметрами от 5, до 9) не отдавал видео-поток ...

Он и не будет, там от 10 надо начинать (если речь о --fake-gen), либо от 5-6 с --fake-resend 2. И -9 лучше не использовать, как и -5. Лучший вариант это -6, с добавлением --set-ttl 2 или 3

Ка-то так:
start "" goodbyedpi.exe -6 --fake-gen 6 --fake-resend 2 --set-ttl 2 --fake-from-hex 160301FFFF01FFFFFF0303594F5552204144564552544953454D454E542048455245202D202431302F6D6F000000000009000000050003000000 --blacklist ..\russia-blacklist.txt --blacklist ..\russia-youtube.txt

Ребят а у кого нибудь идет видеопоток с сайта kinobase.org?

У меня даже сайт не открывается

@sansergs
Copy link

sansergs commented Sep 26, 2024

Помогло просто --fake-gen 29
Остальное не менял

А --fake-gen 10 или --fake-gen 5 --fake-resend 2 НЕ сработали?
Почему-то все сразу ставят 29, насколько я понимаю это просто количество фейковых пакетов (еще и с неправильными значениями SEQ и ACK). И их количество равно fake-gen*fake-resend. Вроде пока хватает значения 10. Конечно от 29 хуже не будет. И не очень еще понятно почему поведение зависит от провайдеров или ТСПУ управляется не ими.

@sansergs
Copy link

sansergs commented Sep 26, 2024

@ValdikSS

Решение в первом сообщении делает точно то же самое, что и fake-gen, только зачем-то отдельным скриптом.

Я вообще правильно понимаю, что при наличии флага fake-gen и fake-resend посылается fake-gen*fake-resend фейковых пакетов вместо первого ClientHello с ПРОИЗВОЛЬНЫМ содержимым и разной длины (>=58 байт TCP DATA). По умолчанию fake-resend =1.

А при наличии --fake-from-hex будет ЕЩЕ один фейковый пакет, который идёт последним в этой цепочке фейковых и у него в полезной нагрузке TCP будет именно эти 58 байт (116 hex цифр). Из коробки там какие-то специально подобранные байты и текст YOUR ADVERTISEMENT HERE - $10/m.

Если же вообще ни одного из этих флагов нет, то будет один поддельный ClientHello пакет с подставным SNI www.w3.org ???

Ну и смысла генерации этого одного пакета тогда как бы нет, можно просто убирать fake-from-hex и увеличивать fake-gen и/или fake-resend?

@andrey-denisenko
Copy link

andrey-denisenko commented Sep 26, 2024

Ало, гараж, какой скрипт, зачем

я понимаю, что оно ДОЛЖНО работать и делать то же самое, но по факту у меня не работает. А работает только со случайным числом в параметрах, поэтому я и поделился.

Подтверждаю,
изначально команда в 1_russia_blacklist_YOUTUBE.cmd работала целый день.
Потом перестала.

Когда добавил генерацию случайного числа из первого поста. Все заработало сразу же.
Посмотрим сколько продержится.

ЗЫ,
Краснодарский Край, Ростелеком.

@johnnyd-78
Copy link

Пути DPI неисповедимы :D Добавить к мусору еще мусора и оно работает. Убрать еще мусора и не работает.
Кто-то вообще оригинальный фром-хекс не трогает (ибо нужен) и обходится манипуляцией с фейк-ген/фейк-ресенд

@ValdikSS
Copy link
Owner

Я вообще правильно понимаю, что при наличии флага fake-gen и fake-resend посылается fake-gen*fake-resend фейковых пакетов вместо первого ClientHello с ПРОИЗВОЛЬНЫМ содержимым и разной длины (>=58 байт TCP DATA). По умолчанию fake-resend =1.

Всё верно. Только размер данных от 8 до 200.

А при наличии --fake-from-hex будет ЕЩЕ один фейковый пакет, который идёт последним в этой цепочке фейковых и у него в полезной нагрузке TCP будет именно эти 58 байт (116 hex цифр). Из коробки там какие-то специально подобранные байты и текст YOUR ADVERTISEMENT HERE - $10/m.

Да. Это минимальный ClientHello, с единственным extension = Server Name Indication (пустым), у которого вместо ключа шифрования ASCII-текст. ClientHello нужен для работы Linkedin и Twitter на части провайдеров (какой-то из провайдерских DPI обрабатывает пакеты до получения любого ClientHello, и парсит из него домен).

Если же вообще ни одного из этих флагов нет, то будет один поддельный ClientHello пакет с подставным SNI www.w3.org ???

Да, стандартные HTTP-запрос и ClientHello.

Ну и смысла генерации этого одного пакета тогда как бы нет, можно просто убирать fake-from-hex и увеличивать fake-gen и/или fake-resend?

Всё верно. За это время никто не предоставил подтверждения ни на одном провайдере, что случайные fake-from-hex определённой длины хоть как-то различаются от прост ослучайных данных fake-gen'а. Такое принципиально может быть вследствие конкретного размера пакета, но на моих провайдерах никакой разницы нет.

Если кто-то предоставит какую-либо информацию, на каком из провайдеров помогает отправка последним пакетом именно то, что передаётся в fake-from-hex, напишите в этот тикет и предоставьте дампы трафика. Пока что ничего продуктивного здесь не наблюдаю.

@johnnyd-78
Copy link

johnnyd-78 commented Sep 27, 2024

про fake-resend конечно не слышали

Уже слышали. Где-то видел конфиг с фейк-ген 12 фейк-ресенд 10 или как-то так (ужас).

Причем смешит то, что зайти на лайтово заблоченный форум программы люди не могут, а идут на жестко заблоченный ютуб и там смотрят ролики, где очередной Вася Пупкин "починил" ютуб с помощью 30 фейков ( Закрадывается нехорошее ощущение, что люди настолько отупели, что уже простой текст с описанием не воспринимают и не понимают, если им картинку при этом не покажут.

@sansergs
Copy link

что уже простой текст с описанием не воспринимают и не понимают, если им картинку при этом не покажут.

Это я вообще НЕ понимаю. Я наоборот не могу смотреть видеоинструкции по таким именно "настроечным" вещам. Гораздо эффективнее и удобнее текст с описанием ну и скрины может.

@andrey-denisenko
Copy link

про fake-resend конечно не слышали

Уже слышали. Где-то видел конфиг с фейк-ген 12 фейк-ресенд 10 или как-то так (ужас).

Причем смешит то, что зайти на лайтово заблоченный форум программы люди не могут, а идут на жестко заблоченный ютуб и там смотрят ролики, где очередной Вася Пупкин "починил" ютуб с помощью 30 фейков ( Закрадывается нехорошее ощущение, что люди настолько отупели, что уже простой текст с описанием не воспринимают и не понимают, если им картинку при этом не покажут.

Слушай, Вася Пупкин хотя бы его починил и поделится результатом. А чем ты помог?
Сам себе разобрался и ничем никому не помог?

Сделай свой запускающий файл. И выложи сюда. Мы попробуем и посмотрим как оно работает.

@johnnyd-78
Copy link

Я его не раз тут выкладывал, просто ты настолько туп, что даже не удосужился это проверить, ибо читать не умеешь или не хочешь. И скорее всего он у тебя не сработает (по разным причинам)
Но ты всегда готов включить бычку по поводу и без. Поэтому иди-ка ты нахер, Андрюша )

@sansergs
Copy link

sansergs commented Sep 27, 2024

А чем ты помог?

Он помог тем, что пояснил про ключи это раз. Тестировал разные варианты это два. Понимает что и как работает это три.

Сделай свой запускающий файл. И выложи сюда.

ну так написано же какие параметры и на что в запускающем файле поменять.
Если нужен именно прямо cmd шник то можно предоставить несколько вариантов. но общий смысл в том что вы в строчке
start "" goodbyedpi.exe -9 -e1 --fake-gen 10 --fake-from-hex 160301FFFF01FFFFFF0303594F5552204144564552544953454D454E542048455245202D202431302F6D6F000000000009000000050003000000 --blacklist ..\russia-blacklist.txt --blacklist ..\russia-youtube.txt
меняете только -9 -e1 --fake-gen 10 на предоставленные варианты
например на -6 --fake-gen 6 --fake-resend 2 --set-ttl 3
т.е.
start "" goodbyedpi.exe -6 --fake-gen 6 --fake-resend 2 --set-ttl 3 --fake-from-hex 160301FFFF01FFFFFF0303594F5552204144564552544953454D454E542048455245202D202431302F6D6F000000000009000000050003000000 --blacklist ..\russia-blacklist.txt --blacklist ..\russia-youtube.txt

кстати в форумах говорят что может работать одновременно две версии программы с разными настройками для разных сайтов по спискам
start "" goodbyedpi.exe Рабочие параметры для сайтов --blacklist ..\russia-blacklist.txt
start "" goodbyedpi.exe Рабочие параметры для ютуба --blacklist ..\russia-youtube.txt
Вопрос к автору или знающим людям, в этом случае действительно будет реально всё работать?

@johnnyd-78
Copy link

johnnyd-78 commented Sep 27, 2024

@sansergs Я так понял, его главная претензия - я не выложил готовый вариант "для всех". Потому что правильного варианта для всех не существует. Существуют только такие вот "решения"-калеки с 30-ю фейками.

в этом случае действительно будет реально всё работать?

Конечно будет работать, у меня работает прямо сейчас. И через службу можно сделать, только назвать вторую службу другим именем, например GoobyeDPI_Y

@sansergs
Copy link

Конечно будет работать,

Ну то есть будет как бы каскадный перехват пакетов через windivert, сначала одним экземпляром, потом другим?
С изменённым названием службы хороший вариант.

@Decavoid
Copy link

И clienthello (текущий fake-from-hex из скриптов) также не вижу, чтобы был где-то именно забанен.

Он либо забанен, либо детектится тспу как невалидный ClientHello, по размеру, по не совпадению поля Length, либо ещё как-то, т.е. неотличимо от бана. Я провёл тест, подтверждающий это. Ниже конфиги, которые отличаются только хексом.

Тестовый конфиг №1, хекс из скриптов, с текстом "Your ad ... $10/m:

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

Тестовый конфиг №2, хекс свой, валидный, www.google.com:

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

Последовательность теста: запуск gdpi с выбранным конфигом, открыть браузер, открыть гуглвидео из закладок.

При использовании конфига №1 результат: вечная крутилка в чёрном окне (в F12 - таймауты и connectionreset). Скрин из wireshark №1. WS даже не определяет фейк как ClientHello, хотя он начинается с 160301.
При использовании конфига №2 видео сразу открывается (в F12 - код 200). Скрин из wireshark №2.
Your ad
www google com

@johnnyd-78
Copy link

johnnyd-78 commented Sep 27, 2024

Ну то есть будет как бы каскадный перехват пакетов через windivert, сначала одним экземпляром, потом другим?

Именно так, сначала программа проверяет пакет и соотносит его с блэклистом, если нет - пакет соотносится с блэклистом из 2-го экземпляра проги и если соответствует - применяются изменения, прописанные в конфиге 2-го экземпляра. А если пакет совпадает с блэклистом 1-го экземпляра, то второй его не обрабатывает, ибо нет соответствия с его блэклистом. Все это, конечно, сильно примерно, но на запрете это тоже работает, с той лишь разницей, что там 2 экземпляра проги запускать не надо

@ValdikSS
Copy link
Owner

@Decavoid

Он либо забанен, либо детектится тспу как невалидный ClientHello, по размеру, по не совпадению поля Length, либо ещё как-то, т.е. неотличимо от бана.

Он некорректный, да. Он не для ТСПУ, а для какого-то другого DPI на пути следования пакета к linkedin, я же написал выше. Один он точно не будет обходить блокировки.

@andrey-denisenko

Сделай свой запускающий файл. И выложи сюда. Мы попробуем и посмотрим как оно работает.

Текущие, вроде, все работают. Если не работают, напишите название провайдера и регион, я проверю.

@sansergs
Copy link

sansergs commented Sep 27, 2024

Он не для ТСПУ, а для какого-то другого DPI на пути следования пакета к linkedin

но он почем-то вайршарком НЕ определяется как ClientHello. А вот если НЕ указывать флаги -fake-gen и --fake-from-hex тот стандартный единственный фейковый пакет определяется как ClientHello. И вариант предложенный [Decavoid] тоже определяется и видно то же поле SNI.
Может все же реально сделать еще один альтернативный батничек с другим "валидным" подставным ClientHello? Иначе слишком уж много обсуждений вокруг него.
Ну и к слову а linkedin у меня не работает ни с одним из них.

@johnnyd-78
Copy link

Кстати, вот "идея для всех" - можно оставить только fake-from-hex (раз уж вам так нравится его генерить :) ) или оставить параметр --fake-gen без изменений и менять (увеличивая) в представленном тут дополнении для батника число генерируемых символов: 58 в первом варианте и 116 - во втором (для 7 и 8.1). Увеличивать пока не заработает ютуб. Но про сайты на TLS 1.2 (например картинки и видео в Х-е) можете забыть на некоторых провайдерах, ибо нужен валидный Client Hello, а не сгенерированное непонятно что. Впрочем, уважаемый Валдик уже про это написал.
Пробуйте

@ValdikSS
Copy link
Owner

Может все же реально сделать еще один альтернативный батничек с другим "валидным" подставным ClientHello? Иначе слишком уж много обсуждений вокруг него.

Зачем? Никто упорно не говорит, какую проблему он решает или чего пытается добиться.

@sansergs
Copy link

sansergs commented Sep 27, 2024

можно оставить только fake-from-hex (раз уж вам так нравится его генерить :) ) или оставить параметр --fake-gen

так все же еще раз для лучшего понимания логики работы.
Если у нас есть параметры --fake-gen и --fake-resend БЕЗ fake-from-hex то будет несколько (fake-gen*fake-resend) фейковых пакетов с мусором и ни один из них как бы не совпадёт с корректным, но подставным ClientHello? Если же указан fake-from-hex то последним будет пакет на основе его и там можно сгенернить нужный подставной ClientHello? Если нет ни одного параметра то будет один фейковый подставной ClientHello (с SNI www.w3.org)?
Как то не очень логично. почему бы этот же пакет (подставной ClientHello с SNI www.w3.org) не посылать последним если указаны параметры --fake-gen и --fake-resend, то не указан fake-from-hex?

@sansergs
Copy link

sansergs commented Sep 27, 2024

@ValdikSS

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

так вот же @Decavoid привёл пример, что с тем что из коробки fake-from-hex у него не работает, а с его работает.
Вопрос о том что НЕ надо просто генерить рандомный fake-from-hex, это понятно, что бессмысленно, ибо они и так все N штук рандомных.
Вопрос в другом, может ли какой-то dpi начать блочить тот пакет который предоставлен был в последней версии вашей? и уже если его менять на что-то то явно на какой-нить пакет более похожий по всем полям на ClientHello

@ValdikSS
Copy link
Owner

И не нужно использовать fake-from-hex так, как привёл @Decavoid, это вряд ли где-то будет работать. В cmd-файлах он используется иначе.

Вопрос в другом, может ли какой-то dpi начать блочить тот пакет который предоставлен был в последней версии вашей? и уже если его менять на что-то то явно на какой-нить пакет более похожий по всем полям на ClientHello

Да, его легко заблокировать.

Ещё раз: зачем мы это всё обсуждаем? Что не работает, где не работает?

@johnnyd-78
Copy link

johnnyd-78 commented Sep 27, 2024

Вопрос в другом, может ли какой-то dpi начать блочить тот пакет который предоставлен был в последней версии вашей?

Ничто не исключено. При этом для востановления работы некоторых сайтов придется сгенерить свой правильный Client Hello.
Но это выходит за рамки этого топика, ибо людям помогает просто добавить к рандомно сгенрированному мусору просто добавление еще такого же мусора, но другой командой ) Тут усиленно пытаются превратить --fake-from-hex в банальный --fake-gen

@sansergs
Copy link

sansergs commented Sep 27, 2024

Тут усиленно пытаются превратить --fake-from-hex в банальный --fake-gen

так в том и дело что изначально там же все же была "сигнатура" начала ClientHello (160301). Поэтому есть вообще смысл чтобы последний фейковый паке был похож на ClientHello с подставными данными или вообще нет???
В предыдущей версии программы (или когда у нас нет ключа fake-gen) пакет то подставной все же выглядит как ClientHello.
Сформулирую по-другому. Если мне или еще кому-то НЕ нужен linkedn, то fake-from-hex вообще Не нужен (по крайней мере пока) и не надо его пытаться подстраивать под похожий ClientHello ? Просто мы забываем о нём и всё. и батник меньше и вопросов меньше?

@johnnyd-78
Copy link

johnnyd-78 commented Sep 27, 2024

Если мне или еще кому-то НЕ нужен linkedn, то fake-from-hex вообще Не нужен (по крайней мере пока) и не надо его пытаться подстраивать под похожий ClientHello ?

Да при чем тут LinkedIn? Заблоченных сайтов на TLS 1.2 навалом и какой из них понадобится вам - неизвестно. Но если уж прямо кроме ютуба ничего больше не надо, то и --fake-from-hex не нужен, достаточно --fake-gen с увеличенным значением. Но явно не до 29-30, почему - я уже объяснял

@sansergs
Copy link

sansergs commented Sep 27, 2024

Да при чем тут LinkedIn

значит я не так понял, ValdikSS просто приводил в пример именно этот ресурс. Если речь идёт о всех сайтах которые поддерживают только TLS 1.2, тогда понятно.
про 29-30 это как раз таки ясно уже почти всем :)
В любом случае сейчас логика ясна, если не дай бог опять начнутся проблемы есть "варианты для маневров".

@ValdikSS
Copy link
Owner

ValdikSS commented Sep 27, 2024

В день, когда я проводил исследования и формировал релиз, TLS в сторону GGC был заблокирован. Ни с каким доменом (даже google.com) ответа не было. При этом не-TLS-мусор в достаточном количестве обходил ТСПУ (а блокирует GGC/youtube именно он и только он).

Но сколько не отправляй мусора, некоторые другие сайты, заблокированные реестровым способом (в частности, Linkedin), на части операторов не открывались — системы DPI у этих провайдеров (или их апстримов) анализировали трафик до первого ClientHello, поэтому я после fake-gen (который и обходит ТСПУ, и классифицирует трафик как не-TLS) добавил минимально возможный ClientHello c "пустым" доменом, чтобы обойти эти DPI, ожидающие ClientHello — им такого не соответствующего стандартам пакета было достаточно.

@johnnyd-78
Copy link

johnnyd-78 commented Sep 27, 2024

@ValdikSS Спасибо вам за это, у меня до сих пор этот хекс работает и помогает видосы на хдрезке смотреть (в смысле вообще этот сайт открыть), ну и картинки с видео на Х, про которые я уже писал.

@sansergs
Copy link

sansergs commented Sep 27, 2024

@ValdikSS

им такого не соответствующего стандартам пакета было достаточно.

Теперь логика понятна и действительно полностью объяснима.
Можно было бы все же добавить еще один батник алт2 с минимально возможным ClientHello но с доменом www.w3.org или каким-нибудь ya.ru. Но опять же это можно сделать сейчас и самому.
Спасибо за объяснение и программу

@ValdikSS
Copy link
Owner

Спасибо вам за это, у меня до сих пор этот хекс работает и помогает видосы на хдрезке смотреть (в смысле вообще этот сайт открыть), ну и картинки с видео на Х, про которые я уже писал.

Нет особой разницы в том, какой ClientHello отправлять, если он воспринимается DPI'ем. Лучше, конечно, более похожий на настоящий взять из дампа трафика браузера. Я добавил этот только потому, что мне показалась забавным реализация парсера у DPI, которая не смотрит на размер пакета и общей длины, указанной в ClientHello, но зато проверяет размеры extension'ов.

@sansergs
Copy link

sansergs commented Sep 27, 2024

что мне показалась забавным реализация парсера у DPI, которая не смотрит на размер пакета и общей длины, указанной в ClientHello, но зато проверяет размеры extension'ов.

плюс забавная строчка "здесь могла быть ваша реклама" :)
И еще один один вопрос, не очень понятно почему у разных провайдеров разное поведение если все они используют тспу, которым НЕ управляют? Или у них еще и свои DPI. тогда опять вопрос а зачем? зачем еще раз блочить то что уже и так блочится. это вообще не в их интересах, блочить то лишнее.

@Decavoid
Copy link

Decavoid commented Sep 27, 2024

Можно было бы все же добавить еще один батник алт2 с минимально возможным ClientHello но с доменом www.w3.org или каким-нибудь ya.ru.

Пулл реквест открыли 2 дня назад. Он делает именно это, генерит валидный ClientHello с указанным SNI хостом от браузера Firefox.

@sansergs
Copy link

sansergs commented Sep 27, 2024

Он делает именно это, генерит валидный ClientHello с указанным SNI хостом от браузера Firefox.

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

@johnnyd-78
Copy link

@Decavoid А где можно взять exe на потестить?

@Decavoid
Copy link

@Decavoid А где можно взять exe на потестить?

Добавил в комменте к пулл реквесту.

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

No branches or pull requests