luci-app-banip: sync with 0.9.5-1 7071/head
authorDirk Brenken <dev@brenken.org>
Fri, 19 Apr 2024 20:38:49 +0000 (22:38 +0200)
committerDirk Brenken <dev@brenken.org>
Fri, 19 Apr 2024 20:38:49 +0000 (22:38 +0200)
Signed-off-by: Dirk Brenken <dev@brenken.org>
applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js
applications/luci-app-banip/htdocs/luci-static/resources/view/banip/setreport.js
applications/luci-app-banip/po/templates/banip.pot

index b5f13738cdef12a54cc0bed0e6c6a3b7079d0599..5ebf25855d3761e8102c89e033f7a164765599e4 100644 (file)
@@ -28,7 +28,7 @@ return view.extend({
                let m, s, o;
 
                m = new form.Map('banip', 'banIP', _('Configuration of the banIP package to ban incoming and outgoing IPs via named nftables Sets. \
-                       For further information <a href="https://github.com/openwrt/packages/blob/master/net/banip/files/README.md" target="_blank" rel="noreferrer noopener" >check the online documentation</a>'));
+                       For further information please check the <a style="color:#37c;font-weight:bold;" href="https://github.com/openwrt/packages/blob/master/net/banip/files/README.md" target="_blank" rel="noreferrer noopener" >online documentation</a>'));
 
                /*
                        poll runtime information
@@ -152,48 +152,48 @@ return view.extend({
                        return E('div', { 'class': 'cbi-section' }, [
                                E('h3', _('Information')),
                                E('div', { 'class': 'cbi-value' }, [
-                                       E('label', { 'class': 'cbi-value-title', 'style': 'padding-top:0rem' }, _('Status')),
-                                       E('div', { 'class': 'cbi-value-field spinning', 'id': 'status', 'style': 'color:#37c' }, '\xa0')
+                                       E('label', { 'class': 'cbi-value-title', 'style': 'margin-bottom:-5px;float:left;font-weight:bold;padding-top:0rem;' }, _('Status')),
+                                       E('div', { 'class': 'cbi-value-field spinning', 'id': 'status', 'style': 'margin-bottom:-5px;float:left;color:#37c;font-weight:bold;' }, '\xa0')
                                ]),
                                E('div', { 'class': 'cbi-value' }, [
-                                       E('label', { 'class': 'cbi-value-title', 'style': 'padding-top:0rem' }, _('Version')),
-                                       E('div', { 'class': 'cbi-value-field', 'id': 'version', 'style': 'color:#37c' }, '-')
+                                       E('label', { 'class': 'cbi-value-title', 'style': 'margin-bottom:-5px;float:left;font-weight:bold;padding-top:0rem;' }, _('Version')),
+                                       E('div', { 'class': 'cbi-value-field', 'id': 'version', 'style': 'margin-bottom:-5px;float:left;color:#37c;font-weight:bold;' }, '-')
                                ]),
                                E('div', { 'class': 'cbi-value' }, [
-                                       E('label', { 'class': 'cbi-value-title', 'style': 'padding-top:0rem' }, _('Element Count')),
-                                       E('div', { 'class': 'cbi-value-field', 'id': 'elements', 'style': 'color:#37c' }, '-')
+                                       E('label', { 'class': 'cbi-value-title', 'style': 'margin-bottom:-5px;float:left;font-weight:bold;padding-top:0rem;' }, _('Element Count')),
+                                       E('div', { 'class': 'cbi-value-field', 'id': 'elements', 'style': 'margin-bottom:-5px;float:left;color:#37c;font-weight:bold;' }, '-')
                                ]),
                                E('div', { 'class': 'cbi-value' }, [
-                                       E('label', { 'class': 'cbi-value-title', 'style': 'padding-top:0rem' }, _('Active Feeds')),
-                                       E('div', { 'class': 'cbi-value-field', 'id': 'feeds', 'style': 'color:#37c' }, '-')
+                                       E('label', { 'class': 'cbi-value-title', 'style': 'margin-bottom:-5px;float:left;font-weight:bold;padding-top:0rem;' }, _('Active Feeds')),
+                                       E('div', { 'class': 'cbi-value-field', 'id': 'feeds', 'style': 'margin-bottom:-5px;float:left;color:#37c;font-weight:bold;' }, '-')
                                ]),
                                E('div', { 'class': 'cbi-value' }, [
-                                       E('label', { 'class': 'cbi-value-title', 'style': 'padding-top:0rem' }, _('Active Devices')),
-                                       E('div', { 'class': 'cbi-value-field', 'id': 'devices', 'style': 'color:#37c' }, '-')
+                                       E('label', { 'class': 'cbi-value-title', 'style': 'margin-bottom:-5px;float:left;font-weight:bold;padding-top:0rem;' }, _('Active Devices')),
+                                       E('div', { 'class': 'cbi-value-field', 'id': 'devices', 'style': 'margin-bottom:-5px;float:left;color:#37c;font-weight:bold;' }, '-')
                                ]),
                                E('div', { 'class': 'cbi-value' }, [
-                                       E('label', { 'class': 'cbi-value-title', 'style': 'padding-top:0rem' }, _('Active Uplink')),
-                                       E('div', { 'class': 'cbi-value-field', 'id': 'uplink', 'style': 'color:#37c' }, '-')
+                                       E('label', { 'class': 'cbi-value-title', 'style': 'margin-bottom:-5px;float:left;font-weight:bold;padding-top:0rem;' }, _('Active Uplink')),
+                                       E('div', { 'class': 'cbi-value-field', 'id': 'uplink', 'style': 'margin-bottom:-5px;float:left;color:#37c;font-weight:bold;' }, '-')
                                ]),
                                E('div', { 'class': 'cbi-value' }, [
-                                       E('label', { 'class': 'cbi-value-title', 'style': 'padding-top:0rem' }, _('NFT Information')),
-                                       E('div', { 'class': 'cbi-value-field', 'id': 'nft', 'style': 'color:#37c' }, '-')
+                                       E('label', { 'class': 'cbi-value-title', 'style': 'margin-bottom:-5px;float:left;font-weight:bold;padding-top:0rem;' }, _('NFT Information')),
+                                       E('div', { 'class': 'cbi-value-field', 'id': 'nft', 'style': 'margin-bottom:-5px;float:left;color:#37c;font-weight:bold;' }, '-')
                                ]),
                                E('div', { 'class': 'cbi-value' }, [
-                                       E('label', { 'class': 'cbi-value-title', 'style': 'padding-top:0rem' }, _('Run Information')),
-                                       E('div', { 'class': 'cbi-value-field', 'id': 'run', 'style': 'color:#37c' }, '-')
+                                       E('label', { 'class': 'cbi-value-title', 'style': 'margin-bottom:-5px;float:left;font-weight:bold;padding-top:0rem;' }, _('Run Information')),
+                                       E('div', { 'class': 'cbi-value-field', 'id': 'run', 'style': 'margin-bottom:-5px;float:left;color:#37c;font-weight:bold;' }, '-')
                                ]),
                                E('div', { 'class': 'cbi-value' }, [
-                                       E('label', { 'class': 'cbi-value-title', 'style': 'padding-top:0rem' }, _('Run Flags')),
-                                       E('div', { 'class': 'cbi-value-field', 'id': 'flags', 'style': 'color:#37c' }, '-')
+                                       E('label', { 'class': 'cbi-value-title', 'style': 'margin-bottom:-5px;float:left;font-weight:bold;padding-top:0rem;' }, _('Run Flags')),
+                                       E('div', { 'class': 'cbi-value-field', 'id': 'flags', 'style': 'margin-bottom:-5px;float:left;color:#37c;font-weight:bold;' }, '-')
                                ]),
                                E('div', { 'class': 'cbi-value' }, [
-                                       E('label', { 'class': 'cbi-value-title', 'style': 'padding-top:0rem' }, _('Last Run')),
-                                       E('div', { 'class': 'cbi-value-field', 'id': 'last', 'style': 'color:#37c' }, '-')
+                                       E('label', { 'class': 'cbi-value-title', 'style': 'margin-bottom:-5px;float:left;font-weight:bold;padding-top:0rem;' }, _('Last Run')),
+                                       E('div', { 'class': 'cbi-value-field', 'id': 'last', 'style': 'margin-bottom:-5px;float:left;color:#37c;font-weight:bold;' }, '-')
                                ]),
                                E('div', { 'class': 'cbi-value' }, [
-                                       E('label', { 'class': 'cbi-value-title', 'style': 'padding-top:0rem' }, _('System Information')),
-                                       E('div', { 'class': 'cbi-value-field', 'id': 'system', 'style': 'color:#37c' }, '-')
+                                       E('label', { 'class': 'cbi-value-title', 'style': 'margin-bottom:-5px;float:left;font-weight:bold;padding-top:0rem;' }, _('System Information')),
+                                       E('div', { 'class': 'cbi-value-field', 'id': 'system', 'style': 'margin-bottom:-5px;float:left;color:#37c;font-weight:bold;' }, '-')
                                ]),
                                E('div', { class: 'right' }, [
                                        E('button', {
@@ -235,7 +235,8 @@ return view.extend({
                s.addremove = false;
                s.tab('general', _('General Settings'));
                s.tab('advanced', _('Advanced Settings'));
-               s.tab('adv_chain', _('Chain/Set Settings'));
+               s.tab('adv_chain', _('Table/Chain Settings'));
+               s.tab('adv_set', _('Feed/Set Settings'));
                s.tab('adv_log', _('Log Settings'));
                s.tab('adv_email', _('E-Mail Settings'));
                s.tab('feeds', _('Feed Selection'));
@@ -324,7 +325,7 @@ return view.extend({
                */
                o = s.taboption('advanced', form.DummyValue, '_sub');
                o.rawhtml = true;
-               o.default = '<em><b>' + _('Changes on this tab needs a banIP service restart to take effect.') + '</b></em>';
+               o.default = '<em style="color:#37c;font-weight:bold;">' + _('Changes on this tab needs a banIP service restart to take effect.') + '</em>';
 
                o = s.taboption('advanced', form.ListValue, 'ban_nicelimit', _('Nice Level'), _('The selected priority will be used for banIP background processing.'));
                o.value('-20', _('Highest Priority'));
@@ -353,11 +354,12 @@ return view.extend({
                o.rmempty = true;
 
                o = s.taboption('advanced', form.ListValue, 'ban_splitsize', _('Set Split Size'), _('Split external Set loading after every n members to save RAM.'));
-               o.value('256');
                o.value('512');
                o.value('1024');
                o.value('2048');
                o.value('4096');
+               o.value('8192');
+               o.value('16384');
                o.optional = true;
                o.rmempty = true;
 
@@ -382,25 +384,22 @@ return view.extend({
                o.optional = true;
 
                /*
-                       advanced chain/set settings tab
+                       advanced chain settings tab
                */
                o = s.taboption('adv_chain', form.DummyValue, '_sub');
                o.rawhtml = true;
-               o.default = '<em><b>' + _('Changes on this tab needs a banIP service restart to take effect.') + '</b></em>';
+               o.default = '<em style="color:#37c;font-weight:bold;">' + _('Changes on this tab needs a banIP service restart to take effect.') + '</em>';
 
-               o = s.taboption('adv_chain', form.ListValue, 'ban_nftpolicy', _('NFT Set Policy'), _('Set the nft policy for banIP-related Sets.'));
-               o.value('memory', _('memory (default)'));
-               o.value('performance', _('performance'));
+               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('0', _('0'));
+               o.value('-100', _('-100 (default)'));
+               o.value('-150', _('-150'));
+               o.value('-200', _('-200'));
                o.optional = true;
                o.rmempty = true;
 
-               o = s.taboption('adv_chain', form.ListValue, 'ban_nftpriority', _('NFT Chain Priority'), _('Set the nft chain priority within the banIP table. Please note: lower values means higher priority.'));
-               o.value('0', _('0'));
-               o.value('-100', _('-100'));
-               o.value('-200', _('-200 (default)'));
-               o.value('-300', _('-300'));
-               o.value('-400', _('-400'));
-               o.optional = true;
+               o = s.taboption('adv_chain', form.Value, 'ban_allowflag', _('Allow Protocol/Ports'), _('Always allow a protocol \(tcp/udp\) with certain ports or port ranges in WAN-Input and WAN-Forward chain.'));
+               o.placeholder = 'tcp 80 443-445';
                o.rmempty = true;
 
                o = s.taboption('adv_chain', widgets.DeviceSelect, 'ban_vlanallow', _('Allow VLAN Forwards'), _('Always allow certain VLAN forwards.'));
@@ -415,13 +414,56 @@ return view.extend({
                o.optional = true;
                o.rmempty = true;
 
-               o = s.taboption('adv_chain', form.ListValue, 'ban_blocktype', _('Block Type'), _('Drop packets silently or actively reject the traffic on WAN-Input and WAN-Forward chains.'));
+               o = s.taboption('adv_chain', form.ListValue, 'ban_icmplimit', _('ICMP-Treshold'), _('ICMP-Treshold in packets per second to prevent WAN-DDoS attacks.'));
+               o.value('1', _('1'));
+               o.value('10', _('10 (default)'));
+               o.value('50', _('50'));
+               o.value('100', _('100'));
+               o.value('250', _('250'));
+               o.value('500', _('500'));
+               o.optional = true;
+               o.rmempty = true;
+
+               o = s.taboption('adv_chain', form.ListValue, 'ban_synlimit', _('SYN-Treshold'), _('SYN-Treshold in packets per second to prevent WAN-DDoS attacks.'));
+               o.value('1', _('1'));
+               o.value('10', _('10 (default)'));
+               o.value('50', _('50'));
+               o.value('100', _('100'));
+               o.value('250', _('250'));
+               o.value('500', _('500'));
+               o.optional = true;
+               o.rmempty = true;
+
+               o = s.taboption('adv_chain', form.ListValue, 'ban_udplimit', _('UDP-Treshold'), _('UDP-Treshold in packets per second to prevent WAN-DDoS attacks.'));
+               o.value('1', _('1'));
+               o.value('10', _('10'));
+               o.value('50', _('50'));
+               o.value('100', _('100 (default)'));
+               o.value('250', _('250'));
+               o.value('500', _('500'));
+               o.optional = true;
+               o.rmempty = true;
+
+               /*
+                       advanced Set settings tab
+               */
+               o = s.taboption('adv_set', form.DummyValue, '_sub');
+               o.rawhtml = true;
+               o.default = '<em style="color:#37c;font-weight:bold;">' + _('Changes on this tab needs a banIP service restart to take effect.') + '</em>';
+
+               o = s.taboption('adv_set', form.ListValue, 'ban_nftpolicy', _('Set Policy'), _('Set the nft policy for banIP-related Sets.'));
+               o.value('memory', _('memory (default)'));
+               o.value('performance', _('performance'));
+               o.optional = true;
+               o.rmempty = true;
+
+               o = s.taboption('adv_set', form.ListValue, 'ban_blocktype', _('Block Type'), _('Drop packets silently or actively reject the traffic on WAN-Input and WAN-Forward chains.'));
                o.value('drop', _('drop (default)'));
                o.value('reject', _('reject'));
                o.optional = true;
                o.rmempty = true;
 
-               o = s.taboption('adv_chain', form.ListValue, 'ban_blockpolicy', _('Default Block Policy'), _('By default each feed is active in all supported chains. Limit the default block policy to a certain chain.'));
+               o = s.taboption('adv_set', form.ListValue, 'ban_blockpolicy', _('Default Block Policy'), _('By default each feed is active in all supported chains. Limit the default block policy to a certain chain.'));
                o.value('input', _('WAN-Input Chain'));
                o.value('forwardwan', _('WAN-Forward Chain'));
                o.value('forwardlan', _('LAN-Forward Chain'));
@@ -435,7 +477,7 @@ return view.extend({
                        feeds = JSON.parse(result[1]);
                }
                if (feeds) {
-                       o = s.taboption('adv_chain', form.MultiValue, 'ban_blockinput', _('WAN-Input Chain'), _('Limit certain feeds to the WAN-Input chain.'));
+                       o = s.taboption('adv_set', form.MultiValue, 'ban_blockinput', _('WAN-Input Chain'), _('Limit certain feeds to the WAN-Input chain.'));
                        o.value('allowlist', _('local allowlist'));
                        o.value('blocklist', _('local blocklist'));
                        for (let i = 0; i < Object.keys(feeds).length; i++) {
@@ -445,7 +487,7 @@ return view.extend({
                        o.optional = true;
                        o.rmempty = true;
 
-                       o = s.taboption('adv_chain', form.MultiValue, 'ban_blockforwardwan', _('WAN-Forward Chain'), _('Limit certain feeds to the WAN-Forward chain.'));
+                       o = s.taboption('adv_set', form.MultiValue, 'ban_blockforwardwan', _('WAN-Forward Chain'), _('Limit certain feeds to the WAN-Forward chain.'));
                        o.value('allowlist', _('local allowlist'));
                        o.value('blocklist', _('local blocklist'));
                        for (let i = 0; i < Object.keys(feeds).length; i++) {
@@ -455,7 +497,7 @@ return view.extend({
                        o.optional = true;
                        o.rmempty = true;
 
-                       o = s.taboption('adv_chain', form.MultiValue, 'ban_blockforwardlan', _('LAN-Forward Chain'), _('Limit certain feeds to the LAN-Forward chain.'));
+                       o = s.taboption('adv_set', form.MultiValue, 'ban_blockforwardlan', _('LAN-Forward Chain'), _('Limit certain feeds to the LAN-Forward chain.'));
                        o.value('allowlist', _('local allowlist'));
                        o.value('blocklist', _('local blocklist'));
                        for (let i = 0; i < Object.keys(feeds).length; i++) {
@@ -471,7 +513,7 @@ return view.extend({
                */
                o = s.taboption('adv_log', form.DummyValue, '_sub');
                o.rawhtml = true;
-               o.default = '<em><b>' + _('Changes on this tab needs a banIP service restart to take effect.') + '</b></em>';
+               o.default = '<em style="color:#37c;font-weight:bold;">' + _('Changes on this tab needs a banIP service restart to take effect.') + '</em>';
 
                o = s.taboption('adv_log', form.ListValue, 'ban_nftloglevel', _('NFT Log Level'), _('Set the syslog level for NFT logging.'));
                o.value('emerg', _('emerg'));
@@ -485,15 +527,16 @@ return view.extend({
                o.optional = true;
                o.rmempty = true;
 
-               o = s.taboption('adv_log', form.Flag, 'ban_loginput', _('Log WAN-Input'), _('Log suspicious incoming WAN packets (dropped).'));
-               o.default = 1
+               o = s.taboption('adv_log', form.Flag, 'ban_logprerouting', _('Log Prerouting'), _('Log suspicious Prerouting packets.'));
                o.rmempty = false;
 
-               o = s.taboption('adv_log', form.Flag, 'ban_logforwardwan', _('Log WAN-Forward'), _('Log suspicious forwarded WAN packets (dropped).'));
-               o.default = 1
+               o = s.taboption('adv_log', form.Flag, 'ban_loginput', _('Log WAN-Input'), _('Log suspicious incoming WAN packets.'));
                o.rmempty = false;
 
-               o = s.taboption('adv_log', form.Flag, 'ban_logforwardlan', _('Log LAN-Forward'), _('Log suspicious forwarded LAN packets (rejected).'));
+               o = s.taboption('adv_log', form.Flag, 'ban_logforwardwan', _('Log WAN-Forward'), _('Log suspicious forwarded WAN packets.'));
+               o.rmempty = false;
+
+               o = s.taboption('adv_log', form.Flag, 'ban_logforwardlan', _('Log LAN-Forward'), _('Log suspicious forwarded LAN packets.'));
                o.rmempty = false;
 
                o = s.taboption('adv_log', form.Value, 'ban_logreadfile', _('Logfile Location'), _('Location for parsing the log file, e.g. via syslog-ng, to deactivate the standard parsing via logread.'));
@@ -515,7 +558,7 @@ return view.extend({
                o.datatype = 'range(1,10)';
                o.rmempty = true;
 
-               o = s.taboption('adv_log', form.DynamicList, 'ban_logterm', _('Log Terms'), _('The default log terms / regular expressions are filtering suspicious ssh, LuCI, nginx and asterisk traffic.'));
+               o = s.taboption('adv_log', form.DynamicList, 'ban_logterm', _('Log Terms'), _('The default regular expressions are filtering suspicious ssh, LuCI, nginx and asterisk traffic.'));
                o.optional = true;
                o.rmempty = true;
 
@@ -544,7 +587,7 @@ return view.extend({
                */
                o = s.taboption('adv_email', form.DummyValue, '_sub');
                o.rawhtml = true;
-               o.default = '<em><b>' + _('To enable email notifications, set up the \'msmtp\' package and specify a vaild E-Mail receiver address.') + '</b></em>';
+               o.default = '<em style="color:#37c;font-weight:bold;">' + _('To enable email notifications, set up the \'msmtp\' package and specify a vaild E-Mail receiver address.') + '</em>';
 
                o = s.taboption('adv_email', form.Flag, 'ban_mailnotification', _('E-Mail Notification'), _('Receive E-Mail notifications with every banIP run.'));
                o.rmempty = true;
@@ -571,10 +614,10 @@ return view.extend({
                */
                o = s.taboption('feeds', form.DummyValue, '_sub');
                o.rawhtml = true;
-               o.default = '<em><b>' + _('External blocklist feeds') + '</b></em>';
+               o.default = '<em style="color:#37c;font-weight:bold;">' + _('External Blocklist Feeds') + '</em>';
 
                if (feeds) {
-                       o = s.taboption('feeds', form.MultiValue, 'ban_feed', _('Blocklist Feed Selection'));
+                       o = s.taboption('feeds', form.MultiValue, 'ban_feed', _('Blocklist Feed'));
                        for (let i = 0; i < Object.keys(feeds).length; i++) {
                                feed = Object.keys(feeds)[i].trim();
                                descr = feeds[feed].descr.trim() || '-';
@@ -584,20 +627,30 @@ return view.extend({
                        o.rmempty = true;
                }
 
-               let code, country, countries = [];
+               let ccode, rir, country, countries = [];
                if (result[2]) {
                        countries = result[2].trim().split('\n');
 
-                       o = s.taboption('feeds', form.MultiValue, 'ban_country', _('Countries'));
+                       o = s.taboption('feeds', form.MultiValue, 'ban_country', _('Countries (RIR)'));
                        for (let i = 0; i < countries.length; i++) {
-                               code = countries[i].match(/^(\w+);/)[1].trim();
-                               country = countries[i].match(/^\w+;(.*$)/)[1].trim();
-                               o.value(code, country);
+                               ccode = countries[i].match(/^(\w+)\t/)[1].trim();
+                               rir = countries[i].match(/^\w+\t(\w+)\t/)[1].trim();
+                               country = countries[i].match(/^\w+\t\w+\t(.*$)/)[1].trim();
+                               o.value(ccode, country + ' (' + rir + ')');
                        }
                        o.optional = true;
                        o.rmempty = true;
                }
 
+               o = s.taboption('feeds', form.MultiValue, 'ban_region', _('Regional Internet Registry'));
+               o.value('AFRINIC', _('AFRINIC - serving Africa and the Indian Ocean region'));
+               o.value('APNIC', _('APNIC - serving the Asia Pacific region'));
+               o.value('ARIN', _('ARIN - serving Canada and the United States'));
+               o.value('LACNIC', _('LACNIC - serving the Latin American and Caribbean region'));
+               o.value('RIPE', _('RIPE - serving Europe, Middle East and Central Asia'));
+               o.optional = true;
+               o.rmempty = true;
+
                o = s.taboption('feeds', form.DynamicList, 'ban_asn', _('ASNs'));
                o.datatype = 'uinteger';
                o.optional = true;
@@ -605,9 +658,18 @@ return view.extend({
 
                o = s.taboption('feeds', form.DummyValue, '_feeds');
                o.rawhtml = true;
-               o.default = '<hr style="width: 200px; height: 1px;" /><em><b>' + _('External allowlist feeds') + '</b></em>';
+               o.default = '<hr style="width: 200px; height: 1px;" /><em style="color:#37c;font-weight:bold;">' + _('External Allowlist Feeds') + '</em>';
 
-               o = s.taboption('feeds', form.DynamicList, 'ban_allowurl', _('Allowlist Feed Selection'));
+               o = s.taboption('feeds', form.DynamicList, 'ban_allowurl', _('Allowlist Feed URLs'));
+               if (countries) {
+                       for (let i = 0; i < countries.length; i++) {
+                               ccode = countries[i].match(/^(\w+)\t/)[1].trim();
+                               rir = countries[i].match(/^\w+\t(\w+)\t/)[1].trim();
+                               country = countries[i].match(/^\w+\t\w+\t(.*$)/)[1].trim();
+                               o.value('https://www.ipdeny.com/ipblocks/data/aggregated/' + ccode + '-aggregated.zone', country + ' IPv4 (' + rir + ')');
+                               o.value('https://www.ipdeny.com/ipv6/ipaddresses/aggregated/' + ccode + '-aggregated.zone', country + ' IPv6 (' + rir + ')');
+                       }
+               }
                o.optional = true;
                o.rmempty = true;
                o.validate = function (section_id, value) {
@@ -622,7 +684,7 @@ return view.extend({
 
                o = s.taboption('feeds', form.DummyValue, '_feeds');
                o.rawhtml = true;
-               o.default = '<hr style="width: 200px; height: 1px;" /><em><b>' + _('Local feed settings') + '</b></em>';
+               o.default = '<hr style="width: 200px; height: 1px;" /><em style="color:#37c;font-weight:bold;">' + _('Local Feed Settings') + '</em>';
 
                o = s.taboption('feeds', form.Flag, 'ban_autoallowlist', _('Auto Allowlist'), _('Automatically add resolved domains and uplink IPs to the local banIP allowlist.'));
                o.default = 1
index 02865335a7b28ac5eece03d3ec935e91b42c3115..aa716a1b4312d90c61def327c733bfcc327272a6 100644 (file)
@@ -190,16 +190,38 @@ return view.extend({
                                E('p', _('This tab shows the last generated Set Report, press the \'Refresh\' button to get a new one.')),
                                E('p', '\xa0'),
                                E('div', { 'class': 'cbi-value' }, [
-                                       E('div', { 'class': 'cbi-value-title', 'style': 'float:left;width:230px' }, _('Timestamp')),
-                                       E('div', { 'class': 'cbi-value-title', 'id': 'start', 'style': 'float:left;color:#37c' }, content.timestamp || '-')
+                                       E('div', { 'class': 'cbi-value-title', 'style': 'margin-bottom:-5px;float:left;width:230px;font-weight:bold;' }, _('Timestamp')),
+                                       E('div', { 'class': 'cbi-value-title', 'id': 'start', 'style': 'margin-bottom:-5px;float:left;color:#37c;font-weight:bold;' }, content.timestamp || '-')
                                ]),
+                               E('hr'),
                                E('div', { 'class': 'cbi-value' }, [
-                                       E('div', { 'class': 'cbi-value-title', 'style': 'float:left;width:230px' }, _('auto-added to allowlist today')),
-                                       E('div', { 'class': 'cbi-value-title', 'id': 'start', 'style': 'float:left;color:#37c' }, content.autoadd_allow || '-')
+                                       E('div', { 'class': 'cbi-value-title', 'style': 'margin-top:-5px;float:left;width:230px;font-weight:bold;' }, _('blocked syn-flood packets')),
+                                       E('div', { 'class': 'cbi-value-title', 'id': 'start', 'style': 'margin-top:-5px;float:left;color:#37c;font-weight:bold;' }, content.sum_synflood || '-')
                                ]),
                                E('div', { 'class': 'cbi-value' }, [
-                                       E('div', { 'class': 'cbi-value-title', 'style': 'float:left;width:230px' }, _('auto-added to blocklist today')),
-                                       E('div', { 'class': 'cbi-value-title', 'id': 'start', 'style': 'float:left;color:#37c' }, content.autoadd_block || '-')
+                                       E('div', { 'class': 'cbi-value-title', 'style': 'margin-top:-5px;float:left;width:230px;font-weight:bold;' }, _('blocked udp-flood packets')),
+                                       E('div', { 'class': 'cbi-value-title', 'id': 'start', 'style': 'margin-top:-5px;float:left;color:#37c;font-weight:bold;' }, content.sum_udpflood || '-')
+                               ]),
+                               E('div', { 'class': 'cbi-value' }, [
+                                       E('div', { 'class': 'cbi-value-title', 'style': 'margin-top:-5px;float:left;width:230px;font-weight:bold;' }, _('blocked icmp-flood packets')),
+                                       E('div', { 'class': 'cbi-value-title', 'id': 'start', 'style': 'margin-top:-5px;float:left;color:#37c;font-weight:bold;' }, content.sum_icmpflood || '-')
+                               ]),
+                               E('div', { 'class': 'cbi-value' }, [
+                                       E('div', { 'class': 'cbi-value-title', 'style': 'margin-top:-5px;float:left;width:230px;font-weight:bold;' }, _('blocked invalid ct packets')),
+                                       E('div', { 'class': 'cbi-value-title', 'id': 'start', 'style': 'margin-top:-5px;float:left;color:#37c;font-weight:bold;' }, content.sum_ctinvalid || '-')
+                               ]),
+                               E('div', { 'class': 'cbi-value' }, [
+                                       E('div', { 'class': 'cbi-value-title', 'style': 'margin-top:-5px;float:left;width:230px;font-weight:bold;' }, _('blocked invalid tcp packets')),
+                                       E('div', { 'class': 'cbi-value-title', 'id': 'start', 'style': 'margin-top:-5px;float:left;color:#37c;font-weight:bold;' }, content.sum_tcpinvalid || '-')
+                               ]),
+                               E('hr'),
+                               E('div', { 'class': 'cbi-value' }, [
+                                       E('div', { 'class': 'cbi-value-title', 'style': 'margin-top:-5px;float:left;width:230px;font-weight:bold;' }, _('auto-added IPs to allowlist')),
+                                       E('div', { 'class': 'cbi-value-title', 'id': 'start', 'style': 'margin-top:-5px;float:left;color:#37c;font-weight:bold;' }, content.autoadd_allow || '-')
+                               ]),
+                               E('div', { 'class': 'cbi-value' }, [
+                                       E('div', { 'class': 'cbi-value-title', 'style': 'margin-top:-5px;float:left;width:230px;font-weight:bold;' }, _('auto-added IPs to blocklist')),
+                                       E('div', { 'class': 'cbi-value-title', 'id': 'start', 'style': 'margin-top:-5px;float:left;color:#37c;font-weight:bold;' }, content.autoadd_block || '-')
                                ]),
                                E('div', { 'class': 'right' }, [
                                        E('button', {
index 4dd8370e7c44e5240f80ebb5268827ec041e76c9..c4687bac1379c04959ee7d0df74eefda7b47e8d3 100644 (file)
@@ -5,87 +5,119 @@ msgstr "Content-Type: text/plain; charset=UTF-8"
 msgid "-- Set Selection --"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:399
-msgid "-100"
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:395
+msgid "-100 (default)"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:400
-msgid "-200 (default)"
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:396
+msgid "-150"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:401
-msgid "-300"
-msgstr ""
-
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:402
-msgid "-400"
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:397
+msgid "-200"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:398
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:394
 msgid "0"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:504
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:547
 msgid "0 (disable)"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:311
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:312
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:418
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:428
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:438
 msgid "1"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:314
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:315
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:439
 msgid "10"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:506
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:419
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:429
+msgid "10 (default)"
+msgstr ""
+
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:421
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:431
+msgid "100"
+msgstr ""
+
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:441
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:549
 msgid "100 (default)"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:509
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:552
 msgid "1000"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:340
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:341
 msgid "1024 (default)"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:315
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:316
 msgid "20"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:341
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:342
 msgid "2048"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:507
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:422
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:432
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:442
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:550
 msgid "250"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:312
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:313
 msgid "3"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:342
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:343
 msgid "4096"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:313
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:314
 msgid "5 (default)"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:505
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:420
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:430
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:440
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:548
 msgid "50"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:508
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:423
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:433
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:443
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:551
 msgid "500"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:339
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:340
 msgid "512"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:601
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:646
+msgid "AFRINIC - serving Africa and the Indian Ocean region"
+msgstr ""
+
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:647
+msgid "APNIC - serving the Asia Pacific region"
+msgstr ""
+
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:648
+msgid "ARIN - serving Canada and the United States"
+msgstr ""
+
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:654
 msgid "ASNs"
 msgstr ""
 
@@ -101,7 +133,7 @@ msgstr ""
 msgid "Active Uplink"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:305
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:306
 msgid "Additional trigger delay in seconds during interface reload and boot."
 msgstr ""
 
@@ -109,15 +141,19 @@ msgstr ""
 msgid "Advanced Settings"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:406
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:401
+msgid "Allow Protocol/Ports"
+msgstr ""
+
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:405
 msgid "Allow VLAN Forwards"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:610
-msgid "Allowlist Feed Selection"
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:663
+msgid "Allowlist Feed URLs"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:658
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:720
 msgid "Allowlist Only"
 msgstr ""
 
@@ -127,77 +163,83 @@ msgid ""
 "banIP that changes take effect."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:406
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:401
+msgid ""
+"Always allow a protocol (tcp/udp) with certain ports or port ranges in WAN-"
+"Input and WAN-Forward chain."
+msgstr ""
+
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:405
 msgid "Always allow certain VLAN forwards."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:412
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:411
 msgid "Always block certain VLAN forwards."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:631
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:693
 msgid "Auto Allow Uplink"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:627
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:689
 msgid "Auto Allowlist"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:643
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:705
 msgid "Auto Block Subnet"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:639
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:701
 msgid "Auto Blocklist"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:252
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:253
 msgid "Auto Detection"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:643
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:705
 msgid ""
 "Automatically add entire subnets to the blocklist Set based on an additional "
 "RDAP request with the suspicious IP."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:639
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:701
 msgid ""
 "Automatically add resolved domains and suspicious IPs to the local banIP "
 "blocklist."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:627
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:689
 msgid ""
 "Automatically add resolved domains and uplink IPs to the local banIP "
 "allowlist."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:368
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:370
 msgid "Backup Directory"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:364
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:366
 msgid "Base Directory"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:364
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:366
 msgid "Base working directory while banIP processing."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:418
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:460
 msgid "Block Type"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:412
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:411
 msgid "Block VLAN Forwards"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:577
-msgid "Blocklist Feed Selection"
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:620
+msgid "Blocklist Feed"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:648
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:710
 msgid "Blocklist Set Expiry"
 msgstr ""
 
@@ -207,13 +249,13 @@ msgid ""
 "banIP that changes take effect."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:424
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:466
 msgid ""
 "By default each feed is active in all supported chains. Limit the default "
 "block policy to a certain chain."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:346
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:347
 msgid "CPU Cores"
 msgstr ""
 
@@ -222,13 +264,14 @@ msgstr ""
 msgid "Cancel"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:238
-msgid "Chain/Set Settings"
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:393
+msgid "Chain Priority"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:327
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:389
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:474
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:328
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:391
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:452
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:516
 msgid "Changes on this tab needs a banIP service restart to take effect."
 msgstr ""
 
@@ -239,30 +282,31 @@ msgstr ""
 #: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:30
 msgid ""
 "Configuration of the banIP package to ban incoming and outgoing IPs via "
-"named nftables Sets. For further information <a href=\"https://github.com/"
-"openwrt/packages/blob/master/net/banip/files/README.md\" target=\"_blank\" "
-"rel=\"noreferrer noopener\" >check the online documentation</a>"
+"named nftables Sets. For further information please check the <a "
+"style=\"color:#37c;font-weight:bold;\" href=\"https://github.com/openwrt/"
+"packages/blob/master/net/banip/files/README.md\" target=\"_blank\" "
+"rel=\"noreferrer noopener\" >online documentation</a>"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:591
-msgid "Countries"
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:634
+msgid "Countries (RIR)"
 msgstr ""
 
 #: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/feeds.js:174
 msgid "Custom Feed Editor"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:376
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:378
 msgid ""
 "Deduplicate IP addresses across all active Sets and tidy up the local "
 "blocklist."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:376
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:378
 msgid "Deduplicate IPs"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:424
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:466
 msgid "Default Block Policy"
 msgstr ""
 
@@ -270,13 +314,13 @@ msgstr ""
 msgid "Description"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:252
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:253
 msgid ""
 "Detect relevant network devices, interfaces, subnets, protocols and "
 "utilities automatically."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:633
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:695
 msgid "Disable"
 msgstr ""
 
@@ -284,7 +328,7 @@ msgstr ""
 msgid "Domain Lookup"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:319
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:320
 msgid "Don't check SSL server certificates during download."
 msgstr ""
 
@@ -292,49 +336,49 @@ msgstr ""
 msgid "Download Custom Feeds"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:319
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:320
 msgid "Download Insecure"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:295
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:296
 msgid "Download Parameters"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:310
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:311
 msgid "Download Retries"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:286
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:287
 msgid "Download Utility"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:418
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:460
 msgid ""
 "Drop packets silently or actively reject the traffic on WAN-Input and WAN-"
 "Forward chains."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:549
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:592
 msgid "E-Mail Notification"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:564
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:607
 msgid "E-Mail Profile"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:552
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:595
 msgid "E-Mail Receiver Address"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:556
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:599
 msgid "E-Mail Sender Address"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:240
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:241
 msgid "E-Mail Settings"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:560
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:603
 msgid "E-Mail Topic"
 msgstr ""
 
@@ -360,58 +404,62 @@ msgstr ""
 
 #: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/feeds.js:195
 #: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/feeds.js:233
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:532
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:575
 msgid "Empty field not allowed"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:522
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:565
 msgid "Enable Remote Logging"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:246
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:247
 msgid "Enable the banIP service."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:522
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:565
 msgid "Enable the cgi interface to receive remote logging events."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:249
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:250
 msgid "Enable verbose debug logging in case of processing errors."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:246
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:247
 msgid "Enabled"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:255
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:256
 msgid "Enables IPv4 support."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:260
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:261
 msgid "Enables IPv6 support."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:648
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:710
 msgid "Expiry time for auto added blocklist Set members."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:608
-msgid "External allowlist feeds"
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:661
+msgid "External Allowlist Feeds"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:574
-msgid "External blocklist feeds"
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:617
+msgid "External Blocklist Feeds"
 msgstr ""
 
 #: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/feeds.js:190
 msgid "Feed Name"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:241
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:242
 msgid "Feed Selection"
 msgstr ""
 
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:239
+msgid "Feed/Set Settings"
+msgstr ""
+
 #: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/feeds.js:278
 msgid "Fill Custom Feeds"
 msgstr ""
@@ -436,15 +484,23 @@ msgstr ""
 msgid "Grant access to LuCI app banIP"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:331
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:332
 msgid "High Priority"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:330
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:331
 msgid "Highest Priority"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:635
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:417
+msgid "ICMP-Treshold"
+msgstr ""
+
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:417
+msgid "ICMP-Treshold in packets per second to prevent WAN-DDoS attacks."
+msgstr ""
+
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:697
 msgid "IP"
 msgstr ""
 
@@ -452,27 +508,27 @@ msgstr ""
 msgid "IP Search"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/setreport.js:217
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/setreport.js:239
 msgid "IP Search..."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:272
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:273
 msgid "IPv4 Network Interfaces"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:255
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:256
 msgid "IPv4 Support"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:279
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:280
 msgid "IPv6 Network Interfaces"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:260
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:261
 msgid "IPv6 Support"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:338
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:339
 msgid ""
 "Increase the maximal number of open files, e.g. to handle the amount of "
 "temporary split files while loading the Sets."
@@ -483,7 +539,7 @@ msgid "Information"
 msgstr ""
 
 #: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/feeds.js:198
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:535
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:578
 msgid "Invalid characters"
 msgstr ""
 
@@ -491,12 +547,16 @@ msgstr ""
 msgid "Invalid input values, unable to save modifications."
 msgstr ""
 
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:649
+msgid "LACNIC - serving the Latin American and Caribbean region"
+msgstr ""
+
 #: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/setreport.js:158
 msgid "LAN-Forward (packets)"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:427
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:458
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:469
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:500
 msgid "LAN-Forward Chain"
 msgstr ""
 
@@ -504,41 +564,41 @@ msgstr ""
 msgid "Last Run"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:334
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:335
 msgid "Least Priority"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:333
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:334
 msgid "Less Priority"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:458
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:500
 msgid "Limit certain feeds to the LAN-Forward chain."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:448
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:490
 msgid "Limit certain feeds to the WAN-Forward chain."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:438
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:480
 msgid "Limit certain feeds to the WAN-Input chain."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:346
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:347
 msgid "Limit the cpu cores used by banIP to save RAM."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:631
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:693
 msgid "Limit the uplink autoallow function."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:380
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:382
 msgid ""
 "List Set elements in the status and report, disable this to reduce the CPU "
 "load."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:300
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:301
 msgid "List of available reload trigger interface(s)."
 msgstr ""
 
@@ -546,85 +606,85 @@ msgstr ""
 msgid "List the elements of a specific banIP-related Set."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:625
-msgid "Local feed settings"
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:687
+msgid "Local Feed Settings"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:499
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:542
 msgid ""
 "Location for parsing the log file, e.g. via syslog-ng, to deactivate the "
 "standard parsing via logread."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:513
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:556
 msgid "Log Count"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:496
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:539
 msgid "Log LAN-Forward"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:503
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:546
 msgid "Log Limit"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:239
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:530
+msgid "Log Prerouting"
+msgstr ""
+
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:240
 msgid "Log Settings"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:518
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:561
 msgid "Log Terms"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:492
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:536
 msgid "Log WAN-Forward"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:488
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:533
 msgid "Log WAN-Input"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:496
-msgid "Log suspicious forwarded LAN packets (rejected)."
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:530
+msgid "Log suspicious Prerouting packets."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:492
-msgid "Log suspicious forwarded WAN packets (dropped)."
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:539
+msgid "Log suspicious forwarded LAN packets."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:488
-msgid "Log suspicious incoming WAN packets (dropped)."
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:536
+msgid "Log suspicious forwarded WAN packets."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:499
-msgid "Logfile Location"
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:533
+msgid "Log suspicious incoming WAN packets."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:338
-msgid "Max Open Files"
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:542
+msgid "Logfile Location"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:397
-msgid "NFT Chain Priority"
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:339
+msgid "Max Open Files"
 msgstr ""
 
 #: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:179
 msgid "NFT Information"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:476
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:518
 msgid "NFT Log Level"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:391
-msgid "NFT Set Policy"
-msgstr ""
-
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:265
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:266
 msgid "Network Devices"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:329
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:330
 msgid "Nice Level"
 msgstr ""
 
@@ -637,22 +697,22 @@ msgstr ""
 msgid "No banIP related firewall logs yet!"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:332
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:333
 msgid "Normal Priority (default)"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:310
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:311
 msgid ""
 "Number of download attempts in case of an error (not supported by uclient-"
 "fetch)."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:513
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:556
 msgid ""
 "Number of failed login attempts of the same IP in the log before blocking."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:295
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:296
 msgid ""
 "Override the pre-configured download options for the selected download "
 "utility."
@@ -662,7 +722,7 @@ msgstr ""
 msgid "Overview"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:503
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:546
 msgid ""
 "Parse only the last stated number of log entries for suspicious events. To "
 "disable the log monitor at all set it to '0'."
@@ -676,47 +736,55 @@ msgstr ""
 msgid "Processing Log"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:564
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:607
 msgid "Profile used by 'msmtp' for banIP notification E-Mails."
 msgstr ""
 
 #: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/feeds.js:209
 #: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/feeds.js:222
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:618
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:680
 msgid "Protocol/URL format not supported"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:549
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:650
+msgid "RIPE - serving Europe, Middle East and Central Asia"
+msgstr ""
+
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:592
 msgid "Receive E-Mail notifications with every banIP run."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:552
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:595
 msgid ""
 "Receiver address for banIP notification E-Mails, this information is "
 "required to enable E-Mail functionality."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/setreport.js:224
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/setreport.js:246
 msgid "Refresh"
 msgstr ""
 
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:645
+msgid "Regional Internet Registry"
+msgstr ""
+
 #: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:218
 msgid "Reload"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:300
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:301
 msgid "Reload Trigger Interface"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:527
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:570
 msgid "Remote Token"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:372
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:374
 msgid "Report Directory"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:380
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:382
 msgid "Report Elements"
 msgstr ""
 
@@ -724,7 +792,7 @@ msgstr ""
 msgid "Restart"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:658
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:720
 msgid "Restrict the internet access from/to a small number of secure IPs."
 msgstr ""
 
@@ -749,6 +817,14 @@ msgstr ""
 msgid "Run Information"
 msgstr ""
 
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:427
+msgid "SYN-Treshold"
+msgstr ""
+
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:427
+msgid "SYN-Treshold in packets per second to prevent WAN-DDoS attacks."
+msgstr ""
+
 #: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/feeds.js:296
 msgid "Save Custom Feeds"
 msgstr ""
@@ -761,23 +837,23 @@ msgstr ""
 msgid "Search the banIP-related Sets for a specific IP."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:286
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:287
 msgid "Select one of the pre-configured download utilities."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:265
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:266
 msgid "Select the WAN network device(s)."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:272
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:273
 msgid "Select the logical WAN IPv4 network interface(s)."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:279
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:280
 msgid "Select the logical WAN IPv6 network interface(s)."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:556
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:599
 msgid "Sender address for banIP notification E-Mails."
 msgstr ""
 
@@ -786,11 +862,15 @@ msgstr ""
 msgid "Set"
 msgstr ""
 
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:454
+msgid "Set Policy"
+msgstr ""
+
 #: applications/luci-app-banip/root/usr/share/luci/menu.d/luci-app-banip.json:60
 msgid "Set Reporting"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:355
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:356
 msgid "Set Split Size"
 msgstr ""
 
@@ -798,25 +878,25 @@ msgstr ""
 msgid "Set Survey"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/setreport.js:210
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/setreport.js:232
 msgid "Set Survey..."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/setreport.js:231
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/setreport.js:253
 msgid "Set details"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:397
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:393
 msgid ""
-"Set the nft chain priority within the banIP table. Please note: lower values "
-"means higher priority."
+"Set the nft chain priority within the banIP table, lower values means higher "
+"priority."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:391
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:454
 msgid "Set the nft policy for banIP-related Sets."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:476
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:518
 msgid "Set the syslog level for NFT logging."
 msgstr ""
 
@@ -824,7 +904,7 @@ msgstr ""
 msgid "Settings"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:355
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:356
 msgid "Split external Set loading after every n members to save RAM."
 msgstr ""
 
@@ -836,7 +916,7 @@ msgstr ""
 msgid "Stop"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:634
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:696
 msgid "Subnet (default)"
 msgstr ""
 
@@ -848,11 +928,15 @@ msgstr ""
 msgid "System Information"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:372
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:238
+msgid "Table/Chain Settings"
+msgstr ""
+
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:374
 msgid "Target directory for banIP-related report files."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:368
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:370
 msgid "Target directory for compressed feed backups."
 msgstr ""
 
@@ -864,13 +948,13 @@ msgstr ""
 msgid "The blocklist is too big, unable to save modifications."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:518
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:561
 msgid ""
-"The default log terms / regular expressions are filtering suspicious ssh, "
-"LuCI, nginx and asterisk traffic."
+"The default regular expressions are filtering suspicious ssh, LuCI, nginx "
+"and asterisk traffic."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:329
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:330
 msgid "The selected priority will be used for banIP background processing."
 msgstr ""
 
@@ -905,24 +989,32 @@ msgstr ""
 msgid "Timestamp"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:547
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:590
 msgid ""
 "To enable email notifications, set up the 'msmtp' package and specify a "
 "vaild E-Mail receiver address."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:527
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:570
 msgid "Token to communicate with the cgi interface."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:560
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:603
 msgid "Topic for banIP notification E-Mails."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:305
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:306
 msgid "Trigger Delay"
 msgstr ""
 
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:437
+msgid "UDP-Treshold"
+msgstr ""
+
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:437
+msgid "UDP-Treshold in packets per second to prevent WAN-DDoS attacks."
+msgstr ""
+
 #: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/feeds.js:203
 msgid "URLv4"
 msgstr ""
@@ -946,7 +1038,7 @@ msgstr ""
 msgid "Upload of the custom feed file failed."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:249
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:250
 msgid "Verbose Debug Logging"
 msgstr ""
 
@@ -958,8 +1050,8 @@ msgstr ""
 msgid "WAN-Forward (packets)"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:426
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:448
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:468
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:490
 msgid "WAN-Forward Chain"
 msgstr ""
 
@@ -967,8 +1059,8 @@ msgstr ""
 msgid "WAN-Input (packets)"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:425
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:438
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:467
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:480
 msgid "WAN-Input Chain"
 msgstr ""
 
@@ -982,74 +1074,94 @@ msgid ""
 "it!)."
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:478
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:520
 msgid "alert"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/setreport.js:197
-msgid "auto-added to allowlist today"
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/setreport.js:219
+msgid "auto-added IPs to allowlist"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/setreport.js:201
-msgid "auto-added to blocklist today"
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/setreport.js:223
+msgid "auto-added IPs to blocklist"
 msgstr ""
 
 #: applications/luci-app-banip/root/usr/share/luci/menu.d/luci-app-banip.json:3
 msgid "banIP"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:479
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/setreport.js:206
+msgid "blocked icmp-flood packets"
+msgstr ""
+
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/setreport.js:210
+msgid "blocked invalid ct packets"
+msgstr ""
+
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/setreport.js:214
+msgid "blocked invalid tcp packets"
+msgstr ""
+
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/setreport.js:198
+msgid "blocked syn-flood packets"
+msgstr ""
+
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/setreport.js:202
+msgid "blocked udp-flood packets"
+msgstr ""
+
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:521
 msgid "crit"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:484
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:526
 msgid "debug"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:419
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:461
 msgid "drop (default)"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:477
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:519
 msgid "emerg"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:480
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:522
 msgid "err"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:483
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:525
 msgid "info"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:439
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:449
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:459
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:481
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:491
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:501
 msgid "local allowlist"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:440
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:450
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:460
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:482
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:492
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:502
 msgid "local blocklist"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:392
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:455
 msgid "memory (default)"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:482
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:524
 msgid "notice"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:393
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:456
 msgid "performance"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:420
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:462
 msgid "reject"
 msgstr ""
 
-#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:481
+#: applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js:523
 msgid "warn (default)"
 msgstr ""