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
#