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

Новый билд:
GoodCheck_v1.3.02.zip (6,5 МБ)

Тестовый билд с автоматической проверкой doh:
GoodCheck_v1.3.06.zip (6,5 МБ)

Новый билд с отдельным чеклистом для Ютуба (проверяются только домены, нужные для его работы)
GoodCheck_v1.3.07.zip (6,5 МБ)


Скрипт, похожий по функционалу на блокчек Zapret’a. Изначально делался для GDPI. Потом разросся в более универсальный и стал совместим с gdpi, zapret и byedpi.

Как этим пользоваться?

  • Кладёте всё в отдельную папку. Открываете config.cmd блокнотом. Прописываете путь до гудбая/запрета/byedpi в соответствующих строчках (пример: set "_gdpiFolderOverride=D:\Soft\\goodbyedpi-0.2.3rc1")
  • Создаете свой чеклист с сайтами для проверки в формате txt, кладете его в папку checklists. Можете не создавать и использовать один из дефолтных, там небольшая коллекция заблокированных сайтов.
  • Кроме того, автоматически ищется и проверяется Гугл-Кэш-Сервер (он же GGC, GSC, googlevideo) вашего провайдера. Если хотите это отключить - в конфиге ставите set "_skipAutoISPsGCS=true".
  • По умолчанию используется DNS-over-HTTPS от Cloudflare (https://1.1.1.1/dns-query), можно поставить свой (в конфиге) или использовать обычный резолвер (типа 8.8.8.8 или 9.9.9.9). Или отключить всё и использовать системный.
  • Можно настроить желаемые пэйлоады/SNI/hex в конфиге.
  • Запускаете скрипт через start.cmd, он автоматически повышает привилегии до админских.
  • В процессе работы выбираете через какую программу выполнять проверку, выбираете txt лист со стратегиями, выбираете чеклист с сайтами, выбираете количество проходов теста.
  • Всё. После завершения смотрите файл лога. В самом конце будут стратегии рассортированные от наименее к наиболее удачной.

Наверняка есть баги, имейте в виду :scream:

Буду рад отзывам.

P.S.: для ByeDPI нет нормального списка стратегий, т.к. я программой не пользуюсь. Если кто может помочь с составлением - будет хорошо.

Прошел все проверки, мой максимум это 4/10 успешных попыток.
image

Вы уверены что у вас версия гудбая с поддержкой параметра --fake-with-sni? Если нет, это бы объяснило такой плачевный результат.

Полагаю надо добавить опции для других версий.

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

Спойлер

тут оставил только нужный мне сервер для проверки:

Спойлер

Никак на данный момент. Разве что смотреть на exit-коды в логе. Первый код - это провайдер. 0 - значит успех. Полагаю, надо добавить возможность не проводить авто-тест провайдерского сервера.

Я просто изначально делал этот скрипт тупо под гуглвидео, а потом он перерос в блокчек. Вот так и получилось.

первые 2 кода - это провайдер получается. Потому что я убрал все доп. сервера и он по двум ищет
но вцелом находит все верно, спасибо=)

Добавил опцию set skipProvidersGGC= в скрипт. Замените на set skipProvidersGGC=1 и автопроверка провайдерского серера отключится.

Если вы всё убрали из файла, то не должно вообще ничего искаться. Возможно скрипт пустую линию считает? Сейчас проверю. upd: не считает. Хз тогда почему у вас ищет по двум. Возможно вы оставили ту штуку для tls 1.2?

Also, добавил стратегии с --fake-from-hex в стартовый набор, для тех у кого старая версия.

Эти стратегии с --fake-with-sni (ниже) бессмысленны, т.к. --fake-with-sni (так же как и --fake-from-hex) сам по себе не включает режим Fake Requests, флаг игнорируется фактически.
Fake Requests включают только флаги -5, -6, -7, -8, -9, --set-ttl, --min-ttl, --auto-ttl, --wrong-chksum, --wrong-seq. Никакие другие флаги режим Fake Requests не включают. Источник: смотрел код и пакеты в wireshark.

-e 1 --fake-with-sni FAKESNI
-e 1 --native-frag --fake-with-sni FAKESNI
-e 1 --reverse-frag --fake-with-sni FAKESNI
-e 2 --fake-with-sni FAKESNI
-e 2 --native-frag --fake-with-sni FAKESNI
-e 2 --reverse-frag --fake-with-sni FAKESNI
-e 1 --fake-with-sni FAKESNI --frag-by-sni
-e 1 --native-frag --fake-with-sni FAKESNI --frag-by-sni
-e 1 --reverse-frag --fake-with-sni FAKESNI --frag-by-sni
-e 2 --fake-with-sni FAKESNI --frag-by-sni
-e 2 --native-frag --fake-with-sni FAKESNI --frag-by-sni
-e 2 --reverse-frag --fake-with-sni FAKESNI --frag-by-sni

я имею ввиду вот так:

Спойлер

с таким нашел корректный конфиг для моих провайдерских (и моих магистральных серверов)
там просто написано do not remove)

Я обновил скрипт, теперь тест для tls1.2 можно из checkme удалить, т.к. он в самом скрипте. Он там нужен, чтобы видеть какие стратегии ломают tls 1.2 (на том же твиттере, тут много тем про это было).

@Decavoid Спс за инфо, сейчас подправлю список. Я просто туда напихал перебором стратегии. Я хз какие из них валидные, какие нет.

Рекомендую добавить в стратегии флаги: --auto-ttl, --set-ttl 3, --set-ttl 4, --set-ttl 5.

Я правильно понимаю, что вот такое тоже не будет работать? -e 1 --fake-from-hex 160301FFFF01FFFFFF0303594F5552204144564552544953454D454E542048455245202D202431302F6D6F000000000009000000050003000000 --fake-gen 5 Или фейк ген включает эту штуку?

Правильно. Эта конструкция не включает режим Fake Requests, она не будет отправлять никакие фейки.
Ни --fake-from-hex, ни --fake-gen не включают этот режим.

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

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

--fake-gen X аналогично. Если нет какого-либо флага (список выше), который включает режим Fake Requests, то --fake-gen X игнорируется.

Обновил стратегии и сам скрипт.
Со стратегиями тяжко, так как вариантов много получается разных.

теперь для каждой стратегии пишет TLS 1.2 Possible Breakage!
когда был тест в тхт файле такой ошибки не было

(upd по зависанию я сам дурак, кликнул мышью по cmd, не обращай внимание)

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

Серьезно? У меня не пишет… Блин, а почему?
Можно, конечно, выкинуть этот тест.

Возможно, потому что тестовый сайт с тлс12 использует специфический порт? Я просто другого сайта не нашел.

Пожелание: возможность указать абсолютный либо относительный путь к папке с goodbyedpi.exe.