#!/usr/bin/env bash # --- # - Change API Key for user schleuder to enable managing lists # - # - Note: You can also run this script to initialise user 'schleuder' # --- backup_date="$(date +%Y-%m-%d-%H%M)" schleuder_config="/etc/schleuder/schleuder.yml" user_schleuder_config="/var/lib/schleuder/.schleuder-cli/schleuder-cli.yml" # - Create API Key for user schleuder # - api_key="$(schleuder new_api_key)" # - Add the generated API Key to the list of valid api keys at # - configuration file $schleuder_config # - if ! grep -q "$api_key" 2> /dev/null $schleuder_config ; then perl -i.$backup_date -n -p \ -e "s/(^(\s*)valid_api_keys:.*)/\1\n\2 - ${api_key}/" \ $schleuder_config fi # - Add generated API Key to schleuder's configuration file # - '${user_schleuder_config}' # - # - If no configuration file present, create a new default one. # - have_dot_schleuder_cli_yml=true if [[ ! -d "~schleuder/.schleuder-cli" ]] ; then have_dot_schleuder_cli_yml=false elif [[ ! -f "~schleuder/.schleuder-cli/schleuder-cli.yml" ]] ; then # - If the directory is present, no default configuration file (see below) # - will be written # - mv "~schleuder/.schleuder-cli" "~schleuder/.schleuder-cli.${backup_date}" have_dot_schleuder_cli_yml=false fi if ! $have_dot_schleuder_cli_yml ; then # Creates a default configuration file '${user_schleuder_config}' # su - schleuder -s /bin/bash -c "/usr//bin/schleuder-cli lists list > /dev/null 2>&1" fi # - Now, add the API Key.. # - perl -i.$backup_date -n -p \ -e "s/^(\s*api_key:).*/\1 ${api_key}/" \ ${user_schleuder_config} # - Get tls fingerprint of configured certificate # - cert_fingerprint="$(schleuder cert fingerprint | awk '{print$4}')" # - Add the fingerprint to schleuder users private configuration file # - if ! grep -q "$cert_fingerprint" 2> /dev/null ${user_schleuder_config} ; then perl -i.$backup_date -n -p \ -e "s/^(\s*tls_fingerprint:).*/\1 ${cert_fingerprint}/" \ ${user_schleuder_config} fi # - Restart 'schleuder-api-daemon' # - systemctl restart schleuder-api-daemon exit 0