mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-02-14 19:41:51 +00:00
Site used to detect public IPv4 or IPv6 can be changed by settings
This commit is contained in:
parent
6e3e48a693
commit
9edcbba492
5 changed files with 33 additions and 11 deletions
|
@ -759,19 +759,21 @@ function interfaces_status()
|
|||
mArray.openmptcprouter["wan_addr"] = ""
|
||||
mArray.openmptcprouter["wan_addr6"] = ""
|
||||
local tracker_ip = ""
|
||||
local check_ipv4_website = uci:get("openmptcprouter","settings","check_ipv4_website") or "http://ip.openmptcprouter.com"
|
||||
local check_ipv6_website = uci:get("openmptcprouter","settings","check_ipv6_website") or "http://ipv6.openmptcprouter.com"
|
||||
if mArray.openmptcprouter["dns"] == true then
|
||||
-- wanaddr
|
||||
--mArray.openmptcprouter["wan_addr"] = uci:get("openmptcprouter","omr","public_detected_ipv4") or ""
|
||||
|
||||
if uci:get("openmptcprouter","settings","external_check") ~= "0" then
|
||||
mArray.openmptcprouter["wan_addr"] = ut.trim(sys.exec("wget -4 -qO- -T 2 http://ip.openmptcprouter.com"))
|
||||
mArray.openmptcprouter["wan_addr"] = ut.trim(sys.exec("wget -4 -qO- -T 2 " .. check_ipv4_website))
|
||||
if mArray.openmptcprouter["wan_addr"] == "" then
|
||||
mArray.openmptcprouter["wan_addr"] = ut.trim(sys.exec("dig TXT +timeout=2 +short o-o.myaddr.l.google.com | awk -F'\"' '{print $2}'"))
|
||||
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"))
|
||||
mArray.openmptcprouter["wan_addr6"] = ut.trim(sys.exec("wget -6 -qO- -T 2 " .. check_ipv6_website))
|
||||
end
|
||||
end
|
||||
mArray.openmptcprouter["external_check"] = true
|
||||
|
@ -785,7 +787,7 @@ function interfaces_status()
|
|||
if tracker_ip ~= "" then
|
||||
local tracker_port = uci:get("shadowsocks-libev","tracker","local_port")
|
||||
if uci:get("openmptcprouter","settings","external_check") ~= "0" then
|
||||
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_addr"] = ut.trim(sys.exec("curl -s -4 --socks5 " .. tracker_ip .. ":" .. tracker_port .. " -m 2 " .. check_ipv4_website))
|
||||
--mArray.openmptcprouter["ss_addr6"] = sys.exec("curl -s -6 --socks5 " .. tracker_ip .. ":" .. tracker_port .. " -m 3 http://ipv6.openmptcprouter.com")
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
#!/bin/sh
|
||||
checkip=$(dig +short A ip.openmptcprouter.com | tr -d "\n")
|
||||
check_ipv4_website="$(uci -q get openmptcprouter.settings.check_ipv4_website)"
|
||||
[ -z "$check_ipv4_website" ] && check_ipv4_website="http://ip.openmptcprouter.com"
|
||||
checkip=$(echo $check_ipv4_website | sed -e 's/https:\/\///' -e 's/http:\/\///' | xargs dig +short A | tr -d "\n")
|
||||
ipset add ss_rules_dst_bypass_all $checkip > /dev/null 2>&1
|
||||
ip="$(curl -s -4 -m 3 --interface $1 http://ip.openmptcprouter.com)"
|
||||
ip="$(curl -s -4 -m 3 --interface $1 $check_ipv4_website)"
|
||||
ipset del ss_rules_dst_bypass_all $checkip > /dev/null 2>&1
|
||||
if expr "$ip" : '[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*$' >/dev/null; then
|
||||
echo $ip
|
||||
|
|
|
@ -65,4 +65,16 @@ if [ "$(uci -q get openmptcprouter.settings.disable_ipv6)" = "" ]; then
|
|||
commit openmptcprouter
|
||||
EOF
|
||||
fi
|
||||
if [ "$(uci -q get openmptcprouter.settings.check_ipv4_website)" = "" ]; then
|
||||
uci -q batch <<-EOF >/dev/null
|
||||
set openmptcprouter.settings.check_ipv4_website='http://ip.openmptcprouter.com'
|
||||
commit openmptcprouter
|
||||
EOF
|
||||
fi
|
||||
if [ "$(uci -q get openmptcprouter.settings.check_ipv6_website)" = "" ]; then
|
||||
uci -q batch <<-EOF >/dev/null
|
||||
set openmptcprouter.settings.check_ipv4_website='http://ipv6.openmptcprouter.com'
|
||||
commit openmptcprouter
|
||||
EOF
|
||||
fi
|
||||
exit 0
|
||||
|
|
|
@ -414,7 +414,9 @@ if [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.lc)" = "" ] || [ $(($(
|
|||
fi
|
||||
[ -n "$ipaddr" ] && {
|
||||
# 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 check_ipv6_website="$(uci -q get openmptcprouter.settings.check_ipv6_website)"
|
||||
[ -z "$check_ipv6_website" ] && check_ipv6_website="http://ipv6.openmptcprouter.com/"
|
||||
local ip6addr="$(curl -s -6 -m 3 $check_ipv6_website)"
|
||||
[ -z "$ip6addr" ] && {
|
||||
local ip6addr="$(curl -s -6 -m 3 http://ifconfig.co/)"
|
||||
}
|
||||
|
@ -501,8 +503,8 @@ fi
|
|||
[ -n "$OMR_TRACKER_LATENCY" ] && {
|
||||
[ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.latency)" != "" ] && uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.latency_previous="$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.latency)"
|
||||
uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.latency="$OMR_TRACKER_LATENCY"
|
||||
[ -z "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.latency_max)" ] && uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.latency_max="$OMR_TRACKER_LATENCY"
|
||||
[ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.latency_max)" -lt "$OMR_TRACKER_LATENCY" ] && uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.latency_max="$OMR_TRACKER_LATENCY"
|
||||
#[ -z "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.latency_max)" ] && uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.latency_max="$OMR_TRACKER_LATENCY"
|
||||
#[ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.latency_max)" -lt "$OMR_TRACKER_LATENCY" ] && uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.latency_max="$OMR_TRACKER_LATENCY"
|
||||
if [ "$multipath_config" = "on" ] && [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.multipath)" != "master" ] && ([ "$(uci -q get openmptcprouter.settings.master)" = "dynamic" ] || (([ "$(uci -q get openmptcprouter.settings.master)" = "change" ] || [ "$(uci -q get openmptcprouter.settings.master)" = "" ]) && [ "$(uci -q get openmptcprouter.settings.master_lcintf | grep $OMR_TRACKER_INTERFACE)" = "" ])); then
|
||||
masterintf="$(uci -q show network | grep multipath=\'master\' | cut -d'.' -f2)"
|
||||
masterlatency="$(uci -q get openmptcprouter.$masterintf.latency | tr -d '\n')"
|
||||
|
|
|
@ -23,10 +23,14 @@ _ping_server() {
|
|||
_get_ip() {
|
||||
uci -q set openmptcprouter.omr=router
|
||||
if [ "$(uci -q get openmptcprouter.settings.external_check)" != "0" ]; then
|
||||
uci -q set openmptcprouter.omr.detected_public_ipv4="$(wget -4 -qO- -T 3 http://ip.openmptcprouter.com)"
|
||||
uci -q set openmptcprouter.omr.detected_ss_ipv4="$(curl -s -4 --socks5 "${proxy}" --max-time 3 http://ip.openmptcprouter.com)"
|
||||
check_ipv4_website="$(uci -q get openmptcprouter.settings.check_ipv4_website)"
|
||||
[ -z "$check_ipv4_website" ] && check_ipv4_website="http://ip.openmptcprouter.com"
|
||||
check_ipv6_website="$(uci -q get openmptcprouter.settings.check_ipv6_website)"
|
||||
[ -z "$check_ipv6_website" ] && check_ipv4_website="http://ipv6.openmptcprouter.com"
|
||||
uci -q set openmptcprouter.omr.detected_public_ipv4="$(wget -4 -qO- -T 3 $check_ipv4_website)"
|
||||
uci -q set openmptcprouter.omr.detected_ss_ipv4="$(curl -s -4 --socks5 "${proxy}" --max-time 3 $check_ipv4_website)"
|
||||
if [ "$(uci -q get openmptcprouter.settings.disable_ipv6)" != "1" ]; then
|
||||
uci -q set openmptcprouter.omr.detected_public_ipv6="$(wget -6 -qO- -T 3 http://ip.openmptcprouter.com)"
|
||||
uci -q set openmptcprouter.omr.detected_public_ipv6="$(wget -6 -qO- -T 3 $check_ipv6_website)"
|
||||
# uci -q set openmptcprouter.omr.detected_ss_ipv6=$(curl -s -6 --socks5 ":::1111" --max-time 3 http://ip.openmptcprouter.com)
|
||||
fi
|
||||
fi
|
||||
|
|
Loading…
Reference in a new issue