diff options
| l--------- | contrib/ctlsock-decrypt.bash | 1 | ||||
| -rwxr-xr-x | contrib/ctlsock-encrypt.bash | 34 | 
2 files changed, 35 insertions, 0 deletions
| diff --git a/contrib/ctlsock-decrypt.bash b/contrib/ctlsock-decrypt.bash new file mode 120000 index 0000000..b95ace8 --- /dev/null +++ b/contrib/ctlsock-decrypt.bash @@ -0,0 +1 @@ +ctlsock-encrypt.bash
\ No newline at end of file diff --git a/contrib/ctlsock-encrypt.bash b/contrib/ctlsock-encrypt.bash new file mode 100755 index 0000000..60a88e7 --- /dev/null +++ b/contrib/ctlsock-encrypt.bash @@ -0,0 +1,34 @@ +#!/bin/bash -eu +# +# Interactively encrypt file names and paths by querying a gocryptfs +# control socket. +# +# Dependencies: +#  Debian: apt-get install jq netcat-openbsd +#  Fedora: dnf install jq nmap-ncat +MYNAME=$(basename $0) +if [[ $# -ne 1 || $1 == "-h" ]] ; then +	echo "Usage: $MYNAME SOCKET" +	exit 1 +fi +SOCK=$1 +# Bail out early (before even prompting the user) if the socket does +# not exist +if [[ ! -S $SOCK ]] ; then +	echo "'$SOCK' is not a socket" >&2 +	exit 1 +fi +OPERATION=EncryptPath +if [[ $MYNAME == "ctlsock-decrypt.bash" ]] ; then +	OPERATION=DecryptPath +fi +while true ; do +	echo -n "Input path      : " +	read IN +	echo -n "Transformed path: " +	JSON=$(echo "{\"$OPERATION\":\"$IN\"}" | nc -U $SOCK) +	ENCRYPTED=$(echo $JSON | jq -r '.Result') +	echo $ENCRYPTED +	echo    "Complete reply  : $JSON" +	echo +done | 
