mirror of
				https://github.com/Ysurac/openmptcprouter-feeds.git
				synced 2025-03-09 15:40:03 +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…
	
	Add table
		Add a link
		
	
		Reference in a new issue