From 40f0139c501c9f491b81b8e2dc8e00b13f2afcbd Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 19 Oct 2020 13:18:38 +0200 Subject: [PATCH 01/10] Remove old bad tcp_retries2 values from update --- luci-app-openmptcprouter/root/etc/uci-defaults/openmptcprouter | 3 +++ 1 file changed, 3 insertions(+) diff --git a/luci-app-openmptcprouter/root/etc/uci-defaults/openmptcprouter b/luci-app-openmptcprouter/root/etc/uci-defaults/openmptcprouter index 7d85ea9c4..9fae15302 100755 --- a/luci-app-openmptcprouter/root/etc/uci-defaults/openmptcprouter +++ b/luci-app-openmptcprouter/root/etc/uci-defaults/openmptcprouter @@ -107,4 +107,7 @@ if [ "$(uci -q get openmptcprouter.settings.scaling_governor)" = "" ]; then commit openmptcprouter EOF fi + +sed -i 's/net.ipv4.tcp_retries2=3$/net.ipv4.tcp_retries2=15/' /etc/sysctl.d/zzz_openmptcprouter.conf + exit 0 From 59c281d4fa9ce63e228a4c5fb210ecde962cc9c0 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 19 Oct 2020 13:19:50 +0200 Subject: [PATCH 02/10] Try to set an icon for Apple devices --- .../openmptcprouter/omr-logo-apple.png | Bin 0 -> 15855 bytes .../view/themes/openmptcprouter/header.htm | 1 + 2 files changed, 1 insertion(+) create mode 100644 luci-theme-openmptcprouter/htdocs/luci-static/openmptcprouter/omr-logo-apple.png diff --git a/luci-theme-openmptcprouter/htdocs/luci-static/openmptcprouter/omr-logo-apple.png b/luci-theme-openmptcprouter/htdocs/luci-static/openmptcprouter/omr-logo-apple.png new file mode 100644 index 0000000000000000000000000000000000000000..974d2e8a598a31f53fe04c410298c9b1df7af8df GIT binary patch literal 15855 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 FV1l>8OPc@y literal 0 HcmV?d00001 diff --git a/luci-theme-openmptcprouter/luasrc/view/themes/openmptcprouter/header.htm b/luci-theme-openmptcprouter/luasrc/view/themes/openmptcprouter/header.htm index 633686563..d45dd088c 100644 --- a/luci-theme-openmptcprouter/luasrc/view/themes/openmptcprouter/header.htm +++ b/luci-theme-openmptcprouter/luasrc/view/themes/openmptcprouter/header.htm @@ -32,6 +32,7 @@ + <% if node and node.css then %> <% end -%> From df93f59867d2eb722a87318b4776fe891d3687bf Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 19 Oct 2020 15:10:06 +0200 Subject: [PATCH 03/10] Add luci-mod-network: handle multiple mac for static lease (fix from upstream) --- .../htdocs/luci-static/resources/view/network/dhcp.js | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js b/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js index 25dd4743b..95abeb6d0 100644 --- a/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js +++ b/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js @@ -430,12 +430,9 @@ return view.extend({ so.datatype = 'list(unique(macaddr))'; so.rmempty = true; so.cfgvalue = function(section) { - var macs = uci.get('dhcp', section, 'mac'), + var macs = L.toArray(uci.get('dhcp', section, 'mac')), result = []; - if (!Array.isArray(macs)) - macs = (macs != null && macs != '') ? macs.split(/\ss+/) : []; - for (var i = 0, mac; (mac = macs[i]) != null; i++) if (/^([0-9a-fA-F]{1,2}):([0-9a-fA-F]{1,2}):([0-9a-fA-F]{1,2}):([0-9a-fA-F]{1,2}):([0-9a-fA-F]{1,2}):([0-9a-fA-F]{1,2})$/.test(mac)) result.push('%02X:%02X:%02X:%02X:%02X:%02X'.format( From 811dc2d9b81518909e4863dbffb873126bc18e53 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 19 Oct 2020 15:57:44 +0200 Subject: [PATCH 04/10] Update firewall template for translation --- luci-app-firewall/po/templates/firewall.pot | 651 ++++++++++---------- 1 file changed, 334 insertions(+), 317 deletions(-) diff --git a/luci-app-firewall/po/templates/firewall.pot b/luci-app-firewall/po/templates/firewall.pot index f5f97c59a..bd49dd2ae 100644 --- a/luci-app-firewall/po/templates/firewall.pot +++ b/luci-app-firewall/po/templates/firewall.pot @@ -1,7 +1,7 @@ msgid "" msgstr "Content-Type: text/plain; charset=UTF-8" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 msgid "" "%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " "IPv6:IPv6}:IPv4}%{proto?, protocol %{proto#" @@ -18,325 +18,325 @@ msgid "" "val}}}" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 +#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:433 msgid "-- add IP --" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479 +#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:481 msgid "-- add MAC --" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 msgid "" "Accept %{src?%{dest?forward:input}:output}" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 msgid "Prevent source rewrite" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 msgid "" "Forward to %{dest}%{dest_ip? IP " "%{dest_ip}}%{dest_port? port %{dest_port}}" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 msgid "" "Drop %{src?%{dest?forward:input}:output}" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 msgid "" "Assign DSCP classification %{set_dscp}" "" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 msgid "" "Assign conntrack helper %{set_helper}" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 msgid "" "%{set_mark?Assign:XOR} firewall mark " "%{set_mark?:%{set_xmark}}" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84 msgid "Automatically rewrite source IP" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 msgid "" "Do not track %{src?%{dest?forward:input}:" "output}" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 msgid "" "Reject %{src?%{dest?forward:input}:output}" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:81 msgid "" "Statically rewrite to source %{snat_ip?IP " "%{snat_ip}} %{snat_port?port %{snat_port}}" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:225 msgid "A rewrite IP must be specified!" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213 msgid "ACCEPT - Disable address rewriting" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:173 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:229 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:364 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:158 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:208 msgid "Action" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:265 msgid "" "Additional raw iptables arguments to classify zone destination " "traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " "traffic." msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 msgid "" "Additional raw iptables arguments to classify zone source traffic, " "e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:92 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:138 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93 msgid "Advanced Settings" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 msgid "Allow \"invalid\" traffic" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:327 msgid "Allow forward from source zones:" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:281 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 msgid "Allow forward to destination zones:" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506 +#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:508 msgid "Any" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:274 msgid "Any day" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314 +#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 msgid "" "Apply a bitwise XOR of the given value and the existing mark value on " "established connections. Format is value[/mask]. If a mask is specified then " "those bits set in the mask are zeroed out." msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 +#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 msgid "Apply the given DSCP class or value to established connections." msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 msgid "Assign the specified connection tracking helper to matched traffic." msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:230 msgid "Automatic helper assignment" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:230 msgid "" "Automatically assign conntrack helpers based on traffic protocol and port" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94 msgid "Conntrack Settings" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:234 msgid "Conntrack helpers" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:15 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 msgid "Contents have been saved." msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650 +#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:652 msgid "Continue" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 msgid "Covered devices" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:156 msgid "Covered networks" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202 msgid "Covered subnets" msgstr "" -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +#: luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:54 msgid "Custom Rules" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 msgid "" "Custom rules allow you to execute arbitrary iptables commands which are not " "otherwise covered by the firewall framework. The commands are executed after " "each firewall restart, right after the default ruleset has been loaded." msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:374 msgid "DSCP classification" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 +#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:262 msgid "DSCP mark" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294 +#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:296 msgid "DSCP mark required" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194 msgid "Destination address" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:357 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199 msgid "Destination port" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:349 msgid "Destination zone" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261 msgid "Device name" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 msgid "" "Do not install extra rules to reject forwarded traffic with conntrack state " "invalid. This may be required for complex asymmetric route setups." msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 msgid "Drop invalid packets" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:235 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:164 msgid "Enable" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248 msgid "Enable NAT Loopback" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44 msgid "Enable SYN-flood protection" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:240 msgid "Enable logging on this zone" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 +#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:338 msgid "Expecting: %s" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 msgid "Experimental feature. Not fully compatible with QoS/SQM." msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:234 msgid "Explicitly choses allowed connection tracking helpers for zone traffic" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215 msgid "External IP address" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220 msgid "External port" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:290 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249 msgid "Extra arguments" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:265 msgid "Extra destination arguments" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:95 msgid "Extra iptables arguments" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 msgid "Extra source arguments" msgstr "" -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +#: luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 msgid "Firewall" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:24 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 msgid "Firewall - Custom Rules" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127 msgid "Firewall - NAT Rules" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129 msgid "Firewall - Port Forwards" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 msgid "Firewall - Traffic Rules" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37 msgid "Firewall - Zone Settings" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643 +#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645 msgid "Firewall configuration migration" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:50 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:132 msgid "Forward" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:30 msgid "" "Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:285 +msgid "" +"Forwards ports from server using V2Ray proxy (if enabled) instead of VPN" +msgstr "" + +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264 msgid "Friday" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39 msgid "" "From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " "%{src_ip#%{next?, }}}" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 msgid "" "From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " "%{src_ip#%{next?, }}}" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 msgid "" "From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, " @@ -381,39 +386,47 @@ msgid "" "name}\"}}>%{item.ival}}}" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:91 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:149 +msgid "Full Cone" +msgstr "" + +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:92 +#: luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 msgid "General Settings" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73 +#: luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "" + +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74 msgid "Hardware flow offloading" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:203 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:208 msgid "IPv4 and IPv6" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:209 msgid "IPv4 only" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:274 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:210 msgid "IPv6 only" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 msgid "Inbound device" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:38 msgid "" "Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with " @@ -426,212 +439,212 @@ msgid "" "\"%{helper.name}\">%{helper.val}}}" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 msgid "Input" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234 msgid "Internal IP address" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239 msgid "Internal port" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:228 msgid "Internal zone" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302 +#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:304 msgid "Invalid DSCP mark" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370 +#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:372 msgid "Invalid limit value" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380 +#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:382 msgid "Limit burst" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:238 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 msgid "Limit log messages" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346 +#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:348 msgid "Limit matching" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:75 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:68 msgid "" "Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347 +#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 msgid "Limits traffic matching to the specified rate." msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:253 msgid "Loopback source IP" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212 msgid "MASQUERADE - Automatically rewrite to outbound interface IP" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:148 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 msgid "MSS clamping" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:146 msgid "Masquerading" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:218 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:147 msgid "Match" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 +#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:262 msgid "Match DSCP" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:285 msgid "Match ICMP type" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:241 msgid "Match device" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:195 msgid "Match forwarded traffic directed at the given IP address." msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:200 msgid "" "Match forwarded traffic directed at the given destination port or port range." msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 msgid "Match forwarded traffic from this IP or range." msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 msgid "" "Match forwarded traffic originating from the given source port or port range." msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:262 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:399 msgid "Match helper" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:221 msgid "" "Match incoming traffic directed at the given destination port or port range " "on this host" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 +#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315 msgid "Match mark" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:262 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:399 msgid "Match traffic using the specified connection tracking helper." msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 msgid "Matches a specific firewall mark or a range of different marks." msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:240 msgid "Matches forwarded traffic using the specified outbound network device." msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 +#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 msgid "Matches traffic carrying the specified DSCP marking." msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381 +#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 msgid "" "Maximum initial number of packets to match: this number gets recharged by " "one every time the limit specified above is not reached, up to this number." msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260 msgid "Monday" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:442 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 msgid "Month Days" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:130 +#: luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 msgid "NAT Rules" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:128 msgid "" "NAT rules allow fine grained control over the source IP to use for outbound " "or forwarded traffic." msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:108 msgid "Name" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:216 msgid "Only match incoming traffic directed at the given IP address." msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:197 msgid "Only match incoming traffic from these MACs." msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:202 msgid "Only match incoming traffic from this IP or range." msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207 msgid "" "Only match incoming traffic originating from the given source port or port " "range on the client host" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:245 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239 msgid "Outbound device" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 msgid "Outbound zone" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131 msgid "Output" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:291 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250 msgid "Passes additional arguments to iptables. Use with care!" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:252 msgid "" "Passing raw iptables arguments to source and destination traffic " "classification rules allows to match packets based on other criteria than " @@ -640,172 +653,172 @@ msgid "" "all services." msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:132 +#: luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 msgid "Port Forwards" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130 msgid "" "Port forwarding allows remote computers on the Internet to connect to a " "specific computer or service within the private LAN." msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169 msgid "Protocol" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:240 msgid "" "Redirect matched incoming traffic to the given port on the internal host" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:235 msgid "Redirect matched incoming traffic to the specified internal host" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:75 msgid "Requires hardware NAT support. Implemented at least for mt7621" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:215 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:220 msgid "Restrict Masquerading to given destination subnets" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:208 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:213 msgid "Restrict Masquerading to given source subnets" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:207 msgid "Restrict to address family" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215 msgid "Rewrite IP address" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 msgid "Rewrite matched traffic to the specified source IP address." msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:231 msgid "Rewrite matched traffic to the specified source port or port range." msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230 msgid "Rewrite port" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 msgid "Routing/NAT Offloading" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211 msgid "SNAT - Rewrite to specific source IP or port" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:437 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265 msgid "Saturday" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 +#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315 msgid "Set mark" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315 +#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 msgid "" "Set the given mark value on established connections. Format is value[/mask]. " "If a mask is specified then only those bits set in the mask are modified." msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 msgid "Software based offloading for routing/NAT" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 msgid "Software flow offloading" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201 msgid "Source IP address" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339 msgid "Source MAC address" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:340 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180 msgid "Source address" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:342 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185 msgid "Source port" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:190 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:333 msgid "Source zone" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:262 msgid "" "Specifies whether to tie this traffic rule to a specific inbound or outbound " "network device." msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:253 msgid "" "Specifies whether to use the external or the internal IP address for " "reflected traffic." msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:289 msgid "Start Date (yyyy-mm-dd)" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:453 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:281 msgid "Start Time (hh.mm.ss)" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:465 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:293 msgid "Stop Date (yyyy-mm-dd)" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:285 msgid "Stop Time (hh.mm.ss)" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259 msgid "Sunday" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644 +#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:646 msgid "" "The existing firewall configuration needs to be changed for LuCI to function " "properly." msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 msgid "" "The firewall creates zones over your network interfaces to control network " "traffic flow." msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:188 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:277 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:282 msgid "" "The options below control the forwarding policies between this zone (%s) and " "other zones. Destination zones cover forwarded traffic " @@ -815,7 +828,7 @@ msgid "" "not imply a permission to forward from wan to lan as well." msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:103 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:104 msgid "" "This section defines common properties of %q. The input and " "output options set the default policies for traffic entering and " @@ -824,22 +837,22 @@ msgid "" "networks specifies which available networks are members of this zone." msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263 msgid "Thursday" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:137 msgid "Time Restrictions" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 msgid "Time in UTC" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 msgid "" "To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " "%{dest_ip#%{next?, }}}" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 msgid "" "To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57 msgid "" "To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}%{item.ival}}}" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 msgid "Tracking helper" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 msgid "Traffic Rules" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 msgid "" "Traffic rules define policies for packets traveling between different zones, " "for example to reject traffic between certain hosts or to open WAN ports on " "the router." msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 msgid "Tuesday" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:18 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 msgid "Unable to save contents: %s" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:277 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 msgid "Unknown or not installed conntrack helper \"%s\"" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:140 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:144 msgid "Unnamed NAT" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:145 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:159 msgid "Unnamed forward" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:190 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:215 msgid "Unnamed rule" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:108 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:109 msgid "Unnamed zone" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548 +#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:550 msgid "Unrecognized protocol" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645 +#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:647 msgid "" "Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " "be converted to \"nat\" sections and the firewall will be restarted to apply " "the updated configuration." msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284 +msgid "Use V2Ray" +msgstr "" + +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:257 msgid "Use external IP address" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 msgid "Use internal IP address" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 msgid "" "Use this option to classify zone traffic by raw, non-uci managed " "network devices." msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202 msgid "" "Use this option to classify zone traffic by source or destination subnet " "instead of networks or devices." msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328 +#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:330 msgid "Valid firewall mark required" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 msgid "Wednesday" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:426 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 msgid "Week Days" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373 msgid "XOR firewall mark" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 +#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315 msgid "XOR mark" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122 msgid "Zone ⇒ Forwardings" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:81 msgid "Zones" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:56 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:138 msgid "accept" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202 +#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267 +#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:433 +#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:455 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:211 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:243 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:264 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:290 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:345 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:360 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:394 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:401 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:203 msgid "any" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:49 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:82 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:40 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:50 msgid "any zone" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 msgid "apply firewall mark" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371 msgid "assign conntrack helper" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:68 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:61 msgid "day" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:234 msgid "do not rewrite" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370 msgid "don't track" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:136 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137 msgid "drop" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:68 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:61 msgid "hour" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:68 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:61 msgid "minute" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:135 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:136 msgid "reject" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:68 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:61 msgid "second" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:49 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:58 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:82 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:50 msgid "this device" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:187 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:276 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:103 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:281 msgid "this new zone" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351 +#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:353 msgid "unlimited" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242 +#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243 msgid "unspecified" msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 +#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:338 msgid "valid firewall mark" msgstr "" From 9b91c5024e8e325960bf731cc1d2989bee45e1c5 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 19 Oct 2020 15:58:05 +0200 Subject: [PATCH 05/10] Add v2ray option to firewall forward --- .../htdocs/luci-static/resources/view/firewall/forwards.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js b/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js index 82703c320..6c0c7ae73 100644 --- a/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js +++ b/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js @@ -281,6 +281,12 @@ return view.extend({ fwtool.addLimitOption(s); fwtool.addLimitBurstOption(s); + o = s.taboption('advanced', form.Flag, 'v2ray', _('Use V2Ray'), + _('Forwards ports from server using V2Ray proxy (if enabled) instead of VPN')); + o.modalonly = true; + o.editable = true; + o.depends({ src: 'vpn', '!contains': true }); + o = s.taboption('advanced', form.Value, 'extra', _('Extra arguments'), _('Passes additional arguments to iptables. Use with care!')); o.modalonly = true; From 1c38d618971b031925bc6d796acce31c22e49ede Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 19 Oct 2020 16:18:36 +0200 Subject: [PATCH 06/10] Fix MPTCP bandwidth when no data --- luci-app-mptcp/luasrc/controller/mptcp.lua | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/luci-app-mptcp/luasrc/controller/mptcp.lua b/luci-app-mptcp/luasrc/controller/mptcp.lua index fb69ac06b..1a593b844 100644 --- a/luci-app-mptcp/luasrc/controller/mptcp.lua +++ b/luci-app-mptcp/luasrc/controller/mptcp.lua @@ -114,9 +114,15 @@ function multipath_bandwidth() res["total"][i][j]= tonumber(res["total"][i][j]) end if j ==1 then - res["total"][i][j] = res[key][i][j] + if res[key][i][j] ~= nil then + res["total"][i][j] = res[key][i][j] + else + res["total"][i][j] = 0 + end else - res["total"][i][j] = res["total"][i][j] + res[key][i][j] + if res[key][i][j] ~= nil then + res["total"][i][j] = res["total"][i][j] + res[key][i][j] + end end end end From 7a7bf1a7f492f360a24ae97a6812fb6aff71a22b Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 19 Oct 2020 16:19:46 +0200 Subject: [PATCH 07/10] Separate network and other settings --- .../luasrc/view/openmptcprouter/settings.htm | 5 + .../po/templates/openmptcprouter.pot | 264 +++++++++--------- 2 files changed, 142 insertions(+), 127 deletions(-) diff --git a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm index e2d3d81d5..c853a3c3a 100644 --- a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm +++ b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm @@ -213,6 +213,11 @@ + +
+
+ <%:Other settings%> +
diff --git a/luci-app-openmptcprouter/po/templates/openmptcprouter.pot b/luci-app-openmptcprouter/po/templates/openmptcprouter.pot index 7f144d9cc..65bd5e101 100644 --- a/luci-app-openmptcprouter/po/templates/openmptcprouter.pot +++ b/luci-app-openmptcprouter/po/templates/openmptcprouter.pot @@ -14,7 +14,7 @@ msgstr "" msgid "API username to retrieve personnalized settings from the server." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:639 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:646 msgid "APN" msgstr "" @@ -22,7 +22,7 @@ msgstr "" msgid "Add a new server" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:790 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:815 msgid "Add an interface" msgstr "" @@ -51,11 +51,12 @@ msgid "" "processor." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:665 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:672 msgid "Authentication Type" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:700 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:710 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:722 msgid "Backup" msgstr "" @@ -64,7 +65,7 @@ msgstr "" msgid "Backup on server" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:282 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:288 msgid "Balancing" msgstr "" @@ -76,7 +77,7 @@ msgstr "" msgid "Big time difference between the server and the router" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:463 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:470 msgid "Bridge" msgstr "" @@ -89,7 +90,7 @@ msgid "" "By default proxy is used for any traffic that is TCP (and UDP for V2Ray)." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:670 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:677 msgid "CHAP" msgstr "" @@ -109,15 +110,15 @@ msgstr "" msgid "Can\\'t ping server" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:467 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:474 msgid "" "Choose MacVLAN if you want to create a virtual interface based on a physical " "interface." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:404 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:487 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:533 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:408 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:494 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:540 msgid "Choose physical interface." msgstr "" @@ -129,8 +130,8 @@ msgstr "" msgid "Core temp:" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:373 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:498 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:374 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:505 msgid "DHCP" msgstr "" @@ -138,7 +139,7 @@ msgstr "" msgid "DNS issue: can\\'t resolve hostname" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:266 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:272 msgid "Debug" msgstr "" @@ -151,45 +152,45 @@ msgid "Default VPN" msgstr "" #: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:62 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:442 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:449 msgid "Delete" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:565 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:592 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:613 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:572 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:599 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:620 msgid "Device" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:196 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:197 msgid "Disable TCP Fast Open" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:201 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:202 msgid "Disable TCP Fast Open on Linux and Shadowsocks configuration" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:236 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:242 msgid "Disable default gateway" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:241 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:247 msgid "Disable default gateway, no internet if VPS are down" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:186 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:187 msgid "Disable external check" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:226 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:232 msgid "Disable gateway ping" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:231 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:237 msgid "Disable gateway ping status check" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:261 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:267 msgid "Disable multipath test using tracebox" msgstr "" @@ -202,36 +203,37 @@ msgstr "" msgid "Disable server" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:246 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:252 msgid "Disable server ping" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:251 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:257 msgid "Disable server ping status check" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:256 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:262 msgid "Disable tracebox test" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:698 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:708 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:720 msgid "Disabled" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:741 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:766 msgid "Download speed (Kb/s)" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:280 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:286 msgid "Dynamic change" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:180 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:181 #: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:158 msgid "Enable IPv6" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:731 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:756 msgid "Enable SQM" msgstr "" @@ -239,15 +241,16 @@ msgstr "" msgid "Enable ShadowSocks Obfuscating" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:206 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:207 msgid "Enable TCP Low Latency" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:271 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:277 msgid "Enable debug logs" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:697 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:707 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:719 msgid "Enabled" msgstr "" @@ -271,7 +274,7 @@ msgstr "" msgid "Force retrieve settings" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:659 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:666 msgid "GPRS only" msgstr "" @@ -293,49 +296,49 @@ msgstr "" msgid "Grant UCI access for luci-app-openmptcprouter" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:123 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:124 msgid "How often TCP sends out keepalive messages when keepalive is enabled." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:174 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:175 msgid "IPv4 IP default TTL" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:128 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:129 msgid "IPv4 TCP FIN timeout" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:168 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:169 msgid "IPv4 TCP Fast Open" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:118 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:119 msgid "IPv4 TCP Keepalive time" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:138 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:139 msgid "IPv4 TCP SYN retries" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:148 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:149 msgid "IPv4 TCP SYN retries1" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:158 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:159 msgid "IPv4 TCP SYN retries2" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:409 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:539 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:416 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:546 msgid "IPv4 address" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:555 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:562 msgid "IPv4 gateway" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:415 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:549 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:422 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:556 msgid "IPv4 netmask" msgstr "" @@ -360,7 +363,7 @@ msgstr "" msgid "IPv6:" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:428 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:435 msgid "Interfaces settings" msgstr "" @@ -379,21 +382,21 @@ msgid "" "settings from OpenMPTCProuter." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:346 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:347 msgid "LAN interfaces settings" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:657 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:664 msgid "LTE" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:357 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:448 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:358 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:455 msgid "Label" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:363 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:453 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:364 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:460 msgid "Label for the interface" msgstr "" @@ -428,39 +431,40 @@ msgstr "" msgid "MPTCP may not be enabled on the server" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:721 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:746 msgid "MPTCP over VPN" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:462 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:469 msgid "MacVLAN" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:699 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:709 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:721 msgid "Master" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:276 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:282 msgid "Master interface selection" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:298 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:304 msgid "Maximum scaling CPU frequency" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:292 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:298 msgid "Minimum scaling CPU frequency" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:654 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:661 msgid "Modem default" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:688 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:695 msgid "Modem init timeout" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:499 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:506 msgid "ModemManager" msgstr "" @@ -468,7 +472,8 @@ msgstr "" msgid "More than one default VPN is enabled" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:694 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:704 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:716 msgid "Multipath TCP" msgstr "" @@ -489,11 +494,11 @@ msgstr "" msgid "Multipath seems to be blocked on the connection" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:500 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:507 msgid "NCM" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:668 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:675 msgid "NONE" msgstr "" @@ -507,7 +512,7 @@ msgstr "" msgid "Network overview" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:115 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:116 msgid "Networks settings" msgstr "" @@ -533,7 +538,7 @@ msgstr "" msgid "No available backup on server." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:281 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:287 msgid "No change" msgstr "" @@ -563,11 +568,11 @@ msgstr "" msgid "None" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:461 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:468 msgid "Normal" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:143 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:144 msgid "" "Number of times initial SYNs for an active TCP connection attempt will be " "retransmitted." @@ -585,7 +590,7 @@ msgstr "" msgid "Obfuscating will be enabled on both side" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:279 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:285 msgid "On wizard change" msgstr "" @@ -602,55 +607,59 @@ msgstr "" msgid "OpenVPN can't be used in multi VPS configuration." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:211 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:212 msgid "Optimize for latency instead of bandwidth" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:374 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:503 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:375 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:510 msgid "Other" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:669 -msgid "PAP" -msgstr "" - -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:671 -msgid "PAP/CHAP" -msgstr "" - -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:682 -msgid "PAP/CHAP password" +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:219 +msgid "Other settings" msgstr "" #: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:676 +msgid "PAP" +msgstr "" + +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:678 +msgid "PAP/CHAP" +msgstr "" + +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:689 +msgid "PAP/CHAP password" +msgstr "" + +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:683 msgid "PAP/CHAP username" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:645 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:652 msgid "PIN code" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:501 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:508 msgid "PPPoE" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:383 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:472 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:512 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:387 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:479 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:519 msgid "Physical interface" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:655 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:662 msgid "Prefer LTE" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:656 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:663 msgid "Prefer UMTS" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:368 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:493 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:369 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:500 msgid "Protocol" msgstr "" @@ -666,7 +675,7 @@ msgstr "" msgid "Proxy traffic:" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:502 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:509 msgid "QMI" msgstr "" @@ -682,24 +691,24 @@ msgstr "" msgid "Retrieve settings from server" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:324 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:799 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:330 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:824 msgid "Save & Apply" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:221 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:227 msgid "Save vnstats statistics on disk" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:216 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:222 msgid "Save vnstats stats" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:304 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:310 msgid "Scaling governor" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:793 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:818 msgid "Select the device you want to base the interface on." msgstr "" @@ -730,15 +739,15 @@ msgstr "" msgid "Server username" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:651 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:658 msgid "Service Type" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:544 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:551 msgid "Set an IP in the same network as the modem" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:560 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:567 msgid "Set here IP of the modem" msgstr "" @@ -758,12 +767,12 @@ msgid "" "all traffic if ShadowSocks is disabled." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:751 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:776 msgid "" "Set value between 80-95% of max download speed link. 0 to disable SQM/QoS." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:767 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:792 msgid "" "Set value between 80-95% of max upload speed link. 0 to disable SQM/QoS." msgstr "" @@ -789,8 +798,8 @@ msgstr "" msgid "Show all settings" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:372 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:497 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:373 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:504 msgid "Static address" msgstr "" @@ -798,11 +807,11 @@ msgstr "" msgid "Status" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:289 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:295 msgid "Systems settings" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:133 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:134 msgid "" "The length of time an orphaned (no longer referenced by any application) " "connection will remain in the FIN_WAIT_2 state before it is aborted at the " @@ -815,14 +824,14 @@ msgid "" "the processor, you should use chacha20." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:153 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:154 msgid "" "This value influences the time, after which TCP decides, that something is " "wrong due to unacknowledged RTO retransmissions, and reports this suspicion " "to the network layer." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:163 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:164 msgid "" "This value influences the timeout of an alive TCP connection, when RTO " "retransmissions remain unacknowledged." @@ -832,7 +841,7 @@ msgstr "" msgid "Total traffic:" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:458 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:465 msgid "Type" msgstr "" @@ -845,7 +854,7 @@ msgstr "" msgid "UBOND password" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:658 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:665 msgid "UMTS/GPRS" msgstr "" @@ -865,7 +874,7 @@ msgstr "" msgid "Update server" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:757 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:782 msgid "Upload speed (Kb/s)" msgstr "" @@ -874,8 +883,8 @@ msgstr "" msgid "Uptime:" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:746 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:762 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:771 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:787 msgid "Used by Glorytun UDP and SQM/QoS if enabled. 0 to use default value." msgstr "" @@ -924,7 +933,7 @@ msgstr "" msgid "Wan IP and gateway are identical" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:191 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:192 msgid "" "When enable check are done on external sites to get each WAN IP and the IP " "used to go outside." @@ -939,15 +948,15 @@ msgstr "" msgid "You" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:726 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:751 msgid "You can enable MPTCP over VPN if your provider filter Multipath TCP." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:378 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:379 msgid "You can use DHCP if you have multiple real ethernet ports." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:507 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:514 msgid "" "You can use DHCP if you have multiple real ethernet ports. Select other if " "you want to use another protocol available in Network Interfaces page." @@ -957,7 +966,7 @@ msgstr "" msgid "You can use a public IPv6 prefix only if you set only one server." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:429 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:436 msgid "You must disable DHCP on your modems and set IP in different networks." msgstr "" @@ -965,7 +974,7 @@ msgstr "" msgid "You should disable IPv6 here if server doesn't provide IPv6." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:736 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:761 msgid "You should disable SQM for LTE or any interfaces with variable speed." msgstr "" @@ -977,7 +986,7 @@ msgstr "" msgid "address:" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:660 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:667 msgid "auto" msgstr "" @@ -1001,6 +1010,7 @@ msgid "mtu:" msgstr "" #: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:543 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:699 msgid "multipath:" msgstr "" From 4d15174b5d42be9cfc87b47c6ee042163e4550ce Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 19 Oct 2020 16:20:53 +0200 Subject: [PATCH 08/10] Add interface additional latency settings --- .../root/etc/init.d/openmptcprouter | 16 ++++++++++++++++ .../resources/view/network/interfaces.js | 4 ++++ 2 files changed, 20 insertions(+) diff --git a/luci-app-openmptcprouter/root/etc/init.d/openmptcprouter b/luci-app-openmptcprouter/root/etc/init.d/openmptcprouter index 46fc817b7..8309d6c2d 100755 --- a/luci-app-openmptcprouter/root/etc/init.d/openmptcprouter +++ b/luci-app-openmptcprouter/root/etc/init.d/openmptcprouter @@ -23,8 +23,24 @@ omr_intf_set() { config_get ifname "$1" ifname config_get device "$1" device config_get proto "$1" proto + config_get addlatency "$1" addlatency "0" devicename=$(echo "$device" | cut -d'/' -f3) + [ -z "$ifname" ] && ifname=$(ifstatus "$1" | jsonfilter -q -e '@["l3_device"]') + + if [ -n "$ifname" ]; then + if [ "$addlatency" = "0" ] && [ "$(tc qdisc show $ifname | grep delay)" != "" ]; then + tc qdisc del dev ${ifname} root netem + fi + if [ "$addlatency" != "0" ]; then + if [ "$(tc qdisc show $ifname | grep delay)" != "" ]; then + tc qdisc add dev ${ifname} root netem delay ${addlatency}ms + elif [ "$(tc qdisc show $ifname | awk '/delay/ { print $10 }' | sed 's/ms//')" != "$addlatency" ]; then + tc qdisc replace dev ${ifname} root netem delay ${addlatency}ms + fi + fi + fi + if [ -n "$ifname" ] && [ -f /sys/class/net/${ifname}/device/uevent ]; then devicepath=$(readlink -f /sys/class/net/${ifname}) if [ -n "$devicepath" ] && [ "$(echo ${devicepath} | grep virtual)" = "" ]; then diff --git a/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js b/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js index 995515f01..5cd091920 100644 --- a/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js +++ b/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js @@ -575,6 +575,10 @@ return view.extend({ o.value('backup',_('Backup')); o.default = 'off'; + o = s.taboption('advanced', form.Value, 'addlatency', _('Additional latency')); + o.datatype = 'uinteger'; + o.default = '0'; + if (L.hasSystemFeature('dnsmasq') || L.hasSystemFeature('odhcpd')) { o = s.taboption('dhcp', form.SectionValue, '_dhcp', form.TypedSection, 'dhcp'); o.depends('proto', 'static'); From f6931b30a02b168a6c0b4b52001063d753d88466 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 19 Oct 2020 16:21:19 +0200 Subject: [PATCH 09/10] Add kmod-ixgbevf --- openmptcprouter-full/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openmptcprouter-full/Makefile b/openmptcprouter-full/Makefile index 17193689d..eace2e5bd 100644 --- a/openmptcprouter-full/Makefile +++ b/openmptcprouter-full/Makefile @@ -79,7 +79,7 @@ MY_DEPENDS := \ kmod-rt2800-usb kmod-rtl8xxxu kmod-rtl8192cu kmod-net-rtl8192su \ !TARGET_mvebu:luci-proto-qmi wpad-basic kmod-mt7601u kmod-rtl8187 \ luci-app-mlvpn mlvpn 464xlat !TARGET_mvebu:kmod-usb-net-smsc75xx kmod-zram kmod-swconfig swconfig kmod-ipt-nat kmod-ipt-nat6 luci-app-https-dns-proxy kmod-tcp-nanqinlang iptables-mod-ipopt igmpproxy ss iptraf-ng \ - luci-app-acl block-mount blockd fstools luci-app-shutdown libwebp luci-proto-gre tcptraceroute luci-proto-mbim kmod-rtl8xxxu kmod-ath9k-htc luci-app-ttyd luci-mod-dashboard (TARGET_x86||TARGET_x86_64):rtl8192eu-firmware kmod-usb2 libustream-wolfssl + luci-app-acl block-mount blockd fstools luci-app-shutdown libwebp luci-proto-gre tcptraceroute luci-proto-mbim kmod-rtl8xxxu kmod-ath9k-htc luci-app-ttyd luci-mod-dashboard (TARGET_x86||TARGET_x86_64):rtl8192eu-firmware kmod-usb2 libustream-wolfssl (TARGET_x86||TARGET_x86_64):kmod-ixgbevf # luci-theme-bootstrap luci-theme-openwrt-2020 luci-theme-openwrt luci-app-status # luci-proto-bonding luci-app-statistics luci-proto-gre # softethervpn5-client softethervpn5-server luci-app-nginx-ha From 800764c25687768fdc663b8134d3923343008992 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 19 Oct 2020 16:21:55 +0200 Subject: [PATCH 10/10] Add v2ray forward support --- .../files/etc/init.d/openmptcprouter-vps | 138 ++++++++++++------ 1 file changed, 97 insertions(+), 41 deletions(-) diff --git a/openmptcprouter/files/etc/init.d/openmptcprouter-vps b/openmptcprouter/files/etc/init.d/openmptcprouter-vps index d613900d5..88f43474a 100755 --- a/openmptcprouter/files/etc/init.d/openmptcprouter-vps +++ b/openmptcprouter/files/etc/init.d/openmptcprouter-vps @@ -717,63 +717,119 @@ _vps_firewall_redirect_port() { config_get dest_ip $1 dest_ip config_get dest_port $1 dest_port config_get src_ip $1 src_ip - if [ "$(echo $src_dport | cut -d'-' -f2)" -ge "65000" ]; then + config_get v2ray $1 v2ray "0" + if [ -n "$src_dport" ] && [ "$(echo $src_dport | cut -d'-' -f2)" -ge "65000" ]; then logger -t "OMR-VPS" "You can't redirect ports >= 65000, they are needed by OpenMPTCProuter Server part" enabled="0" #uci -q delete firewall.$1 #return fi + [ "$(v2ray.main.enabled)" = "0" ] && v2ray="0" [ "$proto" = "all" ] && proto="tcp udp" [ "$proto" = "" ] && proto="tcp udp" [ "$src" = "vpn" ] && [ -n "$proto" ] && [ -n "$src_dport" ] && [ "$enabled" != "0" ] && { for protoi in $proto; do - checkfw="" - if [ "$family" = "ipv4" ]; then - if [ "$src_dip" = "" ]; then - checkfw=$(echo "$vpsfwlist" | grep "$src_dport # OMR $username redirect router $src_dport port $protoi") + if [ "$v2ray" = "0" ]; then + checkfw="" + if [ "$family" = "ipv4" ]; then + if [ "$src_dip" = "" ]; then + checkfw=$(echo "$vpsfwlist" | grep "$src_dport # OMR $username redirect router $src_dport port $protoi") + else + comment="" + [ -n "$src_dip" ] && { + comment=" to $src_dip" + iptables-save --counters | sed "s:-d $src_dip/32::g" | iptables-restore -w + } + [ -n "$src_ip" ] && comment=" from $src_ip" + checkfw=$(echo "$vpsfwlist" | grep "# OMR $username redirect router $src_dport port $protoi${comment}") + fi else - comment="" - [ -n "$src_dip" ] && { - comment=" to $src_dip" - iptables-save --counters | sed "s:-d $src_dip/32::g" | iptables-restore -w - } - [ -n "$src_ip" ] && comment=" from $src_ip" - checkfw=$(echo "$vpsfwlist" | grep "# OMR $username redirect router $src_dport port $protoi${comment}") + if [ "$src_dip" = "" ]; then + checkfw=$(echo "$vpsfw6list" | grep "$src_dport # OMR $username redirect router $src_dport port $protoi") + else + comment="" + [ -n "$src_dip" ] && comment=" to $src_dip" + [ -n "$src_ip" ] && comment=" from $src_ip" + checkfw=$(echo "$vpsfw6list" | grep "# OMR $username redirect router $src_dport port $protoi${comment}") + fi + fi + if [ "$checkfw" = "" ]; then + settings='{"name" : "router '$src_dport'","port" : "'$src_dport'","source_dip" : "'$src_dip'","source_ip" : "'$src_ip'","proto" : "'$protoi'","fwtype" : "DNAT","ipproto" : "'$family'"}' + _set_json "shorewallopen" "$settings" + fi + if [ "$family" = "ipv4" ]; then + if [ "$src_dip" = "" ]; then + vpsfwlist=$(echo "$vpsfwlist" | grep -v "$src_dport # OMR $username redirect router $src_dport port $protoi") + [ "$username" = "openmptcprouter" ] && vpsfwlist=$(echo "$vpsfwlist" | grep -v "$src_dport # OMR redirect router $src_dport port $protoi") + else + comment="" + [ -n "$src_dip" ] && comment=" to $src_dip" + [ -n "$src_ip" ] && comment=" from $src_ip" + vpsfwlist=$(echo "$vpsfwlist" | grep -v "# OMR $username redirect router $src_dport port $protoi${comment}") + [ "$username" = "openmptcprouter" ] && vpsfwlist=$(echo "$vpsfwlist" | grep -v "# OMR redirect router $src_dport port $protoi${comment}") + fi + else + if [ "$src_dip" = "" ]; then + vpsfw6list=$(echo "$vpsfw6list" | grep -v "$src_dport # OMR $username redirect router $src_dport port $protoi") + [ "$username" = "openmptcprouter" ] && vpsfw6list=$(echo "$vpsfw6list" | grep -v "$src_dport # OMR redirect router $src_dport port $protoi") + else + [ -n "$src_dip" ] && comment=" to $src_dip" + [ -n "$src_ip" ] && comment=" from $src_ip" + vpsfw6list=$(echo "$vpsfw6list" | grep -v "# OMR $username redirect router $src_dport port $protoi${comment}") + [ "$username" = "openmptcprouter" ] && vpsfw6list=$(echo "$vpsfw6list" | grep -v "# OMR redirect router $src_dport port $protoi${comment}") + fi fi else - if [ "$src_dip" = "" ]; then - checkfw=$(echo "$vpsfw6list" | grep "$src_dport # OMR $username redirect router $src_dport port $protoi") + checkfw="" + if [ "$family" = "ipv4" ]; then + if [ "$src_dip" = "" ]; then + checkfw=$(echo "$vpsfwlist" | grep "$src_dport # OMR $username open router $src_dport port $protoi") + else + comment="" + [ -n "$src_dip" ] && { + comment=" to $src_dip" + iptables-save --counters | sed "s:-d $src_dip/32::g" | iptables-restore -w + } + [ -n "$src_ip" ] && comment=" from $src_ip" + checkfw=$(echo "$vpsfwlist" | grep "# OMR $username open router $src_dport port $protoi${comment}") + fi else - comment="" - [ -n "$src_dip" ] && comment=" to $src_dip" - [ -n "$src_ip" ] && comment=" from $src_ip" - checkfw=$(echo "$vpsfw6list" | grep "# OMR $username redirect router $src_dport port $protoi${comment}") + if [ "$src_dip" = "" ]; then + checkfw=$(echo "$vpsfw6list" | grep "$src_dport # OMR $username open router $src_dport port $protoi") + else + comment="" + [ -n "$src_dip" ] && comment=" to $src_dip" + [ -n "$src_ip" ] && comment=" from $src_ip" + checkfw=$(echo "$vpsfw6list" | grep "# OMR $username open router $src_dport port $protoi${comment}") + fi fi - fi - if [ "$checkfw" = "" ]; then - settings='{"name" : "router '$src_dport'","port" : "'$src_dport'","source_dip" : "'$src_dip'","source_ip" : "'$src_ip'","proto" : "'$protoi'","fwtype" : "DNAT","ipproto" : "'$family'"}' - _set_json "shorewallopen" "$settings" - fi - if [ "$family" = "ipv4" ]; then - if [ "$src_dip" = "" ]; then - vpsfwlist=$(echo "$vpsfwlist" | grep -v "$src_dport # OMR $username redirect router $src_dport port $protoi") - [ "$username" = "openmptcprouter" ] && vpsfwlist=$(echo "$vpsfwlist" | grep -v "$src_dport # OMR redirect router $src_dport port $protoi") - else - comment="" - [ -n "$src_dip" ] && comment=" to $src_dip" - [ -n "$src_ip" ] && comment=" from $src_ip" - vpsfwlist=$(echo "$vpsfwlist" | grep -v "# OMR $username redirect router $src_dport port $protoi${comment}") - [ "$username" = "openmptcprouter" ] && vpsfwlist=$(echo "$vpsfwlist" | grep -v "# OMR redirect router $src_dport port $protoi${comment}") + if [ "$checkfw" = "" ]; then + settings='{"name" : "router '$src_dport'","port" : "'$src_dport'","source_dip" : "'$src_dip'","source_ip" : "'$src_ip'","proto" : "'$protoi'","fwtype" : "ACCEPT","ipproto" : "'$family'"}' + _set_json "shorewallopen" "$settings" + settings='{"name" : "router '$src_dport'","port" : "'$src_dport'","destip" : "'$dest_ip'","proto" : "'$protoi'"}' + _set_json "v2rayredirect" "$settings" fi - else - if [ "$src_dip" = "" ]; then - vpsfw6list=$(echo "$vpsfw6list" | grep -v "$src_dport # OMR $username redirect router $src_dport port $protoi") - [ "$username" = "openmptcprouter" ] && vpsfw6list=$(echo "$vpsfw6list" | grep -v "$src_dport # OMR redirect router $src_dport port $protoi") + if [ "$family" = "ipv4" ]; then + if [ "$src_dip" = "" ]; then + vpsfwlist=$(echo "$vpsfwlist" | grep -v "$src_dport # OMR $username open router $src_dport port $protoi") + [ "$username" = "openmptcprouter" ] && vpsfwlist=$(echo "$vpsfwlist" | grep -v "$src_dport # OMR open router $src_dport port $protoi") + else + comment="" + [ -n "$src_dip" ] && comment=" to $src_dip" + [ -n "$src_ip" ] && comment=" from $src_ip" + vpsfwlist=$(echo "$vpsfwlist" | grep -v "# OMR $username open router $src_dport port $protoi${comment}") + [ "$username" = "openmptcprouter" ] && vpsfwlist=$(echo "$vpsfwlist" | grep -v "# OMR open router $src_dport port $protoi${comment}") + fi else - [ -n "$src_dip" ] && comment=" to $src_dip" - [ -n "$src_ip" ] && comment=" from $src_ip" - vpsfw6list=$(echo "$vpsfw6list" | grep -v "# OMR $username redirect router $src_dport port $protoi${comment}") - [ "$username" = "openmptcprouter" ] && vpsfw6list=$(echo "$vpsfw6list" | grep -v "# OMR redirect router $src_dport port $protoi${comment}") + if [ "$src_dip" = "" ]; then + vpsfw6list=$(echo "$vpsfw6list" | grep -v "$src_dport # OMR $username open router $src_dport port $protoi") + [ "$username" = "openmptcprouter" ] && vpsfw6list=$(echo "$vpsfw6list" | grep -v "$src_dport # OMR open router $src_dport port $protoi") + else + [ -n "$src_dip" ] && comment=" to $src_dip" + [ -n "$src_ip" ] && comment=" from $src_ip" + vpsfw6list=$(echo "$vpsfw6list" | grep -v "# OMR $username open router $src_dport port $protoi${comment}") + [ "$username" = "openmptcprouter" ] && vpsfw6list=$(echo "$vpsfw6list" | grep -v "# OMR open router $src_dport port $protoi${comment}") + fi fi fi done