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 [email protected]:UWCSESecurityLab/confidante.git
- Run
$ npm install
to download third-party dependencies. - Run
$ npm run build
to compile frontend assets. - Run
$ mongod
to start the database service. Leave that terminal window open. - In another terminal window, run
$ node src/app.js
to run the Keymail server. - Keymail should be accessible at http://localhost:3000
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:
$ scripts/watchify.sh
$ nodemon src/app.js
- Run
$ npm run build:electron
to build the Electron version of the JavaScript bundles. - If you're just running Electron for development, you can run it directly using
$ npm run electron
. - Run
$ npm run build:package
to build executables that include Electron and packages all of the code. This only builds it for the platform you're running the script on. - Run
$ npm run build:installer-win
to 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.
SSH into a CSE machine, and upload the package to /cse/web/research/confidante/
.
The Windows version should be the EXE produced by npm build:installer-win
,
named ConfidanteSetup.exe
.
The Mac version should be a zipped up folder, produced by npm build:package
,
named Confidante-darwin-x64.zip
.