sysadmin/miniflux.sh

66 lines
1.6 KiB
Bash
Executable File

#! /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 <command>\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