aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
blob: 8c8e1ee4b7ce98642f0acb9ee8d90a503f6ba1cf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
Passextract
===========

An extension to the [pass][1] password manager. Pass works very well and covers
about 95% of my needs. Its `-c` option allows passwords to be easily copied to
the clipboard. Unfortunately, email addresses and usernames cannot be so easily
copied.

Passextract provides a UI similar to [urlview][2] that enables these additional
fields to be copied to the system clipboard. Three fields are recognised:
emails, usernames, and passwords. They are defined as follows:

	This text is ignored
	
	e: email@example.com
	u: username
	p: secret-password

In order to be recognised by Passextract, those fields must be prefixed by
“e: ”, “u: ”, or “p: ” as illustrated above.


## Demo
![screencast](./screencast.gif)


## Usage
Passextract can be invoked on its own or with the piped output of `pass show`:

	$ pass show github.com | passextract
	
	# or
	
	$ passextract github.com

The included Bash completion file provides the same tab completion options as
`pass show`.

In the interactive UI, the following commands are available:

	q or Ctrl-C: Quit and clear the clipboard
	          j: Move the selection down
	          k: Move the selection up
	          g: Move the selection to the top
	          G: Move the selection to the bottom
	      Enter: Copy the currently selected line


## Install
On Mac OS X, Passextract can be installed from Homebrew:

	$ brew install teddywing/formulae/passextract

To compile from source or install on other platforms, you'll need the [Rust][4]
compiler.

1. Install with `cargo`:

		$ cargo install --git https://github.com/teddywing/passextract.git --root /usr/local

2. Download and source the Bash completion file in your Bash profile:

		source ~/path/to/passextract.bash-completion


## Uninstall

	$ cargo uninstall --root /usr/local passextract


## License
Copyright © 2016, 2018, 2022 Teddy Wing. Licensed under the GNU GPLv3+ (see the
included COPYING file).


[1]: https://www.passwordstore.org/
[2]: https://github.com/sigpipe/urlview
[3]: https://github.com/teddywing/passextract/releases
[4]: https://www.rust-lang.org/