mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-02-12 18:41:51 +00:00
Add wait after test error in omr-tracker
This commit is contained in:
parent
812d7b0dc8
commit
47a117defa
7 changed files with 65 additions and 35 deletions
|
@ -24,6 +24,7 @@ export OMR_TRACKER_DEVICE_GATEWAY
|
|||
dscp=56 # set DSCP CS7 (56) in outgoing packets
|
||||
initial_hosts="$OMR_TRACKER_HOSTS"
|
||||
initial_timeout="$OMR_TRACKER_TIMEOUT"
|
||||
wait_test=${OMR_TRACKER_WAIT_TEST:-0}
|
||||
|
||||
# set constants for rto updating
|
||||
# we've changed the default values of the RFC to K=3 and beta=0.25 instead of K=4 and beta=0.125
|
||||
|
@ -315,6 +316,7 @@ while true; do
|
|||
#[ "$OMR_TRACKER_STATUS" = "ERROR" ] && _restart
|
||||
#[ "$OMR_TRACKER_STATUS" != "$OMR_TRACKER_PREV_STATUS" ] && _post_tracking
|
||||
_post_tracking
|
||||
[ "$OMR_TRACKER_STATUS" = "ERROR" ] && sleep $wait_test
|
||||
OMR_TRACKER_PREV_STATUS="$OMR_TRACKER_STATUS"
|
||||
_restart
|
||||
|
||||
|
|
|
@ -42,7 +42,8 @@ _check_master() {
|
|||
config_get master $1 master
|
||||
config_get ip $1 ip
|
||||
config_get port $1 port "65500"
|
||||
[ "$master" = "1" ] && [ -n "$ip" ] && {
|
||||
config_get disabled $1 disabled
|
||||
[ "$master" = "1" ] && [ -n "$ip" ] && [ "$disabled" != "1" ] && {
|
||||
#_ping_server $ip
|
||||
_check_server $ip $port
|
||||
[ "$server_ping" = true ] && [ "$(uci -q get shadowsocks-libev.sss0.server | tr -d '\n')" != "$ip" ] && {
|
||||
|
@ -81,37 +82,39 @@ _check_backup() {
|
|||
config_get backup $1 backup
|
||||
config_get ip $1 ip
|
||||
config_get port $1 port
|
||||
[ "$backup" = "1" ] && [ -n "$ip" ] && {
|
||||
config_get disabled $1 disabled
|
||||
[ "$backup" = "1" ] && [ -n "$ip" ] && [ "$disabled" != "1" ] && {
|
||||
#_ping_server $ip
|
||||
_check_server $ip $port
|
||||
}
|
||||
[ "$server_ping" = true ] && [ "$(uci -q get shadowsocks-libev.sss0.server | tr -d '\n')" = "$ip" ] && break
|
||||
[ "$server_ping" = true ] && [ "$(uci -q get shadowsocks-libev.sss0.server | tr -d '\n')" != "$ip" ] && {
|
||||
logger -t "OMR-Tracker-Server" "User backup server $1 ($ip)"
|
||||
uci -q batch <<-EOF >/dev/null
|
||||
set shadowsocks-libev.sss0.server=$ip
|
||||
commit shadowsocks-libev
|
||||
set v2ray.omrout.s_vmess_address=$ip
|
||||
set v2ray.omrout.s_vless_address=$ip
|
||||
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
|
||||
/etc/init.d/shadowsocks-libev restart >/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
|
||||
break
|
||||
[ "$server_ping" = true ] && [ "$(uci -q get shadowsocks-libev.sss0.server | tr -d '\n')" = "$ip" ] && break
|
||||
[ "$server_ping" = true ] && [ "$(uci -q get shadowsocks-libev.sss0.server | tr -d '\n')" != "$ip" ] && {
|
||||
logger -t "OMR-Tracker-Server" "User backup server $1 ($ip)"
|
||||
uci -q batch <<-EOF >/dev/null
|
||||
set shadowsocks-libev.sss0.server=$ip
|
||||
commit shadowsocks-libev
|
||||
set v2ray.omrout.s_vmess_address=$ip
|
||||
set v2ray.omrout.s_vless_address=$ip
|
||||
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
|
||||
/etc/init.d/shadowsocks-libev restart >/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
|
||||
sleep $waittest
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -121,6 +124,7 @@ timeout=${OMR_TRACKER_TIMEOUT:-5}
|
|||
interval=${OMR_TRACKER_INTERVAL:-10}
|
||||
intervaltries=${OMR_TRACKER_INTERVAL_TRIES:-2}
|
||||
retry=${OMR_TRACKER_TRIES:-4}
|
||||
waittest=${OMR_TRACKER_WAIT_TEST:-0}
|
||||
|
||||
while true; do
|
||||
server_ping=false
|
||||
|
|
|
@ -44,6 +44,7 @@ interval=${OMR_TRACKER_INTERVAL:-10}
|
|||
retry=${OMR_TRACKER_TRIES:-4}
|
||||
proxy=${OMR_TRACKER_PROXY:-127.0.0.1:1111}
|
||||
hosts=${OMR_TRACKER_HOSTS:-1.1.1.1 1.0.0.1}
|
||||
wait_test=${OMR_TRACKER_WAIT_TEST:-0}
|
||||
|
||||
nodns=0
|
||||
|
||||
|
@ -88,6 +89,7 @@ while true; do
|
|||
if [ "$server_ping" = false ]; then
|
||||
_log "Server ($server) seems down, no answer to ping"
|
||||
fi
|
||||
sleep $wait_test
|
||||
fi
|
||||
}
|
||||
fi
|
||||
|
|
|
@ -44,6 +44,7 @@ interval=${OMR_TRACKER_INTERVAL:-10}
|
|||
retry=${OMR_TRACKER_TRIES:-4}
|
||||
proxy=${OMR_TRACKER_PROXY:-127.0.0.1:1111}
|
||||
hosts=${OMR_TRACKER_HOSTS:-1.1.1.1 1.0.0.1}
|
||||
wait_test=${OMR_TRACKER_WAIT_TEST:-0}
|
||||
|
||||
nodns=0
|
||||
|
||||
|
@ -88,6 +89,7 @@ while true; do
|
|||
if [ "$server_ping" = false ]; then
|
||||
_log "Server ($server) seems down, no answer to ping"
|
||||
fi
|
||||
sleep $wait_test
|
||||
fi
|
||||
}
|
||||
fi
|
||||
|
|
|
@ -16,6 +16,7 @@ config defaults 'defaults'
|
|||
option interval '2'
|
||||
option interval_tries '1'
|
||||
option type 'ping'
|
||||
option wait_test '0'
|
||||
option options ''
|
||||
|
||||
config proxy 'proxy'
|
||||
|
@ -30,6 +31,7 @@ config proxy 'proxy'
|
|||
list hosts '176.103.130.130'
|
||||
option timeout '10'
|
||||
option tries '3'
|
||||
option wait_test '0'
|
||||
option interval_tries '1'
|
||||
option interval '5'
|
||||
|
||||
|
@ -37,4 +39,5 @@ config server 'server'
|
|||
option enabled '1'
|
||||
option tries '3'
|
||||
option timeout '10'
|
||||
option wait_test '0'
|
||||
option interval '5'
|
|
@ -13,7 +13,7 @@
|
|||
|
||||
_validate_section() {
|
||||
local tmp_hosts=$hosts tmp_timeout=$timeout tmp_tries=$tries
|
||||
local tmp_interval=$interval tmp_interval_tries=$interval_tries tmp_options=$options tmp_type=$type tmp_enabled=$enabled
|
||||
local tmp_interval=$interval tmp_interval_tries=$interval_tries tmp_options=$options tmp_type=$type tmp_enabled=$enabled tmp_wait_test=$wait_test
|
||||
|
||||
uci_validate_section omr-tracker "$1" "$2" \
|
||||
'hosts:list(host)' \
|
||||
|
@ -21,6 +21,7 @@ _validate_section() {
|
|||
'tries:uinteger' \
|
||||
'interval:uinteger' \
|
||||
'interval_tries:uinteger' \
|
||||
'wait_test:uinteger' \
|
||||
'type:string:undef' \
|
||||
'enabled:bool:1' \
|
||||
'options:string'
|
||||
|
@ -30,6 +31,7 @@ _validate_section() {
|
|||
[ -z "$tries" ] && tries=$tmp_tries
|
||||
[ -z "$interval" ] && interval=$tmp_interval
|
||||
[ -z "$interval_tries" ] && interval_tries=$tmp_interval_tries
|
||||
[ -z "$wait_test" ] && wait_test=$tmp_wait_test
|
||||
[ -z "$options" ] && options=$tmp_options
|
||||
[ "$type" = "undef" ] && type=${tmp_type:-ping}
|
||||
[ -z "$enabled" ] && enabled=$tmp_enabled
|
||||
|
@ -40,7 +42,7 @@ _launch_tracker() {
|
|||
loopback|lan*|if0*) return;;
|
||||
esac
|
||||
|
||||
local hosts timeout tries interval interval_tries options type enabled
|
||||
local hosts timeout tries interval interval_tries options type enabled wait_test
|
||||
_validate_section "defaults" "defaults"
|
||||
_validate_section "interface" "$1"
|
||||
|
||||
|
@ -71,6 +73,7 @@ _launch_tracker() {
|
|||
procd_append_param env "OMR_TRACKER_DEVICE=$ifname"
|
||||
procd_append_param env "OMR_TRACKER_DEVICE_GATEWAY=$gateway"
|
||||
procd_append_param env "OMR_TRACKER_TYPE=$type"
|
||||
procd_append_param env "OMR_TRACKER_WAIT_TEST=$wait_test"
|
||||
procd_set_param limits nofile="51200 51200"
|
||||
procd_set_param respawn 0 10 0
|
||||
procd_set_param stderr 1
|
||||
|
@ -78,7 +81,7 @@ _launch_tracker() {
|
|||
}
|
||||
|
||||
_launch_server_tracker() {
|
||||
local hosts timeout tries interval interval_tries options type enabled
|
||||
local hosts timeout tries interval interval_tries options type enabled wait_test
|
||||
_validate_section "defaults" "defaults"
|
||||
_validate_section "server" "server"
|
||||
|
||||
|
@ -92,6 +95,7 @@ _launch_server_tracker() {
|
|||
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_append_param env "OMR_TRACKER_WAIT_TEST=$wait_test"
|
||||
procd_set_param limits nofile="51200 51200"
|
||||
procd_set_param respawn 0 10 0
|
||||
procd_set_param stderr 1
|
||||
|
@ -139,7 +143,7 @@ _initialize_shadowsocks_tracker() {
|
|||
}
|
||||
|
||||
_launch_shadowsocks_tracker() {
|
||||
local hosts timeout tries interval local_port enabled server
|
||||
local hosts timeout tries interval local_port enabled server wait_test
|
||||
|
||||
[ "$1" = "tracker" ] || return
|
||||
|
||||
|
@ -161,6 +165,7 @@ _launch_shadowsocks_tracker() {
|
|||
procd_append_param env "OMR_TRACKER_TRIES=$tries"
|
||||
procd_append_param env "OMR_TRACKER_INTERVAL=$interval"
|
||||
procd_append_param env "OMR_TRACKER_PROXY=127.0.0.1:$local_port"
|
||||
procd_append_param env "OMR_TRACKER_WAIT_TEST=$wait_test"
|
||||
procd_set_param limits nofile="51200 51200"
|
||||
procd_set_param respawn 0 10 0
|
||||
procd_set_param stderr 1
|
||||
|
@ -168,7 +173,7 @@ _launch_shadowsocks_tracker() {
|
|||
}
|
||||
|
||||
_launch_v2ray_tracker() {
|
||||
local hosts timeout tries interval local_port enabled server
|
||||
local hosts timeout tries interval local_port enabled server wait_test
|
||||
|
||||
_validate_section "proxy" "proxy"
|
||||
[ "$enabled" = "0" ] || [ -z "$hosts" ] && return
|
||||
|
@ -181,6 +186,7 @@ _launch_v2ray_tracker() {
|
|||
procd_append_param env "OMR_TRACKER_TRIES=$tries"
|
||||
procd_append_param env "OMR_TRACKER_INTERVAL=$interval"
|
||||
procd_append_param env "OMR_TRACKER_PROXY=127.0.0.1:1111"
|
||||
procd_append_param env "OMR_TRACKER_WAIT_TEST=$wait_test"
|
||||
procd_set_param limits nofile="51200 51200"
|
||||
procd_set_param respawn 0 10 0
|
||||
procd_set_param stderr 1
|
||||
|
|
|
@ -47,6 +47,7 @@ if [ "$(uci -q get omr-tracker.proxy.hosts | grep '23.96.52.53')" != "" ]; then
|
|||
add_list omr-tracker.proxy.hosts='104.16.1.1'
|
||||
add_list omr-tracker.proxy.hosts='198.27.92.1'
|
||||
add_list omr-tracker.proxy.hosts='151.101.129.164'
|
||||
commit omr-tracker
|
||||
EOF
|
||||
fi
|
||||
if [ "$(uci -q get omr-tracker.proxy.hosts | grep '103.224.182.242')" != "" ]; then
|
||||
|
@ -55,6 +56,16 @@ if [ "$(uci -q get omr-tracker.proxy.hosts | grep '103.224.182.242')" != "" ]; t
|
|||
del_list omr-tracker.proxy.hosts='198.191.250.176'
|
||||
add_list omr-tracker.proxy.hosts='74.82.42.42'
|
||||
add_list omr-tracker.proxy.hosts='176.103.130.130'
|
||||
commit omr-tracker
|
||||
EOF
|
||||
fi
|
||||
|
||||
if [ "$(uci -q get omr-tracker.defaults.wait_test)" = "" ]; then
|
||||
uci -q batch <<-EOF >/dev/null
|
||||
set omr-tracker.defaults.wait_test=1
|
||||
set omr-tracker.proxy.wait_test=1
|
||||
set omr-tracker.server.wait_test=1
|
||||
commit omr-tracker
|
||||
EOF
|
||||
fi
|
||||
|
||||
|
|
Loading…
Reference in a new issue