1
0
Fork 0
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:
Ycarus (Yannick Chabanois) 2021-02-09 14:35:48 +01:00
parent 4b68351f4c
commit 57fff1658e

View file

@ -37,9 +37,26 @@ _check_server() {
done 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() { _check_master() {
local name=$1 local name=$1
local count=0 local count=0
local countips=0
config_get master $1 master config_get master $1 master
config_get ip $1 ip config_get ip $1 ip
config_get port $1 port "65500" config_get port $1 port "65500"
@ -49,9 +66,10 @@ _check_master() {
local ip=$1 local ip=$1
#_ping_server $ip #_ping_server $ip
_check_server $ip $port _check_server $ip $port
[ "$server_ping" = true ] && [ "$(uci -q get shadowsocks-libev.sss${count}.server | tr -d '\n')" != "$ip" ] && { if [ "$server_ping" = true ]; then
logger -t "OMR-Tracker-Server" "Master server up, set it back" if [ "$(uci -q get shadowsocks-libev.sss${count}.server | tr -d '\n')" != "$ip" ]; then
logger -t "OMR-Tracker-Server" "$(uci -q get shadowsocks-libev.sss${count}.server | tr -d '\n') - $ip" 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 uci -q batch <<-EOF >/dev/null
set shadowsocks-libev.sss${count}.server=$ip set shadowsocks-libev.sss${count}.server=$ip
commit shadowsocks-libev commit shadowsocks-libev
@ -80,8 +98,15 @@ _check_master() {
/etc/init.d/dsvpn restart >/dev/null 2>/dev/null /etc/init.d/dsvpn restart >/dev/null 2>/dev/null
fi fi
/etc/init.d/shadowsocks-libev restart >/dev/null 2>/dev/null /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)) 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 config_list_foreach $1 ip set_ip
break break
@ -91,6 +116,7 @@ _check_master() {
_check_backup() { _check_backup() {
local name=$1 local name=$1
local count=0 local count=0
local countips=0
config_get backup $1 backup config_get backup $1 backup
config_get ip $1 ip config_get ip $1 ip
config_get port $1 port config_get port $1 port
@ -99,8 +125,9 @@ _check_backup() {
set_ip() { set_ip() {
#_ping_server $ip #_ping_server $ip
_check_server $ip $port _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" ] && break
[ "$server_ping" = true ] && [ "$(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" "Use backup server $1 ($ip)" logger -t "OMR-Tracker-Server" "Use backup server $1 ($ip)"
uci -q batch <<-EOF >/dev/null uci -q batch <<-EOF >/dev/null
set shadowsocks-libev.sss${count}.server=$ip set shadowsocks-libev.sss${count}.server=$ip
@ -131,11 +158,19 @@ _check_backup() {
fi fi
/etc/init.d/shadowsocks-libev restart >/dev/null 2>/dev/null /etc/init.d/shadowsocks-libev restart >/dev/null 2>/dev/null
sleep $waittest sleep $waittest
break fi
} config_load shadowsocks-libev
config_foreach _enable_redir ss_redir
count=$((count+1)) 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 config_list_foreach $1 ip set_ip
uci -q commit shadowsocks-libev
[ "$server_ping" = true ] && break
} }
} }