Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/perl
- use strict;
- use warnings;
- use SpadeCrypt::User;
- use SpadeCrypt::Drive;
- use SpadeCrypt::Error qw(error);
- use Getopt::Std;
- my %opts;
- getopts("w:u:d:p:ms:c:h:b", \%opts);
- my $username = $opts{u};
- my $password = $opts{p};
- my $webpass = $opts{w};
- my $name = $opts{d};
- my $size = $opts{s};
- my $cipher = $opts{c};
- my $hash = $opts{h};
- my $master = $opts{m};
- my $backup = $opts{b};
- usage() unless($username && $name && $password &&
- $size && $cipher && $hash);
- print "Your data will not be backed up!\n" unless $backup;
- print "You will be unable to reset your password!\n" unless $master;
- my $user = SpadeCrypt::User->new({username => $username});
- my $drive = SpadeCrypt::Drive->new({user => $user, name => $name});
- eval {
- $drive->create($password, $size, $master, $cipher, $hash, $backup, $webpass);
- }
- if($@) {
- SpadeCrypt::Error::error($user->id(), 0, $name . ": " . $@);
- exit(1);
- }
- eval {
- $drive->mount($password);
- }
- if($@) {
- SpadeCrypt::Error::error($user->id(), $drive->id(), $@);
- exit(1);
- }
- eval {
- $drive->umount();
- }
- if($@) {
- SpadeCrypt::Error::error($user->id(), $drive->id(), $@);
- exit(1);
- }
- $drive->close;
- $user->close;
- sub usage {
- print "Usage: $0 -u user -p passphrase -w webaccesspass -d drive -s size -c cipher -h hash-algorithm -b -m\n";
- exit(1);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement