From 38311865f9d6439e5caead3a87820f76d4a655e9 Mon Sep 17 00:00:00 2001 From: bol-van Date: Sat, 27 Apr 2024 12:51:49 +0300 Subject: [PATCH] winws: interface notation x.y. readme : winpaths in cygwin --- binaries/win64/winws.exe | Bin 164864 -> 164864 bytes binaries/win64/zapret-winws/winws.exe | Bin 164864 -> 164864 bytes binaries/win64/вас.txt | 1 + docs/windows.eng.md | 7 +++++-- docs/windows.txt | 9 +++++---- nfq/nfqws.c | 4 ++-- 6 files changed, 13 insertions(+), 8 deletions(-) create mode 100644 binaries/win64/вас.txt diff --git a/binaries/win64/winws.exe b/binaries/win64/winws.exe index b7f96c3cc85b63f4348062cce8eee121b27d219d..93d428eadef4aab95ae4195d89d65fdc819cd4aa 100644 GIT binary patch delta 85 zcmZqZ;A-gLn$W?db82FjAG7NrrpDV_Z!@~=X6lICuDFNsjSi#UcD|R4^Ob<~I&LNt nW>y9e*#4Z4$50hA-ny9e*#4Z4$50hA-n[:] ; числовые индексы интерфейса и суб-интерфейса + --wf-iface=[.] ; числовые индексы интерфейса и суб-интерфейса --wf-l3=ipv4|ipv6 ; фильтр L3 протоколов. по умолчанию включены ipv4 и ipv6. --wf-tcp=[~]port1[-port2] ; фильтр портов для tcp. ~ означает отрицание --wf-udp=[~]port1[-port2] ; фильтр портов для udp. ~ означает отрицание @@ -69,8 +69,6 @@ autottl и autohostlist. При включении autohostlist так же пе Можно запускать несколько процессов winws с разными стратегиями. Однако, не следует делать пересекающиеся фильтры. -В параметрах, берущих пути к файлам, они прописываются не в формате windows, а формате cygwin. -Например, /cygdrive/c/Users/vasya/zapret. Если в путях присутствуют национальные символы, то при вызове winws из cmd или bat кодировку нужно использовать OEM. Для русского языка это 866. Пути с пробелами нужно брать в кавычки. @@ -101,7 +99,10 @@ blockcheck.sh написан на posix shell и требует некоторы Потому просто так запустить blockcheck.sh невозможно. Для этого требуется скачать и установить cygwin так , как описано в предыдущем разделе. Следует запустить от имени администратора cygwin shell через cygwin.bat. -В нем нужно пройти в директорию с zapret. Буква диска windows X: отображается как /cygdrive/x. +В нем нужно пройти в директорию с zapret. +Обратные слэши путей windows нужно удваивать, либо использовать отображение на unix path. +Корректный вариант 1 : cd "C:\\Users\\vasya" +Корректный вариант 2 : cd "/cygdrive/c/Users/vasya" Далее все как в *nix : 1 раз ./install_bin.sh , затем ./blockcheck.sh. WSL использовать нельзя, это не то же самое. diff --git a/nfq/nfqws.c b/nfq/nfqws.c index d09ed72..3a62d18 100644 --- a/nfq/nfqws.c +++ b/nfq/nfqws.c @@ -732,7 +732,7 @@ static void exithelp(void) " --ctrack-timeouts=S:E:F[:U]\t\t\t; internal conntrack timeouts for TCP SYN, ESTABLISHED, FIN stages, UDP timeout. default %u:%u:%u:%u\n" #ifdef __CYGWIN__ "\nWINDIVERT FILTER:\n" - " --wf-iface=[:]\t\t\t; numeric network interface and subinterface indexes\n" + " --wf-iface=[.]\t\t\t; numeric network interface and subinterface indexes\n" " --wf-l3=ipv4|ipv6\t\t\t\t; L3 protocol filter. multiple comma separated values allowed.\n" " --wf-tcp=[~]port1[-port2]\t\t\t; TCP port filter. ~ means negation. multiple comma separated values allowed.\n" " --wf-udp=[~]port1[-port2]\t\t\t; UDP port filter. ~ means negation. multiple comma separated values allowed.\n" @@ -1385,7 +1385,7 @@ int main(int argc, char **argv) break; #elif defined(__CYGWIN__) case 48: /* wf-iface */ - if (!sscanf(optarg,"%u:%u",&IfIdx,&SubIfIdx)) + if (!sscanf(optarg,"%u.%u",&IfIdx,&SubIfIdx)) { fprintf(stderr, "bad value for --wf-iface\n"); exit_clean(1);