diff --git a/.local/bin/encfsw b/.local/bin/encfsw new file mode 100755 index 00000000..70c45287 --- /dev/null +++ b/.local/bin/encfsw @@ -0,0 +1,65 @@ +#!/bin/sh + +if [ $# -ne 1 ] && [ $# -ne 2 ]; then + echo + cat</dev/null 2>&1; then + echo "'$i' not found in PATH. Exiting." >&2 + exit 1 + fi + done +} + +mount() { + check realpath encfs + SOURCE="$(realpath "$1")" + MOUNTPOINT="${SOURCE}_decrypted" + mkdir -p "$MOUNTPOINT" + if [ -z "$PASS" ]; then + encfs "$SOURCE" "$MOUNTPOINT" + else + echo "$PASS" | encfs --stdinpass "$SOURCE" "$MOUNTPOINT" + fi +} + +unmount() { + check findmnt fusermount dataindex + + while IFS= read -r i; do + ## Generate index on exit. + folder=$(basename $(dirname "$i")) + mkdir -p ~/personal/index/"$folder" + dataindex "$i" | gpg --encrypt --recipient mail@ambrevar.xyz \ + --output - > ~/personal/index/"$folder"/"$(basename "$i")".index.gpg + unset folder + fusermount -u "$i" + rmdir "$i" + done <