The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

raps2 - "Right, Another Password Store" take two

SYNOPSIS

raps2 [options] action [args ...]

VERSION

This manual documents raps2 version 0.54

DESCRIPTION

raps2 is a simple password safe. You give it a name, a password and optional metadata, and it will encrypt and store them for you. You probably want to start with raps2 add accountname, and then later use raps2 get accountname and paste the corresponding password into whatever application requires it. raps2 will automatically initialize its store when used for the first time.

Supported metadata are "URL", "Login" and the multiline "Extra" field. URL and Login will be saved as plaintext, Extra is encrypted like the password.

ACTIONS

add account

Adds account to the store. It will ask you for the store's master password, some metadata and the new password and then store them.

If you do not provide a password (that is, leave both "Password" and "Verify" lines blank), raps2 will use the pwgen command to create one for you and print the generated password on stdout.

See also the -c, -E, -p and -P options.

del account

Remove account from the store.

dump account

Dump everything saved for account, including the clear-text password, to stdout.

dump-all

Dump data for all accounts, including their clear-text passwords, to stdout.

edit account

Edit saved data for account. Note that editing the multiline "extra" field is not yet possible.

get account

Decrypt account's password and store it in the primary X Clipboard. Note that it can only be pasted once. Prints the content of the multiline extra field (if present) to stdout.

See also the -C and -x options.

info account

Show information about account, does not require the master password.

list

List all saved accounts with their respective Logins and URLs

OPTIONS

-c, --cost int

Key setup cost to use for new passwords, overrides the configuration file. Only makes sense with raps2 add.

Please be aware that the key setup time is an exponential function. That is, when you increment the cost by 1, the key setup time will double. See Crypt::Eksblowfish(3pm).

Default: 12

-C, --chrome

Google Chrome support. Normally, raps2 get makes sure the password can only be pasted once, but Google Chrome (for whatever reason) needs to paste it twice. Do not use this option if you are not going to paste the password into a Chrome window.

Basically, this is a shortcut for raps2 -x 'xclip -l 2'. This overrides -x.

-E, --no-echo

When using the pwgen functionality of raps2 add, do not print the generated password on stdout.

-P, --paste

When using the pwgen functionality of raps2 add, do not print the generated password on stdout. Place it in the X Clipboard instead.

Note that it can only be pasted once, unless -x or -C is used.

-p, --pwgen-cmd command

When the user does not enter a password in raps2 add, it will execute command to create one. The first line of output is taken as password. If the output contains spaces, anything after the first space (plus the space itself) is discarded.

Default: pwgen -s 23 1

-V, --version

Show version information.

-x, --xclip-cmd command

Command to run for raps2 get. The password will be available on command's stdin.

Default: xclip -l 1

EXIT STATUS

zero on success, non-zero otherwise.

CONFIGURATION

raps2 saves the master password hash in ~/.config/raps2/password.

The configuration (key setup cost and pwgen command) is stored in ~/.config/raps2/defaults in an INI-like format.

Additional encrypted passwords are stored in ~/.local/share/raps2/.

These directories can be changed by setting the XDG_CONFIG_HOME and XDG_DATA_HOME environment variables.

The following settings are available in ~/.config/raps2/defaults:

cost = 12

Default key setup cost. See the -c option.

pwgen_cmd = pwgen -s 23 1

Command used to generate passwords. See the -p option.

xclip_cmd = xclip -l 1

Command used to place passwords in the clipboard. See the -x option.

Note that commandline arguments always override options set in the configuration file.

DEPENDENCIES

  • Config::Tiny

  • Crypt::CBC

  • Crypt::Eksblowfish

  • File::BaseDir

  • File::Path (usually included with perl core)

  • File::Slurp

  • pwgen (if you want raps2 add to generate passwords)

  • xclip (for raps2 get)

BUGS AND LIMITATIONS

This is alpha software, the store format may change without further notice. Backwards-compatibility is not guaranteed.

When running for the first time, raps2 will ask for the master passphrase three times. Two would be better.

AUTHOR

Copyright (C) 2011-2015 by Daniel Friesel <derf@finalrewind.org>

LICENSE

  0. You just DO WHAT THE FUCK YOU WANT TO.