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

Site used to detect public IPv4 or IPv6 can be changed by settings

This commit is contained in:
Ycarus (Yannick Chabanois) 2019-07-29 10:36:22 +02:00
parent 6e3e48a693
commit 9edcbba492
5 changed files with 33 additions and 11 deletions

View file

@ -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

View file

@ -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

View file

@ -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