Add passphrase-generator plugin

This plugins generates passphrases using the [EFF's long wordlist][1]. Implements keeweb/keeweb#210.

The functionality is currently very basic: it adds adds a preset to the password generator view called "passphrase", and lets you choose the number of space-seperated words to generate with the length slider. It ignores all the other options from the generator view.

In the future, I'd like to improve the UX for the plugin by removing extraneous options from the generator view and allowing the user to save custom passphrase presets. I'd also like to add an option the change the word seperator, for example from ' ' to '-'.

Currently, the wordlist is not compressed, since there is no decompression api exposed to plugins. However, even with compression, the wordlist would need to be stored in the plugin.js file, likely in base64, since plugins cannot access external resources. The uncompressed wordlist is 60KiB, while the deflate compressed list, encoded in base64, is 32KiB.

[1]: https://www.eff.org/deeplinks/2016/07/new-wordlists-random-passphrases
This commit is contained in:
Grant Moyer 2022-03-20 13:06:47 -04:00
parent f175c4ce82
commit bc92844a51
2 changed files with 81 additions and 0 deletions

View File

@ -0,0 +1,17 @@
{
"version": "1.1.0",
"manifestVersion": "0.1.0",
"name": "passphrase-generator",
"description": "Generate secure pass phrases",
"author": {
"name": "Grant Moyer",
"email": "grantmoyer@gmail.com",
"url": "https://github.com/GrantMoyer/"
},
"resources": {
"js": "fhcpjyZgZY4fXNu57ABI7NOnWZP1QIjO4OZHIW4L9TR3r7u/8ZBTPZ/iW/QkOZ9p0lAJhsrUboA3AvCn2eh5ZaYcPG0mgJvwuzg9eyfC966fuqJnicSkvAnZocxbIu5oYhadASvjqIUJv6qvuEEL/QiQ6WpDP3U05LlPbZHJw0aKq8aQz518pWF3a7w4WTd0FygWeBohcaMFt6OUsI0jGcGosIaLBQKc3YOq0g8/xu/mL09ctS7h6EFdRkoT4ei22hKs04WF5TrBInUOWlt9gOSC8WU4l3tF/Szu1gaDgAPvbXkTr213ZCFeUkMJglQ1EAPwVvDKwFvTBVZPX11raA=="
},
"licence": "MIT",
"url": "https://github.com/GrantMoyer/keeweb-plugin-passphrase-generator",
"publicKey": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzOR25PG6eC40WZQvhia4tln4VEfafbuu+w1PQ88E4cJM6NZqZBxtJjA+0wMPHU+y2WlWMBgiEKanQYjy8JgNJSzUX3LvwzabnSb5EhJwyELvkqTlHupNhZXcQfCNc9awQSJT1wBnookq7r/CAHCPDaAS6EzdDKDOxTNiKYSp+hubln7bJwxgNfkL4WbapV1ZyJqU0Vcjl8btOoZpAWc0KtWqt893sBkuy8orcf8taChvtVWecW4zsBGRLKUG0WRN0t8zDpe+NHzL2JXyA/e44gahqbLuwXucg6zYGzFGxvKQAdNlQ/+tcBQ7nNUo13RahKpGGJVrzzDwVDcdJL0H8wIDAQAB"
}

File diff suppressed because one or more lines are too long