summaryrefslogtreecommitdiffhomepage
path: root/applications/luci-app-banip/htdocs/luci-static
diff options
context:
space:
mode:
Diffstat (limited to 'applications/luci-app-banip/htdocs/luci-static')
-rw-r--r--applications/luci-app-banip/htdocs/luci-static/resources/view/banip/allowlist.js4
-rw-r--r--applications/luci-app-banip/htdocs/luci-static/resources/view/banip/blocklist.js4
-rw-r--r--applications/luci-app-banip/htdocs/luci-static/resources/view/banip/feeds.js4
-rw-r--r--applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js52
4 files changed, 40 insertions, 24 deletions
diff --git a/applications/luci-app-banip/htdocs/luci-static/resources/view/banip/allowlist.js b/applications/luci-app-banip/htdocs/luci-static/resources/view/banip/allowlist.js
index e70222c023..6b54f2946e 100644
--- a/applications/luci-app-banip/htdocs/luci-static/resources/view/banip/allowlist.js
+++ b/applications/luci-app-banip/htdocs/luci-static/resources/view/banip/allowlist.js
@@ -29,8 +29,8 @@ return view.extend({
}
return E([
E('p', {},
- _('This is the local banIP allowlist that will permit certain MAC/IP/CIDR addresses.<br /> \
- <em><b>Please note:</b></em> add only exactly one MAC/IPv4/IPv6 address or domain name per line.')),
+ _('This is the local banIP allowlist that will permit certain MAC-, IP-addresses or domain names.<br /> \
+ <em><b>Please note:</b></em> add only exactly one MAC/IPv4/IPv6 address or domain name per line. Ranges in CIDR notation and MAC/IP-bindings are allowed.')),
E('p', {},
E('textarea', {
'style': 'width: 100% !important; padding: 5px; font-family: monospace',
diff --git a/applications/luci-app-banip/htdocs/luci-static/resources/view/banip/blocklist.js b/applications/luci-app-banip/htdocs/luci-static/resources/view/banip/blocklist.js
index 22391cc982..8dede44e52 100644
--- a/applications/luci-app-banip/htdocs/luci-static/resources/view/banip/blocklist.js
+++ b/applications/luci-app-banip/htdocs/luci-static/resources/view/banip/blocklist.js
@@ -29,8 +29,8 @@ return view.extend({
}
return E([
E('p', {},
- _('This is the local banIP blocklist that will prevent certain MAC/IP/CIDR addresses.<br /> \
- <em><b>Please note:</b></em> add only exactly one MAC/IPv4/IPv6 address or domain name per line.')),
+ _('This is the local banIP blocklist that will prevent certain MAC-, IP-addresses or domain names.<br /> \
+ <em><b>Please note:</b></em> add only exactly one MAC/IPv4/IPv6 address or domain name per line. Ranges in CIDR notation and MAC/IP-bindings are allowed.')),
E('p', {},
E('textarea', {
'style': 'width: 100% !important; padding: 5px; font-family: monospace',
diff --git a/applications/luci-app-banip/htdocs/luci-static/resources/view/banip/feeds.js b/applications/luci-app-banip/htdocs/luci-static/resources/view/banip/feeds.js
index 267ca410f7..0e4e682986 100644
--- a/applications/luci-app-banip/htdocs/luci-static/resources/view/banip/feeds.js
+++ b/applications/luci-app-banip/htdocs/luci-static/resources/view/banip/feeds.js
@@ -205,7 +205,7 @@ return view.extend({
if (!value) {
return true;
}
- if (!value.match(/^(http:\/\/|https:\/\/)[A-Za-z0-9\/\.\-_\?\&\+=~#]+$/)) {
+ if (!value.match(/^(http:\/\/|https:\/\/)[A-Za-z0-9\/\.\-\?\&\+_@%=:~#]+$/)) {
return _('Protocol/URL format not supported');
}
return true;
@@ -218,7 +218,7 @@ return view.extend({
if (!value) {
return true;
}
- if (!value.match(/^(http:\/\/|https:\/\/)[A-Za-z0-9\/\.\-_\?\&\+=:~#]+$/)) {
+ if (!value.match(/^(http:\/\/|https:\/\/)[A-Za-z0-9\/\.\-\?\&\+_@%=:~#]+$/)) {
return _('Protocol/URL format not supported');
}
return true;
diff --git a/applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js b/applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js
index 7e1c9aa6f1..adefc3b18d 100644
--- a/applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js
+++ b/applications/luci-app-banip/htdocs/luci-static/resources/view/banip/overview.js
@@ -264,23 +264,20 @@ return view.extend({
o = s.taboption('general', widgets.DeviceSelect, 'ban_dev', _('Network Devices'), _('Select the WAN network device(s).'));
o.depends('ban_autodetect', '0');
- o.unspecified = true;
o.multiple = true;
o.nocreate = true;
o.optional = true;
o.retain = true;
- o = s.taboption('general', widgets.NetworkSelect, 'ban_ifv4', _('Network Interfaces'), _('Select the logical WAN IPv4 network interface(s).'));
+ o = s.taboption('general', widgets.NetworkSelect, 'ban_ifv4', _('IPv4 Network Interfaces'), _('Select the logical WAN IPv4 network interface(s).'));
o.depends('ban_autodetect', '0');
- o.unspecified = true;
o.multiple = true;
o.nocreate = true;
o.optional = true;
o.retain = true;
- o = s.taboption('general', widgets.NetworkSelect, 'ban_ifv6', _('Network Interfaces'), _('Select the logical WAN IPv6 network interface(s).'));
+ o = s.taboption('general', widgets.NetworkSelect, 'ban_ifv6', _('IPv6 Network Interfaces'), _('Select the logical WAN IPv6 network interface(s).'));
o.depends('ban_autodetect', '0');
- o.unspecified = true;
o.multiple = true;
o.nocreate = true;
o.optional = true;
@@ -300,24 +297,16 @@ return view.extend({
o.optional = true;
o.retain = true;
- o = s.taboption('general', widgets.NetworkSelect, 'ban_trigger', _('Startup Trigger Interface'), _('List of available network interfaces to trigger the banIP start.'));
- o.unspecified = true;
+ o = s.taboption('general', widgets.NetworkSelect, 'ban_trigger', _('Reload Trigger Interface'), _('List of available reload trigger interface(s).'));
o.multiple = true;
o.nocreate = true;
o.rmempty = true;
- o = s.taboption('general', form.Value, 'ban_triggerdelay', _('Trigger Delay'), _('Additional trigger delay in seconds before banIP processing actually starts.'));
+ o = s.taboption('general', form.Value, 'ban_triggerdelay', _('Trigger Delay'), _('Additional trigger delay in seconds during interface reload and boot.'));
o.placeholder = '10';
o.datatype = 'range(1,300)';
o.rmempty = true;
- o = s.taboption('general', form.ListValue, 'ban_triggeraction', _('Trigger Action'), _('Trigger action on ifup interface events.'));
- o.value('start', _('start (default)'));
- o.value('reload', _('reload'));
- o.value('restart', _('restart'));
- o.optional = true;
- o.rmempty = true;
-
o = s.taboption('general', form.ListValue, 'ban_fetchretry', _('Download Retries'), _('Number of download attempts in case of an error (not supported by uclient-fetch).'));
o.value('1', _('1'));
o.value('3', _('3'));
@@ -363,7 +352,7 @@ return view.extend({
o.optional = true;
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 = 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');
@@ -384,7 +373,7 @@ return view.extend({
o.placeholder = '/tmp/banIP-report';
o.rmempty = true;
- o = s.taboption('advanced', form.Flag, 'ban_deduplicate', _('Deduplicate IPs'), _('Deduplicate IP addresses across all active Sets and and tidy up the local blocklist.'));
+ o = s.taboption('advanced', form.Flag, 'ban_deduplicate', _('Deduplicate IPs'), _('Deduplicate IP addresses across all active Sets and tidy up the local blocklist.'));
o.default = 1
o.rmempty = false;
@@ -414,6 +403,24 @@ return view.extend({
o.optional = true;
o.rmempty = true;
+ o = s.taboption('adv_chain', widgets.DeviceSelect, 'ban_vlanallow', _('Allow VLAN Forwards'), _('Always allow certain VLAN forwards.'));
+ o.multiple = true;
+ o.nocreate = true;
+ o.optional = true;
+ o.rmempty = true;
+
+ o = s.taboption('adv_chain', widgets.DeviceSelect, 'ban_vlanblock', _('Block VLAN Forwards'), _('Always block certain VLAN forwards.'));
+ o.multiple = true;
+ o.nocreate = true;
+ 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.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.value('input', _('WAN-Input Chain'));
o.value('forwardwan', _('WAN-Forward Chain'));
@@ -466,7 +473,7 @@ return view.extend({
o.rawhtml = true;
o.default = '<em><b>' + _('Changes on this tab needs a banIP service restart to take effect.') + '</b></em>';
- o = s.taboption('adv_log', form.ListValue, 'ban_nftloglevel', _('Log Level'), _('Set the syslog level for NFT logging.'));
+ o = s.taboption('adv_log', form.ListValue, 'ban_nftloglevel', _('NFT Log Level'), _('Set the syslog level for NFT logging.'));
o.value('emerg', _('emerg'));
o.value('alert', _('alert'));
o.value('crit', _('crit'));
@@ -489,6 +496,10 @@ return view.extend({
o = s.taboption('adv_log', form.Flag, 'ban_logforwardlan', _('Log LAN-Forward'), _('Log suspicious forwarded LAN packets (rejected).'));
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.'));
+ o.placeholder = '/var/log/messages';
+ o.rmempty = true;
+
o = s.taboption('adv_log', form.ListValue, 'ban_loglimit', _('Log Limit'), _('Parse only the last stated number of log entries for suspicious events. To disable the log monitor at all set it to \'0\'.'));
o.value('0', _('0 (disable)'));
o.value('50', _('50'));
@@ -609,6 +620,11 @@ return view.extend({
o.default = 1
o.rmempty = false;
+ o = s.taboption('feeds', form.Flag, 'ban_autoblocksubnet', _('Auto Block Subnet'), _('Automatically add entire subnets to the blocklist Set based on an additional RDAP request with the suspicious IP.'));
+ o.default = 0
+ o.optional = true;
+ o.rmempty = true;
+
o = s.taboption('feeds', form.ListValue, 'ban_nftexpiry', _('Blocklist Set Expiry'), _('Expiry time for auto added blocklist Set members.'));
o.value('10s');
o.value('1m');