mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-03-09 15:40:03 +00:00
Track both server IP
This commit is contained in:
parent
4b68351f4c
commit
57fff1658e
1 changed files with 97 additions and 62 deletions
|
@ -37,9 +37,26 @@ _check_server() {
|
|||
done
|
||||
}
|
||||
|
||||
_disable_redir() {
|
||||
local redir=$1
|
||||
config_get server $redir server
|
||||
if [ "$server" = "sss${count}" ]; then
|
||||
config_set $redir disabled "1"
|
||||
fi
|
||||
}
|
||||
|
||||
_enable_redir() {
|
||||
local redir=$1
|
||||
config_get server $redir server
|
||||
if [ "$server" = "sss${count}" ]; then
|
||||
config_set $redir disabled "0"
|
||||
fi
|
||||
}
|
||||
|
||||
_check_master() {
|
||||
local name=$1
|
||||
local count=0
|
||||
local countips=0
|
||||
config_get master $1 master
|
||||
config_get ip $1 ip
|
||||
config_get port $1 port "65500"
|
||||
|
@ -49,9 +66,10 @@ _check_master() {
|
|||
local ip=$1
|
||||
#_ping_server $ip
|
||||
_check_server $ip $port
|
||||
[ "$server_ping" = true ] && [ "$(uci -q get shadowsocks-libev.sss${count}.server | tr -d '\n')" != "$ip" ] && {
|
||||
logger -t "OMR-Tracker-Server" "Master server up, set it back"
|
||||
logger -t "OMR-Tracker-Server" "$(uci -q get shadowsocks-libev.sss${count}.server | tr -d '\n') - $ip"
|
||||
if [ "$server_ping" = true ]; 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" "$(uci -q get shadowsocks-libev.sss${count}.server | tr -d '\n') - $ip"
|
||||
uci -q batch <<-EOF >/dev/null
|
||||
set shadowsocks-libev.sss${count}.server=$ip
|
||||
commit shadowsocks-libev
|
||||
|
@ -80,8 +98,15 @@ _check_master() {
|
|||
/etc/init.d/dsvpn restart >/dev/null 2>/dev/null
|
||||
fi
|
||||
/etc/init.d/shadowsocks-libev restart >/dev/null 2>/dev/null
|
||||
}
|
||||
fi
|
||||
config_load shadowsocks-libev
|
||||
config_foreach _enable_redir ss_redir
|
||||
count=$((count+1))
|
||||
else
|
||||
config_load shadowsocks-libev
|
||||
config_foreach _disable_redir ss_redir
|
||||
fi
|
||||
countips=$((countips+1))
|
||||
}
|
||||
config_list_foreach $1 ip set_ip
|
||||
break
|
||||
|
@ -91,6 +116,7 @@ _check_master() {
|
|||
_check_backup() {
|
||||
local name=$1
|
||||
local count=0
|
||||
local countips=0
|
||||
config_get backup $1 backup
|
||||
config_get ip $1 ip
|
||||
config_get port $1 port
|
||||
|
@ -99,8 +125,9 @@ _check_backup() {
|
|||
set_ip() {
|
||||
#_ping_server $ip
|
||||
_check_server $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" ] && {
|
||||
#[ "$server_ping" = true ] && [ "$(uci -q get shadowsocks-libev.sss${count}.server | tr -d '\n')" = "$ip" ] && break
|
||||
if [ "$server_ping" = true ]; then
|
||||
if [ "$(uci -q get shadowsocks-libev.sss${count}.server | tr -d '\n')" != "$ip" ]; then
|
||||
logger -t "OMR-Tracker-Server" "Use backup server $1 ($ip)"
|
||||
uci -q batch <<-EOF >/dev/null
|
||||
set shadowsocks-libev.sss${count}.server=$ip
|
||||
|
@ -131,11 +158,19 @@ _check_backup() {
|
|||
fi
|
||||
/etc/init.d/shadowsocks-libev restart >/dev/null 2>/dev/null
|
||||
sleep $waittest
|
||||
break
|
||||
}
|
||||
fi
|
||||
config_load shadowsocks-libev
|
||||
config_foreach _enable_redir ss_redir
|
||||
count=$((count+1))
|
||||
else
|
||||
config_load shadowsocks-libev
|
||||
config_foreach _disable_redir ss_redir
|
||||
fi
|
||||
countips=$((countips+1))
|
||||
}
|
||||
config_list_foreach $1 ip set_ip
|
||||
uci -q commit shadowsocks-libev
|
||||
[ "$server_ping" = true ] && break
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue