From 0bef69a049f4bace9b06cb4beb3b0505dd7b7a44 Mon Sep 17 00:00:00 2001 From: Christian Cleberg Date: Mon, 22 May 2023 15:19:20 -0500 Subject: initial commit --- README.md | 184 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 184 insertions(+) create mode 100644 README.md (limited to 'README.md') diff --git a/README.md b/README.md new file mode 100644 index 0000000..0ecf2bd --- /dev/null +++ b/README.md @@ -0,0 +1,184 @@ +# 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](#installation) +- [Usage](#usage) + - [Arguments](#arguments) +- [Contributing](#contributing) + +# Installation + +[(Back to top)](#table-of-contents) + +To run the script locally, run the following commands: + +```bash +git clone REPO_URL +``` + +```bash +cd yoshi +``` + +```bash +pip3 install -r requirements.txt +``` + +```bash +python3 main.py --help +``` + +# Usage + +[(Back to top)](#table-of-contents) + +All commands can be passed to the program with the following template: +`python3 main.py ` + +![Yoshi CLI Help](./examples/yoshi-help.png) + +## Arguments + +### Summary + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ArgumentShortcutExplanation
helphPrint the welcome message
newnCreate a new account
listlList all saved accounts
editeEdit a saved account (see below for required flags)
deletedDelete a saved account (see below for required flags)
purgeN/APurge all accounts and delete the vault
encryptN/AEncrypt the vault database (see below for required flags)
decryptN/ADecrypt the vault database (see below for required flags)
+ +#### Flags + +Flags for the `edit`, `e` command - both are required: + + + + + + + + + + + + + + + + + + + + + +
ArgumentShortcutExplanation
--uuid-uProvide the account UUID to edit
--field-fProvide the account field to edit
+ +Flags for the `delete`, `d` command - this flag is required: + + + + + + + + + + + + + + + + +
ArgumentShortcutExplanation
--uuid-uProvide 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: + + + + + + + + + + + + + + + + + + + + + +
ArgumentShortcutExplanation
--generate-gWhen encrypting, generate a new key
--keyfile-kWhen encrypting or decrypting, provide the path to a saved key file
+ +![Yoshi CLI New Account](./examples/yoshi-example.png) + +# Contributing + +[(Back to top)](#table-of-contents) + +Any and all contributions are welcome. Feel free to fork the project, add +features, and submit a pull request. -- cgit v1.2.3-70-g09d2