2015-05-22 15:56:33 -04:00
# rofi-pass
#### bash script to handle pass storages in a convenient way
2015-05-23 00:58:55 -04:00
![rofi-pass ](screenshot.png "rofi-pass in action" )
2015-08-23 19:09:51 -04:00
## Features:
2015-05-22 15:56:33 -04:00
2015-07-16 20:59:40 -04:00
* Open URLs of entries with hotkey
* Add new Entries to Password Storage
* Edit existing Entries
2015-08-23 19:09:51 -04:00
* Inline view of complete password entry with ability to
+ Copy individual fields to clipboard
+ Autotype single fields
2015-07-16 20:59:40 -04:00
* Support for multiple roots for password-store (e.g. separate work from private passwords)
2015-05-22 15:56:33 -04:00
* Auto Type User and Password. Format of password files are expected to be like:
```
foobarmysecurepassword
2015-09-12 22:04:21 -04:00
user: MyUser
url: http://my.url.foo
2015-05-22 15:56:33 -04:00
```
2015-08-23 19:09:51 -04:00
* Auto Typing of more than one field. This expects a autotype field in password file.
2015-05-22 15:56:33 -04:00
```
foobarmysecurepassword
2015-07-16 20:54:36 -04:00
---
2015-09-12 22:04:21 -04:00
user: MyUser
2015-05-22 17:47:23 -04:00
SomeField: foobar
AnotherField: barfoo
2015-09-12 22:04:21 -04:00
url: http://my.url.foo
2015-07-16 22:05:48 -04:00
autotype: SomeField :tab UserName :tab AnotherField :tab pass
2015-05-22 15:56:33 -04:00
```
2015-08-22 13:03:15 -04:00
The `:tab` field has a special meaning. this will hit the tab key, obviously.< br >
2015-08-22 13:01:58 -04:00
Same for `:space` , which will hit the space key, can be used to activate checkboxes.
2015-09-12 22:04:21 -04:00
In addition to those `:enter` and `:delay` are available.
2015-07-16 20:54:36 -04:00
2015-08-21 13:37:15 -04:00
* All Hotkeys are configurable in config file
2015-09-12 22:04:21 -04:00
* user, url and autotype field names are also configurable
2015-08-21 13:37:15 -04:00
2015-05-22 15:56:33 -04:00
## Requirements
2015-05-23 03:47:59 -04:00
* pass (https://github.com/zx2c4/password-store)
2015-05-22 15:56:33 -04:00
* sed
2015-08-06 07:29:57 -04:00
* rofi (https://github.com/DaveDavenport/rofi)
2015-05-22 15:56:33 -04:00
* xdotool
* awk
* bash
2015-07-16 20:59:40 -04:00
2015-08-23 08:10:08 -04:00
## Configuration
rofi-pass may read its configuration values from `/etc/rofi-pass` and/or `$HOME/.config/rofi-pass/config` .
For an example configuration please take a look at the included `config.example` file.
2015-07-16 20:59:40 -04:00
## Extras
rofi-pass comes with a tiny helper script, which makes it easier to create new pass entries.
2015-07-19 14:12:01 -04:00
Just run it with
```
2015-08-23 08:44:31 -04:00
addpass --name "My new Site" +user "zeltak" +branch "branch" +custom "foobar" +autotype "branch :tab user :tab pass"
2015-07-19 14:12:01 -04:00
```
2015-08-21 13:19:20 -04:00
* First argument `--name` is mandatory. This will be the filename of the new password entry.
2015-08-21 13:27:18 -04:00
* Second argument can be `--root` followed by absolute path to your password-store. addpass also uses root config setting from rofi-pass config file. If both are not found, PASSWORD_STORE_DIR variable is checked. If none of the above are found, the default location `$HOME/.password-store` is used.
2015-08-21 13:19:20 -04:00
* Fieldnames are defined with `+` and the actual value is defined inside the quotations. You can add as many fields as you like
2015-07-16 20:59:40 -04:00
Also included is an import script for keepass2 databases. It's the same script that can be downloaded from the pass homepage, with some minor modifications to match rofi-pass structure.
2015-09-12 22:20:27 -04:00
## Alternative
jreinert has written a roughly compatible tool to rofi-pass. It has less features, but definately saner code.
Also he provided a nice little script called `passed` to change your fieldnames. [autopass ](https://github.com/jreinert/autopass )
2015-09-13 09:38:35 -04:00
I provide a copy of the script in this repository, just in case.
Usage is: passed 's/foo/bar'