mirror of
				https://github.com/Ysurac/openmptcprouter-feeds.git
				synced 2025-03-09 15:40:03 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			292 lines
		
	
	
		
			No EOL
		
	
	
		
			16 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			292 lines
		
	
	
		
			No EOL
		
	
	
		
			16 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
| #!/bin/bash
 | |
| #
 | |
| # Copyright (C) 2018-2023 Ycarus (Yannick Chabanois) <ycarus@zugaina.org> for OpenMPTCProuter
 | |
| #
 | |
| # This is free software, licensed under the GNU General Public License v2.
 | |
| # See /LICENSE for more information.
 | |
| #
 | |
| # This script save settings for status page usage
 | |
| 
 | |
| [ "$OMR_TRACKER_STATUS" = "ERROR" ] || [ -z "$OMR_TRACKER_INTERFACE" ] && exit 0
 | |
| interface_up=$(ifstatus "$OMR_TRACKER_INTERFACE" 2>/dev/null | jsonfilter -q -e '@["up"]')
 | |
| [ "$interface_up" != "true" ] && exit 0
 | |
| 
 | |
| # Save wan settings for status page
 | |
| if [ -n "$OMR_TRACKER_INTERFACE" ] && { [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.lc)" = "" ] || [ $(($(date +"%s") + $((30 + RANDOM % 10)) - $(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.lc))) -gt 3600 ] || [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.state)" = "down" ]; }; then
 | |
| 	[ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "Get status and settings for $OMR_TRACKER_INTERFACE..."
 | |
| 	ipaddr=""
 | |
| 	ip6addr=""
 | |
| 	if [ "$(uci -q get openmptcprouter.settings.external_check)" != "0" ] && [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.vpn)" != "1" ]; then
 | |
| 		[ -n "$OMR_TRACKER_DEVICE_IP" ] && ipaddr="$(omr-ip-intf $OMR_TRACKER_DEVICE)"
 | |
| 		[ -n "$OMR_TRACKER_DEVICE_IP6" ] && ip6addr="$(omr-ip6-intf $OMR_TRACKER_DEVICE)"
 | |
| 	else
 | |
| 		uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.lc=$(date +"%s")
 | |
| 		uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.state="up"
 | |
| 	fi
 | |
| 	[ -n "$ipaddr" ] && {
 | |
| 		# Check if we can get a IPv6 address, if yes enable RA else disable
 | |
| 		#check_ipv6_website="$(uci -q get openmptcprouter.settings.check_ipv6_website)"
 | |
| 		#[ -z "$check_ipv6_website" ] && check_ipv6_website="http://ipv6.openmptcprouter.com/"
 | |
| 		#ip6addr="$(curl -s -6 -m 2 $check_ipv6_website)"
 | |
| 		#[ -z "$ip6addr" ] && {
 | |
| 		#	ip6addr="$(curl -s -6 -m 2 http://ifconfig.me/)"
 | |
| 		#}
 | |
| 		#if [ "$(uci -q get openmptcprouter.settings.ipv6_disable)" = "0" ]; then
 | |
| 		#	if [ -n "$ip6addr" ] && [ "$(uci -q get dhcp.lan.ra_default)" != 1 ]; then
 | |
| 		#		_log "Enable IPv6 RA"
 | |
| 		#		uci -q set dhcp.lan.ra=server
 | |
| 		#		uci -q set dhcp.lan.ra_default=1
 | |
| 		#		uci -q set dhcp.lan.dhcpv6=server
 | |
| 		#		/etc/init.d/odhcpd start > /dev/null 2>&1
 | |
| 		#		/etc/init.d/odhcpd enable > /dev/null 2>&1
 | |
| 		#	elif [ -z "$ip6addr" ] && [ "$(uci -q set dhcp.lan.ra_default)" = 1 ]; then
 | |
| 		#		_log "Disable IPv6 RA"
 | |
| 		#		uci -q delete dhcp.lan.ra
 | |
| 		#		uci -q delete dhcp.lan.dhcpv6
 | |
| 		#		/etc/init.d/odhcpd start > /dev/null 2>&1
 | |
| 		#		/etc/init.d/odhcpd enable > /dev/null 2>&1
 | |
| 		#	fi
 | |
| 		#fi
 | |
| 		if [ "$(uci -q get openmptcprouter.settings.external_check)" != "0" ]; then
 | |
| 			#asn="$(wget -4 -qO- -T 4 http://api.iptoasn.com/v1/as/ip/$ipaddr | jsonfilter -q -e '@.as_description')"
 | |
| 			#[ -z "$asn" ] && {
 | |
| 			asn="$(timeout 2 whois $ipaddr 2>/dev/null | grep -m 1 -i 'netname' | awk '{print $2}')"
 | |
| 			#}
 | |
| 		fi
 | |
| 		[ -z "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE)" ] && {
 | |
| 			uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE=interface
 | |
| 		}
 | |
| 		#if [ "$(uci -q get openmptcprouter.latest_versions.lc)" = "" ] || [ $(($(date +"%s") - $(uci -q get openmptcprouter.latest_versions.lc))) -gt 3600 ]; then
 | |
| 		#	latestversions="$(curl -4 -s -m 3 https://www.openmptcprouter.com/version/version.json)"
 | |
| 		#	[ -n "$latestversions" ] && {
 | |
| 		#		uci -q set openmptcprouter.latest_versions=latest_versions
 | |
| 		#		uci -q set openmptcprouter.latest_versions.omr=$(echo $latestversions | jsonfilter -q -e '@.omr')-$(ubus call system board | jsonfilter -e '@.kernel' | cut -d'.' -f1,2)
 | |
| 		#		uci -q set openmptcprouter.latest_versions.vps=$(echo $latestversions | jsonfilter -q -e '@.vps')
 | |
| 		#		uci -q set openmptcprouter.latest_versions.lc=$(date +"%s")
 | |
| 		#	}
 | |
| 		#fi
 | |
| 		[ -n "$ipaddr" ] && [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.publicip)" != "$ipaddr" ] && {
 | |
| 			previousip="$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.publicip)"
 | |
| 			if [ -n "$previousip" ]; then
 | |
| 				_log "New public ip detected for $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE): $ipaddr (previous: $(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.publicip))"
 | |
| 			else
 | |
| 				_log "New public ip detected for $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE): $ipaddr (First public IP detected)"
 | |
| 			fi
 | |
| 			uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.publicip="$ipaddr"
 | |
| 			#/etc/init.d/mptcp enabled && ([ "$OMR_TRACKER_DEVICE_IP" = "$previousip" ] || [ "$OMR_TRACKER_DEVICE_IP" = "$ipaddr" ]) && {
 | |
| 			#	_log "Reload MPTCP for $OMR_TRACKER_DEVICE"
 | |
| 			#	/etc/init.d/mptcp reload "$OMR_TRACKER_DEVICE" >/dev/null 2>&1
 | |
| 			#}
 | |
| 		}
 | |
| 		[ -n "$OMR_TRACKER_LATENCY" ] && uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.latency="$OMR_TRACKER_LATENCY"
 | |
| 		[ -n "$asn" ] && [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.asn)" != "$asn" ] && {
 | |
| 			uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.asn="$asn"
 | |
| 		}
 | |
| 
 | |
| 		# Routing loop detection
 | |
| 		lanip="$(uci -q get network.lan.ipaddr)"
 | |
| 		masterip
 | |
| 		get_master_ip() {
 | |
| 			if [ -n "$1" ] && [ "$(uci -q get openmptcprouter.$1.multipath)" = "master" ]; then
 | |
| 				masterip="$(uci -q get openmptcprouter.$1.publicip)"
 | |
| 			fi
 | |
| 		}
 | |
| 		config_load openmptcprouter
 | |
| 		config_foreach get_master_ip interface
 | |
| 		if [ -n "$lanip" ] && [ -n "$masterip" ] && [ -n "$ipaddr" ] && [ "$ipaddr" = "$masterip" ] && [ "$(uci -q get openmptcprouter.settings.disableloopdetection)" != "1" ]; then
 | |
| 			loop=0
 | |
| 			routingloop() {
 | |
| 				vpsip=""
 | |
| 				[ -n "$1" ] && vpsip="$(uci -q get openmptcprouter.$1.ip)"
 | |
| 				if [ -n "$vpsip" ] && [ "$(omr-routing-loop $vpsip $lanip $OMR_TRACKER_DEVICE)" = "detected" ]; then
 | |
| 					loop=1
 | |
| 				fi
 | |
| 			}
 | |
| 			config_load openmptcprouter
 | |
| 			config_foreach routingloop server
 | |
| 			if [ "$loop" = "1" ]; then
 | |
| 				uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.loop='1'
 | |
| 			else
 | |
| 				uci -q delete openmptcprouter.$OMR_TRACKER_INTERFACE.loop
 | |
| 			fi
 | |
| 		else
 | |
| 			uci -q delete openmptcprouter.$OMR_TRACKER_INTERFACE.loop
 | |
| 		fi
 | |
| 
 | |
| 		omrtracebox=""
 | |
| 		traceboxmtutest() {
 | |
| 			omr_tracebox_mtu() {
 | |
| 				serverip=$1
 | |
| 				[ "$serverip" != "${1#*[0-9].[0-9]}" ] && serverip=""
 | |
| 				[ -n "$serverip" ] && [ "$serverip" != "127.0.0.1" ] && [ "$(pgrep -f tracebox)" = "" ] && [ "$(uci -q get openmptcprouter.settings.tracebox)" != "0" ] && {
 | |
| 					omrtracebox="$(omr-tracebox-mptcp $serverip $OMR_TRACKER_DEVICE)"
 | |
| 					[ -n "$omrtracebox" ] && [ -z "$(echo $omrtracebox | grep error)" ] && uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.mptcp_status="$omrtracebox"
 | |
| 				}
 | |
| 				#if [ "$OMR_TRACKER_INTERFACE" != "omrvpn" ] && [ "$(uci -q get glorytun.vpn.enable)" != "1" ] && [ "$(uci -q get glorytun-udp.vpn.enable)" != "1" ] && [ -n "$OMR_TRACKER_DEVICE" ]; then
 | |
| 				if [ "$OMR_TRACKER_INTERFACE" != "omrvpn" ] && [ -n "$OMR_TRACKER_DEVICE" ]; then
 | |
| 					if [ -n "$(uci -q get network.$(find_network_device ${OMR_TRACKER_INTERFACE}).mtu)" ]; then
 | |
| 						network_device=$(find_network_device ${OMR_TRACKER_INTERFACE})
 | |
| 						mtu=""
 | |
| 						[ -n "$network_device" ] && mtu=$(uci -q get network.${network_device}.mtu)
 | |
| 						[ -n "$mtu" ] && {
 | |
| 							uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.mtu=$mtu
 | |
| 							ip link set dev $OMR_TRACKER_DEVICE mtu $mtu > /dev/null 2>&1
 | |
| 						}
 | |
| 					elif [ -n "$OMR_TRACKER_DEVICE_IP" ]; then
 | |
| 						if [ -n "$serverip" ] && [ "$serverip" != "127.0.0.1" ]; then
 | |
| 							mtu=$(omr-mtu $OMR_TRACKER_DEVICE_IP $serverip)
 | |
| 							[ -n "$mtu" ] && [ "$mtu" != "$(ip --json link show dev $OMR_TRACKER_DEVICE | jsonfilter -e '@[0].mtu' | tr -d '\n')" ] && {
 | |
| 								mtu=$(omr-mtu $OMR_TRACKER_DEVICE_IP $serverip)
 | |
| 								[ -n "$mtu" ] && [ "$mtu" != "$(ip --json link show dev $OMR_TRACKER_DEVICE | jsonfilter -e '@[0].mtu' | tr -d '\n')" ] && {
 | |
| 									uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.mtu=$mtu
 | |
| 									ip link set dev $OMR_TRACKER_DEVICE mtu $mtu > /dev/null 2>&1
 | |
| 								}
 | |
| 							}
 | |
| 						else
 | |
| 							mtu=$(omr-mtu $OMR_TRACKER_DEVICE_IP 1.1.1.1)
 | |
| 							[ -n "$mtu" ] && [ "$mtu" != "$(ip --json link show dev $OMR_TRACKER_DEVICE | jsonfilter -e '@[0].mtu' | tr -d '\n')" ] && {
 | |
| 								mtu=$(omr-mtu $OMR_TRACKER_DEVICE_IP $serverip)
 | |
| 								[ -n "$mtu" ] && [ "$mtu" != "$(ip --json link show dev $OMR_TRACKER_DEVICE | jsonfilter -e '@[0].mtu' | tr -d '\n')" ] && {
 | |
| 									uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.mtu=$mtu
 | |
| 									ip link set dev $OMR_TRACKER_DEVICE mtu $mtu > /dev/null 2>&1
 | |
| 								}
 | |
| 							}
 | |
| 						fi
 | |
| 					fi
 | |
| 				fi
 | |
| 			}
 | |
| 			config_list_foreach $1 ip omr_tracebox_mtu
 | |
| 		}
 | |
| 		config_load openmptcprouter
 | |
| 		config_foreach traceboxmtutest server
 | |
| #		[ "$(uci -q get openmptcprouter.settings.tracebox)" = "0" ] && [ -n "$OMR_TRACKER_DEVICE" ] && {
 | |
| #			mptcpsupport="$(omr-mptcp-intf $OMR_TRACKER_DEVICE)"
 | |
| #			[ -n "$mptcpsupport" ] && uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.mptcp_status="$mptcpsupport"
 | |
| #		}
 | |
| 		uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.state='up'
 | |
| 		uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.lc=$(date +"%s")
 | |
| 	}
 | |
| 	[ -n "$ip6addr" ] && {
 | |
| 		if [ "$(uci -q get openmptcprouter.settings.external_check)" != "0" ]; then
 | |
| 			asn="$(whois $ip6addr 2>/dev/null | grep -m 1 -i 'netname' | awk '{print $2}')"
 | |
| 		fi
 | |
| 		[ -z "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE)" ] && {
 | |
| 			uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE=interface
 | |
| 		}
 | |
| 		if [ "$(uci -q get openmptcprouter.latest_versions.lc)" = "" ] || [ $(($(date +"%s") - $(uci -q get openmptcprouter.latest_versions.lc))) -gt 3600 ]; then
 | |
| 			latestversions="$(curl -6 -s -m 3 https://www.openmptcprouter.com/version/version.json)"
 | |
| 			[ -n "$latestversions" ] && {
 | |
| 				uci -q set openmptcprouter.latest_versions=latest_versions
 | |
| 				uci -q set openmptcprouter.latest_versions.omr=$(echo $latestversions | jsonfilter -q -e '@.omr')
 | |
| 				uci -q set openmptcprouter.latest_versions.vps=$(echo $latestversions | jsonfilter -q -e '@.vps')
 | |
| 				uci -q set openmptcprouter.latest_versions.lc=$(date +"%s")
 | |
| 			}
 | |
| 		fi
 | |
| 		[ -n "$ip6addr" ] && [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.publicip)" != "$ip6addr" ] && {
 | |
| 			previousip6=$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.publicip)
 | |
| 			_log "New public ip detected for $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE): $ip6addr"
 | |
| 			#/etc/init.d/mptcp enabled && ([ "$OMR_TRACKER_DEVICE_IP6" = "$ip6addr" ] || [ "$OMR_TRACKER_DEVICE_IP" = "$previousip6" ]) && {
 | |
| 			#	_log "Reload MPTCP for $OMR_TRACKER_DEVICE"
 | |
| 			#	/etc/init.d/mptcp reload "$OMR_TRACKER_DEVICE" >/dev/null 2>&1
 | |
| 			#}
 | |
| 			uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.publicip="$ip6addr"
 | |
| 		}
 | |
| 		[ -n "$OMR_TRACKER_LATENCY" ] && uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.latency="$OMR_TRACKER_LATENCY"
 | |
| 		[ -n "$asn" ] && {
 | |
| 			uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.asn="$asn"
 | |
| 		}
 | |
| 		omrtracebox=""
 | |
| 		traceboxmtutest() {
 | |
| 			omr_tracebox_mtu() {
 | |
| 				local serverip=$1
 | |
| 				[ "$serverip" != "${1#*:[0-9a-fA-F]}" ] && serverip=""
 | |
| 				[ -n "$serverip" ] && [ "$serverip" != "127.0.0.1" ] && [ "$(pgrep -f tracebox)" = "" ] && [ "$(uci -q get openmptcprouter.settings.tracebox)" != "0" ] && {
 | |
| 					omrtracebox="$(omr-tracebox-mptcp $serverip $OMR_TRACKER_DEVICE)"
 | |
| 					[ -n "$omrtracebox" ] && [ -z "$(echo $omrtracebox | grep error)" ] && uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.mptcp_status="$omrtracebox"
 | |
| 				}
 | |
| 				#if [ "$OMR_TRACKER_INTERFACE" != "omrvpn" ] && [ "$(uci -q get glorytun.vpn.enable)" != "1" ] && [ "$(uci -q get glorytun-udp.vpn.enable)" != "1" ] && [ -n "$OMR_TRACKER_DEVICE" ]; then
 | |
| 				if [ "$OMR_TRACKER_INTERFACE" != "omrvpn" ] && [ -n "$OMR_TRACKER_DEVICE" ]; then
 | |
| 					network_device=$(find_network_device ${OMR_TRACKER_INTERFACE})
 | |
| 					if [ -n "$network_device" ] && [ -n "$(uci -q get network.${network_device}.mtu)" ]; then
 | |
| 						mtu=$(uci -q get network.$(find_network_device ${OMR_TRACKER_INTERFACE}).mtu)
 | |
| 						[ -n "$mtu" ] && {
 | |
| 							uci -q set openmptcprouter.${OMR_TRACKER_INTERFACE}.mtu=$mtu
 | |
| 							ip link set dev $OMR_TRACKER_DEVICE mtu $mtu > /dev/null 2>&1
 | |
| 						}
 | |
| 					elif [ -n "$OMR_TRACKER_DEVICE_IP" ]; then
 | |
| 						if [ -n "$serverip" ] && [ "$serverip" != "127.0.0.1" ]; then
 | |
| 							mtu=$(omr-mtu6 $OMR_TRACKER_DEVICE_IP6 $serverip)
 | |
| 							[ -n "$mtu" ] && {
 | |
| 								uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.mtu=$mtu
 | |
| 								ip link set dev $OMR_TRACKER_DEVICE mtu $mtu > /dev/null 2>&1
 | |
| 							}
 | |
| 						else
 | |
| 							mtu=$(omr-mtu6 $OMR_TRACKER_DEVICE_IP6 2606:4700:4700::1111)
 | |
| 							[ -n "$mtu" ] && {
 | |
| 								uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.mtu=$mtu
 | |
| 								ip link set dev $OMR_TRACKER_DEVICE mtu $mtu > /dev/null 2>&1
 | |
| 							}
 | |
| 						fi
 | |
| 					fi
 | |
| 				fi
 | |
| 			}
 | |
| 			config_list_foreach $1 ip omr_tracebox_mtu
 | |
| 		}
 | |
| 		config_load openmptcprouter
 | |
| 		config_foreach traceboxmtutest server
 | |
| 		uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.state='up'
 | |
| 		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 -B -I $OMR_TRACKER_DEVICE -c 1 $(uci -q get shadowsocks-libev.sss0.server) >/dev/null 2>&1; then
 | |
| 			uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.lc=$(date +"%s")
 | |
| 		fi
 | |
| 	fi
 | |
| 	proto="$(uci -q get network.$OMR_TRACKER_INTERFACE.proto)"
 | |
| 	#if [ "$proto" = "qmi" ]; then
 | |
| 	#	intfdata="$(omr-qmi $OMR_TRACKER_DEVICE all | tr -d '\n')"
 | |
| 	#	uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.operator=$(echo $intfdata | awk -F";" '{print $2}')
 | |
| 	#	uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.number=$(echo $intfdata | awk -F";" '{print $3}')
 | |
| 	#	uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.state=$(echo $intfdata | awk -F";" '{print $4}')
 | |
| 	#elif [ "$proto" = "modemmanager" ]; then
 | |
| 	#	intfdata="$(omr-modemmanager $OMR_TRACKER_DEVICE all)"
 | |
| 	#	uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.operator=$(echo $intfdata | awk -F";" '{print $2}')
 | |
| 	#	uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.number=$(echo $intfdata | awk -F";" '{print $3}')
 | |
| 	#	uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.state=$(echo $intfdata | awk -F";" '{print $4}')
 | |
| 	#else
 | |
| 	if [ "$proto" != "qmi" ] && [ "$proto" != "modemmanager" ]; then
 | |
| 		if [ -n "$OMR_TRACKER_DEVICE_GATEWAY" ] && [ -n "$OMR_TRACKER_DEVICE_IP" ] && [ "$(curl --interface $OMR_TRACKER_DEVICE_IP -s -w %{http_code} -m 2 http://$OMR_TRACKER_DEVICE_GATEWAY/api/webserver/SesTokInfo -o /dev/null)" = "200" ]; then
 | |
| 			uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.manufacturer='huawei'
 | |
| 		else
 | |
| 			uci -q delete openmptcprouter.$OMR_TRACKER_INTERFACE.manufacturer
 | |
| 		fi
 | |
| 	fi
 | |
| 	if [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.lc)" = "" ] || [ $(($(date +"%s") - $(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.lc))) -gt 3600 ]; then
 | |
| 		uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.lc=$(( $(date +"%s") - 3400 ))
 | |
| 		[ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "Get status and settings for $OMR_TRACKER_INTERFACE... Failed"
 | |
| 		uci -q commit openmptcprouter
 | |
| 	else
 | |
| 		[ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "Get status and settings for $OMR_TRACKER_INTERFACE... Done"
 | |
| 		[ -n "$(uci -q changes openmptcprouter)" ] && uci -q commit openmptcprouter
 | |
| 		if [ "$(pgrep -f openmptcprouter-vps)" = "" ] && { [ "$(uci -q get openmptcprouter.settings.apilc)" = "" ] || [ $(($(date +"%s") - $(uci -q get openmptcprouter.settings.apilc))) -gt 3600 ]; }; then
 | |
| 			_log "Check API configuration..."
 | |
| 			/etc/init.d/openmptcprouter-vps restart >/dev/null 2>&1 &
 | |
| 			uci -q set openmptcprouter.settings.apilc=$(date +"%s")
 | |
| 			_log "Check API configuration... Done"
 | |
| 		fi
 | |
| 	fi
 | |
| 	#dns_flush
 | |
| fi
 | |
| if [ "$(uci -q get openmptcprouter.settings.tracebox)" = "0" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ -n "$OMR_TRACKER_INTERFACE" ] && [ "$OMR_TRACKER_INTERFACE" != "omrvpn" ] && { [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.mplc)" = "" ] || [ $(($(date +"%s") - $(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.mplc))) -gt 600 ]; }; then
 | |
| 	#_log "Get MPTCP status for $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE)"
 | |
| 	mptcpsupport="$(omr-mptcp-intf $OMR_TRACKER_DEVICE)"
 | |
| 	#_log "MPTCP status for $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE): $mptcpsupport"
 | |
| 	[ -n "$mptcpsupport" ] && [ "$(uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.mptcp_status)" != "$mptcpsupport" ] && {
 | |
| 		uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.mptcp_status="$mptcpsupport"
 | |
| 		uci -q commit openmptcprouter
 | |
| 	}
 | |
| 	uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.mplc=$(date +"%s")
 | |
| 	uci -q commit openmptcprouter
 | |
| fi
 | |
| 
 | |
| exit 0 |