{"id":15651284,"url":"https://github.com/ledfan/keywi","last_synced_at":"2025-08-23T19:07:13.204Z","repository":{"id":17433720,"uuid":"80810587","full_name":"LEDfan/keywi","owner":"LEDfan","description":"Minimalistic Keepass plugin using Web Extensions and KeepassHTTP.","archived":false,"fork":false,"pushed_at":"2023-03-13T11:56:52.000Z","size":1351,"stargazers_count":33,"open_issues_count":15,"forks_count":3,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-04-15T07:27:07.196Z","etag":null,"topics":["addon","firefox","keepass","keepasshttp","password-manager","web-extension"],"latest_commit_sha":null,"homepage":"https://addons.mozilla.org/nl/firefox/addon/keywi/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LEDfan.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-02-03T08:22:58.000Z","updated_at":"2024-01-14T14:27:57.000Z","dependencies_parsed_at":"2024-10-03T12:38:47.722Z","dependency_job_id":"86a4f0aa-4ce0-4eac-b098-a87f2fb49dea","html_url":"https://github.com/LEDfan/keywi","commit_stats":null,"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LEDfan%2Fkeywi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LEDfan%2Fkeywi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LEDfan%2Fkeywi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LEDfan%2Fkeywi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LEDfan","download_url":"https://codeload.github.com/LEDfan/keywi/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242685799,"owners_count":20169240,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["addon","firefox","keepass","keepasshttp","password-manager","web-extension"],"created_at":"2024-10-03T12:37:48.153Z","updated_at":"2025-03-09T11:31:21.074Z","avatar_url":"https://github.com/LEDfan.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Logo](icons/keywi-256.png)\n\nKeywi\n===\n\nMinimalistic Keepass extension using Web Extensions and KeepassHTTP.\n\n\u003c!---\nDescription on addons.mozilla.org starts here.\n--\u003e\n\n## Goals\n - Minimalistic password integration in Firefox\n - Fill username and password in login form, using context menu and keyboard shortcut\n - Use [Keepass HTTP](https://github.com/pfn/keepasshttp)\n - No editing of the Keepass database\n - Using the Firefox web extensions API, to support Firefox 57 and later\n - Support Keepass, KeepassXC, later maybe [Pass](https://www.passwordstore.org/)\n - Minimal amount of libraries (aes and cryptohelpers)\n - No automatic form filling, i.e. only when the user wants to. The user has to select the form itself. This is very important because:\n   - credentials can be filled in the wrong site (e.g. a DNS spoofing)\n   - credentials can be filled in the sign up form\n   - credentials can be filled in a hidden form\n   - you don't want to log in on this website now\n   - there are multiple forms on the website (unlikely)\n - No injecting of buttons or icons into forms\n - Support HTTP basic authentication\n\n## Usage\nKeywi uses the local storage mechanism of the browser to store some information needed to connect to Keepass. This information includes the key used to authenticate and encrypt the communication with Keepass. The information stored in the local storage of the browser is stored unencrypted.\nTherefore Keywi encrypts this information (`database.key`, `database.id` and `database.hash`) using 256-bit AES key derived from a user-provided password.\n\nThis password is asked to the user the first time Keywi is used for encrypting the information. Every time you start Firefox it's asked to decrypt the information.\n\nKeywi requires Firefox 51 or later.\n\n### First time\n 1. install the KeepassHTTP plugin in Keepass. See: https://github.com/pfn/keepasshttp\n 2. make sure the correct Keepass database is open\n 3. install the addon\n 4. you'll be asked to enter a password for secure storage. You should **not** use the same password as used in Keepass. Make sure it's a secure and strong password.\n\n\u003cp align=\"center\"\u003e\n\t\u003cimg title=\"Setup Secure Storage\" src=\".github/screenshots/setup-secure-storage.png\"\u003e\n\u003c/p\u003e\n\n 5. keepass will ask to confirm the association\n\n\u003cp align=\"center\"\u003e\n\t\u003cimg title=\"Associate With Keepass\" src=\".github/screenshots/associate.png\"\u003e\n\u003c/p\u003e\n\n### When Firefox starts\nYou will be asked to unlock the Secure Storage using the same password as during the setup.\n\u003cp align=\"center\"\u003e\n\t\u003cimg title=\"Unlock Secure Storage\" src=\".github/screenshots/unlock-secure-storage.png\"\u003e\n\u003c/p\u003e\n\n### Fill in credentials\n 1. select the username input field\n 2. right click and choose \"Fill username and password\" inside the \"Keywi\" submenu. It's possible to only fill your username or password.\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\".github/screenshots/fill-context-menu.png\" title=\"Right click to fill in\"\u003e\n\u003c/p\u003e\n 3. Click \"Allow\" when keepass asks permission for the request to the credentials\n 4. the username and password are filled\n\n### Keyboard shortcuts:\nThe following shortcuts are supported:\n - \u003ckbd\u003eCtrl\u003c/kbd\u003e + \u003ckbd\u003eShift\u003c/kbd\u003e + \u003ckbd\u003eF\u003c/kbd\u003e Fill username and password in the current active input field (only the username will be filled when no password field is found)\n - \u003ckbd\u003eCtrl\u003c/kbd\u003e + \u003ckbd\u003eShift\u003c/kbd\u003e + \u003ckbd\u003eD\u003c/kbd\u003e Fill only password in the current active input field\n\n### Multiple Credentials for one URL\nWhen Keepass finds multiple credentials for one URL, it will ask you to select one:\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\".github/screenshots/multiple-credentials.png\" title=\"Right click to fill in\"\u003e\n\u003c/p\u003e\n\n### Disable \"Remember for logins\" in Firefox\nTo provide a better user experience we advise to disable the feature in Firefox to remember logins.\n\n### HTTP Basic Auth\nWhen a website asks for your credentials using basic auth, Keywi will ask you whether you want the credentials to be filled:\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\".github/screenshots/basic-auth-confirm.png\" title=\"Right click to fill in\"\u003e\n\u003c/p\u003e\nPress \u003ckbd\u003eEnter\u003c/kbd\u003e or `Fetch credentials` to continue. Confirm the credential you want to fill. Use \u003ckbd\u003eEnter\u003c/kbd\u003e when only one credential is available.\n\u003cp align=\"center\"\u003e\n\t\u003cimg src=\".github/screenshots/basic-auth-select.png\" title=\"Right click to fill in\"\u003e\n\u003c/p\u003e\n\n\n\u003c!---\nDescription on addons.mozilla.org ends here.\n--\u003e\n\n## Translations\nThis project is translated using Crowdin.\nFollow these steps if you want to contribute\n 1. Start with the [Keywi project on Crowdin](https://crwd.in/keywi)\n 2. Continue working on an existing language or [ask us to add a new one](https://github.com/LEDfan/keywi/issues/new)\n 3. We will put the translations in the next release of Keywi\n 4. It's not necessary to translate technical terms, like the following words, if there is no good translation which fits the context:\n  - database\n  - Secure Storage\n  - hash\n\nThe following word should always be capitalized:\n - Keywi\n - Keepass\n - Secure Storage\n\nThanks for helping!\n\n### Translation of addons.mozilla.org metadata\n 1. fork this repo and clone it into your workspace\n 2. copy the `_amo/en/description.html` file to e.g. `_amo/nl/description.html`\n 2. copy the `_amo/en/summary.txt` file to e.g. `_amo/nl/summary.txt`\n 3. translate it\n 4. commit and push to Github\n 5. open a pull request\n\nIn `description.html` these HTML tags are supported:\n```\n\u003ca href title\u003e \u003cabbr title\u003e \u003cacronym title\u003e \u003cb\u003e \u003cblockquote\u003e \u003ccode\u003e \u003cem\u003e \u003ci\u003e \u003cli\u003e \u003col\u003e \u003cstrong\u003e \u003cul\n```\n\nThe `summary.txt` file only supports plain text up to 250 characters.\n\n\n\n## Alternatives\n### [Passifox](https://github.com/pfn/passifox)\nSpecial thanks to passifox, we used it as inspiration for this addon and use KeepassHTTP of the same author.\nSome differences between this addon and Passifox:\n - some forms can't be filled (e.g. openmediavault has some problems with it)\n - doesn't uses web extensions, thus not compatible with Electrolysis\n - automatic form filling\n\n### [KeePassHttp-connector](https://github.com/smorks/keepasshttp-connector)\nThis extension is a port of chromeIPass to firefox. Some differences:\n - automatic form filling\n - auto detect form fields (comes with a gui to manually select a form)\n\n### [Kee](https://www.kee.pm/)\nKee does some things which this addon is designed to not do:\n - Kee is very feature rich, almost a password manager on it's own\n - Kee automatically fills login form\n - Kee modifies the Keepass database\n - Kee injects icons into the form\n - Kee is not compatible with KeepassXC\n - auto detect form fields\n\n\n## Note about add-on ID's\nTo speed up the testing of the add-on we release a signed but self-distributed version of it, this addon has the id `keywi-ff-add-on-ss@ledfan.be`. The add-on distributed using AMO has `keywi-ff-add-on@ledfan.be` as id.\n\nWarning: this means that when you switch between the self-distributed version and the version from AMO you need to re-setup the Secure Storage and re-associate with Keepass.\n\n## Authors\n - [@LEDfan](https://github.com/LEDfan) Tobia De Koninck\n - [@RobinJadoul](https://github.com/RobinJadoul) Robin Jadoul\n\n## License\nKeywi is free software: you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nKeywi is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with Keywi.  If not, see \u003chttp://www.gnu.org/licenses/\u003e.\n\n\n## Used libraries\nThis project uses the following libraries which are all found under the `vendor` directory:\n - `aes.js` from slowAES https://code.google.com/archive/p/slowaes licensed under Apache License 2.0\n - `cryptoHelpers.js` from slowAES https://code.google.com/archive/p/slowaes licensed under Apache License 2.0\n - `debounce.js` part of Underscoe.js http://underscorejs.org/ licensed under the MIT license\n - `utf8.js` part of the passifox project https://github.com/pfn/passifox/blob/master/chromeipass/background/utf8.js licensed under GPL v3\n - Please note that some functions of the `background/keepass.js` file are based on functions of the passifox project https://github.com/pfn/passifox licensed under the GPL v3\n\n## Logo\nThe logo is based on https://pixabay.com/en/key-lock-web-1294351/ and https://pixabay.com/en/kiwi-fruit-food-half-green-fresh-310189/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fledfan%2Fkeywi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fledfan%2Fkeywi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fledfan%2Fkeywi/lists"}