mirror of
				https://github.com/Ysurac/openmptcprouter-feeds.git
				synced 2025-03-09 15:40:03 +00:00 
			
		
		
		
	Some fixes
This commit is contained in:
		
							parent
							
								
									10bc6b94da
								
							
						
					
					
						commit
						cc6131c6c3
					
				
					 1 changed files with 19 additions and 7 deletions
				
			
		| 
						 | 
				
			
			@ -5,6 +5,8 @@ set_route() {
 | 
			
		|||
	local multipath_config_route interface_gw interface_if
 | 
			
		||||
	INTERFACE=$1
 | 
			
		||||
	PREVINTERFACE=$2
 | 
			
		||||
	SETDEFAULT=$3
 | 
			
		||||
	[ -z "$SETDEFAULT" ] && SETDEFAULT="yes"
 | 
			
		||||
	multipath_config_route=$(uci -q get openmptcprouter.$INTERFACE.multipath)
 | 
			
		||||
	[ -z "$multipath_config_route" ] && multipath_config_route=$(uci -q get network.$INTERFACE.multipath || echo "off")
 | 
			
		||||
	interface_if=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]')
 | 
			
		||||
| 
						 | 
				
			
			@ -24,8 +26,8 @@ set_route() {
 | 
			
		|||
		fi
 | 
			
		||||
		if [ "$interface_gw" != "" ] && [ "$interface_if" != "" ]; then
 | 
			
		||||
			_log "$PREVINTERFACE down. Replace default route by $interface_gw dev $interface_if"
 | 
			
		||||
			ip route replace default scope global nexthop via $interface_gw dev $interface_if && SETROUTE=true
 | 
			
		||||
			ip route replace default via $interface_gw dev $interface_if table 991337
 | 
			
		||||
			[ "$SETDEFAULT" = "yes" ] && ip route replace default scope global nexthop via $interface_gw dev $interface_if
 | 
			
		||||
			ip route replace default via $interface_gw dev $interface_if table 991337 && SETROUTE=true
 | 
			
		||||
		fi
 | 
			
		||||
	fi
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -82,7 +84,6 @@ set_routes_intf() {
 | 
			
		|||
		fi
 | 
			
		||||
		#if [ "$interface_gw" != "" ] && [ "$interface_if" != "" ] && [ "$(ip route show $serverip | grep $interface_if)" = "" ]; then
 | 
			
		||||
		if [ "$interface_gw" != "" ] && [ "$interface_if" != "" ]; then
 | 
			
		||||
			nbintf=$((nbintf+1))
 | 
			
		||||
			if [ "$multipath_config_route" = "master" ]; then
 | 
			
		||||
				weight=10
 | 
			
		||||
			else
 | 
			
		||||
| 
						 | 
				
			
			@ -95,6 +96,7 @@ set_routes_intf() {
 | 
			
		|||
					routesintfbackup="$routesintfbackup nexthop via $interface_gw dev $interface_if weight $weight"
 | 
			
		||||
				fi
 | 
			
		||||
			else
 | 
			
		||||
				nbintf=$((nbintf+1))
 | 
			
		||||
				if [ -z "$routesintf" ]; then
 | 
			
		||||
					routesintf="nexthop via $interface_gw dev $interface_if weight $weight"
 | 
			
		||||
				else
 | 
			
		||||
| 
						 | 
				
			
			@ -162,7 +164,7 @@ set_server_all_routes() {
 | 
			
		|||
		config_load network
 | 
			
		||||
		config_foreach set_routes_intf interface
 | 
			
		||||
		[ -n "$routesintf" ] && ([ "$nbintf" -gt "1" ] && [ "$(ip r show $serverip | tr -d '\t' | tr -d '\n')" != "$serverip $routesintf " ]) || ([ "$nbintf" = "1" ] && [ "$(ip r show $serverip | grep $OMR_TRACKER_DEVICE)" = "" ]) && {
 | 
			
		||||
			while [ "$(ip r show $serverip | grep -v nexthop)" != "" ]; do
 | 
			
		||||
			while [ "$(ip r show $serverip | grep -v nexthop | sed 's/ //g' | tr -d '\n')" != "$serverip" ] && [ "$(ip r show $serverip | grep -v nexthop | sed 's/ //g' | tr -d '\n')" != "" ]; do
 | 
			
		||||
				ip r del $serverip
 | 
			
		||||
			done
 | 
			
		||||
			_log "Set server $server ($serverip) default route $serverip $routesintf"
 | 
			
		||||
| 
						 | 
				
			
			@ -314,6 +316,9 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ]; then
 | 
			
		|||
	if ([ "$default_gw" = "$OMR_TRACKER_DEVICE_GATEWAY" ] || [ "$default_gw" = "" ]) && [ "$(uci -q get openmptcprouter.settings.defaultgw)" != "0" ]; then
 | 
			
		||||
		config_load network
 | 
			
		||||
		config_foreach set_route interface $OMR_TRACKER_INTERFACE
 | 
			
		||||
	elif [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.multipath)" = "master" ]; then
 | 
			
		||||
		config_load network
 | 
			
		||||
		config_foreach set_route interface $OMR_TRACKER_INTERFACE "no"
 | 
			
		||||
	fi
 | 
			
		||||
	mail_alert="$(uci -q get omr-tracker.$OMR_TRACKER_INTERFACE.mail_alert)"
 | 
			
		||||
	[ -z "$mail_alert" ] && mail_alert="$(uci -q get omr-tracker.defaults.mail_alert)"
 | 
			
		||||
| 
						 | 
				
			
			@ -527,7 +532,7 @@ fi
 | 
			
		|||
		fi
 | 
			
		||||
	fi
 | 
			
		||||
}
 | 
			
		||||
[ "$multipath_config" = "backup" ] && glorytun-udp path $OMR_TRACKER_DEVICE_IP dev tun0 backup rate auto rx 125000000 tx 125000000 > /dev/null 2>&1
 | 
			
		||||
[ "$multipath_config" = "backup" ] && [ "$(pgrep glorytun-udp)" != "" ] && glorytun-udp path $OMR_TRACKER_DEVICE_IP dev tun0 backup rate auto rx 125000000 tx 125000000 > /dev/null 2>&1
 | 
			
		||||
[ "$multipath_status" = "$multipath_config" ] || {
 | 
			
		||||
	if [ "$(sysctl -n net.mptcp.mptcp_enabled | tr -d '\n')" = "1" ]; then
 | 
			
		||||
		_log "Multipath $OMR_TRACKER_DEVICE switched to $multipath_config"
 | 
			
		||||
| 
						 | 
				
			
			@ -588,7 +593,7 @@ if [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.lc)" = "" ] || [ $(($(
 | 
			
		|||
			}
 | 
			
		||||
		fi
 | 
			
		||||
		local serverip=$(uci -q get shadowsocks-libev.sss0.server)
 | 
			
		||||
		[ -n "$serverip" ] && [ "$serverip" != "127.0.0.1" ] && [ "$(pgrep tracebox)" = "" ] && {
 | 
			
		||||
		[ -n "$serverip" ] && [ "$serverip" != "127.0.0.1" ] && [ "$(pgrep tracebox)" = "" ] && [ "$(uci -q get openmptcprouter.settings.tracebox)" != "0" ] && {
 | 
			
		||||
			omrtracebox="$(omr-tracebox-mptcp $serverip $OMR_TRACKER_DEVICE)"
 | 
			
		||||
			[ -n "$omrtracebox" ] && uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.mptcp_status="$omrtracebox"
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			@ -622,7 +627,7 @@ if [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.lc)" = "" ] || [ $(($(
 | 
			
		|||
		uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.lc=$(date +"%s")
 | 
			
		||||
	}
 | 
			
		||||
	if [ "$(uci -q get shadowsocks-libev.sss0.server)" != "" ] && [ "$(uci -q get openmptcprouter.settings.external_check)" = "0" ]; then
 | 
			
		||||
		if ping -c 1 $(uci -q get shadowsocks-libev.sss0.server) &> /dev/null; then
 | 
			
		||||
		if ping -c 1 $(uci -q get shadowsocks-libev.sss0.server) 2>&1 >/dev/null; then
 | 
			
		||||
			uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.lc=$(date +"%s")
 | 
			
		||||
		fi
 | 
			
		||||
	fi
 | 
			
		||||
| 
						 | 
				
			
			@ -745,6 +750,13 @@ if [ "$(uci -q get glorytun.vpn.enable)" = "1" ] && [ "$(uci -q get glorytun.vpn
 | 
			
		|||
	uci -q commit openmptcprouter
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if [ -n "$(logread | tail -n 2 | grep 'Ring expansion failed')" ]; then
 | 
			
		||||
	_log "Workaround Ring expansion failed problem"
 | 
			
		||||
	echo 1 > /sys/bus/pci/devices/0000:00:00.0/remove
 | 
			
		||||
	sleep 2
 | 
			
		||||
	echo 1 > /sys/bus/pci/rescan
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
#if [ "$(uci -q show openmptcprouter | grep get_config=\'1\')" != "" ] || [ "$(uci -q show openmptcprouter | grep admin_error=\'1\')" != "" ]; then
 | 
			
		||||
#	/etc/init.d/openmptcprouter-vps restart >/dev/null 2>&1
 | 
			
		||||
#	sleep 5
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue