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
|
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,39 +66,47 @@ _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"
|
||||||
uci -q batch <<-EOF >/dev/null
|
#logger -t "OMR-Tracker-Server" "$(uci -q get shadowsocks-libev.sss${count}.server | tr -d '\n') - $ip"
|
||||||
set shadowsocks-libev.sss${count}.server=$ip
|
|
||||||
commit shadowsocks-libev
|
|
||||||
EOF
|
|
||||||
if [ "$count" -eq "0" ]; then
|
|
||||||
uci -q batch <<-EOF >/dev/null
|
uci -q batch <<-EOF >/dev/null
|
||||||
set v2ray.omrout.s_vmess_address=$ip
|
set shadowsocks-libev.sss${count}.server=$ip
|
||||||
set v2ray.omrout.s_vless_address=$ip
|
commit shadowsocks-libev
|
||||||
commit v2ray
|
|
||||||
set glorytun.vpn.host=$ip
|
|
||||||
commit glorytun
|
|
||||||
set dsvpn.vpn.host=$ip
|
|
||||||
commit dsvpn
|
|
||||||
set mlvpn.general.host=$ip
|
|
||||||
commit mlvpn
|
|
||||||
del openvpn.omr.remote
|
|
||||||
add_list openvpn.omr.remote=$ip
|
|
||||||
commit openvpn
|
|
||||||
EOF
|
EOF
|
||||||
/etc/init.d/openmptcprouter-vps get_openvpn_key $name >/dev/null 2>/dev/null
|
if [ "$count" -eq "0" ]; then
|
||||||
/etc/init.d/v2ray restart >/dev/null 2>/dev/null
|
uci -q batch <<-EOF >/dev/null
|
||||||
/etc/init.d/glorytun restart >/dev/null 2>/dev/null
|
set v2ray.omrout.s_vmess_address=$ip
|
||||||
/etc/init.d/glorytun-udp restart >/dev/null 2>/dev/null
|
set v2ray.omrout.s_vless_address=$ip
|
||||||
/etc/init.d/mlvpn restart >/dev/null 2>/dev/null
|
commit v2ray
|
||||||
/etc/init.d/openvpn restart >/dev/null 2>/dev/null
|
set glorytun.vpn.host=$ip
|
||||||
/etc/init.d/dsvpn restart >/dev/null 2>/dev/null
|
commit glorytun
|
||||||
|
set dsvpn.vpn.host=$ip
|
||||||
|
commit dsvpn
|
||||||
|
set mlvpn.general.host=$ip
|
||||||
|
commit mlvpn
|
||||||
|
del openvpn.omr.remote
|
||||||
|
add_list openvpn.omr.remote=$ip
|
||||||
|
commit openvpn
|
||||||
|
EOF
|
||||||
|
/etc/init.d/openmptcprouter-vps get_openvpn_key $name >/dev/null 2>/dev/null
|
||||||
|
/etc/init.d/v2ray restart >/dev/null 2>/dev/null
|
||||||
|
/etc/init.d/glorytun restart >/dev/null 2>/dev/null
|
||||||
|
/etc/init.d/glorytun-udp restart >/dev/null 2>/dev/null
|
||||||
|
/etc/init.d/mlvpn restart >/dev/null 2>/dev/null
|
||||||
|
/etc/init.d/openvpn restart >/dev/null 2>/dev/null
|
||||||
|
/etc/init.d/dsvpn restart >/dev/null 2>/dev/null
|
||||||
|
fi
|
||||||
|
/etc/init.d/shadowsocks-libev restart >/dev/null 2>/dev/null
|
||||||
fi
|
fi
|
||||||
/etc/init.d/shadowsocks-libev restart >/dev/null 2>/dev/null
|
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,43 +125,52 @@ _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
|
||||||
logger -t "OMR-Tracker-Server" "Use backup server $1 ($ip)"
|
if [ "$(uci -q get shadowsocks-libev.sss${count}.server | tr -d '\n')" != "$ip" ]; then
|
||||||
uci -q batch <<-EOF >/dev/null
|
logger -t "OMR-Tracker-Server" "Use backup server $1 ($ip)"
|
||||||
set shadowsocks-libev.sss${count}.server=$ip
|
|
||||||
commit shadowsocks-libev
|
|
||||||
EOF
|
|
||||||
if [ "$count" -eq "0" ]; then
|
|
||||||
uci -q batch <<-EOF >/dev/null
|
uci -q batch <<-EOF >/dev/null
|
||||||
set v2ray.omrout.s_vmess_address=$ip
|
set shadowsocks-libev.sss${count}.server=$ip
|
||||||
set v2ray.omrout.s_vless_address=$ip
|
commit shadowsocks-libev
|
||||||
commit v2ray
|
|
||||||
set glorytun.vpn.host=$ip
|
|
||||||
commit glorytun
|
|
||||||
set dsvpn.vpn.host=$ip
|
|
||||||
commit dsvpn
|
|
||||||
set mlvpn.general.host=$ip
|
|
||||||
commit mlvpn
|
|
||||||
del openvpn.omr.remote
|
|
||||||
add_list openvpn.omr.remote=$ip
|
|
||||||
commit openvpn
|
|
||||||
EOF
|
EOF
|
||||||
/etc/init.d/openmptcprouter-vps get_openvpn_key $name >/dev/null 2>/dev/null
|
if [ "$count" -eq "0" ]; then
|
||||||
/etc/init.d/v2ray restart >/dev/null 2>/dev/null
|
uci -q batch <<-EOF >/dev/null
|
||||||
/etc/init.d/glorytun restart >/dev/null 2>/dev/null
|
set v2ray.omrout.s_vmess_address=$ip
|
||||||
/etc/init.d/glorytun-udp restart >/dev/null 2>/dev/null
|
set v2ray.omrout.s_vless_address=$ip
|
||||||
/etc/init.d/mlvpn restart >/dev/null 2>/dev/null
|
commit v2ray
|
||||||
/etc/init.d/openvpn restart >/dev/null 2>/dev/null
|
set glorytun.vpn.host=$ip
|
||||||
/etc/init.d/dsvpn restart >/dev/null 2>/dev/null
|
commit glorytun
|
||||||
|
set dsvpn.vpn.host=$ip
|
||||||
|
commit dsvpn
|
||||||
|
set mlvpn.general.host=$ip
|
||||||
|
commit mlvpn
|
||||||
|
del openvpn.omr.remote
|
||||||
|
add_list openvpn.omr.remote=$ip
|
||||||
|
commit openvpn
|
||||||
|
EOF
|
||||||
|
/etc/init.d/openmptcprouter-vps get_openvpn_key $name >/dev/null 2>/dev/null
|
||||||
|
/etc/init.d/v2ray restart >/dev/null 2>/dev/null
|
||||||
|
/etc/init.d/glorytun restart >/dev/null 2>/dev/null
|
||||||
|
/etc/init.d/glorytun-udp restart >/dev/null 2>/dev/null
|
||||||
|
/etc/init.d/mlvpn restart >/dev/null 2>/dev/null
|
||||||
|
/etc/init.d/openvpn restart >/dev/null 2>/dev/null
|
||||||
|
/etc/init.d/dsvpn restart >/dev/null 2>/dev/null
|
||||||
|
fi
|
||||||
|
/etc/init.d/shadowsocks-libev restart >/dev/null 2>/dev/null
|
||||||
|
sleep $waittest
|
||||||
fi
|
fi
|
||||||
/etc/init.d/shadowsocks-libev restart >/dev/null 2>/dev/null
|
config_load shadowsocks-libev
|
||||||
sleep $waittest
|
config_foreach _enable_redir ss_redir
|
||||||
break
|
count=$((count+1))
|
||||||
}
|
else
|
||||||
count=$((count+1))
|
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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue