diff --git a/back/pialert-cli b/back/pialert-cli index 3b187e3a..0fd259a1 100755 --- a/back/pialert-cli +++ b/back/pialert-cli @@ -1,7 +1,9 @@ #!/bin/bash SCRIPT=$(readlink -f $0) -SCRIPTPATH=`dirname $SCRIPT` +SCRIPTPATH=$(dirname $SCRIPT) CONFFILENAME="app.conf" +SETTING_NAME_TOGGLE="PIALERT_WEB_PROTECTION" +SETTING_NAME_PWD="PIALERT_WEB_PASSWORD" PIA_CONF_FILE=${SCRIPTPATH}'/../config/${CONFFILENAME}' case $1 in @@ -12,21 +14,21 @@ case $1 in echo "" echo "The is a list of supported commands:" echo "" - echo " set_login - Sets the parameter PIALERT_WEB_PROTECTION in the config file to TRUE" + echo " set_login - Sets the parameter $SETTING_NAME_TOGGLE in the config file to TRUE" echo " - If the parameter is not present, it will be created. Additionally the" echo " default password '123456' is set." echo "" - echo " unset_login - Sets the parameter PIALERT_WEB_PROTECTION in the config file to FALSE" + echo " unset_login - Sets the parameter $SETTING_NAME_TOGGLE in the config file to FALSE" echo " - If the parameter is not present, it will be created. Additionally the" echo " default password '123456' is set." echo "" echo " set_password - Sets the new password as a hashed value." - echo " - If the PIALERT_WEB_PROTECTION parameter does not exist yet, it will be" + echo " - If the $SETTING_NAME_TOGGLE parameter does not exist yet, it will be" echo " created and set to 'True' (login enabled)" echo "" echo " set_autopassword - Sets a new random password as a hashed value and show it plaintext in" echo " the console." - echo " - If the PIALERT_WEB_PROTECTION parameter does not exist yet, it will be" + echo " - If the $SETTING_NAME_TOGGLE parameter does not exist yet, it will be" echo " created and set to 'True' (login enabled)" echo "" echo "" @@ -34,67 +36,67 @@ case $1 in ;; set_login) - ## Check if PIALERT_WEB_PROTECTION exists - CHECK_PROT=$(grep "PIALERT_WEB_PROTECTION" $PIA_CONF_FILE | wc -l) + ## Check if $SETTING_NAME_TOGGLE exists + CHECK_PROT=$(grep "$SETTING_NAME_TOGGLE" $PIA_CONF_FILE | wc -l) if [ $CHECK_PROT -eq 0 ] then - ## Create PIALERT_WEB_PROTECTION and enable it - sed -i "/^VENDORS_DB.*/a PIALERT_WEB_PROTECTION = True" $PIA_CONF_FILE - sed -i "/^PIALERT_WEB_PROTECTION.*/a PIALERT_WEB_PASSWORD = '8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92'" $PIA_CONF_FILE + ## Create $SETTING_NAME_TOGGLE and enable it + sed -i "/^VENDORS_DB.*/a $SETTING_NAME_TOGGLE = True" $PIA_CONF_FILE + sed -i "/^$SETTING_NAME_TOGGLE.*/a $SETTING_NAME_PWD = '8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92'" $PIA_CONF_FILE else - ## Switch PIALERT_WEB_PROTECTION to enable - sed -i "/PIALERT_WEB_PROTECTION/c\PIALERT_WEB_PROTECTION = True" $PIA_CONF_FILE + ## Switch $SETTING_NAME_TOGGLE to enable + sed -i "/$SETTING_NAME_TOGGLE/c\$SETTING_NAME_TOGGLE = True" $PIA_CONF_FILE fi echo "Login is now enabled" ;; unset_login) - ## Check if PIALERT_WEB_PROTECTION exists - CHECK_PROT=$(grep "PIALERT_WEB_PROTECTION" $PIA_CONF_FILE | wc -l) + ## Check if $SETTING_NAME_TOGGLE exists + CHECK_PROT=$(grep "$SETTING_NAME_TOGGLE" $PIA_CONF_FILE | wc -l) if [ $CHECK_PROT -eq 0 ] then - ## Create PIALERT_WEB_PROTECTION and disable it - sed -i "/^VENDORS_DB.*/a PIALERT_WEB_PROTECTION = False" $PIA_CONF_FILE - sed -i "/^PIALERT_WEB_PROTECTION.*/a PIALERT_WEB_PASSWORD = '8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92'" $PIA_CONF_FILE + ## Create $SETTING_NAME_TOGGLE and disable it + sed -i "/^VENDORS_DB.*/a $SETTING_NAME_TOGGLE = False" $PIA_CONF_FILE + sed -i "/^$SETTING_NAME_TOGGLE.*/a $SETTING_NAME_PWD = '8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92'" $PIA_CONF_FILE else - ## Switch PIALERT_WEB_PROTECTION to disable - sed -i "/PIALERT_WEB_PROTECTION/c\PIALERT_WEB_PROTECTION = False" $PIA_CONF_FILE + ## Switch $SETTING_NAME_TOGGLE to disable + sed -i "/$SETTING_NAME_TOGGLE/c\$SETTING_NAME_TOGGLE = False" $PIA_CONF_FILE fi echo "Login is now disabled" ;; set_password) PIA_PASS=$2 - ## Check if PIALERT_WEB_PROTECTION exists - CHECK_PROT=$(grep "PIALERT_WEB_PROTECTION" $PIA_CONF_FILE | wc -l) + ## Check if $SETTING_NAME_TOGGLE exists + CHECK_PROT=$(grep "$SETTING_NAME_TOGGLE" $PIA_CONF_FILE | wc -l) if [ $CHECK_PROT -eq 0 ] then - ## Create PIALERT_WEB_PROTECTION and enable it - sed -i "/^VENDORS_DB.*/a PIALERT_WEB_PROTECTION = True" $PIA_CONF_FILE + ## Create $SETTING_NAME_TOGGLE and enable it + sed -i "/^VENDORS_DB.*/a $SETTING_NAME_TOGGLE = True" $PIA_CONF_FILE fi ## Prepare Hash PIA_PASS_HASH=$(echo -n $PIA_PASS | sha256sum | awk '{print $1}') echo " The hashed password is:" echo " $PIA_PASS_HASH" ## Check if the password parameter is set - CHECK_PWD=$(grep "PIALERT_WEB_PASSWORD" $PIA_CONF_FILE | wc -l) + CHECK_PWD=$(grep "$SETTING_NAME_PWD" $PIA_CONF_FILE | wc -l) if [ $CHECK_PWD -eq 0 ] then - sed -i "/^PIALERT_WEB_PROTECTION.*/a PIALERT_WEB_PASSWORD = '$PIA_PASS_HASH'" $PIA_CONF_FILE + sed -i "/^$SETTING_NAME_TOGGLE.*/a $SETTING_NAME_PWD = '$PIA_PASS_HASH'" $PIA_CONF_FILE else - sed -i "/PIALERT_WEB_PASSWORD/c\PIALERT_WEB_PASSWORD = '$PIA_PASS_HASH'" $PIA_CONF_FILE + sed -i "/$SETTING_NAME_PWD/c\$SETTING_NAME_PWD = '$PIA_PASS_HASH'" $PIA_CONF_FILE fi echo "" echo "The new password is set" ;; set_autopassword) - ## Check if PIALERT_WEB_PROTECTION exists - CHECK_PROT=$(grep "PIALERT_WEB_PROTECTION" $PIA_CONF_FILE | wc -l) + ## Check if $SETTING_NAME_TOGGLE exists + CHECK_PROT=$(grep "$SETTING_NAME_TOGGLE" $PIA_CONF_FILE | wc -l) if [ $CHECK_PROT -eq 0 ] then - ## Create PIALERT_WEB_PROTECTION and enable it - sed -i "/^VENDORS_DB.*/a PIALERT_WEB_PROTECTION = True" $PIA_CONF_FILE + ## Create $SETTING_NAME_TOGGLE and enable it + sed -i "/^VENDORS_DB.*/a $SETTING_NAME_TOGGLE = True" $PIA_CONF_FILE fi ## Create autopassword PIA_AUTOPASS=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 8 | head -n 1) @@ -104,14 +106,14 @@ case $1 in echo " The hashed password is:" echo " $PIA_AUTOPASS_HASH" ## Check if the password parameter is set - CHECK_PWD=$(grep "PIALERT_WEB_PASSWORD" $PIA_CONF_FILE | wc -l) + CHECK_PWD=$(grep "$SETTING_NAME_PWD" $PIA_CONF_FILE | wc -l) if [ $CHECK_PWD -eq 0 ] then ## Create password parameter - sed -i "/^PIALERT_WEB_PROTECTION.*/a PIALERT_WEB_PASSWORD = '$PIA_AUTOPASS_HASH'" $PIA_CONF_FILE + sed -i "/^$SETTING_NAME_TOGGLE.*/a $SETTING_NAME_PWD = '$PIA_AUTOPASS_HASH'" $PIA_CONF_FILE else ## Overwrite password parameter - sed -i "/PIALERT_WEB_PASSWORD/c\PIALERT_WEB_PASSWORD = '$PIA_AUTOPASS_HASH'" $PIA_CONF_FILE + sed -i "/$SETTING_NAME_PWD/c\$SETTING_NAME_PWD = '$PIA_AUTOPASS_HASH'" $PIA_CONF_FILE fi echo "" echo "The new password is set" @@ -121,4 +123,3 @@ case $1 in echo "pialert-cli v0.1 (https://github.com/leiweibau/Pi.Alert)" echo "Use \"pialert-cli help\" for a list of supported commands." esac -