1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-03-09 15:40:03 +00:00

Add option to disable external tests

This commit is contained in:
Ycarus 2019-02-25 20:06:54 +01:00
parent 09b2d20c2f
commit a90df1a0b3
3 changed files with 39 additions and 20 deletions

View file

@ -699,15 +699,21 @@ function interfaces_status()
if mArray.openmptcprouter["dns"] == true then if mArray.openmptcprouter["dns"] == true then
-- wanaddr -- wanaddr
--mArray.openmptcprouter["wan_addr"] = uci:get("openmptcprouter","omr","public_detected_ipv4") or "" --mArray.openmptcprouter["wan_addr"] = uci:get("openmptcprouter","omr","public_detected_ipv4") or ""
mArray.openmptcprouter["wan_addr"] = ut.trim(sys.exec("wget -4 -qO- -T 2 http://ip.openmptcprouter.com"))
if mArray.openmptcprouter["wan_addr"] == "" then if uci:get("openmptcprouter","settings","external_check") ~= "0" then
mArray.openmptcprouter["wan_addr"] = ut.trim(sys.exec("dig TXT +timeout=2 +short o-o.myaddr.l.google.com | awk -F'\"' '{print $2}'")) mArray.openmptcprouter["wan_addr"] = ut.trim(sys.exec("wget -4 -qO- -T 2 http://ip.openmptcprouter.com"))
end if mArray.openmptcprouter["wan_addr"] == "" then
if mArray.openmptcprouter["ipv6"] == "enabled" then mArray.openmptcprouter["wan_addr"] = ut.trim(sys.exec("dig TXT +timeout=2 +short o-o.myaddr.l.google.com | awk -F'\"' '{print $2}'"))
mArray.openmptcprouter["wan_addr6"] = uci:get("openmptcprouter","omr","public_detected_ipv6") or ""
if mArray.openmptcprouter["wan_addr6"] == "" then
mArray.openmptcprouter["wan_addr6"] = ut.trim(sys.exec("wget -6 -qO- -T 2 http://ipv6.openmptcprouter.com"))
end end
if mArray.openmptcprouter["ipv6"] == "enabled" then
mArray.openmptcprouter["wan_addr6"] = uci:get("openmptcprouter","omr","public_detected_ipv6") or ""
if mArray.openmptcprouter["wan_addr6"] == "" then
mArray.openmptcprouter["wan_addr6"] = ut.trim(sys.exec("wget -6 -qO- -T 2 http://ipv6.openmptcprouter.com"))
end
end
mArray.openmptcprouter["external_check"] = true
else
mArray.openmptcprouter["external_check"] = false
end end
-- shadowsocksaddr -- shadowsocksaddr
mArray.openmptcprouter["ss_addr"] = uci:get("openmptcprouter","omr","detected_ss_ipv4") or "" mArray.openmptcprouter["ss_addr"] = uci:get("openmptcprouter","omr","detected_ss_ipv4") or ""
@ -715,8 +721,10 @@ function interfaces_status()
tracker_ip = uci:get("shadowsocks-libev","tracker","local_address") or "" tracker_ip = uci:get("shadowsocks-libev","tracker","local_address") or ""
if tracker_ip ~= "" then if tracker_ip ~= "" then
local tracker_port = uci:get("shadowsocks-libev","tracker","local_port") local tracker_port = uci:get("shadowsocks-libev","tracker","local_port")
mArray.openmptcprouter["ss_addr"] = ut.trim(sys.exec("curl -s -4 --socks5 " .. tracker_ip .. ":" .. tracker_port .. " -m 2 http://ip.openmptcprouter.com")) if uci:get("openmptcprouter","settings","external_check") ~= "0" then
--mArray.openmptcprouter["ss_addr6"] = sys.exec("curl -s -6 --socks5 " .. tracker_ip .. ":" .. tracker_port .. " -m 3 http://ipv6.openmptcprouter.com") mArray.openmptcprouter["ss_addr"] = ut.trim(sys.exec("curl -s -4 --socks5 " .. tracker_ip .. ":" .. tracker_port .. " -m 2 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 end
end end
end end
@ -1043,13 +1051,13 @@ function interfaces_status()
end end
local publicIP = uci:get("openmptcprouter",interface,"publicip") or "" local publicIP = uci:get("openmptcprouter",interface,"publicip") or ""
if ifname ~= nil and publicIP == "" then if ifname ~= nil and publicIP == "" and uci:get("openmptcprouter","settings","external_check") ~= "0" then
publicIP = ut.trim(sys.exec("omr-ip-intf " .. ifname)) publicIP = ut.trim(sys.exec("omr-ip-intf " .. ifname))
end end
local whois = "" local whois = ""
if publicIP ~= "" then if publicIP ~= "" then
whois = uci:get("openmptcprouter",interface,"asn") or "" whois = uci:get("openmptcprouter",interface,"asn") or ""
if whois == "" then if whois == "" and uci:get("openmptcprouter","settings","external_check") ~= "0" then
--whois = ut.trim(sys.exec("whois " .. publicIP .. " | grep -i 'netname' | awk '{print $2}'")) --whois = ut.trim(sys.exec("whois " .. publicIP .. " | grep -i 'netname' | awk '{print $2}'"))
whois = ut.trim(sys.exec("wget -4 -qO- -T 1 'http://api.iptoasn.com/v1/as/ip/" .. publicIP .. "' | jsonfilter -q -e '@.as_description'")) whois = ut.trim(sys.exec("wget -4 -qO- -T 1 'http://api.iptoasn.com/v1/as/ip/" .. publicIP .. "' | jsonfilter -q -e '@.as_description'"))
end end

View file

@ -198,12 +198,14 @@
} else if (mArray.openmptcprouter.ss_addr != "" && mArray.openmptcprouter.vps_status != "DOWN") } else if (mArray.openmptcprouter.ss_addr != "" && mArray.openmptcprouter.vps_status != "DOWN")
{ {
var title = String.format("OpenMPTCProuter Server (%s)", mArray.openmptcprouter.ss_addr); var title = String.format("OpenMPTCProuter Server (%s)", mArray.openmptcprouter.ss_addr);
} else if (mArray.openmptcprouter.external_check == false) {
var title = String.format("OpenMPTCProuter Server ?");
} else { } else {
var title = "No output"; var title = "No output";
} }
content = ""; content = "";
statusMessage = ""; statusMessage = "";
if (mArray.openmptcprouter.wan_addr == "" && mArray.openmptcprouter.ss_addr == "") if (mArray.openmptcprouter.wan_addr == "" && mArray.openmptcprouter.ss_addr == "" && mArray.openmptcprouter.external_check == true) {
{ {
statusMessage += 'No VPS IP address, No WAN IP address<br/>'; statusMessage += 'No VPS IP address, No WAN IP address<br/>';
} }
@ -219,10 +221,10 @@
if (mArray.openmptcprouter.vps_status == "DOWN") if (mArray.openmptcprouter.vps_status == "DOWN")
{ {
statusMessage += 'Can\'t ping server<br/>'; statusMessage += 'Can\'t ping server<br/>';
} else if (mArray.openmptcprouter.socks_service_enabled == true && mArray.openmptcprouter.ss_addr == "") } 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<br/>'; statusMessage += 'Can\'t get public IP address from ShadowSocks<br/>';
} else if (mArray.openmptcprouter.wan_addr == "") } else if (mArray.openmptcprouter.wan_addr == "" && mArray.openmptcprouter.external_check == true)
{ {
statusMessage += 'No WAN IP address detected in less than 1 second<br/>'; statusMessage += 'No WAN IP address detected in less than 1 second<br/>';
} }

View file

@ -348,7 +348,9 @@ fi
# Save wan settings for status page # Save wan settings for status page
if [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.lc)" = "" ] || [ $(($(date +"%s") - $(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.lc))) -gt 3600 ]; then if [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.lc)" = "" ] || [ $(($(date +"%s") - $(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.lc))) -gt 3600 ]; then
_log "Get status and settings for $OMR_TRACKER_INTERFACE..." _log "Get status and settings for $OMR_TRACKER_INTERFACE..."
local ipaddr="$(omr-ip-intf $OMR_TRACKER_DEVICE)" if [ "$(uci -q get openmptcprouter.settings.external_check)" != "0" ]; then
local ipaddr="$(omr-ip-intf $OMR_TRACKER_DEVICE)"
fi
[ -n "$ipaddr" ] && { [ -n "$ipaddr" ] && {
# Check if we can get a IPv6 address, if yes enable RA else disable # Check if we can get a IPv6 address, if yes enable RA else disable
local ip6addr="$(curl -s -6 -m 3 http://ipv6.openmptcprouter.com/)" local ip6addr="$(curl -s -6 -m 3 http://ipv6.openmptcprouter.com/)"
@ -371,10 +373,12 @@ if [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.lc)" = "" ] || [ $(($(
/etc/init.d/odhcpd enable > /dev/null 2>&1 /etc/init.d/odhcpd enable > /dev/null 2>&1
fi fi
fi fi
local asn="$(wget -4 -qO- -T 5 http://api.iptoasn.com/v1/as/ip/$ipaddr | jsonfilter -q -e '@.as_description')" if [ "$(uci -q get openmptcprouter.settings.external_check)" != "0" ]; then
[ -z "$asn" ] && { local asn="$(wget -4 -qO- -T 5 http://api.iptoasn.com/v1/as/ip/$ipaddr | jsonfilter -q -e '@.as_description')"
asn="$(whois $ipaddr 2>/dev/null | grep -m 1 -i 'netname' | awk '{print $2}')" [ -z "$asn" ] && {
} asn="$(whois $ipaddr 2>/dev/null | grep -m 1 -i 'netname' | awk '{print $2}')"
}
fi
[ -z "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE)" ] && { [ -z "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE)" ] && {
uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE=interface uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE=interface
} }
@ -421,6 +425,11 @@ if [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.lc)" = "" ] || [ $(($(
uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.lc=$(date +"%s") uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.lc=$(date +"%s")
fi fi
} }
if [ "$(uci -q get shadowsocks-libev.sss0.server)" != "" ] && [ "$(uci -q get openmptcprouter.settings.external_check)" = "0" ]; then
if ping -c 1 $(uci -q get shadowsocks-libev.sss0.server) &> /dev/null; then
uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.lc=$(date +"%s")
fi
fi
if [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.lc)" = "" ] || [ $(($(date +"%s") - $(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.lc))) -gt 3600 ]; then if [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.lc)" = "" ] || [ $(($(date +"%s") - $(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.lc))) -gt 3600 ]; then
uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.lc=$(( $(date +"%s") - 3400 )) uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.lc=$(( $(date +"%s") - 3400 ))
_log "Get status and settings for $OMR_TRACKER_INTERFACE... Failed" _log "Get status and settings for $OMR_TRACKER_INTERFACE... Failed"