* Use webfonts from jslib instead of downloading them using gulp * Remove accidental command for disabling certificates * Bump jslib
|13 hours ago|
|.github||2 weeks ago|
|.vscode||4 years ago|
|jslib@2c892eb3a2||13 hours ago|
|patches||6 months ago|
|resources||5 months ago|
|scripts||6 months ago|
|src||13 hours ago|
|stores||4 months ago|
|.editorconfig||4 years ago|
|.gitignore||6 months ago|
|.gitmodules||4 years ago|
|.nvmrc||4 months ago|
|CONTRIBUTING.md||11 months ago|
|LICENSE.txt||4 years ago|
|README.md||3 weeks ago|
|SECURITY.md||4 years ago|
|crowdin.yml||1 month ago|
|package-lock.json||13 hours ago|
|package.json||13 hours ago|
|sign.js||2 weeks ago|
|tsconfig.json||4 months ago|
|tsconfig.renderer.json||5 months ago|
|tslint.json||8 months ago|
|webpack.main.js||4 months ago|
|webpack.renderer.js||5 months ago|
Bitwarden Desktop Application
The Bitwarden desktop app is written using Electron and Angular. The application installs on Windows, macOS, and Linux distributions.
- Node.js v14.17 or greater
- NPM v7
- 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.
Code contributions are welcome! Please commit any pull requests against the
master branch. Learn more about how to contribute by reading the
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