diff --git a/binaries/aarch64/nfqws b/binaries/aarch64/nfqws index 90fbbcc..1f8af9c 100755 Binary files a/binaries/aarch64/nfqws and b/binaries/aarch64/nfqws differ diff --git a/binaries/arm/nfqws b/binaries/arm/nfqws index 59bbf08..a7390a1 100755 Binary files a/binaries/arm/nfqws and b/binaries/arm/nfqws differ diff --git a/binaries/freebsd-x64/dvtws b/binaries/freebsd-x64/dvtws index 5a8d087..c1c6126 100755 Binary files a/binaries/freebsd-x64/dvtws and b/binaries/freebsd-x64/dvtws differ diff --git a/binaries/mips32r1-lsb/nfqws b/binaries/mips32r1-lsb/nfqws index 13bcf23..b0a1a03 100755 Binary files a/binaries/mips32r1-lsb/nfqws and b/binaries/mips32r1-lsb/nfqws differ diff --git a/binaries/mips32r1-msb/nfqws b/binaries/mips32r1-msb/nfqws index bb5b6f4..5756e0e 100755 Binary files a/binaries/mips32r1-msb/nfqws and b/binaries/mips32r1-msb/nfqws differ diff --git a/binaries/mips64r2-msb/nfqws b/binaries/mips64r2-msb/nfqws index 5d351d3..f6b6c9c 100755 Binary files a/binaries/mips64r2-msb/nfqws and b/binaries/mips64r2-msb/nfqws differ diff --git a/binaries/ppc/nfqws b/binaries/ppc/nfqws index 3a3ffd7..7577e83 100755 Binary files a/binaries/ppc/nfqws and b/binaries/ppc/nfqws differ diff --git a/binaries/win64/winws.exe b/binaries/win64/winws.exe index 9984d50..a1f205d 100644 Binary files a/binaries/win64/winws.exe and b/binaries/win64/winws.exe differ diff --git a/binaries/win64/zapret-winws/winws.exe b/binaries/win64/zapret-winws/winws.exe index 9984d50..a1f205d 100644 Binary files a/binaries/win64/zapret-winws/winws.exe and b/binaries/win64/zapret-winws/winws.exe differ diff --git a/binaries/x86/nfqws b/binaries/x86/nfqws index e4bbcb3..ba0ff0e 100755 Binary files a/binaries/x86/nfqws and b/binaries/x86/nfqws differ diff --git a/binaries/x86_64/nfqws b/binaries/x86_64/nfqws index b819db3..296b575 100755 Binary files a/binaries/x86_64/nfqws and b/binaries/x86_64/nfqws differ diff --git a/docs/readme.eng.md b/docs/readme.eng.md index e5b581e..da46142 100644 --- a/docs/readme.eng.md +++ b/docs/readme.eng.md @@ -589,6 +589,9 @@ hostname is revealed it's switched to another profile. If you use 0-phase desync methods think carefully what can happen during strategy switch. Use `--debug` logging to understand better what `nfqws` does. +Profiles are numbered from 1 to N. There's last empty profile in the chain numbered 0. +It's used when no filter matched. + IMPORTANT : multiple strategies exist only for the case when it's not possible to combine all to one strategy. Copy-pasting blockcheck results of different websites to multiple strategies lead to the mess. This way you may never unblock all resources and only confuse yourself. diff --git a/docs/readme.txt b/docs/readme.txt index a2a8f68..4161aeb 100644 --- a/docs/readme.txt +++ b/docs/readme.txt @@ -678,6 +678,8 @@ nfqws способен по-разному реагировать на разл хоста профиль меняется на лету. Поэтому если у вас есть параметры дурения нулевой фазы, тщательно продумывайте что может произойти при переключении стратегии. Смотрите debug log, чтобы лучше понять что делает nfqws. +Нумерация профилей идет с 1 до N. Последним в цепочке создается пустой профиль с номером 0. +Он используется, когда никакие условия фильтров не совпали. ВАЖНО : множественные стратегии создавались только для случаев, когда невозможно обьединить имеющиеся стратегии для разных ресурсов. Копирование стратегий из blockcheck для разных сайтов diff --git a/nfq/nfqws.c b/nfq/nfqws.c index 2de6a84..8d88b66 100644 --- a/nfq/nfqws.c +++ b/nfq/nfqws.c @@ -1706,7 +1706,7 @@ int main(int argc, char **argv) #endif } } - + #ifdef __linux__ if (params.qnum<0) { @@ -1763,7 +1763,15 @@ int main(int argc, char **argv) } #endif - DLOG_CONDUP("we have %d desync profile(s)\n",desync_profile_count); + DLOG("adding low-priority default empty desync profile\n"); + // add default empty profile + if (!(dpl = dp_list_add(¶ms.desync_profiles))) + { + DLOG_ERR("desync_profile_add: out of memory\n"); + exit_clean(1); + } + + DLOG_CONDUP("we have %d user defined desync profile(s) and default low priority profile 0\n",desync_profile_count); v=0; LIST_FOREACH(dpl, ¶ms.desync_profiles, next)