1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-02-14 19:41:51 +00:00

Set OpenVPN IP when one IP of VPS answer

This commit is contained in:
Ycarus (Yannick Chabanois) 2024-06-04 09:37:16 +02:00
parent 50bbc50263
commit e48a69957d

View file

@ -164,13 +164,13 @@ _check_master() {
set_ip() { set_ip() {
ip="$serverip" ip="$serverip"
if [ "$server_ping" = true ]; then if [ "$server_ping" = true ]; then
if [ "$(uci -q get shadowsocks-libev.sss${count}.server | tr -d '\n')" != "$ip" ] && [ "$(uci -q get shadowsocks-rust.sss${count}.server | tr -d '\n')" != "$ip" ]; then if ([ -n "$(uci -q get shadowsocks-libev)" ] && [ "$(uci -q get shadowsocks-libev.sss${count}.server | tr -d '\n')" != "$ip" ]) || ([ -n "$(uci -q get shadowsocks-rust)" ] && [ "$(uci -q get shadowsocks-rust.sss${count}.server | tr -d '\n')" != "$ip" ]) || ([ -n "$(uci -q get openvpn.omr)" ] && [ -z "$(uci -q get openvpn.omr | grep $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"
changes="1" changes="1"
#logger -t "OMR-Tracker-Server" "$(uci -q get shadowsocks-libev.sss${count}.server | tr -d '\n') - $ip" #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"
set shadowsocks-rust.sss${count}.server=$ip set shadowsocks-rust.sss${count}.server="$ip"
EOF EOF
if [ "$(uci -q get openmptcprouter.settings.proxy)" = "shadowsocks-rust" ]; then if [ "$(uci -q get openmptcprouter.settings.proxy)" = "shadowsocks-rust" ]; then
uci -q batch <<-EOF >/dev/null uci -q batch <<-EOF >/dev/null
@ -184,35 +184,35 @@ _check_master() {
fi fi
if [ -z "$(uci -q get openvpn.omr.remote | grep $ip)" ]; then if [ -z "$(uci -q get openvpn.omr.remote | grep $ip)" ]; then
uci -q batch <<-EOF >/dev/null uci -q batch <<-EOF >/dev/null
add_list openvpn.omr.remote=$ip add_list openvpn.omr.remote="$ip"
EOF EOF
fi fi
if [ "$count" -eq "0" ]; then if [ "$count" -eq "0" ]; then
config_load openmptcprouter config_load openmptcprouter
config_foreach _disable_current server config_foreach _disable_current server
uci -q batch <<-EOF >/dev/null uci -q batch <<-EOF >/dev/null
set xray.omrout.s_vmess_address=$ip set xray.omrout.s_vmess_address="$ip"
set xray.omrout.s_vless_address=$ip set xray.omrout.s_vless_address="$ip"
set xray.omrout.s_vless_reality_address=$ip set xray.omrout.s_vless_reality_address="$ip"
set xray.omrout.s_trojan_address=$ip set xray.omrout.s_trojan_address="$ip"
set xray.omrout.s_socks_address=$ip set xray.omrout.s_socks_address="$ip"
set xray.omrout.s_shadowsocks_address=$ip set xray.omrout.s_shadowsocks_address="$ip"
set v2ray.omrout.s_vmess_address=$ip set v2ray.omrout.s_vmess_address="$ip"
set v2ray.omrout.s_vless_address=$ip set v2ray.omrout.s_vless_address="$ip"
set v2ray.omrout.s_trojan_address=$ip set v2ray.omrout.s_trojan_address="$ip"
set v2ray.omrout.s_socks_address=$ip set v2ray.omrout.s_socks_address="$ip"
commit v2ray commit v2ray
commit xray commit xray
set glorytun.vpn.host=$ip set glorytun.vpn.host="$ip"
commit glorytun commit glorytun
glorytun-udp.vpn.host=$ip glorytun-udp.vpn.host="$ip"
commit glorytun commit glorytun
set dsvpn.vpn.host=$ip set dsvpn.vpn.host="$ip"
commit dsvpn commit dsvpn
set mlvpn.general.host=$ip set mlvpn.general.host="$ip"
commit mlvpn commit mlvpn
del openvpn.omr.remote del openvpn.omr.remote
add_list openvpn.omr.remote=$ip add_list openvpn.omr.remote="$ip"
commit openvpn commit openvpn
set openmptcprouter.${name}.current='1' set openmptcprouter.${name}.current='1'
commit openmptcprouter commit openmptcprouter
@ -258,16 +258,16 @@ _check_master() {
OMR_TRACKER_STATUS_MSG="No answer to ping and API check" OMR_TRACKER_STATUS_MSG="No answer to ping and API check"
servername="" servername=""
config_load shadowsocks-libev config_load shadowsocks-libev
config_foreach _get_server_name server $ip config_foreach _get_server_name server "$ip"
[ -n "$servername" ] && config_foreach _disable_redir ss_redir $servername "shadowsocks-libev" [ -n "$servername" ] && config_foreach _disable_redir ss_redir $servername "shadowsocks-libev"
servername="" servername=""
config_load shadowsocks-rust config_load shadowsocks-rust
config_foreach _get_server_name server $ip config_foreach _get_server_name server "$ip"
[ -n "$servername" ] && config_foreach _disable_redir ss_redir $servername "shadowsocks-rust" [ -n "$servername" ] && config_foreach _disable_redir ss_redir $servername "shadowsocks-rust"
if [ -n "$(uci -q get openvpn.omr.remote | grep $ip)" ]; then if [ -n "$(uci -q get openvpn.omr.remote | grep $ip)" ]; then
uci -q batch <<-EOF >/dev/null uci -q batch <<-EOF >/dev/null
del_list openvpn.omr.remote=$ip del_list openvpn.omr.remote="$ip"
EOF EOF
fi fi
@ -357,12 +357,12 @@ _check_backup() {
ip="$serverip" ip="$serverip"
#[ "$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" ] && [ "$(uci -q get shadowsocks-rust.sss${count}.server | tr -d '\n')" != "$ip" ]; then if ([ -n "$(uci -q get shadowsocks-libev)" ] && [ "$(uci -q get shadowsocks-libev.sss${count}.server | tr -d '\n')" != "$ip" ]) || ([ -n "$(uci -q get shadowsocks-rust)" ] && [ "$(uci -q get shadowsocks-rust.sss${count}.server | tr -d '\n')" != "$ip" ]) || ([ -n "$(uci -q get openvpn.omr)" ] && [ -z "$(uci -q get openvpn.omr | grep $ip)" ]); then
logger -t "OMR-Tracker-Server" "Use backup server $1 ($ip)" logger -t "OMR-Tracker-Server" "Use backup server $1 ($ip)"
changes="1" changes="1"
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"
set shadowsocks-rust.sss${count}.server=$ip set shadowsocks-rust.sss${count}.server="$ip"
EOF EOF
if [ "$(uci -q get openmptcprouter.settings.proxy)" = "shadowsocks-rust" ]; then if [ "$(uci -q get openmptcprouter.settings.proxy)" = "shadowsocks-rust" ]; then
uci -q batch <<-EOF >/dev/null uci -q batch <<-EOF >/dev/null
@ -379,28 +379,28 @@ _check_backup() {
config_load openmptcprouter config_load openmptcprouter
config_foreach _disable_current server config_foreach _disable_current server
uci -q batch <<-EOF >/dev/null uci -q batch <<-EOF >/dev/null
set xray.omrout.s_vmess_address=$ip set xray.omrout.s_vmess_address="$ip"
set xray.omrout.s_vless_address=$ip set xray.omrout.s_vless_address="$ip"
set xray.omrout.s_vless_reality_address=$ip set xray.omrout.s_vless_reality_address="$ip"
set xray.omrout.s_trojan_address=$ip set xray.omrout.s_trojan_address="$ip"
set xray.omrout.s_socks_address=$ip set xray.omrout.s_socks_address="$ip"
set xray.omrout.s_shadowsocks_address=$ip set xray.omrout.s_shadowsocks_address="$ip"
set v2ray.omrout.s_vmess_address=$ip set v2ray.omrout.s_vmess_address="$ip"
set v2ray.omrout.s_vless_address=$ip set v2ray.omrout.s_vless_address="$ip"
set v2ray.omrout.s_trojan_address=$ip set v2ray.omrout.s_trojan_address="$ip"
set v2ray.omrout.s_socks_address=$ip set v2ray.omrout.s_socks_address="$ip"
commit v2ray commit v2ray
commit xray commit xray
set glorytun.vpn.host=$ip set glorytun.vpn.host="$ip"
commit glorytun commit glorytun
glorytun-udp.vpn.host=$ip glorytun-udp.vpn.host="$ip"
commit glorytun commit glorytun
set dsvpn.vpn.host=$ip set dsvpn.vpn.host="$ip"
commit dsvpn commit dsvpn
set mlvpn.general.host=$ip set mlvpn.general.host="$ip"
commit mlvpn commit mlvpn
del openvpn.omr.remote del openvpn.omr.remote
add_list openvpn.omr.remote=$ip add_list openvpn.omr.remote="$ip"
commit openvpn commit openvpn
set openmptcprouter.${name}.current='1' set openmptcprouter.${name}.current='1'
commit openmptcprouter commit openmptcprouter
@ -449,11 +449,11 @@ _check_backup() {
commit openmptcprouter commit openmptcprouter
EOF EOF
config_load shadowsocks-libev config_load shadowsocks-libev
config_foreach _get_server_name server $ip config_foreach _get_server_name server "$ip"
[ -n "$servername" ] && config_foreach _disable_redir ss_redir $servername "shadowsocks-libev" [ -n "$servername" ] && config_foreach _disable_redir ss_redir $servername "shadowsocks-libev"
servername="" servername=""
config_load shadowsocks-rust config_load shadowsocks-rust
config_foreach _get_server_name server $ip config_foreach _get_server_name server "$ip"
[ -n "$servername" ] && config_foreach _disable_redir ss_redir $servername "shadowsocks-rust" [ -n "$servername" ] && config_foreach _disable_redir ss_redir $servername "shadowsocks-rust"
OMR_TRACKER_STATUS_MSG="No answer to ping and to API check" OMR_TRACKER_STATUS_MSG="No answer to ping and to API check"