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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file vlt-0.0.7.tar.gz.

File metadata

  • Download URL: vlt-0.0.7.tar.gz
  • Upload date:
  • Size: 35.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.5

File hashes

Hashes for vlt-0.0.7.tar.gz
Algorithm Hash digest
SHA256 b47800984405910cb615eeaab7ccd6e7e4a4dfea20296b366beeb28dce1665c2
MD5 3b94ff752d74a2786d8ed2111ce07254
BLAKE2b-256 0fe24ccff20ce7078f44aecf444fd7f6fcbc3509e5a4af593288a2021f8f67df

See more details on using hashes here.

File details

Details for the file vlt-0.0.7-py3-none-any.whl.

File metadata

  • Download URL: vlt-0.0.7-py3-none-any.whl
  • Upload date:
  • Size: 27.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.5

File hashes

Hashes for vlt-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 3664a17274855c29a1fc0542a6f82ff845fec09491356427687cc7210674cb77
MD5 ce9b50da298c5fb8eeb4c5ab831aaeb5
BLAKE2b-256 0c4d94f68253cea42507f97ff11de8b35e411ebde314e7e10c3c45ab7ffd521f

See more details on using hashes here.

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