#! /bin/bash #CHECK FOR ENVIRONMENT VARIABLES if [ -z $ADM_USER ] then read -p "your username : " ADM_USER fi if [ -z $ADM_PASSWORD ] then read -sp "your password : " ADM_PASSWORD echo fi if [ -z $SERVER_HOST ] then read -p "server url : " SERVER_HOST fi cmd_users() { TMPFILE=`mktemp` TMPFILE2=`mktemp` curl -s --user $ADM_USER:$ADM_PASSWORD $SERVER_HOST/v1/users > $TMPFILE cat "curl -s --user $ADM_USER:$ADM_PASSWORD $SERVER_HOST/v1/users > $TMPFILE" cat $TMPFILE | jq -r ".[] | .username" > $TMPFILE2 NUSERS=`cat $TMPFILE2 | wc -l` echo "There are currently $NUSERS users registered on this server. Below is the list of these users :" cat $TMPFILE2 rm $TMPFILE $TMPFILE2 } cmd_user() { echo "Creating a new user on $SERVER_HOST" read -p "Username : " UNAME read -sp "Password : " UPASSWD echo JSON="{\"username\":\"$UNAME\",\"password\":\"$UPASSWD\",\"is_admin\":false}" curl --user $ADM_USER:$ADM_PASSWORD -d $JSON -H "Content-Type: application/json" -X POST $SERVER_HOST/v1/users } cmd_help() { echo "Help for miniflux remote tool :" echo echo "SYNOPSIS" printf "\tminiflux \n" echo echo "COMMANDS :" printf "\tusers : Get the list of users and the number\n" printf "\tuser : Create a new user, it will ask you for a username and a password\n" printf "\tcheck : To check if the service is up\n" } cmd_check() { curl $SERVER_HOST/healthcheck echo } case $1 in users) cmd_users $@;; user) cmd_user $@;; help) cmd_help;; check) cmd_check;; -v) echo "v0.0.1/dev, written in bash by Romain de Laage";; *) echo "see miniflux-cli help for help";; esac