mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-02-15 03:51:51 +00:00
Fix get interface IP when server have multiple IPs
This commit is contained in:
parent
e3ea12a28f
commit
fa375333df
2 changed files with 21 additions and 14 deletions
|
@ -4,8 +4,9 @@
|
|||
intf=$1
|
||||
|
||||
get_ip_from_server() {
|
||||
serverip=$(uci -q get openmptcprouter.$1.ip)
|
||||
serverport=$(uci -q get openmptcprouter.$1.port)
|
||||
get_ip() {
|
||||
serverip=$1
|
||||
getip="$(curl -s -k -4 -m 2 --interface $intf https://$serverip:$serverport/clienthost)"
|
||||
[ -n "$getip" ] && getip=$(echo $getip | jsonfilter -e '@.client_host')
|
||||
if expr "$getip" : '[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*$' >/dev/null; then
|
||||
|
@ -13,6 +14,9 @@ get_ip_from_server() {
|
|||
break
|
||||
fi
|
||||
}
|
||||
config_list_foreach $1 ip get_ip
|
||||
[ -n "$ip" ] && break
|
||||
}
|
||||
|
||||
get_ip_from_website() {
|
||||
check_ipv4_website="$(uci -q get openmptcprouter.settings.check_ipv4_website)"
|
||||
|
|
|
@ -4,8 +4,8 @@
|
|||
intf=$1
|
||||
|
||||
get_ip_from_server() {
|
||||
serverip=$(uci -q get openmptcprouter.$1.ip)
|
||||
serverport=$(uci -q get openmptcprouter.$1.port)
|
||||
get_ip() {
|
||||
getip="$(curl -s -k -6 -m 2 --interface $intf https://$serverip:$serverport/clienthost)"
|
||||
[ -n "$getip" ] && getip=$(echo $getip | jsonfilter -e '@.client_host')
|
||||
if [ -n "$(echo "$getip" | grep :)" ]; then
|
||||
|
@ -13,6 +13,9 @@ get_ip_from_server() {
|
|||
break
|
||||
fi
|
||||
}
|
||||
config_list_foreach $1 ip get_ip
|
||||
[ -n "$ip" ] && break
|
||||
}
|
||||
|
||||
get_ip_from_website() {
|
||||
check_ipv6_website="$(uci -q get openmptcprouter.settings.check_ipv6_website)"
|
||||
|
|
Loading…
Reference in a new issue