tcli helper script for making hooks - coffin - secure lan file storage on a device
HTML 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
HTML 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