keepassxreboot / keepassxc-browser

KeePassXC Browser Extension
GNU General Public License v3.0
1.78k stars 188 forks source link
browser-extension hacktoberfest keepassxc nativemessaging password-manager webextension

KeePassXC-Browser

Browser extension for KeePassXC with Native Messaging.

Based on pfn's chromeIPass. Some changes merged also from smorks' KeePassHttp-Connector.

Download and use

This browser extension was first supported in KeePassXC 2.3.0 (release end of 2017). In general it is advised to only use the latest available release.

Get the extension for Firefox or Chrome/Chromium or Microsoft Edge (requires KeePassXC 2.5.3 or newer).

Please see this document for instructions how to configure KeePassXC in order to connect the database correctly.

How it works

KeePassXC-Browser communicates with KeePassXC through keepassxc-proxy. The proxy handles listening to STDIN/STDOUT and transfers these messages through Unix domain sockets / named pipes to KeePassXC. This means KeePassXC can be used and started normally without inteference from Native Messaging API. KeePassXC-Browser starts only the proxy application and there's no risk of shutting down KeePassXC or losing any unsaved changes. You don't need to install keepassxc-proxy separately. It is included in the KeePassXC application package. Alternatively you can use keepassxc-proxy-rust as a proxy if you prefer a non-Qt solution.

Requested permissions

KeePassXC-Browser extension requests the following permissions:

Name Reason
activeTab To get URL of the current tab
contextMenus To show context menu items
cookies To access browser's internal Public Suffix List
clipboardWrite Allows password to be copied from password generator to clipboard
nativeMessaging Allows communication with KeePassXC application
notifications To show browser notifications
offscreen For accessing system theme when setting icon colors (Chrome only)
storage For storing extension settings (always stored locally in the browser, they are never synced)
tabs To request tab URL's and other info
webNavigation To show browser notifications on install or update
webRequest For handling HTTP Basic Auth
webRequestBlocking For handling HTTP Basic Auth
http://*/* To allow using KeePassXC-Browser on all websites
https://*/* To allow using KeePassXC-Browser on all websites
https://api.github.com/ For checking the latest KeePassXC version from GitHub

Protocol

Check keepassxc-protocol for the details about the messaging protocol used between the browser extension and KeePassXC.

Translations

Translations are managed on Transifex which offers a web interface. Please join an existing language team or request a new one if there is none.

Development and testing

See wiki.

Help!

See our Troubleshooting Guide for solving problems if previously listed issues and solutions are not working.