(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: ammarb@pizzahut.com ammarb@promhub.com
Copied password for ammarb@papajohns.com
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
------------
usr1@reddit.com [activity:003 created:04/03/2017 06:54:31]
usr2@reddit.com [activity:000 created:04/03/2017 06:54:34]
ammarb@papajohns.com [activity:003 created:04/03/2017 06:53:29]
ammarb@pizzahut.com [activity:000 created:04/03/2017 06:53:22]
ammarb@promhub.com [activity:000 created:04/03/2017 06:53:37]
$ fp reddit
similar: usr2@reddit.com ammarb@papajohns.com ammarb@pizzahut.com ammarb@promhub.com
Copied password for usr1@reddit.com
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