1
0
Fork 0
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:
Ycarus (Yannick Chabanois) 2019-11-02 20:01:55 +01:00
parent 6b161f428d
commit b39ba9a425

View file

@ -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() {