diff --git a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm
index 6b292f457..2732ac558 100644
--- a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm
+++ b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm
@@ -144,7 +144,7 @@
}
}
- if (mArray.openmptcprouter.socks_service_enabled == true)
+ if (mArray.openmptcprouter.socks_service_enabled == true && mArray.openmptcprouter.service_addr == "")
{
if (mArray.openmptcprouter.socks_service == false)
{
@@ -160,7 +160,7 @@
{
statusMessage += _('Filesystem is readonly') + '
';
}
- if (mArray.openmptcprouter.tun_service == false)
+ if (mArray.openmptcprouter.tun_service == false && mArray.openmptcprouter.service_addr == "")
{
statusMessage += _('VPN is not running') + '
';
}
@@ -232,7 +232,7 @@
{
statusMessage += _('No VPS IP address, No WAN IP address') + '
';
}
- if (mArray.openmptcprouter.wan_addr !== "" && mArray.openmptcprouter.vps_status == "DOWN")
+ if (mArray.openmptcprouter.service_addr == "" && mArray.openmptcprouter.wan_addr !== "" && mArray.openmptcprouter.vps_status == "DOWN")
{
statusMessage += _('Can\'t access and use server part') + '
';
}
@@ -241,33 +241,38 @@
statusMessageClass = "error";
statusIcon = "<%=resource%>/openmptcprouter/images/statusError.png";
}
- if (mArray.openmptcprouter.vps_status == "DOWN")
+ if (mArray.openmptcprouter.service_addr == "")
{
- statusMessage += _('Can\'t ping server') + '
';
- } else if (mArray.openmptcprouter.socks_service_enabled == true && mArray.openmptcprouter.ss_addr == "" && mArray.openmptcprouter.external_check == true)
- {
- statusMessage += _('Can\'t get public IP address from ShadowSocks') + '
';
- } else if (mArray.openmptcprouter.wan_addr == "" && mArray.openmptcprouter.external_check == true)
- {
- statusMessage += _('No WAN IP address detected in less than 1 second') + '
';
- }
- if (mArray.openmptcprouter.vps_admin == false)
- {
- statusMessage += _('Can\'t contact Server Admin Script');
- if (mArray.openmptcprouter.vps_admin_error_msg !== "")
+ statusMessage += _('No server defined') + '
';
+ } else {
+ if (mArray.openmptcprouter.vps_status == "DOWN")
{
- statusMessage += ' (' + mArray.openmptcprouter.vps_admin_error_msg + ')';
+ statusMessage += _('Can\'t ping server') + '
';
+ } else if (mArray.openmptcprouter.socks_service_enabled == true && mArray.openmptcprouter.ss_addr == "" && mArray.openmptcprouter.external_check == true)
+ {
+ statusMessage += _('Can\'t get public IP address from ShadowSocks') + '
';
+ } else if (mArray.openmptcprouter.wan_addr == "" && mArray.openmptcprouter.external_check == true)
+ {
+ statusMessage += _('No WAN IP address detected in less than 1 second') + '
';
}
- statusMessage += '
';
- }
- if (mArray.openmptcprouter.vps_mptcp == "0")
- {
- statusMessage += _('MPTCP is not enabled on the server') + '
';
- }
- if (mArray.openmptcprouter.vps_time_accurate == false)
- {
- statusMessage += _('Big time difference between the server and the router') + '
';
- }
+ if (mArray.openmptcprouter.vps_admin == false)
+ {
+ statusMessage += _('Can\'t contact Server Admin Script');
+ if (mArray.openmptcprouter.vps_admin_error_msg !== "")
+ {
+ statusMessage += ' (' + mArray.openmptcprouter.vps_admin_error_msg + ')';
+ }
+ statusMessage += '
';
+ }
+ if (mArray.openmptcprouter.vps_mptcp == "0")
+ {
+ statusMessage += _('MPTCP is not enabled on the server') + '
';
+ }
+ if (mArray.openmptcprouter.vps_time_accurate == false)
+ {
+ statusMessage += _('Big time difference between the server and the router') + '
';
+ }
+ }
if (statusMessage !== "" && statusMessageClass !== "error")
{
statusMessageClass = "warning";
@@ -442,7 +447,7 @@
{
statusMessage += _('Multipath seems to be blocked on the connection') + '
';
}
- if(server_ping == 'DOWN')
+ if(server_ping == 'DOWN' && mArray.openmptcprouter.service_addr == "")
{
statusMessage += _('No Server ping response after 1 second') + '
';
}
diff --git a/luci-app-openmptcprouter/root/usr/libexec/rpcd/openmptcprouter b/luci-app-openmptcprouter/root/usr/libexec/rpcd/openmptcprouter
index 33a05b497..99c0b578b 100755
--- a/luci-app-openmptcprouter/root/usr/libexec/rpcd/openmptcprouter
+++ b/luci-app-openmptcprouter/root/usr/libexec/rpcd/openmptcprouter
@@ -635,6 +635,15 @@ function interfaces_status()
mArray.openmptcprouter["latest_version_vps"] = uci:get("openmptcprouter", "latest_versions", "vps") or ""
mArray.openmptcprouter["service_addr"] = uci:get("shadowsocks-libev", "sss0", "server") or ""
+ if mArray.openmptcprouter["service_addr"] == "" or mArray.openmptcprouter["service_addr"] == "192.168.1.3" then
+ mArray.openmptcprouter["service_addr"] = ""
+ ucic:foreach("openmptcprouter", "server", function(s)
+ local serverip = uci:get("openmptcprouter",s[".name"],"ip") or ""
+ if serverip ~= "" then
+ mArray.openmptcprouter["service_addr"] = serverip
+ end
+ end)
+ end
local net = ntm:get_network("lan")
local ipaddr = net:ipaddr() or ""
mArray.openmptcprouter["local_addr"] = ipaddr
@@ -687,7 +696,7 @@ function interfaces_status()
end
-- shadowsocksaddr
mArray.openmptcprouter["ss_addr"] = uci:get("openmptcprouter","omr","detected_ss_ipv4") or ""
- if mArray.openmptcprouter["ss_addr"] == "" then
+ if mArray.openmptcprouter["ss_addr"] == "" and mArray.openmptcprouter["service_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")
@@ -1013,7 +1022,7 @@ function interfaces_status()
end
end
if uci:get("openmptcprouter", interface, "manufacturer") == "huawei" then
- signal = sys.exec("omr-huawei " .. gateway)
+ signal = sys.exec("omr-huawei " .. gateway .. " | tr -d '\n'")
end
elseif gateway == "" then
gw_ping = "DOWN"
@@ -1024,13 +1033,13 @@ function interfaces_status()
local proto = section['proto']
if proto == "qmi" then
local device = section['device']
- signal = sys.exec("omr-qmi " .. device)
+ signal = sys.exec("omr-qmi " .. device .. " | tr -d '\n'")
elseif proto == "3g" then
local device = section['device']
- signal = sys.exec("omr-3g " .. device)
+ signal = sys.exec("omr-3g " .. device .. " | tr -d '\n'")
elseif proto == "modemmanager" then
local device = section['device']
- signal = sys.exec("omr-modemmanager " .. device)
+ signal = sys.exec("omr-modemmanager " .. device .. " | tr -d '\n'")
end
end