GoodCheck - блокчек-скрипт для GoodbyeDPI, Zapret, ByeDPI

В предыдущей версии quic-пейлоады были дефектные. Пришлось прикручивать курл. Можешь тупо его в папку с прогой кинуть, он подцепится. Ну или через переменные.

Wireshark пустой. Файлы не создаются.

Log

Log created at2025-06-27 18:53:53.869267389 +0700 +07 m=+0.000445591

Payload Generator v0.7

Checking cURL version..

curl 8.9.0-DEV (x86_64-pc-linux-gnu) libcurl/8.9.0-DEV BoringSSL zlib/1.2.11 brotli/1.0.9 zstd/1.4.8 libidn2/2.3.2 libpsl/0.21.0 libssh2/1.10.0 nghttp2/1.43.0 quiche/0.22.0 librtmp/2.3 libgsasl/1.10.0
Release-Date: [unreleased]
Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns mqtt pop3 pop3s rtmp rtsp scp sftp smb smbs smtp smtps telnet tftp ws wss
Features: alt-svc AsynchDNS brotli ECH gsasl GSS-API HSTS HTTP2 HTTP3 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM PSL SPNEGO SSL threadsafe UnixSockets zstd

TLS CLientHello: true
QUIC Initial: false
SNI: fonts.google.com
Crop at: -1

Calling cURL for linux..

cURL exited with: exit status 2

All done

Терминал

denis@systemp:~/software/payloadGen$ sudo /home/denis/software/payloadGen/payloadGen
Payload Generator v0.7 by Ori

  1. TLS Client Hello
  2. QUIC Initial
  3. Both (default)

Which payload do you need (leave empty for both): 1

Specify a SNI for payload (leave empty for default ‘fonts.google.com’):

At which byte to crop binary (leave empty to skip):

TLS CLientHello: true
QUIC Initial: false
SNI: fonts.google.com
Crop at: -1

All done, press [ENTER] to exit..

А так?
payloadGen (3,5 МБ)

Ну у меня исправилось все (0.7 что-то не хотела создавать)
Хексы показались и файлы в папке тоже
ограбил РКН

PS пришлось бегать за cURLом.

Исправление + докинул курл в версию под винду.

payloadGen_v0.7.2_win+curl.zip (5,4 МБ)
payloadGen_v0.7.2_linux.zip (2,0 МБ)
payloadGen_v0.7.2_win.zip (2,1 МБ)

Благодарю. Теперь работает. Можно запускать без sudo. Но права лучше указать 0644 вместо 0200. Каждый раз получаются разные .bins? Надеюсь, у меня правильные:

Log

Log created at2025-06-27 20:30:58.269674267 +0700 +07 m=+0.000427927

Payload Generator v0.7.1

Checking cURL version..

curl 8.9.0-DEV (x86_64-pc-linux-gnu) libcurl/8.9.0-DEV BoringSSL zlib/1.2.11 brotli/1.0.9 zstd/1.4.8 libidn2/2.3.2 libpsl/0.21.0 libssh2/1.10.0 nghttp2/1.43.0 quiche/0.22.0 librtmp/2.3 libgsasl/1.10.0
Release-Date: [unreleased]
Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns mqtt pop3 pop3s rtmp rtsp scp sftp smb smbs smtp smtps telnet tftp ws wss
Features: alt-svc AsynchDNS brotli ECH gsasl GSS-API HSTS HTTP2 HTTP3 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM PSL SPNEGO SSL threadsafe UnixSockets zstd

TLS CLientHello: true
QUIC Initial: true
SNI: fonts.google.com
Crop at: -1

Calling cURL..

Hex for TLS ClientHello:
1603010200010001fc0303409d983267b00916ed10be2c793c7defa491732c06921cc61d380b054c1fa30c201500b09d9babf75209d17789cba0289ded383171518e677a7fa0751f8d205de50024130313011302cca9cca8c02bc02fc02cc030c009c013c00ac014009c009d002f0035000a0100018f000000150013000010666f6e74732e676f6f676c652e636f6d00170000ff01000100000a00080006001d00170018000b000201000010000e000c02683208687474702f312e31000d00140012040308040401050308050501080606010201003300260024001d00205134321719d9b49330e8655f288353ea8afa003f6073b0f014025a3c542c867f002d00020101002b0009080304030303020301001500f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Saved as ‘TLS_ClientHello_fonts_google_com_2025-06-27_20-31-02.bin’

cURL exited with: exit status 35

Calling cURL..

Hex for QUIC Initial:
c2000000011072ab11e7f17c9b86fc41ab3fa5771c1c1481360f2c0ce8ea0a4ce5999f3d1f63358f3a71350041136abbd345da05ea4b4ab626bcb293d65847ee297ac6f07cb32ace6ebebe21344b333238c53f2e3f40906429df7fbb9783524e494e3c512e97124b86483be1ae9079a0a313a2383092783a14568739953db5cc9edf93759157f3edd3571f812ad5bf33501ec16eb4adb9e13b1f523c52e6525e50dfeae5465bc2751bdb14fe3a7741a29a3132b5138fa05f885120e012d96891a6c6e9acdce1fe47ddf5a7af93c9a7898f681ade35121b30474d703cd18fddfc1f0a3fa7f169afa8a118473c137e7d874200364a8014faf3ce05f0baae54982b91850b954ffa3d40b620a786cdfa6e6d04ef8a319490126a20e542d67bf5648f94f85f33665f2fe7a3a2125ab7b547c7314370584ed3f962dfb9d9dafe7868c4e4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Saved as ‘QUIC_Initial_fonts_google_com_2025-06-27_20-31-03.bin’

cURL exited with: exit status 28

All done

Терминал

denis@systemp:~/software/payloadGen$ ./payloadGen
Payload Generator v0.7.1 by Ori

  1. TLS Client Hello
  2. QUIC Initial
  3. Both (default)

Which payload do you need (leave empty for both):

Specify a SNI for payload (leave empty for default ‘fonts.google.com’):

At which byte to crop binary (leave empty to skip):

TLS CLientHello: true
QUIC Initial: true
SNI: fonts.google.com
Crop at: -1

Hex for TLS ClientHello:
1603010200010001fc0303409d983267b00916ed10be2c793c7defa491732c06921cc61d380b054c1fa30c201500b09d9babf75209d17789cba0289ded383171518e677a7fa0751f8d205de50024130313011302cca9cca8c02bc02fc02cc030c009c013c00ac014009c009d002f0035000a0100018f000000150013000010666f6e74732e676f6f676c652e636f6d00170000ff01000100000a00080006001d00170018000b000201000010000e000c02683208687474702f312e31000d00140012040308040401050308050501080606010201003300260024001d00205134321719d9b49330e8655f288353ea8afa003f6073b0f014025a3c542c867f002d00020101002b0009080304030303020301001500f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Hex for QUIC Initial:
c2000000011072ab11e7f17c9b86fc41ab3fa5771c1c1481360f2c0ce8ea0a4ce5999f3d1f63358f3a71350041136abbd345da05ea4b4ab626bcb293d65847ee297ac6f07cb32ace6ebebe21344b333238c53f2e3f40906429df7fbb9783524e494e3c512e97124b86483be1ae9079a0a313a2383092783a14568739953db5cc9edf93759157f3edd3571f812ad5bf33501ec16eb4adb9e13b1f523c52e6525e50dfeae5465bc2751bdb14fe3a7741a29a3132b5138fa05f885120e012d96891a6c6e9acdce1fe47ddf5a7af93c9a7898f681ade35121b30474d703cd18fddfc1f0a3fa7f169afa8a118473c137e7d874200364a8014faf3ce05f0baae54982b91850b954ffa3d40b620a786cdfa6e6d04ef8a319490126a20e542d67bf5648f94f85f33665f2fe7a3a2125ab7b547c7314370584ed3f962dfb9d9dafe7868c4e4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

All done, press [ENTER] to exit..

TLS_ClientHello_fonts_google_com_2025-06-27_20-31-02.bin (517 байтов)
QUIC_Initial_fonts_google_com_2025-06-27_20-31-03.bin (1,2 КБ)

Интересно, что я не могу отследить запросы payloadGen в Wireshark. Прога отправляет их с 127.0.0.1 на 127.0.0.1, ого. Увидел только в any интерфейсе. Непонятно, как такое возможно.

Странно что он нули в конце не обрезал. Вообще так не должно быть. И с вашим quic фейком у меня не пробивается ютуб. Поправка: обрезал нули - пробилось.

Сейчас поэкспериментировал: quic пробивается фейком в 256 байт.

У меня сейчас в удп фейк не стоит и ютуб работает))

В чём прикол “squeezed” фейков? Да, размер меньше. Но как это делается? Их можно делать только для QUIC, или и для TLS?

Я их делал прогой, которую сам накатал за пару часов. Она тут где-то вроде даже валяется на форуме. Но я к ней не прикасался уже полгода+, так что за функционал не ручаюсь. Можно и quic и tls.

Насчет того, есть ли в смысл - вряд ли.

Как насчёт того, чтобы сделать не только проверку на блокировку, но и на замедлялово? Очень хочется подобрать наиболее оптимальную стратегию обхода замедла для ByeDPI, но это правда очень сложно (c Запретом попроще). Если Валдик как-то сделал свои скрипты, то.. Может, хотя бы сделать Selectel + желаемый SNI + желаемый размер? Не обязательно тонны, достаточно скольки-то сотен килобайт. Возможно, разделение на большее/менее количество запросов. У меня вот Дискорд на телефоне как бы работает, но скорее как вяленая кляча.
Нужно типа, как тот GGC тестер, но на Go и с интеграцией автоматической проверки стратегий. И не только для GGC. И типа, показывать, насколько результат улучшился, если вообще улучшился.
точнее, сперва смотреть, пробивает ли стратегия простой блок, и лишь потом с ней же пробовать проверку замедления. если блок есть и не пробивается данной стратегией, то она отсеивается на первом же этапе
я вообще удивлён, что никто ещё не запарился над этим

Потому что есть VPN/Proxy. Проще и быстрее получить информацию, что нужна

Провайдеры не дураки. Кинуть IP свой во временный блок и облом со стратегией

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

На себя бери данную нагрузку и будешь молоцом.
А так-же надо подумать о блокировке ответов со стороны провайдера
О блокировке по IP сайтов, со стороны провайдера
Блокировки сайтом RU зоны…

Начали со здравия, закончили за …

Роутер + опен врт вроде думал давно уже все купили себе.
На него ставится запрет+подкоп + вг сервер и все , из любой точки мира вам не страшная никакая цензура на любом устройстве.

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

  1. Для тестирования через selectel придется использовать вариант 100MB в большинстве случаев. Если ваш тариф интернета имеет скорость хотя бы 100 мбит/с, то файл размером 10MB будет выкачиваться мгновенно и результат будет очень сильно разниться от теста к тесту. А нам важна не столько скорость в момент подключения, сколько скорость на дистанции. Если вы пробовали тестировать сами связкой curl+selectel+своё sni, то должны были заметить эту проблему.
  2. Время тестирования. В последней версии гудчека что-то порядка 1800 стратегий. Если мы выполняем обычный get или head запрос с таймаутом в 1 секунду, то это, соответственно 1800 секунд. Прибавляем какое-то время на запуск/перезапуск zapret’а и получаем порядка 40 минут. А сколько будет выкачиваться файл размером 100MB? Ну допустим 10 секунд. Выходит уже не 40 минут, а в 10 раз больше.
  3. Проблема многопоточности. Рассмотрим случай №1: мы тестируем 10 стратегий и все они пробились к selectel и начали качать файл. Однако, канал - не резиновый. Соответственно, эти 10 потоков делят полосу пропускания и результат получается хуже ожидаемого. Случай №2: мы опять тестируем 10 стратегий, но сработала лишь 1. В итоге этот поток получает весь канал в своё распоряжение и показывает хороший результат, даже если сама стратегия заведомо менее эффективная, чем стратегии из случая №1. Т.е. для объективного результата тестировать придется в 1 поток максимум.
  4. Траффик. Тут простая математика. 1800 стратегий * 100MB = 175 гигабайт.
  5. Злоупотребление сервисом selectel. Учитывая объем траффика, они могут банально заблокировать ваш ip или зарезать вам скорость, скомпрометировав результаты.
  6. Ютуб и stateless. Я так предполагаю, что ютуб - это тот самый заблокированный сервис, к которому большинство хочет иметь доступ на достойной скорости. Однако, не знаю у кого как, а у меня для айпишников googlevideo на ТСПУ включен stateless. В то время как при присасывании к selectel ТСПУ на вас забьет болт, разрешив изначальное соединение. Т.е. результаты для selectel и для googlevideo будут отличаться, т.к. коробка работает в разных режимах. Что тут можно сделать? Использовать не selectel, а yt-dlp: выкачиваем ролики с самого ютуба и сравниваем скорости для разных стратегий. Но тут есть своя проблема. За 1800 последовательных скачиваний ролика вас гугл по головке не погладит и может выдать неиллюзорный теневой (или не слишком теневой) бан для вашего айпи. А потом люди будут плакать, что у них видосы на 20-ой секунде виснут.

tl;dr: Если и проводить такие тестирования, то в 1 поток, использую yt-dlp (если вам для ютуба это надо, в противном случае selectel сгодится) и по небольшому листу стратегий (<50). Подобное можно и руками сделать. Или реализовать довольно простым bat-скриптом. Так что дерзайте :+1:

GoodCheckGoGo 0.8.4+curl под Windows 7 не запускается?

Разбирайтесь сами как скомпилировать под вин7, потому что мне лень.

Последняя версия payload Теперь сгенерила оба файла… стоит старые файлы на эти новые заменить ? что станет лучше?

На моем провайдере старые пейлоады уже отвалились. Если у вас ещё работают, то можно и не менять.

Нашел GoGoCheck в вашем профиле, а список сайтов который надо разблокировывать где взять актуальный? или он там еще актуальный?)
получается он мне подберет стратегию под эти основные 50+ сайтов, а которые не откроются мне надо подбирать отдельную стратегию?

и насколько ваще эта проверка норм работает? не забанит за нее что я стучусь тут полтора часа им в сайты?

и вопрос по инсте, с телефона она работает, а с компа ERR_QUIC_PROTOCOL_ERROR
с этим что то можно сделать?
при чем когда то находил стратегию что инст работал на компе без всяких ошибок

а список сайтов который надо разблокировывать где взять актуальный

Что вы подразумеаете под “актуальным”? Все заблокироанные сайты? Так их там уже миллионы, никаких списков не хватит.
Вот здесь вроде ведётся какой-то актуальный лист: GitHub - 1andrevich/Re-filter-lists: Re:filter is (an attempt to create) an actual list of blocked domains and IPs in RU + popular and blocked for RU users но я не пользовался, так что не ручаюсь.
Для тестирования, понятное дело, такой большой список использовать нельзя. Дефолтного листа в программе хватит. Но когда найдете стратегию рабочую можете прикрутить лист по ссылке выше:

--filter-udp=443 --hostlist-domains=лист_по_ссылке_выше --hostlist-auto=ваш_авто_лист_на_всякий_случай ваша_стратегия_udp --new ^
--filter-tcp=443 --hostlist-domains=лист_по_ссылке_выше --hostlist-auto=ваш_авто_лист_на_всякий_случай ваша_стратегия_tcp --new ^

Для ютуба можно без листа (они должны идти перед основными стратегиями):

--filter-udp=443 --hostlist-domains="googlevideo.com"  ваша_стратегия_udp --new ^
--filter-tcp=443 --hostlist-domains="googlevideo.com" ваша_стратегия_tcp --new ^

В итоге будет что-то типа такого (для винды):

pushd "%~dp0"

start "Zapret" /min "winws.exe" --wf-tcp=443 --wf-udp=443 ^
--filter-udp=443 --hostlist-domains="googlevideo.com" стратегия1 --new ^
--filter-tcp=443 --hostlist-domains="googlevideo.com" стратегия2 --new ^
--filter-udp=443 --hostlist-domains=domains_all.lst --hostlist-auto=hostlist_auto.txt стратегия3 --new ^
--filter-tcp=443 --hostlist-domains=domains_all.lst --hostlist-auto=hostlist_auto.txt стратегия4

Ну и по необходимости отдельные строки под войс дискорда, игры и т.п.


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

Может забанить, теоретически. Но я сам не сталкивался, хоть и использовал много.

и вопрос по инсте, с телефона она работает, а с компа ERR_QUIC_PROTOCOL_ERROR

У инсты много айпишников. Часть из них в блоке, стратегии тут не помогут. Вам надо в etc\hosts вписать рабочий айпи.