1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-02-15 03:51:51 +00:00
This commit is contained in:
suyuan 2024-08-02 22:54:58 +08:00 committed by GitHub
commit 0f05b1877b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 55 additions and 34 deletions

View file

@ -440,12 +440,18 @@ local statuslogo = ucic:get("openmptcprouter","settings","statuslogo") or "openm
statusMessageClass = "error"; statusMessageClass = "error";
statusMessage = ""; statusMessage = "";
break; break;
case 'WARNING':
stat = 'Warning';
cssc = 'rgb(144, 240, 144)';
statusIcon = "<%=resource%>/openmptcprouter/images/statusWarning.png";
statusMessageClass = "warning";
statusMessage = "Some connectivity tests failed";
default: default:
stat = 'Unknown'; stat = 'Unknown';
cssc = 'rgb(144, 240, 144)'; cssc = 'rgb(144, 240, 144)';
statusIcon = "<%=resource%>/openmptcprouter/images/statusWarning.png"; statusIcon = "<%=resource%>/openmptcprouter/images/statusWarning.png";
statusMessageClass = "warning"; statusMessageClass = "warning";
statusMessage = ""; statusMessage = "Unknown status";
} }
// Populate info // Populate info
var wanip = mArray.wans[i].wanip; var wanip = mArray.wans[i].wanip;

View file

@ -80,6 +80,8 @@ omr_set_settings() {
config_get disable_ipv6 settings disable_ipv6 "0" config_get disable_ipv6 settings disable_ipv6 "0"
if [ "$disable_ipv6" = "1" ]; then if [ "$disable_ipv6" = "1" ]; then
uci -q set network.$1.ipv6=0 uci -q set network.$1.ipv6=0
else
uci -q set network.$1.ipv6=1
fi fi
[ -z "$addlatency" ] && addlatency=0 [ -z "$addlatency" ] && addlatency=0

View file

@ -221,6 +221,10 @@ _check_master() {
add_list openvpn.omr.remote="$ip" add_list openvpn.omr.remote="$ip"
EOF EOF
fi fi
uci -q batch <<-EOF >/dev/null
set openmptcprouter.${name}.current='1'
commit openmptcprouter
EOF
if [ "$count" -eq "0" ]; then if [ "$count" -eq "0" ]; then
config_load openmptcprouter config_load openmptcprouter
config_foreach _disable_current server config_foreach _disable_current server
@ -248,8 +252,6 @@ _check_master() {
del openvpn.omr.remote del openvpn.omr.remote
add_list openvpn.omr.remote="$ip" add_list openvpn.omr.remote="$ip"
commit openvpn commit openvpn
set openmptcprouter.${name}.current='1'
commit openmptcprouter
EOF EOF
/etc/init.d/openmptcprouter-vps get_openvpn_key "$name" >/dev/null 2>/dev/null /etc/init.d/openmptcprouter-vps get_openvpn_key "$name" >/dev/null 2>/dev/null
#/etc/init.d/openmptcprouter-vps restart >/dev/null 2>/dev/null #/etc/init.d/openmptcprouter-vps restart >/dev/null 2>/dev/null
@ -421,6 +423,10 @@ _check_backup() {
set shadowsocks-libev.sss${count}.disabled=0 set shadowsocks-libev.sss${count}.disabled=0
EOF EOF
fi fi
uci -q batch <<-EOF >/dev/null
set openmptcprouter.${name}.current='1'
commit openmptcprouter
EOF
if [ "$count" -eq "0" ]; then if [ "$count" -eq "0" ]; then
config_load openmptcprouter config_load openmptcprouter
@ -449,8 +455,6 @@ _check_backup() {
del openvpn.omr.remote del openvpn.omr.remote
add_list openvpn.omr.remote="$ip" add_list openvpn.omr.remote="$ip"
commit openvpn commit openvpn
set openmptcprouter.${name}.current='1'
commit openmptcprouter
EOF EOF
/etc/init.d/openmptcprouter-vps get_openvpn_key "$name" >/dev/null 2>/dev/null /etc/init.d/openmptcprouter-vps get_openvpn_key "$name" >/dev/null 2>/dev/null
#/etc/init.d/openmptcprouter-vps restart >/dev/null 2>/dev/null #/etc/init.d/openmptcprouter-vps restart >/dev/null 2>/dev/null

View file

@ -1504,44 +1504,53 @@ function interfaces_status()
local current = uci:get("openmptcprouter",s[".name"],"current") or "0" local current = uci:get("openmptcprouter",s[".name"],"current") or "0"
if current == "1" then if current == "1" then
for key, value in pairs(serverips) do for key, value in pairs(serverips) do
local serverip = mArray.openmptcprouter["service_addr"] server_ping = value
if serverip == "127.0.0.1" then if server_ping ~= "UP" then
serverip = mArray.openmptcprouter["wan_addr"] local serverip = mArray.openmptcprouter["service_addr"]
end if serverip == "127.0.0.1" then
if gateway ~= "" then serverip = mArray.openmptcprouter["wan_addr"]
serverip = sys.exec('resolveip -4 ' .. value .. ' | head -n 1') end
elseif gateway6 ~= "" then if gateway ~= "" then
serverip = sys.exec('resolveip -6 ' .. value .. ' | head -n 1') serverip = sys.exec('resolveip -4 ' .. value .. ' | head -n 1')
end elseif gateway6 ~= "" then
if serverip == "" then serverip = sys.exec('resolveip -6 ' .. value .. ' | head -n 1')
serverip = value end
end if serverip == "" then
if serverip ~= "" then serverip = value
local server_ping_test = sys.exec("ping -B -w 1 -c 1 -I " .. ifname .. " " .. serverip) end
local server_ping_result = ut.trim(sys.exec("echo '" .. server_ping_test .. "' | grep '100% packet loss'")) if serverip ~= "" then
local server_ping_nobind = ut.trim(sys.exec("echo '" .. server_ping_test .. "' | grep 'Address not available'")) local server_ping_test = sys.exec("ping -B -w 1 -c 1 -I " .. ifname .. " " .. serverip .. " 2>&1")
if server_ping_result ~= "" then local server_ping_result = ut.trim(sys.exec("echo '" .. server_ping_test .. "' | grep '100% packet loss'"))
server_ping = "DOWN" local server_ping_nobind = ut.trim(sys.exec("echo '" .. server_ping_test .. "' | grep 'Address not available'"))
if connectivity == "OK" then local server_ping_error = ut.trim(sys.exec("echo '" .. server_ping_test .. "' | grep -i 'error'"))
connectivity = "WARNING" if server_ping_error ~= "" then
end
elseif server_ping_nobind ~= "" then
server_ping_test = sys.exec("ping -w 1 -c 1 -I " .. ifname .. " " .. serverip)
server_ping_result = ut.trim(sys.exec("echo '" .. server_ping_test .. "' | grep '100% packet loss'"))
if server_ping_result ~= "" then
server_ping = "DOWN" server_ping = "DOWN"
if connectivity == "OK" then if connectivity == "OK" then
connectivity = "WARNING" connectivity = "WARNING"
end end
elseif server_ping_result ~= "" then
server_ping = "DOWN"
if connectivity == "OK" then
connectivity = "WARNING"
end
elseif server_ping_nobind ~= "" then
server_ping_test = sys.exec("ping -w 1 -c 1 -I " .. ifname .. " " .. serverip)
server_ping_result = ut.trim(sys.exec("echo '" .. server_ping_test .. "' | grep '100% packet loss'"))
if server_ping_result ~= "" then
server_ping = "DOWN"
if connectivity == "OK" then
connectivity = "WARNING"
end
else
mArray.openmptcprouter["vps_status"] = "UP"
server_ping = "UP"
latency = ut.trim(sys.exec("echo '" .. server_ping_test .. "' | cut -d '/' -s -f5 | cut -d '.' -f1"))
end
else else
mArray.openmptcprouter["vps_status"] = "UP" mArray.openmptcprouter["vps_status"] = "UP"
server_ping = "UP" server_ping = "UP"
latency = ut.trim(sys.exec("echo '" .. server_ping_test .. "' | cut -d '/' -s -f5 | cut -d '.' -f1")) latency = ut.trim(sys.exec("echo '" .. server_ping_test .. "' | cut -d '/' -s -f5 | cut -d '.' -f1"))
end end
else
mArray.openmptcprouter["vps_status"] = "UP"
server_ping = "UP"
latency = ut.trim(sys.exec("echo '" .. server_ping_test .. "' | cut -d '/' -s -f5 | cut -d '.' -f1"))
end end
end end
end end