mirror of
				https://github.com/Ysurac/openmptcprouter-feeds.git
				synced 2025-03-09 15:40:03 +00:00 
			
		
		
		
	Fix IPv6 in openmptcprouter-vps init script
This commit is contained in:
		
							parent
							
								
									31f404e8a5
								
							
						
					
					
						commit
						9e4fdc3420
					
				
					 1 changed files with 23 additions and 23 deletions
				
			
		|  | @ -1,5 +1,5 @@ | |||
| #!/bin/sh /etc/rc.common | ||||
| # Copyright (C) 2018-2023 Ycarus (Yannick Chabanois) <ycarus@zugaina.org> | ||||
| # Copyright (C) 2018-2025 Ycarus (Yannick Chabanois) <ycarus@zugaina.org> | ||||
| # Released under GPL 3. See LICENSE for the full terms. | ||||
| 
 | ||||
| START=99 | ||||
|  | @ -45,19 +45,19 @@ _login() { | |||
| 			server=$1 | ||||
| 			[ -n "$token" ] && return | ||||
| 			#auth=`curl --max-time 10 -s -k -H "Content-Type: application/json" -X POST -d '{"username":"'$username'","password":"'$password'"}' https://$server:$serverport/login` | ||||
| 			resolve="$(resolveip -t 5 $server)" | ||||
| 			#resolve="$(resolveip -t 5 $server)" | ||||
| 			valid_ip6=$(valid_subnet6 $server) | ||||
| 			if [ "$resolve" != "$server" ] || [ "$valid_ip6" != "ok" ]; then | ||||
| 				auth=`curl --max-time 10 -s -k -H "accept: application/json" -H "Content-Type: application/x-www-form-urlencoded" -X POST -d 'username='$username'&password='$password https://$server:$serverport/token` | ||||
| 			else | ||||
| 			if [ "$valid_ip6" = "ok" ]; then | ||||
| 				auth=`curl --max-time 10 -s -k -H "accept: application/json" -H "Content-Type: application/x-www-form-urlencoded" -X POST -d 'username='$username'&password='$password https://[$server]:$serverport/token` | ||||
| 			else | ||||
| 				auth=`curl --max-time 10 -s -k -H "accept: application/json" -H "Content-Type: application/x-www-form-urlencoded" -X POST -d 'username='$username'&password='$password https://$server:$serverport/token` | ||||
| 			fi | ||||
| 			if [ -z "$auth" ]; then | ||||
| 				for intf in $(multipath 2>/dev/null | awk '/default/ { print $1 }'); do | ||||
| 					if [ "$resolve" != "$server" ] || [ "$valid_ip6" != "ok" ]; then | ||||
| 						auth=`curl --max-time 10 -s -k --interface $intf -H "accept: application/json" -H "Content-Type: application/x-www-form-urlencoded" -X POST -d 'username='$username'&password='$password https://$server:$serverport/token` | ||||
| 					else | ||||
| 					if [ "$valid_ip6" = "ok" ]; then | ||||
| 						auth=`curl --max-time 10 -s -k --interface $intf -H "accept: application/json" -H "Content-Type: application/x-www-form-urlencoded" -X POST -d 'username='$username'&password='$password https://[$server]:$serverport/token` | ||||
| 					else | ||||
| 						auth=`curl --max-time 10 -s -k --interface $intf -H "accept: application/json" -H "Content-Type: application/x-www-form-urlencoded" -X POST -d 'username='$username'&password='$password https://$server:$serverport/token` | ||||
| 					fi | ||||
| 					[ -n "$auth" ] && break | ||||
| 				done | ||||
|  | @ -85,17 +85,17 @@ _get_json() { | |||
| 	[ -n "$token" ] && { | ||||
| 		resolve="$(resolveip -t 5 $server)" | ||||
| 		valid_ip6=$(valid_subnet6 $server) | ||||
| 		if [ "$resolve" != "$server" ] || [ "$valid_ip6" != "ok" ]; then | ||||
| 			result=`curl --max-time 10 -s -k -H "accept: application/json" -H "Authorization: Bearer $token" https://$server:$serverport/$route` | ||||
| 		else | ||||
| 		if [ "$valid_ip6" = "ok" ]; then | ||||
| 			result=`curl --max-time 10 -s -k -H "accept: application/json" -H "Authorization: Bearer $token" https://[$server]:$serverport/$route` | ||||
| 		else | ||||
| 			result=`curl --max-time 10 -s -k -H "accept: application/json" -H "Authorization: Bearer $token" https://$server:$serverport/$route` | ||||
| 		fi | ||||
| 		if [ -z "$result" ]; then | ||||
| 			for intf in $(multipath 2>/dev/null | awk '/default/ { print $1 }'); do | ||||
| 				if [ "$resolve" != "$server" ] || [ "$valid_ip6" != "ok" ]; then | ||||
| 					result=`curl --max-time 10 -s -k --interface $intf -H "accept: application/json" -H "Authorization: Bearer $token" https://$server:$serverport/$route` | ||||
| 				else | ||||
| 				if [ "$valid_ip6" = "ok" ]; then | ||||
| 					result=`curl --max-time 10 -s -k --interface $intf -H "accept: application/json" -H "Authorization: Bearer $token" https://[$server]:$serverport/$route` | ||||
| 				else | ||||
| 					result=`curl --max-time 10 -s -k --interface $intf -H "accept: application/json" -H "Authorization: Bearer $token" https://$server:$serverport/$route` | ||||
| 				fi | ||||
| 				[ -n "$result" ] && break | ||||
| 			done | ||||
|  | @ -117,17 +117,17 @@ _set_json() { | |||
| 	[ -n "$token" ] && { | ||||
| 		resolve="$(resolveip -t 5 $server)" | ||||
| 		valid_ip6=$(valid_subnet6 $server) | ||||
| 		if [ "$resolve" != "$server" ] || [ "$valid_ip6" != "ok" ]; then | ||||
| 			result=`curl --max-time 10 -s -k -H "Authorization: Bearer $token" -H "Content-Type: application/json" -X POST -d "$settings" https://$server:$serverport/$route` | ||||
| 		else | ||||
| 		if [ "$valid_ip6" = "ok" ]; then | ||||
| 			result=`curl --max-time 10 -s -k -H "Authorization: Bearer $token" -H "Content-Type: application/json" -X POST -d "$settings" https://[$server]:$serverport/$route` | ||||
| 		else | ||||
| 			result=`curl --max-time 10 -s -k -H "Authorization: Bearer $token" -H "Content-Type: application/json" -X POST -d "$settings" https://$server:$serverport/$route` | ||||
| 		fi | ||||
| 		if [ -z "$result" ]; then | ||||
| 			for intf in $(multipath 2>/dev/null | awk '/default/ { print $1 }'); do | ||||
| 				if [ "$resolve" != "$server" ] || [ "$valid_ip6" != "ok" ]; then | ||||
| 					result=`curl --max-time 10 -s -k --interface $intf -H "Authorization: Bearer $token" -H "Content-Type: application/json" -X POST -d "$settings" https://$server:$serverport/$route` | ||||
| 				else | ||||
| 				if [ "$valid_ip6" = "ok" ]; then | ||||
| 					result=`curl --max-time 10 -s -k --interface $intf -H "Authorization: Bearer $token" -H "Content-Type: application/json" -X POST -d "$settings" https://[$server]:$serverport/$route` | ||||
| 				else | ||||
| 					result=`curl --max-time 10 -s -k --interface $intf -H "Authorization: Bearer $token" -H "Content-Type: application/json" -X POST -d "$settings" https://$server:$serverport/$route` | ||||
| 				fi | ||||
| 				[ -n "$result" ] && break | ||||
| 			done | ||||
|  | @ -1013,11 +1013,11 @@ _set_vpn_ip() { | |||
| 	[ "$(uci -q get openmptcprouter.settings.vpn)" = "none" ] && return | ||||
| 	vpnifname="$(uci -q get network.omrvpn.device)" | ||||
| 	vpnip_local_current="$(echo "$vps_config" | jsonfilter -q -e '@.vpn.remoteip')" | ||||
| 	vpnip_local=$(ip -4 -br addr ls dev ${vpnifname} | awk -F'[ /]+' '{print $3}') | ||||
| 	vpnip_local=$(ip -4 -br addr ls dev ${vpnifname} 2>/dev/null | awk -F'[ /]+' '{print $3}') | ||||
| 	vpnip_remote_current="$(echo "$vps_config" | jsonfilter -q -e '@.vpn.localip')" | ||||
| 	vpnip_remote=$(ip -4 r show default dev ${vpnifname} | awk '{print $3}' | tr -d "\n") | ||||
| 	[ -z "$vpnip_remote" ] && [ -n "$vpnifname" ] && vpnip_remote=$(ip -4 r list dev ${vpnifname} | grep kernel | awk '{print $1}' | tr -d "\n") | ||||
| 	[ -z "$vpnip_remote" ] && [ -n "$vpnifname" ] && vpnip_remote=$(ip -4 r list dev ${vpnifname} | grep "proto static src" | awk '{print $3}' | tr -d "\n") | ||||
| 	[ -z "$vpnip_remote" ] && [ -n "$vpnifname" ] && vpnip_remote=$(ip -4 r list dev ${vpnifname} 2>/dev/null | grep kernel | awk '{print $1}' | tr -d "\n") | ||||
| 	[ -z "$vpnip_remote" ] && [ -n "$vpnifname" ] && vpnip_remote=$(ip -4 r list dev ${vpnifname} 2>/dev/null | grep "proto static src" | awk '{print $3}' | tr -d "\n") | ||||
| 	[ -z "$vpnip_remote" ] && vpnip_remote=$(ifstatus omrvpn | jsonfilter -e '@.route[0].nexthop') | ||||
| 	[ -z "$vpnip_remote" ] && [ "$vpnifname" = "bonding-omrvpn" ] && vpnip_remote="10.255.248.1" | ||||
| 	ula="$(uci -q get network.globals.ula_prefix)" | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue