1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-03-09 15:40:03 +00:00

Add server tracker for server failover

This commit is contained in:
Ycarus (Yannick Chabanois) 2020-05-20 10:03:51 +02:00
parent 34e3f74a97
commit f1cd264485
4 changed files with 212 additions and 30 deletions

View file

@ -77,6 +77,26 @@ _launch_tracker() {
procd_close_instance
}
_launch_server_tracker() {
local hosts timeout tries interval interval_tries options type enabled
_validate_section "server" "server"
[ "${enabled}" = "0" ] && return
[ -z "${interval_tries}" ] && interval_tries=1
procd_open_instance
# shellcheck disable=SC2086
procd_set_param command /bin/omr-tracker-server "$1" $options
procd_append_param env "OMR_TRACKER_TIMEOUT=$timeout"
procd_append_param env "OMR_TRACKER_TRIES=$tries"
procd_append_param env "OMR_TRACKER_INTERVAL=$interval"
procd_append_param env "OMR_TRACKER_INTERVAL_TRIES=$interval_tries"
procd_set_param limits nofile="51200 51200"
procd_set_param respawn 0 10 0
procd_set_param stderr 1
procd_close_instance
}
_initialize_shadowsocks_tracker() {
local redir_tcp server tracker_server
config_get redir_tcp ss_rules redir_tcp
@ -146,6 +166,11 @@ _launch_shadowsocks_tracker() {
procd_close_instance
}
_multi_server() {
config_get backup $1 backup
[ "$backup" = "1" ] && multiserver=true
}
start_service() {
local ss_disabled
logger -t "omr-tracker" "Launching..."
@ -161,6 +186,11 @@ start_service() {
else
/etc/init.d/shadowsocks-libev rules_down
fi
multiserver=false
config_load openmptcprouter
config_foreach _multi_server server
[ "$multiserver" = true ] && _launch_server_tracker
logger -t "omr-tracker" "Launched"
}