Skip to main content

a python-based password manager

Project description

vlt

vlt is an command line tool meant for storing username and password information within an encrypted SQLite database. Database files are localized and transportable, allowing users to archive, export, and link vlt's .db files with any other instance of vlt.

Things you can do with vlt:

  • access vlt directly from command line
  • get, add, edit, and remove vlt entries
  • make new entries/passwords using customizable parameters
  • search vlt by common source, username, and password entries
  • have multiple vlt tables in single vlt db, each with separate encryption key/salt codes
  • store you db files outside vlt, such as in a private git repository
  • link vlt to external vlt db files, such as one on USB drive or in git
  • archive db's to keep contents in separate db files
  • consume/dump unencrypted csv files to/from vlt

Specific use cases for the tool can be found by installing vlt and calling the help menu via vlt --help

Example

with vlt installed, we can add our first entry:

vlt add

this will prompt vlt to ask for your vlt key:

  • note: while you can pass -k <KEY> to vlt, this is not recommended, and is only used herein for demonstration purposes.
Please enter your vlt key:
$ test

since no source, username, or password were initially provided, vlt will ask for your credentials:

specify source:
$ fizz

specify username:
$ buzz

specify password:
$ fizzbuzz

optionally, we could have specified these from the command line, like: vlt add -s fizz -u buzz -p fizzbuzz any parameter not included from CLI will be requested by vlt (best not to store passwords from CLI so they don't persist in shell history).

to see our vlt entry, we can call get so to query vlt:

vlt get

since no get parameter was provided, vlt will ask for one:

specify search term(s):
 1) index        3) username
 2) source       4) password
$ 1

specify index:
$ 0

   source username  password
0   fizz     buzz  fizzbuzz

alternatively we can specify search parameters from the command line:

vlt get -i 0

searching across multiple terms returns the INNER JOIN of the parameters:

vlt add -s this -u buzz -p test -k test
vlt add -s bam -u buzz -p test -k test
vlt get -p test -u buzz

   source username  password
1   this     buzz  test
2   bam      buzz  test
vlt make -s fizzbuzz -u michael -fmt v --mode alphanumeric --omit 012345 --length 50 -k test

8.
  SOURCE: fizzbuzz
USERNAME: michael
PASSWORD: tM8eRDwTDwyHkhKRWUmMTNAeRv6OlseFXTKthNLDHlCgPm8GwT

entries can be edited and/or removed via the entry index

vlt edit -i 1 -s bim -k test
vlt get -i 1 -k test

   source username password
1    bim     buzz     test

with vlt we can autogenerate strong passwords using vlt make. See vlt --help for formatting specifics under the [make] command.

we can furthermore autogenerate new passwords for database entries by passing -p _ as a password argument.

vlt edit -i 1 -p _ --format v --mode alphanumeric

1.
  SOURCE: bim
USERNAME: buzz
PASSWORD: TwG8mlHDTXFkLlO6vReANTNhPgCesMmUWRKhtKHywDTwDRe8Mt

our db file can be exported to a local file directory:

vlt export /mnt/d/my_vlt.db

and vlt can link to this file for db I/O.

vlt link /mnt/d/my_vlt.db
vlt get -s fizzbuzz -k test -fmt v

8.
  SOURCE: fizzbuzz
USERNAME: michael
PASSWORD: tM8eRDwTDwyHkhKRWUmMTNAeRv6OlseFXTKthNLDHlCgPm8GwT

in vlt, the help menu can be accessed by calling vlt --help. The help section for each individual command can also be returned by calling vlt <CMD> --help

$ vlt edit --help

add/edit/get/remove
===================

 KWARGS
- [-i] <INDEX> - relative index of entry to select
- [-s] <SOURCE> - source to search against in db
- [-u] <USERNAME> - username to search against in db
- [-p] <PASSWORD> - password to search against in db

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vlt-0.0.7.tar.gz (35.8 kB view hashes)

Uploaded Source

Built Distribution

vlt-0.0.7-py3-none-any.whl (27.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page