Usable encrypted email, powered by Keybase!
This is the repository for Confidante, an open source encrypted email client which uses Keybase to make using PGP easier. Here, we have the code and development instructions.
If you want to try using Confidante, visit our home page at: https://confidante.cs.washington.edu
- Confidante runs on node.js. You'll need to install that first.
- Clone this repository:
$ git clone firstname.lastname@example.org:UWCSESecurityLab/confidante.git
$ npm installto download third-party dependencies.
$ npm run buildto compile frontend assets.
$ mongodto start the database service. Leave that terminal window open.
- In another terminal window, run
$ node src/app.jsto run the Keymail server.
- Keymail should be accessible at http://localhost:3000
How to automatically rebuild the app
Instead of running
npm run build and
node src/app.js every time you make a
a change, you can use some utilities that watch the files for changes, and
automatically recompile the code and restart the server.
First, install the utilities:
$ npm install -g nodemon
$ npm install -g watchify
Now, when you're ready to code, run these commands in separate terminal tabs:
$ nodemon src/app.js
How to build the Electron app
- If you're just running Electron for development, you can run it directly using
$ npm run electron.
$ npm run build:packageto build executables that include Electron and packages all of the code. This only builds it for the platform you're running the script on.
$ npm run build:installer-winto build an installer for Windows. Only works on a Windows machine.
The output packages/installers will be in the
dist/ folder in the root directory.
How to put a new Electron version on the website
SSH into a CSE machine, and upload the package to
The Windows version should be the EXE produced by
The Mac version should be a zipped up folder, produced by