mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-03-09 15:40:03 +00:00
Check if server answer on all multipath interfaces
This commit is contained in:
parent
18e99ca95c
commit
0a31d4daf4
1 changed files with 27 additions and 2 deletions
|
@ -37,6 +37,29 @@ _check_server() {
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_check_server_intf() {
|
||||||
|
local host=$1
|
||||||
|
local port=$2
|
||||||
|
local k=0
|
||||||
|
for intf in $(multipath | awk '/default/ {print $1}'); do
|
||||||
|
while [ "$server_ping" = false ] && [ "$k" -le "$retry" ]; do
|
||||||
|
ret=$(curl \
|
||||||
|
--max-time "$OMR_TRACKER_TIMEOUT" \
|
||||||
|
-s \
|
||||||
|
-k \
|
||||||
|
--interface $intf
|
||||||
|
"https://${host}:${port}/"
|
||||||
|
)
|
||||||
|
[ -n "$ret" ] && {
|
||||||
|
server_ping=true
|
||||||
|
return
|
||||||
|
}
|
||||||
|
k=$((k+1))
|
||||||
|
sleep "${intervaltries}"
|
||||||
|
done
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
_disable_current() {
|
_disable_current() {
|
||||||
local serv=$1
|
local serv=$1
|
||||||
config_set $serv current "0"
|
config_set $serv current "0"
|
||||||
|
@ -80,7 +103,8 @@ _check_master() {
|
||||||
fi
|
fi
|
||||||
[ -z "$ip" ] && return
|
[ -z "$ip" ] && return
|
||||||
#_ping_server $ip
|
#_ping_server $ip
|
||||||
_check_server $ip $port
|
#_check_server $ip $port
|
||||||
|
_check_server_intf $ip $port
|
||||||
if [ "$server_ping" = true ]; then
|
if [ "$server_ping" = true ]; then
|
||||||
if [ "$(uci -q get shadowsocks-libev.sss${count}.server | tr -d '\n')" != "$ip" ]; then
|
if [ "$(uci -q get shadowsocks-libev.sss${count}.server | tr -d '\n')" != "$ip" ]; then
|
||||||
logger -t "OMR-Tracker-Server" "Master server ${name} up ($ip), set it back"
|
logger -t "OMR-Tracker-Server" "Master server ${name} up ($ip), set it back"
|
||||||
|
@ -221,7 +245,8 @@ _check_backup() {
|
||||||
[ -n "$ip6resolve" ] && ip="$ip6resolve"
|
[ -n "$ip6resolve" ] && ip="$ip6resolve"
|
||||||
fi
|
fi
|
||||||
#_ping_server $ip
|
#_ping_server $ip
|
||||||
_check_server $ip $port
|
#_check_server $ip $port
|
||||||
|
_check_server_intf $ip $port
|
||||||
#[ "$server_ping" = true ] && [ "$(uci -q get shadowsocks-libev.sss${count}.server | tr -d '\n')" = "$ip" ] && break
|
#[ "$server_ping" = true ] && [ "$(uci -q get shadowsocks-libev.sss${count}.server | tr -d '\n')" = "$ip" ] && break
|
||||||
if [ "$server_ping" = true ]; then
|
if [ "$server_ping" = true ]; then
|
||||||
if [ "$(uci -q get shadowsocks-libev.sss${count}.server | tr -d '\n')" != "$ip" ]; then
|
if [ "$(uci -q get shadowsocks-libev.sss${count}.server | tr -d '\n')" != "$ip" ]; then
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue