PM/pm.pl

63 lines
1.4 KiB
Perl
Raw Normal View History

2014-04-27 03:46:32 +04:00
#!/usr/bin/perl
use Password;
use Getopt::Std;
2014-04-28 11:29:38 +04:00
2014-04-28 12:04:17 +04:00
our $VERSION = '0.0.0b';
2014-04-27 03:46:32 +04:00
2014-04-28 11:29:38 +04:00
# Debug
use Data::Dumper;
2014-04-27 03:46:32 +04:00
sub usage() {
2014-04-28 12:17:17 +04:00
print STDERR << "EOF";
2014-04-27 03:46:32 +04:00
Simple password manager writed in Perl.
Usage:
2014-04-28 11:29:38 +04:00
-s -- Show password
-n [Name of resource] -- Name of resource
-w -- Store new password
-l [Link] -- Link to resource
-p [Password] -- Password
-r -- Remove password
-o -- Open link
2014-04-27 03:46:32 +04:00
-h -- Show this help screen and exit
-v -- Show version info and exit
2014-04-28 11:29:38 +04:00
Examples:
Show password for resource:
\tpm.pl -s -n LOR
\tPassword copied to xclipboard.\n\t\tLink is http://linux.org.ru/
Store new password:
\tpm.pl -w -n PRON -l http://superpronsite.com/ -p my_secret_password
\tPassword for resource PRON is stored into DB!
Copy password and open link:
\tpm.pl -s -n LOR -o
\tPassword copied to clipboard. Trying to open uri.
2014-04-27 03:46:32 +04:00
EOF
2014-04-28 12:17:17 +04:00
exit 1;
2014-04-27 03:46:32 +04:00
}
sub init() {
2014-04-28 12:17:17 +04:00
my $opt_string = 'swn:l:p:rhv';
getopts("$opt_string") or usage();
our ( $opt_s, $opt_w, $opt_n, $opt_r, $opt_l, $opt_p, $opt_h, $opt_v );
print "Simple password manager writed in Perl.\nVersion: "
. $VERSION
. "\n" and exit 0
if $opt_v;
usage if $opt_h;
2014-04-27 03:46:32 +04:00
}
2014-04-28 11:29:38 +04:00
# Parse cmd line
2014-04-28 12:04:17 +04:00
init();
my $pass = Password->new();
2014-04-28 12:17:17 +04:00
2014-04-28 12:04:17 +04:00
# Don't use it's before GPG and Database
2014-04-28 12:17:17 +04:00
# $pass->check_config() == 0 or die "$!\n";