diff options
| author | Mitchell Riedstra <mitch@riedstra.dev> | 2021-10-24 22:46:16 -0400 |
|---|---|---|
| committer | Mitchell Riedstra <mitch@riedstra.dev> | 2021-10-24 22:46:16 -0400 |
| commit | 6366a4b1f1dea523b666944cb82fcd039fa81823 (patch) | |
| tree | 540f64b3d1cb0381e4e2211cdb3cc1636114bc14 /readme.md | |
| download | dpw-6366a4b1f1dea523b666944cb82fcd039fa81823.tar.gz dpw-6366a4b1f1dea523b666944cb82fcd039fa81823.tar.xz | |
initial
Diffstat (limited to 'readme.md')
| -rw-r--r-- | readme.md | 40 |
1 files changed, 40 insertions, 0 deletions
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 `<key>` + * Read from stdin + * show `<key>` + * Dump to stdout + * rm `<key>` + +`dpw` will take care of all the additional commands by wrapping the four +above as needed. |
