diff --git a/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua b/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua index d64b41986..bc7b55188 100755 --- a/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua +++ b/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua @@ -251,7 +251,7 @@ function wizard_add() if typeintf == "macvlan" and masterintf ~= "" then ucic:set("network",intf,"type","macvlan") ucic:set("network",intf,"masterintf",masterintf) - elseif typeintf == "" and ifname ~= "" and (proto == "static" or proto == "dhcp" ) then + elseif typeintf == "" and ifname ~= "" and (proto == "static" or proto == "dhcp" or proto == "dhcpv6") then ucic:set("network",intf,"ifname",ifname) elseif typeintf == "" and device ~= "" and proto == "ncm" then ucic:set("network",intf,"device",device_ncm) @@ -295,6 +295,11 @@ function wizard_add() ucic:set("network",intf,"ip6addr","") ucic:set("network",intf,"ip6gw","") end + + if proto == "dhcpv6" then + ucic:set("network",intf,"reqaddress","try") + ucic:set("network",intf,"reqprefix","auto") + end ucic:delete("openmptcprouter",intf,"lc") ucic:save("openmptcprouter") @@ -437,6 +442,11 @@ function wizard_add() table.insert(aserverips,ip) end end + if disableipv6 == "1" then + if table.getn(aserverips) == 2 then + table.remove(aserverips, 2) + end + end local master = luci.http.formvalue("master") or "" @@ -477,7 +487,9 @@ function wizard_add() ucic:set("v2ray","main","enabled","0") ucic:foreach("shadowsocks-libev", "server", function(s) local sectionname = s[".name"] - ucic:set("shadowsocks-libev",sectionname,"disabled","0") + if sectionname:match("^sss.*") then + ucic:set("shadowsocks-libev",sectionname,"disabled","0") + end end) elseif default_proxy == "v2ray" and serversnb > 0 and serversnb > disablednb then --ucic:set("shadowsocks-libev","sss0","disabled","1") @@ -543,9 +555,12 @@ function wizard_add() local nbip = 0 for _, ssip in pairs(server_ips) do ucic:set("shadowsocks-libev","sss" .. nbip,"server",ssip) - if default_proxy == "shadowsocks" then + if default_proxy == "shadowsocks" and serversnb > disablednb then ucic:set("shadowsocks-libev","sss" .. nbip,"disabled","0") end + if disableipv6 == "1" and nbip > 0 then + break + end nbip = nbip + 1 end end @@ -573,10 +588,13 @@ function wizard_add() local nbip = 0 for _, ssip in pairs(server_ips) do ucic:set("shadowsocks-libev","sss" .. nbip,"server",ssip) - if default_proxy == "shadowsocks" then + if default_proxy == "shadowsocks" and serversnb > disablednb then ucic:set("shadowsocks-libev","sss" .. nbip,"disabled","0") end nbip = nbip + 1 + if disableipv6 == "1" and nbip > 0 then + break + end end end end diff --git a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm index 1aa626cd5..83f601bbf 100755 --- a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm +++ b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm @@ -404,17 +404,26 @@ local statuslogo = ucic:get("openmptcprouter","settings","statuslogo") or "openm } // Populate info var wanip = mArray.wans[i].wanip; - var wanip6 = mArray.wans[i].wanip6; if (anonymize == "true" && testPrivateIP(wanip) == false) { wanip=replaceLastNChars(wanip,"x",6); } + var wanip6 = mArray.wans[i].wanip6; + if (anonymize == "true") + { + wanip6=replaceLastNChars(wanip6,"x",6); + } var ipaddr = mArray.wans[i].ipaddr; - var ip6addr = mArray.wans[i].ip6addr; if (anonymize == "true" && testPrivateIP(ipaddr) == false) { ipaddr=replaceLastNChars(ipaddr,"x",6); } + var ip6addr = mArray.wans[i].ip6addr; + if (anonymize == "true") + { + ip6addr=replaceLastNChars(ip6addr,"x",6); + } + var ifname = mArray.wans[i].ifname; var whois = mArray.wans[i].whois; var whois6 = mArray.wans[i].whois6; var signal = mArray.wans[i].signal; @@ -469,7 +478,7 @@ local statuslogo = ucic:get("openmptcprouter","settings","statuslogo") or "openm { content += String.format('%s %s
','<%:ip address:%>', ipaddr); } - if(ip6addr !== '' && gateway6 != '') + if(ip6addr !== '' && gateway6 !== '') { content += String.format('%s %s
','<%:ipv6 address:%>', ip6addr); } @@ -481,6 +490,10 @@ local statuslogo = ucic:get("openmptcprouter","settings","statuslogo") or "openm { content += String.format('%s %s
','<%:wan ipv6 address:%>', wanip6); } + if(ifname !== '' && ifname !== mArray.wans[i].label) + { + content += String.format('%s %s
','<%:interface:%>', ifname); + } if(whois !== '') { content += String.format('%s %s
','<%:whois:%>', whois); diff --git a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm index bc47a5976..fb6b25e6c 100755 --- a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm +++ b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm @@ -65,7 +65,16 @@

<%=servername%>

-
+
+ +
+ " data-optional="false"> +
+ <%:Server IP will be set for proxy and VPN%> +
+
+
+
" data-optional="false"> diff --git a/luci-app-openmptcprouter/po/templates/openmptcprouter.pot b/luci-app-openmptcprouter/po/templates/openmptcprouter.pot index 4daf598a7..684de3447 100755 --- a/luci-app-openmptcprouter/po/templates/openmptcprouter.pot +++ b/luci-app-openmptcprouter/po/templates/openmptcprouter.pot @@ -1,28 +1,34 @@ msgid "" msgstr "Content-Type: text/plain; charset=UTF-8" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:256 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:274 msgid "A Dead Simple VPN is a TCP VPN that can replace Glorytun TCP" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:251 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:253 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:269 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:271 msgid "A Dead Simple VPN key" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:73 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:77 +msgid "" +"A secondary server IP can be set for dual IPv4/IPv6 server contact if WAN " +"IPv6 are set" +msgstr "" + +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:88 msgid "API username to retrieve personnalized settings from the server." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:654 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:732 msgid "APN" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:118 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:133 msgid "Add a new server" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:827 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:912 msgid "Add an interface" msgstr "" @@ -31,11 +37,11 @@ msgstr "" msgid "Advanced Settings" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:125 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:140 msgid "Advanced settings" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:333 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:351 msgid "" "All VPN available here can do aggregation over MPTCP or using own internal " "method." @@ -45,18 +51,18 @@ msgstr "" msgid "All router settings" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:225 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:243 msgid "" "An Advanced Encryption Standard (AES) instruction set is integrated in the " "processor." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:680 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:758 msgid "Authentication Type" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:718 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:734 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:796 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:812 msgid "Backup" msgstr "" @@ -73,60 +79,60 @@ msgstr "" msgid "Beta" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:296 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:307 msgid "Big time difference between the server and the router" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:478 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:496 msgid "Bridge" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:236 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:254 msgid "By default VPN is used for any traffic that is not TCP." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:170 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:188 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:685 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:763 msgid "CHAP" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:257 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:268 msgid "Can\\'t access and use server part" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:283 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:294 msgid "Can\\'t contact Server Admin Script" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:273 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:284 msgid "Can\\'t get public IP address from ShadowSocks" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:276 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:287 msgid "Can\\'t get public IP address from V2Ray" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:270 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:281 msgid "Can\\'t ping server" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:482 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:500 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:416 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:502 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:548 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:434 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:520 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:572 msgid "Choose physical interface." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:123 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:138 msgid "Common server settings" msgstr "" @@ -134,11 +140,15 @@ msgstr "" msgid "Core temp:" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:368 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:513 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:386 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:531 msgid "DHCP" msgstr "" +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:532 +msgid "DHCPv6" +msgstr "" + #: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:188 msgid "DNS issue: can\\'t resolve hostname" msgstr "" @@ -147,22 +157,22 @@ msgstr "" msgid "Debug" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:172 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:190 msgid "Default Proxy" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:286 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:304 msgid "Default VPN" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:52 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:457 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:63 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:475 msgid "Delete" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:580 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:607 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:628 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:658 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:685 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:706 msgid "Device" msgstr "" @@ -211,7 +221,7 @@ msgstr "" msgid "Disable renaming interfaces" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:106 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:121 msgid "Disable server" msgstr "" @@ -227,12 +237,13 @@ msgstr "" msgid "Disable tracebox test" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:716 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:732 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:166 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:794 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:810 msgid "Disabled" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:778 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:856 msgid "Download speed (Kb/s)" msgstr "" @@ -241,11 +252,11 @@ msgid "Dynamic change" msgstr "" #: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:187 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:148 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:163 msgid "Enable IPv6" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:768 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:846 msgid "Enable SQM" msgstr "" @@ -261,16 +272,17 @@ msgstr "" msgid "Enable debug logs" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:715 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:731 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:167 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:793 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:809 msgid "Enabled" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:208 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:226 msgid "Encryption" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:229 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:247 msgid "Encryption method is used for Shadowsocks, V2Ray, Glorytun and OpenVPN." msgstr "" @@ -278,29 +290,30 @@ msgstr "" msgid "Filesystem is readonly" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:140 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:155 msgid "Force retrieve all keys from server." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:135 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:150 msgid "Force retrieve settings" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:674 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:752 msgid "GPRS only" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:504 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:665 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:552 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:555 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:727 msgid "Gateway DOWN" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:244 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:262 msgid "Glorytun TCP is used by default for UDP and ICMP" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:239 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:241 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:257 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:259 msgid "Glorytun key" msgstr "" @@ -340,30 +353,40 @@ msgstr "" msgid "IPv4 TCP SYN retries2" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:424 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:554 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:442 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:578 msgid "IPv4 address" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:570 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:594 msgid "IPv4 gateway" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:430 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:564 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:448 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:588 msgid "IPv4 netmask" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:158 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:176 msgid "IPv6 Prefix" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:544 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:705 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:608 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:635 +msgid "IPv6 address" +msgstr "" + +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:622 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:645 +msgid "IPv6 gateway" +msgstr "" + +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:600 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:767 msgid "IPv6 route received" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:146 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:161 msgid "IPv6 settings" msgstr "" @@ -371,44 +394,44 @@ msgstr "" msgid "IPv6 tunnel DOWN" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:336 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:347 msgid "IPv6:" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:443 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:461 msgid "Interfaces settings" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:193 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:203 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:244 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:256 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:268 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:280 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:211 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:221 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:262 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:274 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:286 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:298 msgid "Key is retrieved from server API by default." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:83 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:98 msgid "" "Key to configure and retrieve others keys from Server and to set server " "settings from OpenMPTCProuter." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:341 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:359 msgid "LAN interfaces settings" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:672 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:750 msgid "LTE" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:352 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:463 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:370 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:481 msgid "Label" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:358 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:468 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:376 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:486 msgid "Label for the interface" msgstr "" @@ -417,42 +440,42 @@ msgid "Last available backup on server:" msgstr "" #: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:124 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:313 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:324 msgid "Latest available version" msgstr "" #: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:130 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:319 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:330 msgid "Load:" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:268 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:286 msgid "MLVPN can replace Glorytun with connections with same latency" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:263 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:265 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:281 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:283 msgid "MLVPN password" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:292 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:303 msgid "MPTCP is not enabled on the server" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:330 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:341 msgid "MPTCP may not be enabled on the server" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:758 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:836 msgid "MPTCP over VPN" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:477 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:495 msgid "MacVLAN" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:717 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:733 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:795 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:811 msgid "Master" msgstr "" @@ -468,15 +491,15 @@ msgstr "" msgid "Minimum scaling CPU frequency" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:669 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:747 msgid "Modem default" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:703 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:781 msgid "Modem init timeout" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:514 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:533 msgid "ModemManager" msgstr "" @@ -484,43 +507,43 @@ msgstr "" msgid "More than one default VPN is enabled" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:712 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:728 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:790 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:806 msgid "Multipath TCP" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:527 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:533 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:688 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:694 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:583 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:589 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:750 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:756 msgid "Multipath current state is" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:522 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:683 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:578 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:745 msgid "Multipath master already defined" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:507 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:668 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:558 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:730 msgid "Multipath seems to be blocked on the connection" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:515 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:534 msgid "NCM" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:683 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:761 msgid "NONE" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:539 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:700 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:595 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:762 msgid "Network interface duplicated" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:800 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:802 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:862 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:864 msgid "Network overview" msgstr "" @@ -528,8 +551,8 @@ msgstr "" msgid "Networks settings" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:497 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:658 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:545 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:720 msgid "No IP defined" msgstr "" @@ -537,15 +560,19 @@ msgstr "" msgid "No IPv6 access" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:511 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:672 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:562 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:734 msgid "No Server ping response after 1 second" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:279 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:290 msgid "No WAN IP address detected in less than 1 second" msgstr "" +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:619 +msgid "No WAN with multipath enabled:" +msgstr "" + #: luci-app-openmptcprouter/luasrc/view/openmptcprouter/backup.htm:26 msgid "No available backup on server." msgstr "" @@ -554,33 +581,33 @@ msgstr "" msgid "No change" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:720 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:782 msgid "No data" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:501 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:662 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:549 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:724 msgid "No gateway defined" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:248 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:249 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:259 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:260 msgid "No output" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:253 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:264 msgid "No server IP address, No WAN IP address" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:266 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:277 msgid "No server defined" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:214 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:232 msgid "None" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:476 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:494 msgid "Normal" msgstr "" @@ -606,17 +633,17 @@ msgstr "" msgid "On wizard change" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:182 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:200 msgid "Only ShadowSocks is supported with server multiple IPs for now." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:722 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:800 msgid "" "Only one interface must be set as \"Master\", this should be the most stable " "interface." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:97 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:112 msgid "Only one server can be master, else all servers are set as backup." msgstr "" @@ -624,7 +651,7 @@ msgstr "" msgid "OpenMPTCProuter" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:333 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:351 msgid "OpenVPN can't be used in multi VPS configuration." msgstr "" @@ -632,8 +659,8 @@ msgstr "" msgid "Optimize for latency instead of bandwidth" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:369 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:518 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:387 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:537 msgid "Other" msgstr "" @@ -641,46 +668,50 @@ msgstr "" msgid "Other settings" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:684 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:762 msgid "PAP" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:686 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:764 msgid "PAP/CHAP" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:697 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:775 msgid "PAP/CHAP password" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:691 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:769 msgid "PAP/CHAP username" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:660 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:738 msgid "PIN code" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:516 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:535 msgid "PPPoE" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:381 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:487 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:527 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:399 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:505 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:546 msgid "Physical interface" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:670 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:748 msgid "Prefer LTE" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:671 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:749 msgid "Prefer UMTS" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:363 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:508 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:71 +msgid "Primary server IP" +msgstr "" + +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:381 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:526 msgid "Protocol" msgstr "" @@ -688,15 +719,15 @@ msgstr "" msgid "Proxy is DISABLED" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:169 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:187 msgid "Proxy settings" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:341 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:352 msgid "Proxy traffic:" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:517 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:536 msgid "QMI" msgstr "" @@ -708,12 +739,12 @@ msgstr "" msgid "Restore backup" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:133 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:148 msgid "Retrieve settings from server" msgstr "" #: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:352 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:836 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:921 msgid "Save & Apply" msgstr "" @@ -729,7 +760,11 @@ msgstr "" msgid "Scaling governor" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:830 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:72 +msgid "Secondary server IP" +msgstr "" + +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:915 msgid "Select the device you want to base the interface on." msgstr "" @@ -737,64 +772,67 @@ msgstr "" msgid "Send backup" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:58 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:60 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:69 msgid "Server IP" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:62 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:74 msgid "Server IP will be set for proxy and VPN" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:78 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:80 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:93 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:95 msgid "Server key" msgstr "" #: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:43 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:42 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:53 msgid "Server settings" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:68 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:70 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:83 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:85 msgid "Server username" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:666 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:744 msgid "Service Type" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:559 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:583 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:613 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:640 msgid "Set an IP in the same network as the modem" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:575 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:599 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:627 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:650 msgid "Set here IP of the modem" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:92 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:107 msgid "Set server as master" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:181 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:199 msgid "" "Set the default Proxy used for TCP when ShadowSocks is enabled, for TCP and " "UDP when V2Ray is enabled." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:333 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:351 msgid "" "Set the default VPN used for ICMP (and UDP if proxy used is shadowsocks), " "for all traffic if proxy is disabled." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:788 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:866 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:804 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:882 msgid "" "Set value between 80-95% of max upload speed link. 0 to disable SQM/QoS." msgstr "" @@ -807,12 +845,12 @@ msgstr "" msgid "ShadowSocks is not running" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:193 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:211 msgid "ShadowSocks is used for TCP." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:188 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:190 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:206 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:208 msgid "ShadowSocks key" msgstr "" @@ -820,8 +858,8 @@ msgstr "" msgid "Show all settings" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:367 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:512 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:385 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:530 msgid "Static address" msgstr "" @@ -840,7 +878,7 @@ msgid "" "local end." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:227 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:245 msgid "" "There is no Advanced Encryption Standard (AES) instruction set integrated in " "the processor, you should use chacha20." @@ -859,24 +897,24 @@ msgid "" "retransmissions remain unacknowledged." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:351 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:362 msgid "Total traffic:" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:473 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:491 msgid "Type" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:280 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:298 msgid "UBOND can replace Glorytun with connections with same latency" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:275 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:277 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:293 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:295 msgid "UBOND password" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:673 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:751 msgid "UMTS/GPRS" msgstr "" @@ -893,17 +931,17 @@ msgstr "" msgid "Update server" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:794 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:872 msgid "Upload speed (Kb/s)" msgstr "" #: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:141 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:325 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:336 msgid "Uptime:" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:783 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:799 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:861 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:877 msgid "Used by Glorytun UDP and SQM/QoS if enabled. 0 to use default value." msgstr "" @@ -911,27 +949,32 @@ msgstr "" msgid "V2Ray is not running" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:203 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:221 msgid "V2Ray is used for TCP and UDP." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:200 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:218 msgid "V2Ray user" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:198 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:216 msgid "V2Ray user id" msgstr "" +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:568 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:569 +msgid "VLAN" +msgstr "" + #: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:184 msgid "VPN is not running" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:235 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:253 msgid "VPN settings" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:346 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:357 msgid "VPN traffic:" msgstr "" @@ -939,12 +982,13 @@ msgstr "" msgid "VPN tunnel DOWN" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:306 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:317 msgid "Version" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:515 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:676 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:566 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:571 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:738 msgid "Wan IP and gateway are identical" msgstr "" @@ -955,10 +999,10 @@ msgid "" msgstr "" #: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:258 -msgid "When proxy shadowsocks is used, use it for UDP if proxy down" +msgid "When proxy shadowsocks is used, use it for UDP if VPN down" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:40 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:51 msgid "Wizard" msgstr "" @@ -967,33 +1011,33 @@ msgstr "" msgid "You" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:763 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:841 msgid "You can enable MPTCP over VPN if your provider filter Multipath TCP." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:373 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:391 msgid "You can use DHCP if you have multiple real ethernet ports." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:522 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:541 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." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:163 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:181 msgid "You can use a public IPv6 prefix only if you set only one server." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:444 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:462 msgid "You must disable DHCP on your modems and set IP in different networks." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:153 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:171 msgid "You should disable IPv6 here if server doesn't provide IPv6." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:773 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:851 msgid "You should disable SQM for LTE or any interfaces with variable speed." msgstr "" @@ -1009,7 +1053,7 @@ msgstr "" msgid "address:" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:675 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:753 msgid "auto" msgstr "" @@ -1017,35 +1061,43 @@ msgstr "" msgid "empty key" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:447 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:638 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:495 +msgid "interface:" +msgstr "" + +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:479 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:700 msgid "ip address:" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:459 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:650 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:483 +msgid "ipv6 address:" +msgstr "" + +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:507 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:712 msgid "latency:" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:463 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:654 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:511 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:716 msgid "mtu:" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:551 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:707 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:607 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:769 msgid "multipath:" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:467 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:515 msgid "operator:" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:218 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:236 msgid "other" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:471 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:519 msgid "phone number:" msgstr "" @@ -1053,21 +1105,26 @@ msgstr "" msgid "range:" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:475 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:523 msgid "state:" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:554 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:710 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:610 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:772 msgid "traffic control:" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:451 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:642 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:487 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:704 msgid "wan address:" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:455 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:646 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:491 +msgid "wan ipv6 address:" +msgstr "" + +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:499 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:503 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:708 msgid "whois:" msgstr "" diff --git a/luci-app-sysupgrade/po/templates/attendedsysupgrade.pot b/luci-app-sysupgrade/po/templates/attendedsysupgrade.pot deleted file mode 100644 index c14f0951e..000000000 --- a/luci-app-sysupgrade/po/templates/attendedsysupgrade.pot +++ /dev/null @@ -1,11 +0,0 @@ -msgid "" -msgstr "Content-Type: text/plain; charset=UTF-8" - -#: applications/luci-app-attendedsysupgrade/luasrc/view/attendedsysupgrade.htm:76 -#: applications/luci-app-attendedsysupgrade/root/usr/share/luci/menu.d/luci-app-attendedsysupgrade.json:3 -msgid "Attended Sysupgrade" -msgstr "" - -#: applications/luci-app-attendedsysupgrade/root/usr/share/rpcd/acl.d/attendedsysupgrade.json:3 -msgid "attended sysupgrade via rpcd and luci" -msgstr "" diff --git a/luci-app-sysupgrade/po/templates/sysupgrade.pot b/luci-app-sysupgrade/po/templates/sysupgrade.pot new file mode 100644 index 000000000..0c4a913f0 --- /dev/null +++ b/luci-app-sysupgrade/po/templates/sysupgrade.pot @@ -0,0 +1,81 @@ +msgid "" +msgstr "Content-Type: text/plain; charset=UTF-8" + +#: luci-app-sysupgrade/luasrc/view/sysupgrade.htm:90 +msgid "Check \"Keep settings\" to retain the current configuration." +msgstr "" + +#: luci-app-sysupgrade/root/www/luci-static/resources/sysupgrade.js:344 +msgid "Downloading firmware to web browser memory" +msgstr "" + +#: luci-app-sysupgrade/luasrc/view/sysupgrade.htm:78 +msgid "Easily search and install new releases and package upgrades." +msgstr "" + +#: luci-app-sysupgrade/luasrc/view/sysupgrade.htm:99 +msgid "Edit installed packages" +msgstr "" + +#: luci-app-sysupgrade/root/www/luci-static/resources/sysupgrade.js:269 +msgid "Flashing firmware. Don't unpower device" +msgstr "" + +#: luci-app-sysupgrade/root/www/luci-static/resources/sysupgrade.js:192 +msgid "Installed version:" +msgstr "" + +#: luci-app-sysupgrade/luasrc/view/sysupgrade.htm:92 +msgid "Keep settings:" +msgstr "" + +#: luci-app-sysupgrade/root/www/luci-static/resources/sysupgrade.js:215 +msgid "No upgrades available" +msgstr "" + +#: luci-app-sysupgrade/root/www/luci-static/resources/sysupgrade.js:285 +msgid "Rebooting device - please wait!" +msgstr "" + +#: luci-app-sysupgrade/root/www/luci-static/resources/sysupgrade.js:209 +msgid "Request firmware" +msgstr "" + +#: luci-app-sysupgrade/luasrc/view/sysupgrade.htm:110 +msgid "Search for upgrades" +msgstr "" + +#: luci-app-sysupgrade/root/www/luci-static/resources/sysupgrade.js:165 +msgid "Searching for upgrades" +msgstr "" + +#: luci-app-sysupgrade/luasrc/view/sysupgrade.htm:103 +msgid "Server:" +msgstr "" + +#: luci-app-sysupgrade/root/www/luci-static/resources/sysupgrade.js:289 +msgid "Success! Please reload web interface" +msgstr "" + +#: luci-app-sysupgrade/luasrc/view/sysupgrade.htm:76 +#: luci-app-sysupgrade/root/usr/share/luci/menu.d/luci-app-sysupgrade.json:3 +msgid "Sysupgrade" +msgstr "" + +#: luci-app-sysupgrade/root/www/luci-static/resources/sysupgrade.js:320 +msgid "Upload of firmware failed, please retry by reloading web interface" +msgstr "" + +#: luci-app-sysupgrade/root/www/luci-static/resources/sysupgrade.js:305 +msgid "Uploading firmware to device" +msgstr "" + +#: luci-app-sysupgrade/root/www/luci-static/resources/sysupgrade.js:299 +msgid "" +"Web interface could not reconnect to your device. Please reload web " +"interface or check device manually" +msgstr "" + +#: luci-app-sysupgrade/root/usr/share/rpcd/acl.d/sysupgrade.json:3 +msgid "sysupgrade via rpcd and luci" +msgstr "" diff --git a/luci-mod-dashboard/htdocs/luci-static/resources/view/dashboard/include/10_router.js b/luci-mod-dashboard/htdocs/luci-static/resources/view/dashboard/include/10_router.js index 5b57f6126..759818be1 100755 --- a/luci-mod-dashboard/htdocs/luci-static/resources/view/dashboard/include/10_router.js +++ b/luci-mod-dashboard/htdocs/luci-static/resources/view/dashboard/include/10_router.js @@ -368,7 +368,7 @@ return baseclass.extend({ release: { title: _('Firmware Version'), - value: boardinfo.release.description + value: boardinfo.release.description ? boardinfo.release.description : null } }; diff --git a/mptcp/files/usr/share/omr/post-tracking.d/post-tracking b/mptcp/files/usr/share/omr/post-tracking.d/post-tracking index c2da6556d..2cba973a4 100755 --- a/mptcp/files/usr/share/omr/post-tracking.d/post-tracking +++ b/mptcp/files/usr/share/omr/post-tracking.d/post-tracking @@ -164,7 +164,7 @@ set_routes_intf() { interface_gw=$(ubus call network.interface.${INTERFACE}_4 status 2>/dev/null | jsonfilter -q -l 1 -e '@.inactive.route[@.target="0.0.0.0"].nexthop' | tr -d "\n") fi #if [ "$interface_gw" != "" ] && [ "$interface_if" != "" ] && [ "$(ip route show $serverip | grep $interface_if)" = "" ]; then - if [ "$interface_gw" != "" ] && [ "$interface_if" != "" ] && [ -n "$(echo $interface_gw | grep :)" ]; then + if [ "$interface_gw" != "" ] && [ "$interface_if" != "" ] && [ -z "$(echo $interface_gw | grep :)" ]; then if [ "$multipath_config_route" = "master" ]; then weight=10 else @@ -827,7 +827,7 @@ if [ "$multipath_config" = "master" ]; then config_foreach set_route_balancing interface config_foreach set_route_balancing6 interface [ -n "$routesbalancing" ] && { - ([ "$nbintf" -gt "1" ] && [ "$(ip r show default metric 0 | tr -d '\t' | tr -d '\n')" != "default via $routesbalancing " ]) || ([ "$nbintf" = "1" ] && [ "$(ip r show default metric 0 | grep $OMR_TRACKER_DEVICE)" = "" ] && [ -n "$OMR_TRACKER_DEVICE_IP" ]) && { + ([ "$nbintf" -gt "1" ] && [ "$(ip r show default metric 0 | tr -d '\t' | tr -d '\n')" != "default via $routesbalancing " ]) || ([ "$nbintf" = "1" ] && ([ "$(ip r show default metric 0 | grep $OMR_TRACKER_DEVICE)" = "" ] || [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.vpn)" = "1" ]) && [ -n "$OMR_TRACKER_DEVICE_IP" ]) && { _log "Set ip route replace default scope global $routesbalancing" ip route replace default scope global metric 0 $routesbalancing } @@ -839,7 +839,7 @@ if [ "$multipath_config" = "master" ]; then } } [ -n "$routesbalancingbackup" ] && { - ([ "$nbintf" -gt "1" ] && [ "$(ip r show default metric 999 | tr -d '\t' | tr -d '\n')" != "default via $routesbalancingbackup " ]) || ([ "$nbintf" = "1" ] && [ "$(ip r show default metric 999 | grep $OMR_TRACKER_DEVICE)" = "" ] && [ -n "$OMR_TRACKER_DEVICE_IP" ]) && { + ([ "$nbintf" -gt "1" ] && [ "$(ip r show default metric 999 | tr -d '\t' | tr -d '\n')" != "default via $routesbalancingbackup " ]) || ([ "$nbintf" = "1" ] && ([ "$(ip r show default metric 999 | grep $OMR_TRACKER_DEVICE)" = "" ] || [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.vpn)" = "1" ]) && [ -n "$OMR_TRACKER_DEVICE_IP" ]) && { _log "Set backup ip route replace default scope global $routesbalancingbackup" ip route replace default scope global metric 999 $routesbalancingbackup } diff --git a/omr-tracker/files/bin/omr-tracker-ss b/omr-tracker/files/bin/omr-tracker-ss index be0074b01..58a17ed5b 100755 --- a/omr-tracker/files/bin/omr-tracker-ss +++ b/omr-tracker/files/bin/omr-tracker-ss @@ -72,11 +72,11 @@ while true; do if [ "$(curl -s -I -w %{http_code} --socks5 ${proxy} --max-time ${timeout} $host -o /dev/null)" != "000" ]; then nocontact="" [ "${last}" -ge "${retry}" ] || [ "$(uci -q get openmptcprouter.omr.ss_${server})" = "" ] && { - _log "Shadowsocks is up (can contact via http ${host})" + _log "Shadowsocks ${server} is up (can contact via http ${host})" uci -q set openmptcprouter.omr.ss_${server}="up" uci -q commit openmptcprouter.omr } - if [ -z "$(iptables -t nat -L -n | grep ss_rules)" ] && [ "$(uci -q get shadowsocks-libev.ss_rules.disabled)" != "1" ]; then + if [ -z "$(iptables-save | grep :ssr)" ] && [ "$(uci -q get shadowsocks-libev.ss_rules.disabled)" != "1" ]; then _log "Reload Shadowsocks rules" /etc/init.d/shadowsocks-libev rules_up 2> /dev/null _get_ip @@ -87,8 +87,8 @@ while true; do last=$((last + 1 )) [ -z "$nocontact" ] && nocontact="$host" || nocontact="$nocontact, $host" [ "${last}" -ge "${retry}" ] && { - if [ -n "$(iptables -t nat -L -n | grep ssr)" ]; then - _log "Shadowsocks is down (can't contact via http ${nocontact})" + if [ -n "$(iptables -w -t nat -L -n | grep ssr)" ]; then + _log "Shadowsocks ${server} is down (can't contact via http ${nocontact})" uci -q set openmptcprouter.omr.ss_${server}="down" uci -q commit openmptcprouter.omr [ "$(uci show openmptcprouter.omr | grep ss | grep up)" = "" ] && /etc/init.d/shadowsocks-libev rules_down 2> /dev/null diff --git a/omr-tracker/files/etc/init.d/omr-tracker b/omr-tracker/files/etc/init.d/omr-tracker index 77765c19c..467817e91 100755 --- a/omr-tracker/files/etc/init.d/omr-tracker +++ b/omr-tracker/files/etc/init.d/omr-tracker @@ -139,6 +139,7 @@ _initialize_shadowsocks_tracker() { #redir_tcp=$(uci -q get shadowsocks-libev.ss_rules.redir_tcp) #config_get tracker_server ss_rules server config_get ss_disabled $server disabled 0 + [ "$ss_disabled" = "0" ] && ss_enable="1" [ -z "$(uci -q get shadowsocks-libev.tracker_${server})" ] && [ "$ss_disabled" != "1" ] && { logger -t "omr-tracker" "Create ShadowSock tracker ss_local..." uci -q batch <<-EOF >/dev/null @@ -230,7 +231,7 @@ _gre_tunnel() { } start_service() { - local ss_disabled + local ss_enable=0 logger -t "omr-tracker" "Launching..." config_load shadowsocks-libev config_foreach _initialize_shadowsocks_tracker server @@ -238,7 +239,7 @@ start_service() { config_load network config_foreach _launch_tracker interface - if [ "$ss_disabled" != "1" ]; then + if [ "$ss_enable" = "1" ]; then config_load shadowsocks-libev config_foreach _launch_shadowsocks_tracker ss_local #elif [ "$(uci -q get shadowsocks-libev.sss0.disabled)" != "1" ]; then diff --git a/openmptcprouter-full/Makefile b/openmptcprouter-full/Makefile index 74968b5c8..f5b008643 100755 --- a/openmptcprouter-full/Makefile +++ b/openmptcprouter-full/Makefile @@ -50,6 +50,7 @@ MY_DEPENDS := \ speedtestc \ iftop \ htop \ + nano \ tcpdump \ ethtool \ iputils-ping \ diff --git a/openmptcprouter/files/etc/init.d/openmptcprouter-vps b/openmptcprouter/files/etc/init.d/openmptcprouter-vps index 853891f9d..5241b9fbc 100755 --- a/openmptcprouter/files/etc/init.d/openmptcprouter-vps +++ b/openmptcprouter/files/etc/init.d/openmptcprouter-vps @@ -37,6 +37,7 @@ _login() { [ -z "$auth" ] && return token="$(echo "$auth" | jsonfilter -q -e '@.access_token')" uci -q set openmptcprouter.${servername}.token="$token" + [ -n "$token" ] && break } config_load openmptcprouter config_list_foreach ${servername} ip login_on_server diff --git a/openmptcprouter/files/etc/uci-defaults/1930-omr-shadowsocks b/openmptcprouter/files/etc/uci-defaults/1930-omr-shadowsocks index 69da0ea91..5880c13b0 100755 --- a/openmptcprouter/files/etc/uci-defaults/1930-omr-shadowsocks +++ b/openmptcprouter/files/etc/uci-defaults/1930-omr-shadowsocks @@ -1,6 +1,13 @@ #!/bin/sh # Copyright (C) 2020 Ycarus (Yannick Chabanois) for OpenMPTCProuter project +if [ "$(uci -q get shadowsocks-libev.hi)" != ""; then + uci -q batch <<-EOF >/dev/null + rename shadowsocks-libev.hi=hi1 + commit shadowsocks-libev + EOF +fi + if [ "$(uci -q get openmptcprouter.latest_versions)" = "" ]; then NBCPU=$(grep -c '^processor' /proc/cpuinfo | tr -d "\n") if [ "$NBCPU" -gt 2 ]; then @@ -26,24 +33,16 @@ if [ "$(uci -q get openmptcprouter.latest_versions)" = "" ]; then fi fi - if [ "$(uci -q get shadowsocks-libev.hi.timeout)" != "1000" ]; then - uci -q batch <<-EOF > /dev/null - set shadowsocks-libev.hi.timeout=1000 - commit shadowsocks-libev - EOF - for c in $(seq 2 $NBCPU); do + if [ "$(uci -q get shadowsocks-libev.hi1.timeout)" != "1000" ]; then + for c in $(seq 1 $NBCPU); do uci -q batch <<-EOF > /dev/null set shadowsocks-libev.hi$c.timeout=1000 commit shadowsocks-libev EOF done fi - if [ "$(uci -q get shadowsocks-libev.hi.mode)" != "tcp" ]; then - uci -q batch <<-EOF > /dev/null - set shadowsocks-libev.hi.mode=tcp_and_udp - commit shadowsocks-libev - EOF - for c in $(seq 2 $NBCPU); do + if [ "$(uci -q get shadowsocks-libev.hi1.mode)" != "tcp" ]; then + for c in $(seq 1 $NBCPU); do uci -q batch <<-EOF > /dev/null set shadowsocks-libev.hi$c.mode=tcp_and_udp commit shadowsocks-libev @@ -51,12 +50,16 @@ if [ "$(uci -q get openmptcprouter.latest_versions)" = "" ]; then done fi fi + if [ "$(uci -q get shadowsocks-libev.hi3)" != "" ]; then - port=1101 - for c in $(seq 3 2 $NBCPU); do + port=1100 + for c in $(seq 1 2 $NBCPU); do uci -q batch <<-EOF >/dev/null set shadowsocks-libev.hi$c.local_port=$port + set shadowsocks-libev.hi$c.server=sss0 set shadowsocks-libev.hi$((c+1)).local_port=$port + set shadowsocks-libev.hi$((c+1)).local_address="::" + set shadowsocks-libev.hi$((c+1)).server=sss1 commit shadowsocks-libev EOF port=$((port+1)) @@ -67,12 +70,12 @@ if [ "$(uci -q get shadowsocks-libev.hi3)" != "" ]; then EOF fi -if [ "$(uci -q get shadowsocks-libev.hi.obfs)" = "1" ]; then +if [ "$(uci -q get shadowsocks-libev.hi1.obfs)" = "1" ]; then uci -q batch <<-EOF > /dev/null set shadowsocks-libev.sss0.obfs=1 - set shadowsocks-libev.sss0.obfs_plugin="$(uci -q get shadowsocks-libev.hi.obfs_plugin)" - set shadowsocks-libev.sss0.obfs_host="$(uci -q get shadowsocks-libev.hi.obfs_host)" - set shadowsocks-libev.sss0.obfs_type="$(uci -q get shadowsocks-libev.hi.obfs_type)" + set shadowsocks-libev.sss0.obfs_plugin="$(uci -q get shadowsocks-libev.hi1.obfs_plugin)" + set shadowsocks-libev.sss0.obfs_host="$(uci -q get shadowsocks-libev.hi1.obfs_host)" + set shadowsocks-libev.sss0.obfs_type="$(uci -q get shadowsocks-libev.hi1.obfs_type)" commit shadowsocks-libev EOF fi @@ -85,12 +88,23 @@ if [ "$(uci -q get shadowsocks-libev.ss_rules.server)" = "" ]; then fi -if [ "$(uci -q get ucitrack.@shadowsocks-libev[*1].affects | grep openmptcprouter-vps)" = "" ]; then +if [ "$(uci -q get ucitrack.@shadowsocks-libev[-1].affects | grep openmptcprouter-vps)" = "" ]; then uci -q batch <<-EOF >/dev/null add_list ucitrack.@shadowsocks-libev[-1].affects="openmptcprouter-vps" commit ucitrack EOF fi +if [ "$(uci -q get shadowsocks-libev.sss1)" = "" ]; then + uci -q batch <<-EOF > /dev/null + set shadowsocks-libev.sss1=server + set shadowsocks-libev.sss1.server_port='65101' + set shadowsocks-libev.sss1.method='chacha20-ietf-poly1305' + set shadowsocks-libev.sss1.obfs='0' + set shadowsocks-libev.sss1.disabled='1' + commit shadowsocks-libev + EOF +fi + rm -f /tmp/luci-indexcache exit 0 diff --git a/openmptcprouter/files/etc/uci-defaults/1940-omr-dns b/openmptcprouter/files/etc/uci-defaults/1940-omr-dns index 40f049a39..f6983854a 100755 --- a/openmptcprouter/files/etc/uci-defaults/1940-omr-dns +++ b/openmptcprouter/files/etc/uci-defaults/1940-omr-dns @@ -42,9 +42,8 @@ if [ "$(uci -q get dhcp.lan.dhcp_options)" = "" ]; then commit dhcp EOF fi -if [ "$(uci -q get https-dns-proxy.@https-dns-proxy[0].listen_port)" = "5053" ]; then -#if [ "$(uci -q get openmptcprouter.latest_versions)" = "" ] && [ "$(uci -q get https-dns-proxy.@https-dns-proxy[0].listen_port)" = "5053" ]; then -#上面一行是仅在需要时通过HTTPS配置更改DNS可以修改为默认为否 + +if [ "$(uci -q get openmptcprouter.latest_versions)" = "" ]; then # uci -q batch <<-EOF >/dev/null # delete https-dns-proxy.@https-dns-proxy[-1] # delete https-dns-proxy.@https-dns-proxy[-1] diff --git a/openmptcprouter/files/etc/uci-defaults/2060-omr-system b/openmptcprouter/files/etc/uci-defaults/2060-omr-system index 70beaade9..787763c26 100755 --- a/openmptcprouter/files/etc/uci-defaults/2060-omr-system +++ b/openmptcprouter/files/etc/uci-defaults/2060-omr-system @@ -8,8 +8,6 @@ uci -q batch <<-EOF >/dev/null commit rpcd set luci.apply.timeout='20' commit luci - set fstab.@global[0].check_fs='1' - commit fstab EOF if [ "$(uci -q get rpcd.@rpcd[0].socket)" != "/var/run/ubus/ubus.sock" ]; then @@ -20,6 +18,10 @@ if [ "$(uci -q get rpcd.@rpcd[0].socket)" != "/var/run/ubus/ubus.sock" ]; then fi /sbin/block detect > /etc/config/fstab +uci -q batch <<-EOF >/dev/null + set fstab.@global[0].check_fs='1' + commit fstab +EOF [ -n "$(ubus call system board | jsonfilter -e '@.board_name' | grep raspberry)" ] && [ "$(uci -q get openmptcprouter.settings.scaling_governor)" != "performance" ] && { # force CPU speed for RPI diff --git a/openmptcprouter/files/etc/uci-defaults/2092-upnpd b/openmptcprouter/files/etc/uci-defaults/2092-upnpd new file mode 100755 index 000000000..a89804ab6 --- /dev/null +++ b/openmptcprouter/files/etc/uci-defaults/2092-upnpd @@ -0,0 +1,10 @@ +#!/bin/sh + +if [ "$(uci -q get upnpd.config.external_ifac)" != "omrvpn" ]; then + uci -q batch <<-EOF >/dev/null + set upnpd.config.external_iface=omrvpn + commit upnpd + EOF +fi + +exit 0 diff --git a/shadowsocks-libev/files/shadowsocks-libev.config b/shadowsocks-libev/files/shadowsocks-libev.config index 2bf7def6b..719a9cc85 100755 --- a/shadowsocks-libev/files/shadowsocks-libev.config +++ b/shadowsocks-libev/files/shadowsocks-libev.config @@ -1,4 +1,4 @@ -config ss_redir hi +config ss_redir hi1 option server 'sss0' option local_address '::' option local_port '1100' diff --git a/shadowsocks-libev/files/shadowsocks-libev.init b/shadowsocks-libev/files/shadowsocks-libev.init index 9e15c6241..fa1b1602d 100755 --- a/shadowsocks-libev/files/shadowsocks-libev.init +++ b/shadowsocks-libev/files/shadowsocks-libev.init @@ -308,6 +308,7 @@ start_service() { # Add rule to match traffic marked by firewall for bypass ip rule add prio 1 fwmark 0x539 lookup 991337 > /dev/null 2>&1 rules_up + [ -f /etc/firewall.gre-tunnel ] && sh /etc/firewall.gre-tunnel > /dev/null 2>&1 } stop_service() { @@ -320,7 +321,7 @@ reload_service() { } rules_exist() { - [ -n "$(iptables -t nat -L -n | grep ssr)" ] && return 0 + [ -n "$(iptables-save | grep 'A ssr')" ] && return 0 return 1 } @@ -347,6 +348,7 @@ rules_up() { config_foreach ss_rules_restart "$cfgtype" "$cfgtype" done config_foreach ss_rules ss_rules + [ -z "$(iptables-save | grep :ssr)" ] && logger -t "Shadowsocks" "Rules not applied" [ -f /etc/init.d/omr-bypass ] && { logger -t "Shadowsocks" "Reload omr-bypass rules" /etc/init.d/omr-bypass reload_rules diff --git a/shadowsocks-libev/files/ss-rules b/shadowsocks-libev/files/ss-rules index 396de706d..2f4583e47 100755 --- a/shadowsocks-libev/files/ss-rules +++ b/shadowsocks-libev/files/ss-rules @@ -187,7 +187,7 @@ ss_rules_iptchains_init_tcp() { forward) local_target=ssr_${rule}_forward ;; bypass|*) return 0;; esac - if [ "$(iptables -t nat -L ssr_${rule}_local_out | grep ssr_${rule}_dst_bypass)" = "" ]; then + if [ "$(iptables-save | grep ssr_${rule}_local_out | grep ssr_${rule}_dst_bypass)" = "" ]; then iptables-restore -w --noflush <<-EOF *nat :ssr_${rule}_local_out - diff --git a/shadowsocks-libev/files/ss-rules6 b/shadowsocks-libev/files/ss-rules6 index 84d04beb5..3225573a1 100755 --- a/shadowsocks-libev/files/ss-rules6 +++ b/shadowsocks-libev/files/ss-rules6 @@ -175,7 +175,7 @@ ss_rules6_iptchains_init_tcp() { :ssr6_${rule}_local_out - -I OUTPUT 1 -p tcp -j ssr6_${rule}_local_out -A ssr6_${rule}_local_out -m set --match-set ssr6_${rule}_dst_bypass dst -j RETURN - -A ssr6_${rule}_local_out -m set --match-set ssr6_${rule}_dst_bypass_all dst -j RETURN + -A ssr6_${rule}_local_out -m set --match-set ss_rules6_dst_bypass_all dst -j RETURN -A ssr6_${rule}_local_out -m set --match-set ssr6_${rule}_dst_bypass_ dst -j RETURN -A ssr6_${rule}_local_out -m mark --mark 0x6539 -j RETURN -A ssr6_${rule}_local_out -p tcp $o_ipt_extra -j $local_target -m comment --comment "local_default: $o_local_default" diff --git a/v2ray-core/files/etc/init.d/v2ray b/v2ray-core/files/etc/init.d/v2ray index 34acc668b..d7d25942d 100755 --- a/v2ray-core/files/etc/init.d/v2ray +++ b/v2ray-core/files/etc/init.d/v2ray @@ -1,7 +1,7 @@ #!/bin/sh /etc/rc.common # # Copyright 2019-2020 Xingwang Liao -# Copyright 2020 Ycarus (Yannick Chabanois) for OpenMPTCProuter +# Copyright 2020-2021 Ycarus (Yannick Chabanois) for OpenMPTCProuter # Licensed to the public under the MIT License. # diff --git a/v2ray-core/files/usr/bin/v2ray-rules b/v2ray-core/files/usr/bin/v2ray-rules index a43b19be7..98978f12e 100755 --- a/v2ray-core/files/usr/bin/v2ray-rules +++ b/v2ray-core/files/usr/bin/v2ray-rules @@ -1,7 +1,7 @@ #!/bin/sh -e # # Copyright (C) 2017 Yousong Zhou -# Copyright (C) 2018-2020 Ycarus (Yannick Chabanois) for OpenMPTCProuter +# Copyright (C) 2018-2021 Ycarus (Yannick Chabanois) for OpenMPTCProuter # # The design idea was derived from ss-rules by Jian Chang # diff --git a/v2ray-core/files/usr/bin/v2ray-rules6 b/v2ray-core/files/usr/bin/v2ray-rules6 index b05c70c59..5e1714110 100755 --- a/v2ray-core/files/usr/bin/v2ray-rules6 +++ b/v2ray-core/files/usr/bin/v2ray-rules6 @@ -1,7 +1,7 @@ #!/bin/sh -e # # Copyright (C) 2017 Yousong Zhou -# Copyright (C) 2018-2020 Ycarus (Yannick Chabanois) +# Copyright (C) 2018-2021 Ycarus (Yannick Chabanois) # # The design idea was derived from ss-rules by Jian Chang #