Сделаны ipset-ы в tpws и nfqws. User mode реализация, которая ни в коей мере не должна быть использована как удобная замена сложным ковыряниям в ip/nf tables лишь потому, что это просто и удобно. Это будет порочной практикой. Сделано для систем windows и linux без ipset (Android, например)
ipset-ами фильтруются профили. ipset является жестким фильтром, он работает сразу после первого пакета.
Поддержка фильтрации L7 (–filter-l7). L7 протокол становится известен обычно после первого пакета с данными вместе с hostname. Поэтому он не работает для нулевой фазы. На нулевой фазе L7 всегда равен unknown.
autohostlist debug log теперь содержит ip:port клиента и название L7 протокола. В postnat режиме вы не увидите ip клиента, а увидите endpoint самого роутера, с которого идет внешний конект.
custom scripts
Переменные FW_EXTRA_PRE, FW_EXTRA_POST для добавления строчки в nft rule или iptables rule до и после правила zapret. Можно использовать как локальные переопределения для одной или более операций в своих custom скриптах.
Например, вам очень нужно дурить DPI только для клиентов с одной подсети. Если используется postnat режим, сначала надо маркировать пакеты каким-то битом, не конфликтующим с nfqws, а
затем добавлять фильтр по mark.
Чтобы исключить конфликты по номерам портов , демонов и очередей введена динамическая аллокация через хелперы alloc_dnum, alloc_qnum alloc_tpws_port.
Новая функция zapret_custom_firewall_nft_flush предназначена для зачистки своих цепочек и set-ов. Нужна только, если таковые есть. Стандартные цепочки zapret чистятся автоматически.
Новые скрипты получения ip и host листов get_refilter_ipsum.sh , get_refilter_domain.sh
Багфиксы.
Зависание tpws/nfqws с 100% cpu usage, если хостлист в gzip и содержит комментарий.
Исправлено применение autottl при смене профиля на лету.
tpws: исправлено не-применение MSS в transparent proxy mode.
zapret-win-bundle. Обновлен preset-russia на поддержку discord voice. Фильтруется по портам и ipset.
Добавлен killall.exe и reload_lists.cmd для перечитки листов без убивания процесса. Может не работать с сервисом и scheduled task !
32-битная версия под windows : GitHub - bol-van/zapret-win32