luci-app-banip: release 1.8.8-1
authorDirk Brenken <redacted>
Thu, 30 Apr 2026 09:43:28 +0000 (11:43 +0200)
committerDirk Brenken <redacted>
Thu, 30 Apr 2026 09:43:28 +0000 (11:43 +0200)
* sync with base package

Signed-off-by: Dirk Brenken <redacted>
applications/luci-app-banip/Makefile
applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js

index 8b07241967f3c816c9e81d0476951be8ac3a7f7b..d0f4e184771da7360269ff6ecbe6a41c07f70a98 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 LUCI_TITLE:=LuCI support for banIP
 LUCI_DEPENDS:=+luci-base +banip
 
-PKG_VERSION:=1.8.7
+PKG_VERSION:=1.8.8
 PKG_RELEASE:=1
 PKG_LICENSE:=Apache-2.0
 PKG_MAINTAINER:=Dirk Brenken <dev@brenken.org>
index 3b040c3f12b5be8f418341cff45dbfd13c66cb6d..908c1386635e25a32f084fff8be7970635a7c0c7 100644 (file)
@@ -285,6 +285,14 @@ return view.extend({
                o = s.taboption('general', form.Flag, 'ban_fetchinsecure', _('Download Insecure'), _('Don\'t check SSL server certificates during download.'));
                o.rmempty = true;
 
+               o = s.taboption('general', form.Flag, 'ban_nftcount', _('Reporting Counters'), _('Enable NFT counters for Set elements and chain rules. Required for the GeoIP Map and packet statistics in the Set Reporting.'));
+               o.rmempty = true;
+
+               o = s.taboption('general', form.Flag, 'ban_map', _('Enable GeoIP Map'), _('Enable a GeoIP Map with suspicious Set elements. This requires external requests to get the map tiles and geolocation data.'));
+               o.depends('ban_nftcount', '1');
+               o.optional = true;
+               o.rmempty = true;
+
                /*
                        additional settings tab
                */
@@ -365,7 +373,7 @@ return view.extend({
                o.default = '<em style="color:#37c;font-weight:bold;">' + _('Changes on this tab needs a banIP service restart to take effect.') + '</em>'
                        + '<hr style="width: 200px; height: 1px;" />';
 
-               o = s.taboption('adv_chain', form.ListValue, 'ban_nftpriority', _('Chain Priority'), _('Set the nft chain priority within the banIP table, lower values means higher priority.'));
+               o = s.taboption('adv_chain', form.ListValue, 'ban_nftpriority', _('Chain Priority'), _('Set the NFT chain priority within the banIP table, lower values means higher priority.'));
                o.value('10');
                o.value('0');
                o.value('-100');
@@ -446,7 +454,7 @@ return view.extend({
                o.default = '<em style="color:#37c;font-weight:bold;">' + _('Changes on this tab needs a banIP service restart to take effect.') + '</em>'
                        + '<hr style="width: 200px; height: 1px;" />';
 
-               o = s.taboption('adv_set', form.ListValue, 'ban_nftpolicy', _('Set Policy'), _('Set the nft policy for banIP-related Sets.'));
+               o = s.taboption('adv_set', form.ListValue, 'ban_nftpolicy', _('Set Policy'), _('Set the NFT policy for banIP-related Sets.'));
                o.value('memory', _('memory'));
                o.value('performance', _('performance'));
                o.default = 'memory';
@@ -465,14 +473,6 @@ return view.extend({
                o.optional = true;
                o.rmempty = true;
 
-               o = s.taboption('adv_set', form.Flag, 'ban_nftcount', _('Set Element Counter'), _('Enable nft counter for every Set element.'));
-               o.rmempty = true;
-
-               o = s.taboption('adv_set', form.Flag, 'ban_map', _('Enable GeoIP Map'), _('Enable a GeoIP Map with suspicious Set elements. This requires external requests to get the map tiles and geolocation data.'));
-               o.depends('ban_nftcount', '1');
-               o.optional = true;
-               o.rmempty = true;
-
                o = s.taboption('adv_set', form.ListValue, 'ban_blockpolicy', _('Inbound Block Policy'), _('Drop packets silently or actively reject Inbound traffic.'));
                o.value('drop', _('drop'));
                o.value('reject', _('reject'));
@@ -601,6 +601,33 @@ return view.extend({
                o.datatype = 'range(1,10)';
                o.rmempty = true;
 
+               o = s.taboption('adv_log', form.ListValue, 'ban_logratelimit', _('Log Rate Limit'), _('Rate (per second) for the shared NFT log limit, applied globally across all logged rules. Set to \'0\' to disable rate limiting entirely, e.g. when using ulogd or other userspace log handlers.'));
+               o.value('0');
+               o.value('1');
+               o.value('5');
+               o.value('10');
+               o.value('25');
+               o.value('50');
+               o.value('100');
+               o.default = '10';
+               o.placeholder = _('-- default --');
+               o.create = true;
+               o.optional = true;
+               o.rmempty = true;
+
+               o = s.taboption('adv_log', form.ListValue, 'ban_logburstlimit', _('Log Burst Limit'), _('Burst size in packets for the shared NFT log limit.'));
+               o.depends({ ban_logratelimit: '0', '!reverse': true });
+               o.value('1');
+               o.value('5');
+               o.value('10');
+               o.value('25');
+               o.value('50');
+               o.default = '5';
+               o.placeholder = _('-- default --');
+               o.create = true;
+               o.optional = true;
+               o.rmempty = true;
+
                o = s.taboption('adv_log', form.DynamicList, 'ban_logterm', _('Log Terms'), _('Regular expressions to detect suspicious IPs in the system log.'));
                o.value('Exit before auth from', _('dropbear failed login'));
                o.value('luci: failed login', _('LuCI failed login'));
git clone https://git.99rst.org/PROJECT