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,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
} }
} }