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

что я не так сделал?
image
image

Поставьте что он тут пишет в config.cmd

Нельзя сравнивать однопоточный Test-Connection с параллельным запуском сотни курлов.

Почему? Они к разным серверам. Если гугл забанит, то они и через 3 секунды не ответят.
Если вы найдете хоть один мск сервер googlevideo.com или вашего провайдера с пингом более 1 секунды скиньте скриншот, если вы пингуете из РФ конечно.

Я к тому, что скрипт выдает много false-positive, поэтому результат скрипта разный при каждом запуске.

Все так. Просто у вас блокнули gvt1.com видимо. Странне решение

При чём здесь Москва? Если мне нужен доступ до pixiv.net, то вредный совет заменить таймаут на 1 секунду будет выдавать намного больше false-positivenegative, чем больший таймаут.

curl -o NUL -w "time_total:%{time_total}s" https://pixiv.net
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   162  100   162    0     0    122      0  0:00:01  0:00:01 --:--:--   122
time_total:1.320709s

Тотал тайм в данном случае не нужно, и даже тут нет секунды
image

Большинство людей сюда пришло обходить замедление ютуба, и в первую очередь разговор об этом. В РФ вы не найдете сервер googlevideo.com с пингом в 1 секунду. Поэтому для обхода замедления ютуба 1 секунды более чем достаточно, все что больше вредит.

У меня больше секунды, и таймаут в 1 секунду даёт ложно-отрицательный результат.

>curl -o NUL -w "time_starttransfer:%{time_starttransfer}s" -m 1 https://pixiv.net
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0
curl: (28) Operation timed out after 1002 milliseconds with 0 bytes received
time_starttransfer:0.000000s

>curl -o NUL -w "time_starttransfer:%{time_starttransfer}s" -m 2 https://pixiv.net
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   162  100   162    0     0    149      0  0:00:01  0:00:01 --:--:--   149
time_starttransfer:1.086396s

Давайте проголосуем, кто сюда пришел обходить pixiv.net, и кто ютуб.

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

А в чем проблема самому изменить скрипт на то что тебе нужно?

Я сюда пришел обходить все. И, действительно, в чем проблема изменить скрипт самому?

разница в пинге и отклике сервера может отличаться, например, утром и вечером (когда повышенная нагрузка на сеть)

Я уже все изменил, здесь проблема в другом.
Если применить самую успешную стратегию из чекера в GoodbyeDPI то процентов на 80% проблема загрузки видео ютуба проходит. Поэтому многим может показаться, что проблема решена. Но как только вы захотите убрать проблему с оставшимися периодически подвисающими 20% серверов googlevideo.com, то обнаружите, что сделать это не так просто. Результат чекера при каждом запуске разный. И это не потому, что тспу настройки поменяли. Так получилось из-за того, что сама логика проверки, реализованная сейчас, дает много false-positive.

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

так проблема с

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

Кстати, скрипт ведь тупо по списку аргументы перебирает? Что насчет похранить их в дереве и перебирать по приоритету да с балансировочкой? Пойду думать.

Мне тут приснилось, возможно всего лишь приснилось, что заблокированный от незаблокированного серверы можно отличить трассировкой. К чистому можно успешно трассировать маршрут, а заблокированный начнет дропать пакеты и отвалится по максимальному числу хопов. Я знаю что другой протокол. Всего лишь предположение.
А второе, таймаут для тестирования делать не статическим, а брать Х квантов, где квант равен avg ping. К примеру, пинг 8 мс, тогда таймаут брать условных 100 пингов (800 мс) и регрессивно итерироваться с каким-то шагом пока хендшейк не перестанет успевать.
Какая только дичь не приснится. Пойду досыпать, проснусь скажу взломали и это был не я.

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

Убирать https тоже не вариант. Проверка при инициализации пройден, но потом будут валиться ошибки. Лучше пусть сфейлится сразу.

Тем не менее, спс за инфо, я подумаю что с этим сделать.

Хз почему так, я посмотрю.

У вас версия из шапки? Она старая, я не обвновлял. Попробуйте тестовый билд, из поста выше.

Вы адекватный вообще? Я вам прямым текстом написал, что не планирую менять дефолтную минимальную задержку, привел аргументы. А вы тут развели - какие-то голосования призываете проводить. Я, конечно, понимаю, что наглость - второе счастье, но вы мне не клиент и я вам ничем не обязан. Поумерьте пыл.

Откройте чеклист со списком серверов для проверки, выделите их все и нажмите CTRL+C, CTRL+V. Вуаля - ваши сервера теперь проверяются дважды.

Выбор кол-ва проходов в самом скрипте добавлю когда будет время.

Многие сервера банально не отвечают на пинг.


Короче, я не понимаю как работает doh в курле. Допустим у нас есть команда:

curl -4sSm 2 -w "%{time_namelookup}\n" --doh-url https://freedns.controld.com/uncensored https://ya.ru -o NUL

Она делает запрос к doh, потом к серверу и выводит время dns-lookup. У меня её результат - 1,1 секунды, что странно и много.

Вот вторая команда - то же самое но с включенным параллелизмом, результат идентичен:

curl -4sSm 2 -w "%{time_namelookup}\n" --doh-url https://freedns.controld.com/uncensored --parallel --parallel-immediate --parallel-max 10 https://ya.ru -o NUL

Вот третья команда, где мы делаем не одно обращение, а два. И неожиданно время снижается c 1.1 секунды до ожидаемых 0,1 секунды:

curl -4sSm 2 -w "%{time_namelookup}\n" --doh-url https://freedns.controld.com/uncensored --parallel --parallel-immediate --parallel-max 10 https://ya.ru -o NUL https://ya.ru -o NUL

Можно подумать, что по каким-то причинам doh игнорится для параллельных запросов. Однако если его убрать, то результат уменьшится до 0,002 секунд. То есть doh имеет эффект:

curl -4sSm 2 -w "%{time_namelookup}\n" --parallel --parallel-immediate --parallel-max 5 https://ya.ru -o NUL

Я в растерянности. Хотел прикрутить doh к скрипту, а тут такое…

а зачем вобще дох (тут) нужон? чтобы ECHить? так ето два споловиной сайта понтдерживают ету технололгию, а если ктото пользуется днсами от провайдера то ето ССЗП

ето уже становится похоже на как етот анон описывал :sweat_smile:

Но зачем?

сюда как будто бы просится {time_connect}

У меня вот так
curl -4sSm 2 -w “%{time_namelookup}\n” --doh-url https://freedns.controld.com/uncensored https://ya.ru https://ya.ru
1.259895
0.000071
что в принципе как раз логично