Relevation Password Printer

a command-line searcher for Revelation Password Manager

Projects index

Index

  1. Details (and download)
  2. Release notices
  3. Description
  4. Documentation
  5. Examples
  6. Known issues
  7. Other projects
  8. ChangeLog

Details

Release notices

New releases will be announced at my main site (see http://outlyer.net/etiq/projects/relevation/), this page and the freshmeat page.

RPMs

I'm not providing RPM packages, however you can find relevation packaged downstream in Fedora's repository, i.e. (not yet up to date as of this writing):
http://archive.fedoraproject.org/pub/fedora/linux/releases/20/Everything/i386/os/Packages/r/ (Fedora 20) or
http://archive.fedoraproject.org/pub/fedora/linux/development/rawhide/i386/os/Packages/r/ (Rawhide)

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 Revelation, from the command-line instead of through a GUI.

Only retrieval is implemented, Revelation must be used to actually edit the file.

Notes

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 manual page is available online and a 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.

· 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

<?xml version="1.0" encoding="utf-8" ?>
<revelationdata version="0.4.11" dataversion="1">
	.
	.
	.
	<entry type="website">
		<name>some site</name>
		<description>this is some site</description>
		<updated>1255603263</updated>
		<field id="generic-url">http://www.example.com</field>
		<field id="generic-username">myuser</field>
		<field id="generic-password">JaTei7ye</field>
	</entry>
	.
	. [entries abridged in this example]
	.
	<entry type="email">
		<name>my address</name>
		<description>main address</description>
		<updated>1247495779</updated>
		<field id="generic-email">me@example.com</field>
		<field id="generic-hostname">example.com</field>
		<field id="generic-username">meee</field>
		<field id="generic-password">Zuuth3Ai</field>
	</entry>
	.
	.
	.
</revelationdata>

Known issues

None at this point.

There's a bug tracker located at b.outlyer.net.
To report a bug use the bug tracker or drop me an e-mail.

Other projects

pass
pass' Revelation import module is heavily based on relevation
Revelation
The password manager whose files relevation reads

ChangeLog

1.3 (Published May 24th 2014)

1.2.1 (Published November 5th 2013)

1.2 (Published October 21st 2013)

1.1 (Published July 13th 2011)

1.0 (Published June 30th 2011)

First public release.