Add the basics for a remote program to control a miniflux server

This commit is contained in:
Romain de Laage 2020-07-27 18:51:50 +02:00
parent 94dfff89fd
commit 132dc8de5a
Signed by: rdelaage
GPG Key ID: 534845FADDF0C329
1 changed files with 65 additions and 0 deletions

65
miniflux.sh Executable file
View File

@ -0,0 +1,65 @@
#! /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