diff --git a/docs/changes.txt b/docs/changes.txt index 1d35911..661792a 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -351,3 +351,4 @@ nfqws,tpws: internal hostlist deduplication to save RAM nfqws,tpws: hostlist/ipset auto reload on file change. no more HUP. nfqws,tpws: --filter-tcp, --filter-udp take comma separated port range list config: marker +binaries: remove zapret-winws. add win32. diff --git a/docs/windows.eng.md b/docs/windows.eng.md index 18e587e..c2bb3be 100644 --- a/docs/windows.eng.md +++ b/docs/windows.eng.md @@ -71,7 +71,7 @@ NLM networks are adapter independent. Usually MAC address of the default router That's why NLM is more universal than `ssid-filter`. `Cygwin` shell does not run binaries if their directory has it's own copy of `cygwin1.dll`. -That's why exists separate standalone version in `binaries/win64/zapret-tpws`. +If you want to run `winws` from `cygwin` delete, rename or move `cygwin1.dll`. `Cygwin` is required for `blockcheck.sh` support but `winws` itself can be run standalone without cygwin. How to get `windows 7` and `winws` compatible `cygwin` : @@ -80,12 +80,10 @@ curl -O https://www.cygwin.com/setup-x86_64.exe setup-x86_64.exe --allow-unsupported-windows --no-verify --site http://ctm.crouchingtigerhiddenfruitbat.org/pub/cygwin/circa/64bit/2024/01/30/231215 ``` You must choose to install `curl`. To compile from sources install `gcc-core`,`make`,`zlib-devel`. -Make from directory `nfq` using `make cygwin`. +Make from directory `nfq` using `make cygwin64` or `make cygwin32` for 64 and 32 bit versions. -`winws` requires `cygwin1.dll`, `windivert.dll`, `windivert64.sys`. You can take them from `binaries/win64/zapret-winws`. - -32-bit x86 version can be build from 32-bit cygwin using `make cygwin32`. -`windivert.dll` and `windivert32.sys` can be taken from [windivert 2.2.2 archive](https://reqrypt.org/download) +`winws` requires `cygwin1.dll`, `windivert.dll`, `windivert64.sys` or `windivert32.sys`. +You can take them from `binaries/win64` or `binaries/win32`. There's no `arm64` signed `windivert` driver and no `cygwin`. But it's possible to use unsigned driver version in test mode and user mode components with x64 emulation. @@ -122,8 +120,12 @@ cd "C:\\Users\\vasya" cd "C:/Users/vasya" cd "/cygdrive/c/Users/vasya" ``` +`Cygwin` shell does not run binaries if their directory has it's own copy of `cygwin1.dll`. +If you want to run `winws` from `cygwin` delete, rename or move `cygwin1.dll`. + `Cygwin` is required only for `blockcheck.sh`. Standalone `winws` can be run without it. +To simplify things it's advised to use `zapret-win-bundle`. ### auto start diff --git a/docs/windows.txt b/docs/windows.txt index 6ef488b..f47dc97 100644 --- a/docs/windows.txt +++ b/docs/windows.txt @@ -106,10 +106,9 @@ network locations в win10/11. Кое-что есть в powershell. Если в путях присутствуют национальные символы, то при вызове winws из cmd или bat кодировку нужно использовать OEM. Для русского языка это 866. Пути с пробелами нужно брать в кавычки. -Существует неочевидный момент, каcаемый запуска winws из cygwin шелла. Если в директории, где находится nfqws, находится -копия cygwin1.dll, winws не запустится. Поэтому в binaries/win64 существует директория zapret-winws, содержащая полный -комплект для запуска без cygwin. Его вы и берете для повседневного использования. -Если нужен запуск под cygwin, то следует запускать из binaries/win64. Это нужно для работы blockcheck. +Существует неочевидный момент, каcаемый запуска winws из cygwin шелла. Если в директории, где находится winws, находится +копия cygwin1.dll, winws не запустится. +Если нужен запуск под cygwin, то следует удалить или переместить cygwin1.dll из binaries/win64. Это нужно для работы blockcheck. Из cygwin шелла можно посылать winws сигналы через kill точно так же, как в *nix. Как получить совместимый с windows 7 и winws cygwin : @@ -118,11 +117,9 @@ setup-x86_64.exe --allow-unsupported-windows --no-verify --site http://ctm.crouc Следует выбрать установку curl. Для сборки из исходников требуется gcc-core,make,zlib-devel. -Собирать из директории nfq командой "make cygwin". -winws требует cygwin1.dll, windivert.dll, windivert64.sys. Их можно взять из binaries/win64/zapret-winws. - -32-битную x86 версию можно собрать из 32-битного cygwin командой "make cygwin32". -windivert.dll и windivert32.sys можно взять из комплекта windivert 2.2.2 : https://reqrypt.org/download +Собирать из директории nfq командой "make cygwin64" или "make cygwin32" для 64 и 32 битных версий соответственно. +winws требует cygwin1.dll, windivert.dll, windivert64.sys или windivert32.sys. +Их можно взять из binaries/win64 и binaries/win32. Для arm64 windows нет подписанного драйвера windivert и нет cygwin. Однако, эмуляция x64 windows 11 позволяет использовать все, кроме WinDivert64.sys без изменений. @@ -172,11 +169,16 @@ blockcheck.sh написан на posix shell и требует некоторы Корректный вариант 1 : cd "C:\\Users\\vasya" Корректный вариант 2 : cd "C:/Users/vasya" Корректный вариант 3 : cd "/cygdrive/c/Users/vasya" +Существует неочевидный момент, каcаемый запуска winws из cygwin шелла. Если в директории, где находится winws, находится +копия cygwin1.dll, winws не запустится. Нужно переименовать файл cygwin1.dll. Далее все как в *nix : 1 раз ./install_bin.sh , затем ./blockcheck.sh. WSL использовать нельзя, это не то же самое. cygwin для обычной работы winws не нужен. +Однако, хотя такой способ и работает, использование winws сильно облегчает zapret-win-bundle. +Там нет проблемы с cygwin.dll. + автозапуск winws ----------------