Compare commits

..

4 Commits

Author SHA1 Message Date
bol-van
4e8766f245 windows.txt : bundle info 2024-05-11 10:46:35 +03:00
bol-van
7ad6d3ad85 windows.txt : bundle info 2024-05-11 10:45:16 +03:00
bol-van
2983670aae windows.txt : bundle info 2024-05-11 10:40:07 +03:00
bol-van
d42a892828 winws: enable stdout flushing when piping 2024-05-11 09:50:45 +03:00
4 changed files with 36 additions and 3 deletions

Binary file not shown.

View File

@ -94,7 +94,6 @@ winws требует cygwin1.dll, windivert.dll, windivert64.sys. Их можн
Однако, эмуляция x64 windows 11 позволяет использовать все, кроме WinDivert64.sys без изменений. Однако, эмуляция x64 windows 11 позволяет использовать все, кроме WinDivert64.sys без изменений.
Но при этом надо заменить WinDivert64.sys на неподписанную arm64 версию и установить режим testsigning. Но при этом надо заменить WinDivert64.sys на неподписанную arm64 версию и установить режим testsigning.
blockcheck blockcheck
---------- ----------
@ -112,8 +111,6 @@ WSL использовать нельзя, это не то же самое.
cygwin для обычной работы winws не нужен. Разве что вы хотите посылать winws SIGHUP для перечитки листов без перезапуска. cygwin для обычной работы winws не нужен. Разве что вы хотите посылать winws SIGHUP для перечитки листов без перезапуска.
Можно не возиться с cygwin, а взять готовый пакет, включающий в себя cygwin и blockcheck : https://github.com/bol-van/zapret-win-bundle
автозапуск winws автозапуск winws
---------------- ----------------
@ -130,3 +127,31 @@ cygwin для обычной работы winws не нужен. Разве чт
Все батники требуется запускать от имени администратора. Все батники требуется запускать от имени администратора.
Управлять задачами можно так же из графической программы управления планировщиком taskschd.msc Управлять задачами можно так же из графической программы управления планировщиком taskschd.msc
zapret-win-bundle
-----------------
Можно не возиться с cygwin, а взять готовый пакет, включающий в себя cygwin и blockcheck : https://github.com/bol-van/zapret-win-bundle
Там сделан максимум удобств для сосредоточения на самом zapret, исключая возню с установкой cygwin,
заходами в директории, запусками под администратором и прочими сугубо техническими моментами, в которых могут быть
ошибки и непонимания, а новичок без базиса знаний может и вовсе запутаться.
/zapret-winws - здесь все, что нужно для запуска winws в повседневном рабочем режиме. остальное не нужно.
/zapret-winws/_CMD_ADMIN.cmd - получить командную строку cmd в этой директории от имени администратора для тестирования winws
с параметрами, вводимыми вручную
/blockcheck/blockcheck.cmd - достаточно кликнуть по нему, чтобы пошел blockcheck с записью лога в blockcheck/blockcheck.log
/cygwin/cygwin.cmd - запуск среды cygwin bash под текущим пользователем
/cygwin/cygwin-admin.cmd - запуск среды cygwin bash под администратором
В среде cygwin уже настроены alias-ы на winws,blockcheck,ip2net,mdig. С путями возиться не нужно !
Из cygwin можно не только тестировать winws, но и посылать сигналы.
Доступны команды pidof,kill,killall,pgrep,pkill.
Но важно понимать, что таким образом не выйдет посылать сигналы winws, запущенному из zapret-winws,
поскольку там свой cygwin1.dll, и они не разделяют общее пространство процессов unix.
zapret-winws - это отдельный комплект для повседневного использования, не требующий что-то еще, но и не связанный со средой cygwin.
Среду cygwin можно использовать для записи в файл дебаг-лога winws. Для этого пользуйтесь командой tee.
winws --debug --wf-tcp=80,443 | tee winws.log
winws.log будет в cygwin/home/<имя_пользователя>
Если у вас windows 7, то блокнот не поймет переводы строк в стиле unix. Воспользуйтесь командой
unix2dos winws.log

View File

@ -417,6 +417,10 @@ static int win_main(const char *windivert_filter)
pre_desync(); pre_desync();
// cygwin auto flush fails when piping
fflush(stdout);
fflush(stderr);
for (id=0;;id++) for (id=0;;id++)
{ {
len = sizeof(packet); len = sizeof(packet);
@ -465,6 +469,10 @@ static int win_main(const char *windivert_filter)
default: default:
DLOG("packet: id=%u drop\n", id); DLOG("packet: id=%u drop\n", id);
} }
// cygwin auto flush fails when piping
fflush(stdout);
fflush(stderr);
} }
return 0; return 0;
} }