From d46f13b4683dcd456387e81b53017d2b672e778e Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Sat, 17 Aug 2013 12:49:53 -0300 Subject: Adding 'open' action --- debian/control | 2 +- share/keyringer/edit | 15 +++++++++++++-- share/keyringer/open | 1 + share/man/keyringer.1.mdwn | 3 +++ 4 files changed, 18 insertions(+), 3 deletions(-) create mode 120000 share/keyringer/open diff --git a/debian/control b/debian/control index b386532..689c7d9 100644 --- a/debian/control +++ b/debian/control @@ -11,7 +11,7 @@ Homepage: https://keyringer.pw Package: keyringer Architecture: all Depends: ${shlibs:Depends}, ${misc:Depends}, bash, git-core, gnupg, grep, gawk, coreutils, sed -Recommends: openssl +Recommends: openssl, xdg-utils Description: Distributed secret management using GPG and git Keyringer lets you manage and share secrets using GPG and git in a distributed fashion. It has custom commands to encrypt, decrypt, recrypt, create key pairs, diff --git a/share/keyringer/edit b/share/keyringer/edit index 0604d7e..fe05ecc 100755 --- a/share/keyringer/edit +++ b/share/keyringer/edit @@ -22,10 +22,21 @@ keyringer_set_tmpfile edit # Decrypt the information to the file $GPG --yes -o "$TMPWORK" --use-agent -d "$KEYDIR/$FILE" +if [ "$BASENAME" == "edit" ]; then + APP="$EDITOR" +elif [ "$BASENAME" == "open" ]; then + if which xdg-open &> /dev/null; then + APP="xdg-open" + else + echo "You should have xdg-open application to perform this action, aborting." + exit 1 + fi +fi + # Prompt -echo "Press any key to open the decrypted data in $EDITOR, Ctrl-C to abort" +echo "Press any key to open the decrypted data with $APP, Ctrl-C to abort" read key -$EDITOR "$TMPWORK" +$APP "$TMPWORK" # Encrypt again $GPG --yes -o "$KEYDIR/$FILE" --use-agent --armor -e -s $(keyringer_recipients "$RECIPIENTS_FILE") "$TMPWORK" diff --git a/share/keyringer/open b/share/keyringer/open new file mode 120000 index 0000000..8491ab9 --- /dev/null +++ b/share/keyringer/open @@ -0,0 +1 @@ +edit \ No newline at end of file diff --git a/share/man/keyringer.1.mdwn b/share/man/keyringer.1.mdwn index 99abd60..23b8d85 100644 --- a/share/man/keyringer.1.mdwn +++ b/share/man/keyringer.1.mdwn @@ -75,6 +75,9 @@ encrypt-batch <*SECRET*> genpair <*ssh*|*gpg*|*ssl*|*ssl-self*> [*options*] : Wrapper to generete encryption keypairs, useful for automated key deployment. +open <*SECRET*> +: Open a secret using xdg-open. + recrypt <*SECRET*> : Recrypts a secret by decrypting it and recrypting again. Useful when users are added into recipient configuration. If no *SECRET* is given, all secrets in the repository -- cgit v1.2.3