1
0
mirror of https://github.com/bitwarden/browser.git synced 2024-11-18 11:05:41 +01:00
The browser extension vault (Chrome, Firefox, Opera, Edge, Safari, & more).
Go to file
2021-08-19 22:10:13 +02:00
.github/workflows adding logic to handle if there are no changes 2021-08-13 10:51:13 -07:00
jslib@1f0127966e Add iframe allow to initial load (#2005) 2021-08-13 09:23:36 -05:00
src Fixed order of supportedLocales to have 'en' as fallback again 2021-08-19 22:10:13 +02:00
store Autosync Crowdin translations 2021-08-18 21:14:03 +00:00
.editorconfig https link to EditorConfig.org (#1385) 2020-09-14 10:05:17 -04:00
.gitignore ignore dist-safari 2020-09-28 10:40:51 -04:00
.gitmodules convert to jslib submodule 2018-02-19 17:01:00 -05:00
CONTRIBUTING.md expand contributing guide 2020-10-08 07:06:10 +10:00
crowdin.yml map en-IN 2020-09-28 14:21:07 -04:00
gulpfile.js Removed Appveyor from BuildNumberGenerator 2021-04-01 22:35:42 +02:00
ISSUE_TEMPLATE.md Update ISSUE_TEMPLATE.md 2020-03-05 23:55:51 -05:00
karma.conf.js Add jslib as a "real" dependency (#1876) 2021-06-07 19:25:37 +02:00
LICENSE.txt license 2016-10-10 18:36:38 -04:00
package-lock.json Remove dependency on duo_web_sdk and update jslib 2021-07-28 19:04:00 +02:00
package.json Remove dependency on duo_web_sdk and update jslib 2021-07-28 19:04:00 +02:00
README.md Update manifest info in readme.md for desktop comm 2021-07-15 16:42:26 -04:00
SECURITY.md Uppercase Bitwarden 2018-02-27 13:37:57 -05:00
tsconfig.json Merge remote-tracking branch 'origin' into cdk-virtual-scroll 2021-06-09 10:07:35 +10:00
tslint.json Linter updates and fixes (#1604) 2021-02-10 09:40:15 -06:00
webfonts.list Added google web fonts. 2016-10-25 21:13:59 -04:00
webpack.config.js Add jslib as a "real" dependency (#1876) 2021-06-07 19:25:37 +02:00

Github Workflow build on master Crowdin Join the chat at https://gitter.im/bitwarden/Lobby

Bitwarden Browser Extension

The Bitwarden browser extension is written using the Web Extension API and Angular.

Build/Run

Requirements

  • Node.js v14.17 or greater
  • NPM v7
  • Gulp (npm install --global gulp-cli)
  • Chrome (preferred), Opera, or Firefox browser

Run the app

npm install
npm run build:watch

You can now load the extension into your browser through the browser's extension tools page:

  • Chrome/Opera:
    1. Type chrome://extensions in your address bar to bring up the extensions page.
    2. Enable developer mode (toggle switch)
    3. Click the "Load unpacked extension" button, navigate to the build folder of your local extension instance, and click "Ok".
  • Firefox
    1. Type about:debugging in your address bar to bring up the add-ons page.
    2. Click the Load Temporary Add-on button, navigate to the build/manifest.json file, and "Open".

Desktop communication

Native Messaging (communication between the desktop application and browser extension) works by having the browser start a lightweight proxy baked into our desktop application.

Out of the box, the desktop application can only communicate with the production browser extension. When you enable browser integration in the desktop application, the application generates manifests which contain the production IDs of the browser extensions. To enable communication between the desktop application and development versions of browser extensions, add the development IDs to the allowed_extensions section of the corresponding manifests.

Manifests are located in the browser subdirectory of the Bitwarden configuration directory. For instance, on Windows the manifests are located at C:\Users\<user>\AppData\Roaming\Bitwarden\browsers and on macOS these are in Application Support for various browsers (for example). Note that disabling the desktop integration will delete the manifests, and the files will need to be updated again.

Contribute

Code contributions are welcome! Please commit any pull requests against the master branch. Learn more about how to contribute by reading the CONTRIBUTING.md file.

Security audits and feedback are welcome. Please open an issue or email us privately if the report is sensitive in nature. You can read our security policy in the SECURITY.md file.