1
0
mirror of https://github.com/bitwarden/browser.git synced 2024-12-28 17:27:50 +01:00
The browser extension vault (Chrome, Firefox, Opera, Edge, Safari, & more).
Go to file
Daniel James Smith 90ffddd25e Updated year to current in copyright(s)
We all would like to forget 2020 for obvious reasons...
2021-02-24 22:52:53 +01:00
.github Merge pull request #667 from zhzy0077/add_arm64 2021-02-01 10:49:04 -05:00
.vscode persist and restore window state 2018-02-14 15:34:17 -05:00
jslib@42348e2fdc updated jslib 2021-02-23 11:08:28 -05:00
resources Add entitlements to mac, disable browser integration on Windows Store 2021-01-25 14:47:29 +01:00
scripts change snap push to upload 2020-11-14 23:06:05 -05:00
src Fixes #723 2021-02-24 20:07:36 +01:00
stores Updated year to current in copyright(s) 2021-02-24 22:52:53 +01:00
.editorconfig update settings 2018-04-10 22:05:28 -04:00
.gitignore Add dist-safari/ to .gitignore 2021-01-05 13:57:31 -05:00
.gitmodules submodule via https 2018-02-19 16:26:53 -05:00
.nvmrc add .nvmrc to use node 10 (#164) 2019-11-16 22:46:47 -05:00
.travis.yml Add the lint to CI script (#403) 2020-03-12 15:30:48 -04:00
appveyor.yml.flagged-to-remove removing appveyor to stop the fork from sending the repo to be built. Testing a release 2021-01-06 20:38:30 +00:00
CONTRIBUTING.md fix typo 2020-11-10 17:44:04 +10:00
crowdin.yml map en-IN 2020-09-28 14:21:04 -04:00
gulpfile.js sweetalert: move to sweetalert2. (#388) 2020-02-24 09:45:01 -05:00
ISSUE_TEMPLATE.md ISSUE_TEMPLATE.md 2020-03-06 08:19:35 -05:00
LICENSE.txt license and contrib 2018-01-26 16:07:42 -05:00
package-lock.json chore: bump sweetalert2 to latest 2021-02-19 00:48:12 +02:00
package.json Updated year to current in copyright(s) 2021-02-24 22:52:53 +01:00
README.md fixing typo in readme 2021-01-04 18:25:43 +00:00
SECURITY.md uppercase Bitwarden 2018-02-27 13:41:47 -05:00
sign.js switching signing back to signing all .exe files and adding another job that doesn't sign the files for the Windows Store 2021-01-24 23:23:41 +00:00
tsconfig.json Initial PoC for browser <-> desktop communication 2020-10-05 15:27:52 +02:00
tslint.json Add trailing comma to linter 2021-02-08 12:58:44 -06:00
webfonts.list gulp task for webfonts 2018-08-08 12:47:54 -04:00
webpack.main.js Fix electron error on native messaging 2020-12-29 20:53:29 +01:00
webpack.renderer.js update formatting 2020-05-08 12:11:54 -04:00

appveyor build travis build Crowdin Join the chat at https://gitter.im/bitwarden/Lobby

Bitwarden Desktop Application

Platforms

The Bitwarden desktop app is written using Electron and Angular. The application installs on Windows, macOS, and Linux distributions.

Desktop Vault

Build/Run

Requirements

  • Node.js
  • Windows users: To compile the native node modules used in the app you will need the Visual C++ toolset, available through the standard Visual Studio installer. You will also need to install the Microsoft Build Tools 2015 and Windows 10 SDK 17134 as additional dependencies in the Visual Studio installer.

Run the app

npm install
npm run electron

Debug Native Messaging

Native Messaging (communication with the browser extension) works by having the browser start a lightweight proxy application baked into our desktop binary. To setup an environment which allows for easy debugging you will need to build the application for distribution, i.e. npm run dist:<platform>, start the dist version and enable desktop integration. This will write some manifests to disk, Consult the native manifests documentation for more details of the manifest format, and the exact locations for the different platforms. Note that disabling the desktop integration will delete the manifests, and the files will need to be updated again.

The generated manifests are pre-configured with the production ID for the browser extensions. In order to use them with the development builds, the browser extension ID of the development build needs to be added to the allowed_extensions section of the manifest. These IDs are generated by the browser, and can be found in the extension settings within the browser.

It will then be possible to run the desktop application as usual using npm run electron and communicate with the browser.

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.