mirror of
				https://github.com/Ysurac/openmptcprouter-feeds.git
				synced 2025-03-09 15:40:03 +00:00 
			
		
		
		
	Update init for Fastapi based VPS script
This commit is contained in:
		
							parent
							
								
									6b161f428d
								
							
						
					
					
						commit
						b39ba9a425
					
				
					 1 changed files with 32 additions and 31 deletions
				
			
		| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
#!/bin/sh /etc/rc.common
 | 
			
		||||
# Copyright (C) 2018 Ycarus (Yannick Chabanois) <ycarus@zugaina.org>
 | 
			
		||||
# Copyright (C) 2018-2019 Ycarus (Yannick Chabanois) <ycarus@zugaina.org>
 | 
			
		||||
# Released under GPL 3. See LICENSE for the full terms.
 | 
			
		||||
 | 
			
		||||
START=99
 | 
			
		||||
| 
						 | 
				
			
			@ -21,9 +21,10 @@ _login() {
 | 
			
		|||
	password="$(uci -q get openmptcprouter.${servername}.password)"
 | 
			
		||||
	serverport="$(uci -q get openmptcprouter.${servername}.port)"
 | 
			
		||||
	if [ -z "$token" ]; then
 | 
			
		||||
		auth=`curl --max-time 10 -s -k -H "Content-Type: application/json" -X POST -d '{"username":"'$username'","password":"'$password'"}' https://$server:$serverport/login`
 | 
			
		||||
		#auth=`curl --max-time 10 -s -k -H "Content-Type: application/json" -X POST -d '{"username":"'$username'","password":"'$password'"}' https://$server:$serverport/login`
 | 
			
		||||
		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`
 | 
			
		||||
		[ -z "$auth" ] && return
 | 
			
		||||
		token="$(echo "$auth" | jsonfilter -q -e '@.token')"
 | 
			
		||||
		token="$(echo "$auth" | jsonfilter -q -e '@.access_token')"
 | 
			
		||||
		uci -q set openmptcprouter.${servername}.token="$token"
 | 
			
		||||
	fi
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -33,7 +34,7 @@ _get_json() {
 | 
			
		|||
	route=$1
 | 
			
		||||
	[ -z "$token" ] && _login
 | 
			
		||||
	[ -n "$token" ] && {
 | 
			
		||||
		result=`curl --max-time 10 -s -k -H "Authorization: Bearer $token" https://$server:$serverport/$route`
 | 
			
		||||
		result=`curl --max-time 10 -s -k -H "accept: application/json" -H "Authorization: Bearer $token" https://$server:$serverport/$route`
 | 
			
		||||
		echo $result
 | 
			
		||||
	} || {
 | 
			
		||||
		echo ''
 | 
			
		||||
| 
						 | 
				
			
			@ -297,9 +298,9 @@ _get_vps_config() {
 | 
			
		|||
		logger -t "OMR-VPS" "Restart DSVPN..."
 | 
			
		||||
		/etc/init.d/dsvpn restart
 | 
			
		||||
	fi
 | 
			
		||||
	if [ "$(uci -q get mlvpn.general.host)" != "127.0.0.1" ] && [ "$(uci -q get mlvpn.general.host)" != "$vpsip" ]; then
 | 
			
		||||
	if [ "$(uci -q get mlvpn.general.host)" != "127.0.0.1" ] && [ "$(uci -q get mlvpn.general.host)" != "$vpsip" ] && [ -f /etc/init.d/mlvpn ]; then
 | 
			
		||||
		uci -q batch <<-EOF >/dev/null
 | 
			
		||||
			set mlvpn.general="mlvpn"
 | 
			
		||||
			set mlvpn.general=mlvpn
 | 
			
		||||
			set mlvpn.general.host="$vpsip"
 | 
			
		||||
			commit mlvpn
 | 
			
		||||
		EOF
 | 
			
		||||
| 
						 | 
				
			
			@ -523,18 +524,18 @@ _vps_firewall_close_port() {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
_set_vps_firewall() {
 | 
			
		||||
	servername=$1
 | 
			
		||||
	[ "$(uci -q get openmptcprouter.${servername}.nofwredirect)" = "1" ] && return
 | 
			
		||||
	[ -z "$(uci -q get openmptcprouter.${servername}.username)" ] && return
 | 
			
		||||
	[ -z "$(uci -q get openmptcprouter.${servername}.password)" ] && return
 | 
			
		||||
	[ -z "$(uci -q get openmptcprouter.${servername}.port)" ] && return
 | 
			
		||||
	fwservername=$1
 | 
			
		||||
	[ "$(uci -q get openmptcprouter.${fwservername}.nofwredirect)" = "1" ] && return
 | 
			
		||||
	[ -z "$(uci -q get openmptcprouter.${fwservername}.username)" ] && return
 | 
			
		||||
	[ -z "$(uci -q get openmptcprouter.${fwservername}.password)" ] && return
 | 
			
		||||
	[ -z "$(uci -q get openmptcprouter.${fwservername}.port)" ] && return
 | 
			
		||||
	token=""
 | 
			
		||||
	vps_config=""
 | 
			
		||||
	_login
 | 
			
		||||
	[ -z "$token" ] && {
 | 
			
		||||
		logger -t "OMR-VPS" "Can't get token, try later"
 | 
			
		||||
		uci -q batch <<-EOF >/dev/null
 | 
			
		||||
			set openmptcprouter.${servername}.admin_error=1
 | 
			
		||||
			set openmptcprouter.${fwservername}.admin_error=1
 | 
			
		||||
		EOF
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -849,9 +850,6 @@ _backup_send() {
 | 
			
		|||
backup_send() {
 | 
			
		||||
	config_load openmptcprouter
 | 
			
		||||
	config_foreach _backup_send server
 | 
			
		||||
	sleep 2
 | 
			
		||||
	config_foreach _backup_list server
 | 
			
		||||
	uci -q commit openmptcprouter
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -875,7 +873,6 @@ _backup_get() {
 | 
			
		|||
	backup_data="$(echo "$vps_backup" | jsonfilter -q -e '@.data')"
 | 
			
		||||
	backup_sha256sum="$(echo "$vps_backup" | jsonfilter -q -e '@.sha256sum')"
 | 
			
		||||
	[ -n "$backup_data" ] && {
 | 
			
		||||
		logger -t "OMR-VPS" "Restore backup"
 | 
			
		||||
		echo $backup_data | base64 -d > /tmp/backup.tar.gz
 | 
			
		||||
		sysupgrade -t /tmp/backup.tar.gz
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -884,21 +881,20 @@ _backup_get() {
 | 
			
		|||
backup_get() {
 | 
			
		||||
	config_load openmptcprouter
 | 
			
		||||
	config_foreach _backup_get server
 | 
			
		||||
	uci -q commit openmptcprouter
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
_backup_list() {
 | 
			
		||||
	servername=$1
 | 
			
		||||
	[ -z "$(uci -q get openmptcprouter.${servername}.username)" ] && return
 | 
			
		||||
	[ -z "$(uci -q get openmptcprouter.${servername}.password)" ] && return
 | 
			
		||||
	[ -z "$(uci -q get openmptcprouter.${servername}.port)" ] && return
 | 
			
		||||
	bservername=$1
 | 
			
		||||
	[ -z "$(uci -q get openmptcprouter.${bservername}.username)" ] && return
 | 
			
		||||
	[ -z "$(uci -q get openmptcprouter.${bservername}.password)" ] && return
 | 
			
		||||
	[ -z "$(uci -q get openmptcprouter.${bservername}.port)" ] && return
 | 
			
		||||
	token=""
 | 
			
		||||
	vps_config=""
 | 
			
		||||
	_login
 | 
			
		||||
	[ -z "$token" ] && {
 | 
			
		||||
		logger -t "OMR-VPS" "Can't get token, try later"
 | 
			
		||||
		uci -q batch <<-EOF >/dev/null
 | 
			
		||||
			set openmptcprouter.${servername}.admin_error=1
 | 
			
		||||
			set openmptcprouter.${bservername}.admin_error=1
 | 
			
		||||
		EOF
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -906,7 +902,7 @@ _backup_list() {
 | 
			
		|||
	[ -z "$vps_backup" ] && return
 | 
			
		||||
	backup_lastmodif="$(echo "$vps_backup" | jsonfilter -q -e '@.modif')"
 | 
			
		||||
	[ -n "$backup_lastmodif" ] && {
 | 
			
		||||
		uci -q set openmptcprouter.$servername.lastbackup=$backup_lastmodif
 | 
			
		||||
		uci -q set openmptcprouter.$bservername.lastbackup=$backup_lastmodif
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -915,7 +911,6 @@ _backup_list() {
 | 
			
		|||
backup_list() {
 | 
			
		||||
	config_load openmptcprouter
 | 
			
		||||
	config_foreach _backup_list server
 | 
			
		||||
	uci -q commit openmptcprouter
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -946,6 +941,7 @@ _config_service() {
 | 
			
		|||
	[ "$(uci -q get openmptcprouter.${servername}.get_config)" = "1" ] && {
 | 
			
		||||
		_set_config_from_vps
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	_get_vps_config
 | 
			
		||||
	if [ "$(uci -q get openmptcprouter.settings.firstboot)" != "0" ]; then
 | 
			
		||||
		[ -z "$vps_config" ] && vps_config=$(_get_json "config")
 | 
			
		||||
| 
						 | 
				
			
			@ -978,28 +974,33 @@ _config_service() {
 | 
			
		|||
	[ -z "$(_set_vpn_vps)" ] && error=1
 | 
			
		||||
	#_set_pihole
 | 
			
		||||
	[ -n "$wanips" ] && _set_wan_ip
 | 
			
		||||
	[ "$error" = 0 ] && uci -q set openmptcprouter.${servername}.lastchange=$(date "+%s")
 | 
			
		||||
	[ "$error" = 0 ] && {
 | 
			
		||||
		#logger -t "OMR-VPS" "No errors"
 | 
			
		||||
		uci -q set openmptcprouter.${servername}.lastchange=$(date "+%s")
 | 
			
		||||
	}
 | 
			
		||||
	#[ "$error" != 0 ] && logger -t "OMR-VPS" "Error !"
 | 
			
		||||
	uci -q batch <<-EOF >/dev/null
 | 
			
		||||
		set openmptcprouter.${servername}.admin_error=$error
 | 
			
		||||
		commit openmptcprouter
 | 
			
		||||
	EOF
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
_set_pihole_server() {
 | 
			
		||||
	servername=$1
 | 
			
		||||
	[ -z "$(uci -q get openmptcprouter.${servername}.username)" ] && return
 | 
			
		||||
	[ -z "$(uci -q get openmptcprouter.${servername}.password)" ] && return
 | 
			
		||||
	[ -z "$(uci -q get openmptcprouter.${servername}.port)" ] && return
 | 
			
		||||
	pservername=$1
 | 
			
		||||
	[ -z "$(uci -q get openmptcprouter.${pservername}.username)" ] && return
 | 
			
		||||
	[ -z "$(uci -q get openmptcprouter.${pservername}.password)" ] && return
 | 
			
		||||
	[ -z "$(uci -q get openmptcprouter.${pservername}.port)" ] && return
 | 
			
		||||
	token=""
 | 
			
		||||
	vps_config=""
 | 
			
		||||
	_login
 | 
			
		||||
	[ -z "$token" ] && {
 | 
			
		||||
		logger -t "OMR-VPS" "Can't get token, try later"
 | 
			
		||||
		uci -q batch <<-EOF >/dev/null
 | 
			
		||||
			set openmptcprouter.${servername}.admin_error=1
 | 
			
		||||
			set openmptcprouter.${pservername}.admin_error=1
 | 
			
		||||
		EOF
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	_set_pihole $servername
 | 
			
		||||
	_set_pihole $pservername
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
set_pihole() {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue