~cyborg/yoshi

A simple Python password manager for the command line.

refs

main
browse  log 

clone

read-only
https://git.sr.ht/~cyborg/yoshi
read/write
git@git.sr.ht:~cyborg/yoshi

You can also use your local clone with git send-email.

#Yoshi: A Password Manager

A simple command-line pass manager, writtin in Python + SQLite3. This tool allows you to manage accounts and generate random passwords containing ASCII letters, numbers, and punctuation (min. 8 characters) or XKCD-like passphrases (min. 3 words).

Please note that the script is written in Python 3 - you may need to run the script with the python3 command instead of python if your system uses a default of Python 2. See the Installation & Usage sections below for more information.

#Table of Contents

#Installation

(Back to top)

To run the script locally, run the following commands:

git clone https://github.com/christian-cleberg/yoshi
cd yoshi
pip3 install -r requirements.txt
python3 main.py --help

#Usage

(Back to top)

All commands can be passed to the program with the following template: python3 main.py <COMMAND> <FLAG> <PARAMETER>

#Arguments

#Summary

Argument Shortcut Explanation
help h Print the welcome message
new n Create a new account
list l List all saved accounts
edit e Edit a saved account (see below for required flags)
delete d Delete a saved account (see below for required flags)
purge N/A Purge all accounts and delete the vault
encrypt N/A Encrypt the vault database (see below for required flags)
decrypt N/A Decrypt the vault database (see below for required flags)
#Flags

Flags for the edit, e command - both are required:

Argument Shortcut Explanation
--uuid -u Provide the account UUID to edit
--field -f Provide the account field to edit

Flags for the delete, d command - this flag is required:

Argument Shortcut Explanation
--uuid -u Provide the account UUID to delete

Flags for the encrypt or decrypt command - you must provide at least one when encrypting, none are required when decrypting:

Argument Shortcut Explanation
--generate -g When encrypting, generate a new key
--keyfile -k When encrypting or decrypting, provide the path to a saved key file

#Contributing

(Back to top)

Any and all contributions are welcome. Feel free to fork the project, add features, and submit a pull request.