Closed EnergoStalin closed 2 hours ago
Там как-то хитро опакетили его в нестандартных директориях с прикруткой каких-то переменных ?
Нет он как и полагается пакетится в /opt/zapret. Враппер для запуска блокчека уже лично моя прикрутка. Хотелось бы конечно что бы и промпты можно было скипать таким способом но пока так.
Лежит рядом с blockcheck как можно понять по exec
Единтсвенная хитрость что его на субпакеты разбили.
zapret-common-git zapret-nfqws-git zapret-tpws-git zapret-docs-git
Сделать batch режим вместо диалогового как опцию - хорошая идея
Определённо ещё и логи сохранять в файлик c контролилуемым уровнем подробности. Нерабочие стратеги в подборе для себя только глаза мозолят а через grep даже не отфильтруешь там на разных строчках стратегия и результат. Можно попробовать через escape sequence затирать строчку в таком случае переходя на новую только когда AVAILABLE для улучшения UX.
sudo sh ./bwrap.sh | tee z.log && poweroff
А то я запустил сегодня на ночь и забыл что там в конце промпт ☠️. Никакого poweroff не случилось. И финальный репорт почему то в лог не попал хотя он вроде в stdout пишется как и всё остальное. https://github.com/bol-van/zapret/blob/c0cb2c43bf067d4ee8ad4dbdac3ac6d4a949db04/blockcheck.sh#L956 https://github.com/bol-van/zapret/blob/c0cb2c43bf067d4ee8ad4dbdac3ac6d4a949db04/blockcheck.sh#L1860 Перенаправлений не наблюдаю.
Вообще я тут видел дискуссию про паралельный подход. Я бы в его сторону смотрел тем более что как по мне там все забыли что blockcheck стратегии то в большинстве своём все одинаковые тестит соотвественно надо не больше демонов поднимать а больше запросов делать что бы это хотя бы ко поличеству доменов скалировалось. Единственное что меня смущает это засорение траффика не увеличит ли это в теории количество ложных срабатываний для стратегии?
Не все они одинаковые. Одинаковые тестить смысла нет. Но перебирать разные ограничители нужно. blockcheck - это тестер DPI, а не делатель таблеток. там он в конце и пишет. Мне необходимо видеть всю картину. какие ответы, реакции, сколько попыток провалилось и тд, чтобы понять как с этим DPI лучше бороться, как сделать общий знаменатель для разных ресурсов. Юзер же хочет часто обратно - сделай мне буковки для вписывания тут и тут. Но так не всегда работает.
Есть quick режим для быстрого находа хоть чего-нибудь.
Параллельный подход в принципе возможно сделать под *nix, но, увы, невозможно на windows
blockcheck - это тестер DPI
Про часть с тестером понятно. Значит в твоём понимании это отдельная утилита должна быть с чем я в принципе согласен да и не то что бы существующий blockcheck на компоненты растащить было сложно.
невозможно на windows
Рвзве в модели 1 демон много запросов он не будет работать везде? Я именно это подразумевал он всё так же проходится по стратегиям как и сейчас. Только за один вызов nfqws параллельно проходится по всем сайтам вызывая curl батчами. Я видел что то похожее на ntc уже выкладывали только вот досадно что для винды только.
Псевдобаш
nfqws run
for site in sites; do
parallel {
curl site1
curl site2
curl site3
curl N
}
done
nfqws stop
-------------------
next strategy
Идея в том что бы одну стратегию тестить сразу для всех сайтов подключая паралелный вызов curl. Реализовывать на баше наверное очень неудобно правда.
Не стратегии для сайта а стратегия для сайтов если так понятнее.
Таким образом как я и писал возможно хотя бы в теории скалирования по количеству сайтов в списке доменов достичь. Но не думаю что как блокчеку как твоему личному тестору это будет полезно вряд ли ты на списках из десятков сайтов гонишь его.
Поэтому реализовывать я не прошу. Просто хочу понять.
Единственное что меня смущает это засорение траффика не увеличит ли это в теории количество ложных срабатываний для стратегии?
curl на одной стратегии можно распараллелить сложнее с nfqws. его придется по uid расбрасывать с отдельными правилами ipt/nft/ipfw/pf. по pid тоже не получится, потому что правила надо делать до запуска curl. на винде нет никаких uid. нельзя сделать несколько инстансов winws для каждого curl
nfqws распаралеливать я вижу смысл если только полностью автоматизировать побдор стратегий(чисто с перспективы линукс юзера говорю). Например под отдельным юзером которому основной процесс(запущенный от текущего пользователя) через механизм autohostlist будет подкидывать сайты на выявления стратегий а потом мёржить в себя. Спокойно в принципе делается надстройкой необязательно этому здесь быть. tpws и nfqws именно что модификатор пакетов отличный огромное спасибо за их разработку и поддержку.
Проблема в том что из AUR пакета можно поставить только nfqws из за чего условие
Будет false и блокчек упадёт. Я обычно запускаю его из враппера который заранее настраивает его где и пытаюсь устанавливать SKIP_TPWS.
Предлагаю скипать проверку бинарников если соответствующая SKIP переменная установлена в 1.
Патч
```diff diff --git a/blockcheck.sh b/blockcheck.sh index eb91336..b4bc122 100755 --- a/blockcheck.sh +++ b/blockcheck.sh @@ -387,7 +387,7 @@ check_prerequisites() { echo \* checking prerequisites - [ "$UNAME" = Darwin -o -x "$PKTWS" ] && [ "$UNAME" = CYGWIN -o -x "$TPWS" ] && [ -x "$MDIG" ] || { + [ $SKIP_PKTWS = 1 -o "$UNAME" = Darwin -o -x "$PKTWS" ] && [ $SKIP_TPWS = 1 -o "$UNAME" = CYGWIN -o -x "$TPWS" ] && [ $SKIP_DNSCHECK = 1 -o -x "$MDIG" ] || { local target case $UNAME in Darwin) ```