itnew features, unfinished - coffin - secure lan file storage on a device Err parazyd.org 70 hgit clone git://parazyd.org/coffin.git URL:git://parazyd.org/coffin.git parazyd.org 70 1Log /git/coffin/log.gph parazyd.org 70 1Files /git/coffin/files.gph parazyd.org 70 1Refs /git/coffin/refs.gph parazyd.org 70 1Submodules /git/coffin/file/.gitmodules.gph parazyd.org 70 1README /git/coffin/file/README.md.gph parazyd.org 70 1LICENSE /git/coffin/file/LICENSE.gph parazyd.org 70 i--- Err parazyd.org 70 1commit 4397c9fff665abc0674d8b8511267245fad3e817 /git/coffin/commit/4397c9fff665abc0674d8b8511267245fad3e817.gph parazyd.org 70 1parent c7506440481110f3c02d35b7d24518af8aee0a22 /git/coffin/commit/c7506440481110f3c02d35b7d24518af8aee0a22.gph parazyd.org 70 hAuthor: parazyd URL:mailto:parazyd@dyne.org parazyd.org 70 iDate: Sun, 6 Mar 2016 01:50:58 +0100 Err parazyd.org 70 i Err parazyd.org 70 inew features, unfinished Err parazyd.org 70 i Err parazyd.org 70 iDiffstat: Err parazyd.org 70 i M makehook.sh | 77 ++++++++++++++++++++++++------- Err parazyd.org 70 i Err parazyd.org 70 i1 file changed, 61 insertions(+), 16 deletions(-) Err parazyd.org 70 i--- Err parazyd.org 70 1diff --git a/makehook.sh b/makehook.sh /git/coffin/file/makehook.sh.gph parazyd.org 70 it@@ -19,7 +19,7 @@ lsblk -npl | awk -F" " '{print $1}' | grep ^/dev/sd.. > ./.devs Err parazyd.org 70 i # Hook syntax Err parazyd.org 70 i # create:username:tombname:tombsize:passphrase Err parazyd.org 70 i Err parazyd.org 70 i-# {{{ monmort icon Err parazyd.org 70 i+# {{{ icon Err parazyd.org 70 i MONMORT="/tmp/monmort.png" Err parazyd.org 70 i ICONB64="iVBORw0KGgoAAAANSUhEUgAAACAAAAAgEAQAAACJ4248AAAAAmJLR0T//xSrMc0AAAAJcEhZcwAA\n Err parazyd.org 70 i AEgAAABIAEbJaz4AAAAJdnBBZwAAACAAAAAgAIf6nJ0AAADrSURBVFjD5ZZBEsMgCEU/TO/l2XMx\n Err parazyd.org 70 it@@ -31,6 +31,7 @@ WHRkYXRlOmNyZWF0ZQAyMDExLTAxLTEyVDA5OjM0OjI0KzAxOjAwo//d7wAAACV0RVh0ZGF0ZTpt\n Err parazyd.org 70 i b2RpZnkAMjAxMS0wMS0xMlQwOTozNDoyNCswMTowMNKiZVMAAAAASUVORK5CYII=" Err parazyd.org 70 i echo -e "$ICONB64" | base64 --decode > $MONMORT Err parazyd.org 70 i # }}} Err parazyd.org 70 i+ Err parazyd.org 70 i # {{{ sudo functions Err parazyd.org 70 i function _sudo { Err parazyd.org 70 i sudoassword=$(ask_password "Insert sudo password for user $USER") Err parazyd.org 70 it@@ -174,7 +175,6 @@ function _clean { Err parazyd.org 70 i while [[ ${#rr} -lt 500 ]]; do Err parazyd.org 70 i rr+="$RANDOM" Err parazyd.org 70 i done Err parazyd.org 70 i- command="$rr"; unset command Err parazyd.org 70 i TOMBPASS="$rr"; unset TOMBPASS Err parazyd.org 70 i TOMBSIZE="$rr"; unset TOMBSIZE Err parazyd.org 70 i TOMBNAME="$rr"; unset TOMBNAME Err parazyd.org 70 it@@ -242,44 +242,87 @@ function _zenentry { Err parazyd.org 70 i Err parazyd.org 70 i function _main { Err parazyd.org 70 i _clean Err parazyd.org 70 i- command=$(zenity \ Err parazyd.org 70 i+ cmnd=$(zenity \ Err parazyd.org 70 i --window-icon="$MONMORT" \ Err parazyd.org 70 i --title="tombox hook helper" \ Err parazyd.org 70 i --list \ Err parazyd.org 70 i --hide-header \ Err parazyd.org 70 i- --text="tombox hook helper" \ Err parazyd.org 70 i- --separator=" & " \ Err parazyd.org 70 i+ --text="tombox hook helper\nChoose what hook you want to create:" \ Err parazyd.org 70 i+ --separator=" # " \ Err parazyd.org 70 i --column=Function \ Err parazyd.org 70 i --column=Description \ Err parazyd.org 70 i "create" "a new tomb on the tombox" \ Err parazyd.org 70 i "delete" "a tomb from the tombox" \ Err parazyd.org 70 i "backup" "a tomb from the tombox" \ Err parazyd.org 70 i "foobar" "on the tombox") Err parazyd.org 70 i- eval "_$command" Err parazyd.org 70 i+ eval "_$cmnd" Err parazyd.org 70 i } Err parazyd.org 70 i Err parazyd.org 70 i function _create { Err parazyd.org 70 i- UNDERTAKER=$(_zenentry "Choose username" "Choose a username for your tombox" "foobar") Err parazyd.org 70 i- if [[ $? = 1 ]]; then; exec _main; fi Err parazyd.org 70 i Err parazyd.org 70 i- TOMBNAME=$(_zenentry "Choose tomb name" "Choose a name for your new tomb" "foobar") Err parazyd.org 70 i- if [[ $? = 1 ]]; then; exec _main; fi Err parazyd.org 70 i+ vars=$(zenity \ Err parazyd.org 70 i+ --window-icon="$MONMORT" \ Err parazyd.org 70 i+ --title="Create a new tomb" \ Err parazyd.org 70 i+ --forms \ Err parazyd.org 70 i+ --text="Enter the info for your new tomb" \ Err parazyd.org 70 i+ --separator=":" \ Err parazyd.org 70 i+ --add-entry="Tombox username" \ Err parazyd.org 70 i+ --add-entry="Tomb name" \ Err parazyd.org 70 i+ --add-entry="Tomb's size in MiB") Err parazyd.org 70 i+ if [[ $? = 1 ]]; then Err parazyd.org 70 i+ exec _main Err parazyd.org 70 i+ else Err parazyd.org 70 i+ TOMBSIZE=${vars[(ws@:@)3]} Err parazyd.org 70 i+ re='^[0-9]+$' Err parazyd.org 70 i+ if ! [[ $TOMBSIZE =~ $re ]]; then Err parazyd.org 70 i+ _zenwarn "Warning" "Invalid characters in tomb size!" Err parazyd.org 70 i+ exec _create Err parazyd.org 70 i+ fi Err parazyd.org 70 i+ UNDERTAKER=${vars[(ws@:@)1]} Err parazyd.org 70 i+ TOMBNAME=${vars[(ws@:@)2]} Err parazyd.org 70 i+ fi Err parazyd.org 70 i Err parazyd.org 70 i- TOMBPASS=$(_zenentry "Choose password" "Choose a password for your tomb's keyfile" "891y981hy97*HY(*YC&h89h21") Err parazyd.org 70 i- if [[ $? = 1 ]]; then; exec _main; fi Err parazyd.org 70 i- Err parazyd.org 70 i- TOMBSIZE=$(_zenentry "Choose tomb size" "Choose the size of your tomb in MiB" "100") Err parazyd.org 70 i+ feats=$(zenity \ Err parazyd.org 70 i+ --window-icon="$MONMORT" \ Err parazyd.org 70 i+ --title="Choose features" \ Err parazyd.org 70 i+ --text="Choose features you wish to include with your tomb" \ Err parazyd.org 70 i+ --list \ Err parazyd.org 70 i+ --checklist \ Err parazyd.org 70 i+ --separator=":" \ Err parazyd.org 70 i+ --column=Yes/No \ Err parazyd.org 70 i+ --column=Feature \ Err parazyd.org 70 i+ "FALSE" "webdav" \ Err parazyd.org 70 i+ "FALSE" "sshfs" \ Err parazyd.org 70 i+ "FALSE" "ipfs") Err parazyd.org 70 i if [[ $? = 1 ]]; then; exec _main; fi Err parazyd.org 70 i Err parazyd.org 70 i+ TOMBHOOKS=$(_zenques "Choose 'Yes' if you want to edit your tomb's bind-hooks and post-hooks") Err parazyd.org 70 i+ if [[ $? = 0 ]]; then Err parazyd.org 70 i+ bindhook=$(zenity \ Err parazyd.org 70 i+ --window-icon="$MONMORT" \ Err parazyd.org 70 i+ --title="Make bind-hooks" \ Err parazyd.org 70 i+ --text="Make your edits for the bind-hooks you wish to include in this tomb" \ Err parazyd.org 70 i+ --text-info \ Err parazyd.org 70 i+ --editable) Err parazyd.org 70 i+ if [[ $? = 1 ]]; then; exec _main; fi Err parazyd.org 70 i+ Err parazyd.org 70 i+ posthook=$(zenity \ Err parazyd.org 70 i+ --window-icon="$MONMORT" \ Err parazyd.org 70 i+ --title="Make post-hooks" \ Err parazyd.org 70 i+ --text="Make your edits for the post-hooks you wish to include in this tomb" \ Err parazyd.org 70 i+ --text-info \ Err parazyd.org 70 i+ --editable) Err parazyd.org 70 i+ if [[ $? = 1 ]]; then; exec _main; fi Err parazyd.org 70 i+ fi Err parazyd.org 70 i Err parazyd.org 70 i USBKEY=$(zenity \ Err parazyd.org 70 i --window-icon="$MONMORT" \ Err parazyd.org 70 i --title="Choose USB key" \ Err parazyd.org 70 i --list \ Err parazyd.org 70 i- --hide-header \ Err parazyd.org 70 i --text="Choose your USB key to use" \ Err parazyd.org 70 i- --column=Device \ Err parazyd.org 70 i+ --column="Device path" \ Err parazyd.org 70 i $(cat ./.devs)) Err parazyd.org 70 i+ if [[ $? = 1 ]]; then; exec _main; fi Err parazyd.org 70 i Err parazyd.org 70 i _sudo Err parazyd.org 70 i _mountkey Err parazyd.org 70 it@@ -288,10 +331,12 @@ function _create { Err parazyd.org 70 i if [[ $? = 1 ]]; then Err parazyd.org 70 i _zeninfo "Info" "Postponing..." && _umountkey && exec _main Err parazyd.org 70 i else Err parazyd.org 70 i+ # edit these to fit new values Err parazyd.org 70 i print "create:${UNDERTAKER}:${TOMBNAME}:${TOMBSIZE}:${TOMBPASS}" | sudo tee $hooks Err parazyd.org 70 i _zeninfo "Success" "$hooks written successfully!" && _umountkey && exec _main Err parazyd.org 70 i fi Err parazyd.org 70 i else Err parazyd.org 70 i+ # edit these to fit new values Err parazyd.org 70 i print "create:${UNDERTAKER}:${TOMBNAME}:${TOMBSIZE}:${TOMBPASS}" | sudo tee $hooks Err parazyd.org 70 i _zeninfo "Success" "$hooks written successfully!" && _umountkey && exec _main Err parazyd.org 70 i fi Err parazyd.org 70 .