tcli helper script for making hooks - coffin - secure lan file storage on a device
 (HTM) git clone git://parazyd.org/coffin.git
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) Submodules
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 8ccca520bb6137c632ce28031296e6a0bcc0389f
 (DIR) parent 4f1ff06e39b1edb7dc038da5b4609a5d42b36ab2
 (HTM) Author: parazyd <parazyd@dyne.org>
       Date:   Thu,  7 Apr 2016 14:57:46 +0200
       
       cli helper script for making hooks
       
       Diffstat:
         A helpers/makehook                    |     143 +++++++++++++++++++++++++++++++
       
       1 file changed, 143 insertions(+), 0 deletions(-)
       ---
 (DIR) diff --git a/helpers/makehook b/helpers/makehook
       t@@ -0,0 +1,143 @@
       +#!/usr/bin/env bash
       +#
       +# Helper script to generate hooks for coffin.
       +#
       +# ~ parazyd
       +
       +hooks="hook"
       +davfile="davpasswd"
       +
       +gendav() {
       +        daventry=`echo -n "${undertaker}:WebDAV:" \
       +                && echo -n "${undertaker}:WebDAV:${davpass}" \
       +                | md5sum \
       +                | awk '{print $1}'`
       +}
       +
       +successmsg() {
       +        cat <<EOF
       +
       +Your hook has been created successfully. Plug your USB key into the coffin to
       +execute it, or rerun this script to create another hook.
       +
       +EOF
       +}
       +
       +genhook() {
       +        case $1 in
       +                create)
       +                        hookentry="create:${undertaker}:${tombname}:${tombsize}:webdav"
       +                        echo $hookentry >> $hooks
       +                        gendav
       +                        echo $daventry >> $davfile
       +                        ;;
       +                delete)
       +                        echo "delete"
       +                        ;;
       +                backup)
       +                        echo "backup"
       +                        ;;
       +                *)
       +                        echo "fuck off"
       +                        ;;
       +        esac
       +}
       +
       +happenz() {
       +        case $1 in
       +                1)
       +                        echo -e "\n"
       +                        echo "Creating a new tomb..."
       +
       +                        read -p "Please input the username you wish to use: " undertaker
       +                        re='^[A-Za-z0-9]+$'
       +                        [[ $undertaker =~ $re ]] || {
       +                                echo "ERROR: Invalid characters in username."
       +                                exec $0
       +                        }
       +
       +                        read -p "Please input the name you wish to use for your tomb: " tombname
       +                        [[ $tombname =~ $re ]] || {
       +                                echo "ERROR: Invalid characters in tomb name."
       +                                exec $0
       +                        }
       +
       +                        read -p "Please input the size of your tomb in MiB: " tombsize
       +                        re='^[0-9]+$'
       +                        [[ $tombsize =~ $re ]] || {
       +                                echo "ERROR: Invalid characters in tomb size."
       +                                exec $0
       +                        }
       +
       +                        read -r -p "Please input the password you will use to access your tomb: " davpass
       +
       +                        genhook create
       +                        [[ $? = 0 ]] && {
       +                                successmsg        
       +                        }
       +                        ;;
       +                2)
       +                        echo -e "\n"
       +                        echo "Deleting an exising tomb..."
       +
       +                        read -p "Please input the username you used to create the tomb: " undertaker
       +                        re='^[A-Za-z0-9]+$'
       +                        [[ $undertaker =~ $re ]] || {
       +                                echo "ERROR: Invalid characters in username."
       +                                exec $0
       +                        }
       +
       +                        read -p "Please input the name you used for your tomb: " tombname
       +                        [[ $tombname =~ $re ]] || {
       +                                echo "ERROR: Invalid characters in tomb name."
       +                                exec $0
       +                        }
       +
       +                        # NOTE: possibly include prompt for webdav password
       +
       +                        genhook delete
       +                        [[ $? = 0 ]] && {
       +                                successmsg
       +                        }
       +
       +                        ;;
       +                3)
       +                        echo -e "\n"
       +                        echo "backin up"
       +                        ;;
       +                4)
       +                        echo -e "\n"
       +                        echo "Toggling state..."
       +                        ;;
       +                *)
       +                        echo -e "\n"
       +                        echo "No valid option. Exiting..."
       +                        return 1
       +                        exit
       +                        ;;
       +        esac
       +}
       +
       +main() {
       +        cat <<EOF
       +
       +#########################################################
       +                   ..:: COFFIN ::..
       +   = cryptographic office filer for important nuggets =
       +                      version 0.4
       +               https://coffin.dyne.org
       +
       +1) Create a new tomb on the coffin
       +2) Delete an existing tomb on the coffin
       +3) Backup a tomb from the coffin
       +4) Toggle your tomb's open/close state
       +
       +#########################################################
       +
       +EOF
       +
       +read -n 1 -p "Type in the number of the function you wish to perform: " action
       +happenz $action
       +}
       +
       +main