From 6366a4b1f1dea523b666944cb82fcd039fa81823 Mon Sep 17 00:00:00 2001 From: Mitchell Riedstra Date: Sun, 24 Oct 2021 22:46:16 -0400 Subject: initial --- readme.md | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 readme.md (limited to 'readme.md') diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..f0e3930 --- /dev/null +++ b/readme.md @@ -0,0 +1,40 @@ +# dpw the dynamic password manager + +Inspired by [`pass`](https://www.passwordstore.org/) and designed to be +compatible out of the box. + +The main point of this is to provide a somewhat familiar interface for +pluggable backends. Secondary benefits that people may be interested in is the +ISC license, so you can modify the `dpw` script without giving me your changes +even if you use it in a commercial product. ( Though, it might be appreciated to +get code back! ) + +For instance, one could write a plugin that talks to Lastpass, Bitwarden +Hasicorp's Vault, or similar. + +There are some mild changes in the interface from `pass`, a full list +of commands and options are available with the `-h` command line flag. + +The environment variable `DPW_BACKEND` defaults to `dpw-gpg` which provides +the `pass` compatible backend. Since it's just a call to another executable +the backends can be written in any language. + + +## Backends + +The `dpw-gpg` shell script should be short enough to read to give you an +idea for implementing your own. That being said the interface is blindingly +simple, accept the following four commands: + + * list + * dump a list of the available keys, supporting arguments for sub keys + may be preferred by users but isn't necessary, `find` will still work + for them. + * insert `` + * Read from stdin + * show `` + * Dump to stdout + * rm `` + +`dpw` will take care of all the additional commands by wrapping the four +above as needed. -- cgit v1.2.3