#!/usr/bin/env bash # using aesutil #SALT=$(mkrand 15) # mkrand generates a 15-character random passwd #MYENCPASS="i/b9pkcpQAPy7BzH2JlqHVoJc2mNTBM=" # echo "passwd" | aes -e -b -B -p $SALT #MYPASS=$(echo "$MYENCPASS" | aes -d -b -p $SALT) # and usage #serverControl.sh -u admin -p $MYPASS -c shutdown echo 'rusty!herring.pitshaft' | openssl enc -aes-256-cbc -md sha512 -a -pbkdf2 -iter 100000 -salt -pass pass:'sjkXF*4kX.@9mh-ut8y.' # U2FsdGVkX199dZHjA0wtjtt0OapR8EOpVwZ5mPqN3JJd40yhCS3fYYxEflQTXTwr echo "U2FsdGVkX199dZHjA0wtjtt0OapR8EOpVwZ5mPqN3JJd40yhCS3fYYxEflQTXTwr" | openssl enc -aes-256-cbc -md sha512 -a -d -pbkdf2 -iter 100000 -salt -pass pass:'sjkXF*4kX.@9mh-ut8y.' echo 'rusty!herring.pitshaft' | openssl enc -aes-256-cbc -md sha512 -a -pbkdf2 -iter 100000 -salt -pass pass:'sjkXF*4kX.@9mh-ut8y.' > .secret_vault.txt # chmod 600 .secret_vault.txt cat .secret_vault.txt | openssl enc -aes-256-cbc -md sha512 -a -d -pbkdf2 -iter 100000 -salt -pass pass:'sjkXF*4kX.@9mh-ut8y.' #rusty!herring.pitshaft # Load environment variables from .env file [ ! -f .env ] || export $(grep -v '^#' .env | xargs) # export $(grep -v '^#' .env | xargs -0) # while read line; do export $line; done < .env Example of .env file: # Database settings DB_HOST=localhost DB_PORT=5432 DB_NAME=mydatabase DB_USER=myuser DB_PASSWORD=mypassword # API keys API_KEY=abc123 SECRET_KEY=def456 DB_NAME=mydb DB_PASSWORD=abcd1234 source my_custom.env set -o allexport source conf-file set +o allexport set -a . ./env.txt set +a # .env loading in the shell dotenv () { set -a [ -f .env ] && . .env set +a }