You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
NunoSempere 17550da1fa
feat: First commmit for the pass reveal extension, which reuses pass-backup code
2 years ago
LICENSE Initial commit 5 years ago
README.md feat: First commmit for the pass reveal extension, which reuses pass-backup code 2 years ago
pass-reveal.bash.completion feat: First commmit for the pass reveal extension, which reuses pass-backup code 2 years ago
reveal.bash feat: First commmit for the pass reveal extension, which reuses pass-backup code 2 years ago

README.md

pass-reveal

An extension for pass (the standard Unix password manager) to easily find elements of the password store.

Motivation

pass show requires that one type in the full path of the service, but I am too lazy to do that.

Usage

Usage:

    pass reveal [reveallocation]
        On the first run it creates a directory ".reveals" in \$PASSWORD_STORE_DIR.
        By default this is ~/.password-store/.reveals".
        It creates a reveal of the complete password store by creating a
        compressed tar-file with extension .tar.bz2.
        reveals themselves are excluded from the reveal.
        Without argument the reveal file will receive the default name "passwordstore.DATE.TIME.tar.bz2"
        where DATE and TIME are the current date and time.
        If an argument is given and it is a directory, the reveal file will be placed
        into the specified directory instead of the default ".reveals" directory.
        If an argument is given and it is not a directory, it is used as a file
        name and the reveal is stored with this filename with .at.gz2 appended.
    pass reveal help
        Prints this help message.
    pass reveal version
        Prints the version number.

Usage:
    pass reveal [search-terms]
      Searches and displays passwords from \$PASSWORD_STORE_LOCATION.
          A simple wrapper over pass show, find, and grep.
          Based on the pass reveal extension.
    $PROGRAM reveal help
        Prints this help message.
    $PROGRAM reveal version
        Prints the version number.

Example: $PROGRAM reveal web
          Searches for any files in $PASSWORD_STORE_LOCATION whose filenames contain
          the keyword "web"

Example

Let's generate a password for this example

pass generate test/test
[master 1dd0d0b] Add generated password for test/test.
 1 file changed, 0 insertions(+), 0 deletions(-)
 rewrite test/test.gpg (100%)
The generated password for test/test is:
]$OJ&<J18JSk!(Y4u:~n\`E3B

Then we can search with:

> pass reveal test
Best match: test/test
]$OJ&<J18JSk!(Y4u:~n\`E3B
Copied test/test to clipboard. Will clear in 45 seconds.

Installation

For installation download and place this bash script file reveal.bash into the passwordstore extension directory specified with $PASSWORD_STORE_EXTENSIONS_DIR. By default this is ~/.password-store/.extensions.

$ cp reveal.bash ~/.password-store/.extensions

Give the file execution permissions:

$ chmod 700 ~/.password-store/.extensions/reveal.bash

Set the variable PASSWORD_STORE_ENABLE_EXTENSIONS, to true to enable extensions, e.g., in your .bashrc

$ export PASSWORD_STORE_ENABLE_EXTENSIONS=true

Download and source the bash completion file pass-reveal.bash.completion for bash completion.

$ source ~/.password-store/.bash-completions/pass-reveal.bash.completion

Type pass reveal keyword to make your first search.

$ pass reveal keyword

Requirements

License

This work is released under the GNU GENERAL PUBLIC LICENSE.

Notes

Both files are tiny: 92 lines (script) and 17 lines (autocompletion) respectively. You can check them yourself quickly. No need to trust anyone.

This extension is heavily based on the pass-backup extension (archived here). Because pass-backup is open source, it was easy to take its architecture and use it for a different purpose.