1
0
mirror of https://github.com/bitwarden/desktop.git synced 2024-06-25 10:26:00 +02:00
The desktop vault (Windows, macOS, & Linux).
Go to file
Joseph Flinn b4676e1655 Pinning ast version (#1080)
* Pinning version of AST instead of using latest

* adding the pinned version of the commit

* adding an array join

* pinning version of dotnet

* trying the AST pin of the version we started using

* disabling jobs and adding test step to window job

* adding dotnet 2.1.x to see if that fixes the issue

* removing the test code and testing the addition of .net 2.1.x

* repinning to last successful sign

* trying the newest version of AST

* disabling the non-windows jobs again

* disabling the windows build job and added a test job

* removing stray comma

* changing the multiline delimiter

* pivoting away from our EV cert and testing with a test one

* switching back to the EV cert and adding a verbose flag

* disabling some steps that are breaking

* swithing back to the test cert

* testing new format for the ast command

* removing the node portions of the test since they are not needed

* trying AST without the tenat-id

* rolling back to original commit

* switching to custom AST for better troubleshooting

* removing the ast commit logic and forcing latest

* fixing up the pwsh sign command

* fixing the AST verison

* making sure that the secrets are not blank

* trying the EV cert for signing

* Using pinned commit from AST instead of custom code

* fixing env

* building the actually pinned commit instead of whatever the other thing was...

* testing the windows job

* removing the dotnet 2.1.x dependency since the older AST version shouldn't need it

* reenabling the test ast job since something is failing

* moving the git switch command

* testing new gh-action

* fixing the gh-action path

* updating the hash of the new action

* enabling the build jobs again

* updating the hash for the new Install AST action

* fixing linter issues
2021-09-16 10:28:55 -07:00
.github Pinning ast version (#1080) 2021-09-16 10:28:55 -07:00
.vscode persist and restore window state 2018-02-14 15:34:17 -05:00
jslib@1c28396d1a Update jslib 2021-09-15 21:41:15 -05:00
patches Temporary fix for building masdev (#809) 2021-03-24 17:17:03 +01:00
resources Write native messaging manifests for Chromium (#862) 2021-04-29 16:12:57 +02:00
scripts Add script for downloading legacy safari extension (#796) 2021-03-19 17:18:48 +01:00
src [SSO/Auto Enroll] Set Password banner (#1053) 2021-09-07 12:11:43 -05:00
stores new screenshots 2021-06-02 13:54:46 -04:00
.editorconfig update settings 2018-04-10 22:05:28 -04:00
.gitignore Add script for downloading legacy safari extension (#796) 2021-03-19 17:18:48 +01:00
.gitmodules submodule via https 2018-02-19 16:26:53 -05:00
.nvmrc Update .nvmrc from 10.13.0 to 14.17.0 2021-05-18 18:30:24 +02:00
CONTRIBUTING.md fix typo 2020-11-10 17:44:04 +10:00
crowdin.yml Simplifying the Crowdin Sync workflow (#1048) 2021-08-27 10:08:32 -07:00
gulpfile.js Bump dependencies (#848) 2021-04-23 10:45:30 +02:00
LICENSE.txt license and contrib 2018-01-26 16:07:42 -05:00
package-lock.json Remove dependency on duo_web_sdk and update jslib (#1006) 2021-07-28 19:50:06 +02:00
package.json Remove dependency on duo_web_sdk and update jslib (#1006) 2021-07-28 19:50:06 +02:00
README.md Fix typo in README (#1060) 2021-09-07 12:50:32 -04:00
SECURITY.md uppercase Bitwarden 2018-02-27 13:41:47 -05:00
sign.js Pinning ast version (#1080) 2021-09-16 10:28:55 -07:00
tsconfig.json Add jslib as a "real" dependency (#941) 2021-06-07 19:26:36 +02:00
tsconfig.renderer.json Fix VS code ts language server no longer working after #866 (#872) 2021-05-06 16:45:27 +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 Default to development environment settings 2021-06-10 15:37:39 -04:00
webpack.renderer.js Cleanup tsconfig (#866) 2021-05-05 09:47:35 +02:00

Github Workflow build on master 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 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.

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.