(it's not like the disney thing)
FastPass or fp
is a command line password manager focused on getting you logged in quickly.
It uses fuzzy searching and learns which passwords you retrieve most frequently.
By default it generates easy to remember passwords using human words.
Table of Contents
- Example
- Install
- Features
- Smart searching
- Generators
- Password caching
- Recommended Name Format
- Autocompletion
$ fp p
similar: [email protected] [email protected]
Copied password for [email protected]
You should take care in making sure the right password is matched.
go get -u github.com/s-kirby/fastpass/cmd/fp
- Encryption
- Fuzzy searching
- Notes
- Ranking based on access frequency
- Master password and key file support
- Key generated from master password caching
- Change master password
- Passwords are streched with pbkdf2/sha256 using 65536 iterations
- Multiple password generation strategies
fp uses both password frequency and levenshtein distance distance from search to retrieve the best entry.
For example:
$ fp ls reddit
------------
/tmp/test.db: 5 entries
------------
[email protected] [activity:003 created:04/03/2017 06:54:31]
[email protected] [activity:000 created:04/03/2017 06:54:34]
[email protected] [activity:003 created:04/03/2017 06:53:29]
[email protected] [activity:000 created:04/03/2017 06:53:22]
[email protected] [activity:000 created:04/03/2017 06:53:37]
$ fp reddit
similar: [email protected] [email protected] [email protected] [email protected]
Copied password for [email protected]
The human password generator uses the lists in passgen/world_list/ to generate passwords.
It uses the following format: <Adjective><Adjective><Noun><Noun><random num [000, 1000)>
It generates about 55 bits of entropy.
Hex generates 16 random hex digits.
It generates 64 bits of entropy.
Base62 generates 16 random base62 digits.
It generates 96 bits of entropy.
fp caches secrets after an open in /dev/shm/fp-<username>.secret
FastPass imports and recommends the following name format, all lowercase.
[category/...]<username>@<url/service>
Add the following to your ~/.bashrc
for autocompletion support
__fp_ls() {
COMPREPLY=()
cur=${COMP_WORDS[COMP_CWORD]}
if (($COMP_CWORD == 1)) {
COMPREPLY=( $( compgen -W '$(fp --bash ls)' -- $cur ) )
}
}
complete -F __fp_ls fp