NAME

App::Raps2 - A Password safe

SYNOPSIS

use App::Raps2;

my $raps2 = App::Raps2->new();
my ($action, @args) = @ARGV;

$raps2->sanity_check();
$raps2->load_config();

given ($action) {
    when ('add')  { $raps2->cmd_add(@args) }
    when ('dump') { $raps2->cmd_dump(@args) }
    when ('get')  { $raps2->cmd_get(@args) }
    when ('info') { $raps2->cmd_info(@args) }
}

DESCRIPTION

App::Raps2 is the backend for raps2, a simple commandline password safe.

METHODS

create_salt()

Returns a 16-character random salt for App::Raps2::Password(3pm).

file_to_hash($file)

Reads $file (lines with key/value separated by whitespace) and returns a hash with its key/value pairs.

new(%conf)

Returns a new App::Raps2 object.

Accepted configuration parameters are:

cost => int

cost of key setup, passed on to App::Raps2::Password(3pm).

->sanity_check()

Create working directories (~/.config/raps2 and ~/.local/share/raps2, or the respective XDG environment variable contents), if they don't exist yet.

Calls create_config if no raps2 config was found.

->get_master_password()

Asks the user for the master passphrase.

->create_config()

Creates a default config and asks the user to set a master password.

->load_config()

Load config

->ui()

Returns the App::Raps2::UI(3pm) object.

->cmd_add($name)

Adds a new password file called $name.

->cmd_dump($name)

Dumps the content of $name.

->cmd_get($name)

Puts the password saved in $name into the X clipboard.

->cmd_info($name)

Prints unencrypted information about $name.