====== Relevation Password Printer====== a command-line searcher for Revelation Password Manager ===== Details ===== * Current version: 1.3.1, released on Feb 11th 2020. * Archives: [[/relevation/files/relevation-1.3.1.tar.gz|relevation-1.3.1.tar.gz]], [[/relevation/files/relevation-1.3.1.zip|relevation-1.3.1.zip]] (zip includes PDF and html man page) * Packages: [[/relevation/files/relevation_1.3.1-pon.1_all.deb|deb (all arches)]], [[#RPMs|RPMs]]. * Debian apt repository: See [[//packages.outlyer.net|packages.outlyer.net]] for information. * Status: Stable * Tested only on Linux and Windows, but should work on other UNIX-like systems. * Released under a [[http://www.opensource.org/licenses/BSD-2-Clause|BSD 2-clause license]]. * To track new releases, take a look at [[http://freecode.com/projects/relevation/|its freecode (formerly freshmeat) page]]. Freecode is no longer updating, you may track future releases on this page or [[blog>etiq/projects/relevation/|here]]. * Requirements (most desktops should have all, or most, of them): [[http://www.python.org/|Python 3]], additional python libraries: [[http://xmlsoft.org/python.html|libxml2]], [[https://lxml.de/|lxml]] and [[https://www.dlitz.net/software/pycrypto/|PyCrypto]]. * Any contribution, suggestion or bug report is welcome. ===== Release notices ===== New releases will be announced at my main site (see http://outlyer.net/etiq/projects/relevation/), this page and the [[http://freshmeat.net/projects/relevation/|freshmeat page]]. ==== RPMs ==== I'm not providing RPM packages, however you can find relevation packaged downstream in Fedora's repository up to Fedora 30:\\ https://archive.fedoraproject.org/pub/fedora/linux/releases/30/Everything/x86_64/os/Packages/r/ Starting with 1.2.1, you can also build the RPM yourself. Download the tarball and run the command: ''$ rpmbuild -tb relevation-1.2.1.tar.gz'' If the buld is successful, the output should look something like:
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.XXXXXX
+ umask 022
[...]
Wrote: /path/to/RPMS/noarch/relevation-1.2.1-1.pon.noarch.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.XXXXXX
[...]
Where the line in bold includes the location of the resulting RPM. ==== Description ==== Relevation is a tool to retrieve passwords stored in a password file in the format used by [[http://oss.codepoet.no/revelation/wiki/Home|Revelation]], from the command-line instead of through a GUI. Only retrieval is implemented, Revelation must be used to actually edit the file. === Notes === * **WARNING** When storing your password in the configuration file, remember to modify file permissions so that only you can read it. ==== Configuration file ==== An optional configuration file ''~/.relevation.conf'' can be used to save the typing of filename and/or password on each run. It follows an INI-style format: [relevation] file=~/mypasses password=my pass mode=and All fields are optional. The ''[revelation]'' header is required.\\ Comment lines can be added by preceding them with a semicolon (';') or hash ('#').\\ Inline comments can be added by preceding the comment with whitespace and a semicolon (' ;'). ==== Documentation ==== There's currently no actual documentation but the [[/relevation/files/manpage.html|manual page is available online]] and a [[#examples|list of usage examples is provided below]]. ==== Examples ==== Here's a few examples of each of the modes of operation. These examples assume the existence of a configuration file, otherwise the command-line will require filename and password, e.g. ''$ relevation -f ~/mypasswords.revelation -p mypassword''. All passwords here were generated randomly, no need to try them anywhere :P. * No arguments: All entries * Search of keywords * Search of keywords, entries of a certain type * All entries of a certain type * Full decrypted XML · With no arguments, the whole list of entries is dumped: Relevation v1.0, (c) 2011 Toni Corvera ------------------------------------------------------------------------------- -> Search all: 201 matches Type: website Name: Example 1 Description: Url: http://www.example.com/ Username: ex1 Password: zoh3haeH . . [entries abridged in this example] . Type: website Name: Example 2 Description: Example site 2, secured Url: https://2.example.com Username: ex2 Password: Bootie9p ------------------------------------------------------------------------------- <- (end of 201 results for {all}) · Search by keyword by adding a string to the command (folders themselves will be skipped but their contents will not): $ relevation twitter Relevation v1.0, (c) 2011 Toni Corvera -> Search "twitter" ('not folder' entries): 1 matches ------------------------------------------------------------------------------- Type: website Name: Twitter Description: Url: http://twitter.com/ Username: meeeeee@example.com Password: ag9thaeP ------------------------------------------------------------------------------- <- (end of 1 result for {"twitter" ('not folder' entries)}) · Restrict searches to a certain type with the --type option: $ relevation -t email google.com Relevation v1.0, (c) 2011 Toni Corvera -> Search "google.com" ('email' entries): 1 matches ------------------------------------------------------------------------------- Type: email Name: Main email address Description: Email: outlyer@gmail.com Hostname: mail.google.com Username: guesswhat Password: edeeKo7m ------------------------------------------------------------------------------- <- (end of 1 result for {"google.com" ('email' entries)}) · All entries of a certain type will be printed if a type is provided with no string to search for: $ relevation -t email Relevation v0.3, (c) 2011 Toni Corvera -> Search email entries: 2 matches ------------------------------------------------------------------------------- Type: email Name: Main email address Description: Email: outlyer@gmail.com Hostname: mail.google.com Username: guesswhat Password: edeeKo7m ------------------------------------------------------------------------------- Type: email Name: Example backup email Description: Just in case Email: backup@example.com Hostname: Username: backup$example Password: quoo3Yez ------------------------------------------------------------------------------- <- (end of 2 results for {email entries}) · The full, decrypted xml can be printed with the --xml option: $ relevation -x Relevation v1.0, (c) 2011 Toni Corvera . . . some site this is some site 1255603263 http://www.example.com myuser JaTei7ye . . [entries abridged in this example] . my address main address 1247495779 me@example.com example.com meee Zuuth3Ai . . . ==== Known issues ==== None at this point. There's a bug tracker located at [[https://b.outlyer.net/relevation|b.outlyer.net]]. To report a bug use the bug tracker or drop me an e-mail. ==== Other projects ==== * [[http://git.zx2c4.com/password-store/|pass]] * [[http://git.zx2c4.com/password-store/tree/contrib/importers/revelation2pass.py|pass' Revelation import module]] is //heavily based// on relevation * [[http://revelation.olasagasti.info/|Revelation]] * The password manager whose files relevation reads ==== ChangeLog ==== === 1.3.1 (Published Feb 11th 2020) === * Switched to Python 3 * Internal refactoring * Minimalistic GUI included by default === 1.3 (Published May 24th 2014) === * Support for the newer data file format (as found in Revelation 0.4.14) * Fail gracefully on files in unknown formats * Better handling of fields with characters outside of the standard ASCII set === 1.2.1 (Published November 5th 2013) === * Fixes for the minimal GUI (broken in 1.2) * Integrated RPM specfile from Fedora Rawhide === 1.2 (Published October 21st 2013) === * BUGFIX: Make case-insensitive search work on uppercase search strings * Print notes from entries * Allow combining multiple search terms with AND * Use getpass when asking for a password to avoid echoing it (suggested by Jorge Gallegos) * Explicitly exclude folders when negating types (avoids printing all of their children entries) === 1.1 (Published July 13th 2011) === * Support cryptopy if PyCrypto is not available. Enhances cross-platform support. * Print an error message if the decryption produced wrong data (normally caused by a bad password) * Add PyCrypto/cryptopy to version info (--version) * Windows support enhancements: * Minimalistic GUI * Py2exe support * Packaging scripts * Fix $ make uninstall procedure === 1.0 (Published June 30th 2011) === * First public release.