diff --git a/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua b/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua
index f94529882..36b865cf2 100644
--- a/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua
+++ b/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua
@@ -462,16 +462,22 @@ function interfaces_status()
local tracker_ip = ""
if mArray.openmptcprouter["dns"] == true then
-- shadowsocksaddr
- tracker_ip = uci:get("shadowsocks-libev","tracker","local_address") or ""
- local tracker_port = uci:get("shadowsocks-libev","tracker","local_port")
- if tracker_ip ~= "" then
- mArray.openmptcprouter["ss_addr"] = sys.exec("curl -s -4 --socks5 " .. tracker_ip .. ":" .. tracker_port .. " -m 3 http://ip.openmptcprouter.com")
- --mArray.openmptcprouter["ss_addr6"] = sys.exec("curl -s -6 --socks5 " .. tracker_ip .. ":" .. tracker_port .. " -m 3 http://ipv6.openmptcprouter.com")
+ mArray.openmptcprouter["ss_addr"] = uci:get("openmptcprouter","vps","ipv4") or ""
+ if mArray.openmptcprouter["ss_addr"] == "" then
+ tracker_ip = uci:get("shadowsocks-libev","tracker","local_address") or ""
+ if tracker_ip ~= "" then
+ local tracker_port = uci:get("shadowsocks-libev","tracker","local_port")
+ mArray.openmptcprouter["ss_addr"] = sys.exec("curl -s -4 --socks5 " .. tracker_ip .. ":" .. tracker_port .. " -m 3 http://ip.openmptcprouter.com")
+ --mArray.openmptcprouter["ss_addr6"] = sys.exec("curl -s -6 --socks5 " .. tracker_ip .. ":" .. tracker_port .. " -m 3 http://ipv6.openmptcprouter.com")
+ end
end
-- wanaddr
mArray.openmptcprouter["wan_addr"] = sys.exec("wget -4 -qO- -T 1 http://ip.openmptcprouter.com")
if mArray.openmptcprouter["ipv6"] == "enabled" then
- mArray.openmptcprouter["wan_addr6"] = sys.exec("wget -6 -qO- -T 1 http://ipv6.openmptcprouter.com")
+ mArray.openmptcprouter["wan_addr6"] = uci:get("openmptcprouter","vps","ipv6") or ""
+ if mArray.openmptcprouter["wan_addr6"] == "" then
+ mArray.openmptcprouter["wan_addr6"] = sys.exec("wget -6 -qO- -T 1 http://ipv6.openmptcprouter.com")
+ end
end
end
@@ -657,22 +663,22 @@ function interfaces_status()
end
else
server_ping = "UP"
- latency = ut.trim(sys.exec("echo '" .. server_ping_test .. "' | cut -d '/' -s -f4 | cut -d '.' -f1"))
+ latency = ut.trim(sys.exec("echo '" .. server_ping_test .. "' | cut -d '/' -s -f5 | cut -d '.' -f1"))
end
end
local multipath_available
if connectivity ~= "ERROR" and mArray.openmptcprouter["dns"] == true and ifname ~= nil and ifname ~= "" and gateway ~= "" and gw_ping == "UP" then
-- Test if multipath can work on the connection
- local multipath_available_state = uci:get("openmptcprouter",interface,"publicip") or ""
+ local multipath_available_state = uci:get("openmptcprouter",interface,"mptcp_status") or ""
if multipath_available_state == "" then
--if mArray.openmptcprouter["service_addr"] ~= "" then
- multipath_available_state = ut.trim(sys.exec("omr-tracebox-mptcp " .. mArray.openmptcprouter["service_addr"] .. " " .. ifname .. " | grep 'MPTCP disabled'"))
+ -- multipath_available_state = ut.trim(sys.exec("omr-tracebox-mptcp " .. mArray.openmptcprouter["service_addr"] .. " " .. ifname .. " | grep 'MPTCP disabled'"))
--else
multipath_available_state = ut.trim(sys.exec("omr-mptcp-intf " .. ifname .. " | grep 'Nay, Nay, Nay'"))
--end
else
- multipath_available_state = ut.trim(sys.exec("echo " .. multipath_available_state .. " | grep 'MPTCP disabled'"))
+ multipath_available_state = ut.trim(sys.exec("echo '" .. multipath_available_state .. "' | grep 'MPTCP disabled'"))
end
if multipath_available_state == "" then
multipath_available = "OK"
@@ -733,6 +739,8 @@ function interfaces_status()
whois = ut.trim(sys.exec("wget -4 -qO- -T 1 'http://api.iptoasn.com/v1/as/ip/" .. publicIP .. "' | jsonfilter -e '@.as_description'"))
end
end
+
+ local mtu = uci:get("openmptcprouter",interface,"mtu") or ""
local data = {
label = section["label"] or interface,
@@ -745,6 +753,7 @@ function interfaces_status()
status = connectivity,
wanip = publicIP,
latency = latency,
+ mtu = mtu,
whois = whois or "unknown",
qos = section["trafficcontrol"],
download = section["download"],
diff --git a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm
index f7e847511..ab4937e39 100644
--- a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm
+++ b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm
@@ -220,6 +220,7 @@
master++;
}
var latency = mArray.wans[i].latency;
+ var mtu = mArray.wans[i].mtu;
var gateway = mArray.wans[i].gateway;
var gw_ping = mArray.wans[i].gw_ping;
var server_ping = mArray.wans[i].server_ping;
@@ -249,6 +250,10 @@
{
content += String.format('latency: %s ms
', latency);
}
+ if(mtu !== '')
+ {
+ content += String.format('mtu: %s
', mtu);
+ }
if(ipaddr == '')
{
statusMessage += 'No IP defined
'