From 132dc8de5af7ee031cf503eb6e2156e168e426d9 Mon Sep 17 00:00:00 2001 From: Romain de Laage Date: Mon, 27 Jul 2020 18:51:50 +0200 Subject: [PATCH] Add the basics for a remote program to control a miniflux server --- miniflux.sh | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100755 miniflux.sh diff --git a/miniflux.sh b/miniflux.sh new file mode 100755 index 0000000..9d9f93a --- /dev/null +++ b/miniflux.sh @@ -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 \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