summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/control2
-rwxr-xr-xshare/keyringer/edit15
l---------share/keyringer/open1
-rw-r--r--share/man/keyringer.1.mdwn3
4 files changed, 18 insertions, 3 deletions
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