is built with Electron unofficial desktop app for ProtonMail and Tutanota E2E encrypted email providers, basically a wrapper around their web interfaces with some enhancements aimed to improve desktop users experience.
Linux/OSX/Windows installation packages download page is here.
- Cross platform, Linux/OSX/Windows.
- Multi email providers support.
- Multi accounts support per each email provider. Individual entry point domain selection is enabled.
- Automatic login into the app with remembered master password using keytar module ("Keep me signed in" feature).
- Encrypted settings storage with switchable predefined key derivation and encryption presets. Argon2 is used as the default key derivation function.
- Native notifications for individual accounts clicking on which focuses the app window and selects respective account in the accounts list.
- System tray icon with a total number of unread messages shown on top of it. Enabling local messages store improves this feature (how to enable), see respective issue.
- Full, tabs and dropdown view modes. See details here and screenshots in images folder.
- Batch emails export to EML files. Feature released with v2.0.0-beta.4 version, requires
local messages storefeature to be enabled (how to enable).
- Option to use a built-in/prepackaged web client instead of loading the online page. The built-in web clients are built from source code, see respective official Protonmail and Tutanota repositories. See original issue for details.
- Start minimized to tray.
- Close to tray.
How to build package from source code
- Regardless of the platform you are working on, you will need to have Node.js v10 installed. v10 as it's recommended to go with the same Node.js version Electron comes with. If you already have Node.js installed, but not the version 10, then you might want to use Node Version Manager to be able to switch between multiple Node.js versions:
- Install NVM.
nvm install 10.
nvm use 10.
- Some native modules require node prebuilds files compiling and for that Python and C++ compiler need to be installed on your system:
On Windows: the simplest way to install all the needed stuff on Windows is to run
npm install --global --production windows-build-toolsCLI command.
makeand a C/C++ compiler toolchain, like
GCCare most likely already installed. Besides keytar needs
libsecretlibrary to be installed.
On Mac OS X:
python v2.7and Xcode need to be installed. You also need to install the
Command Line Toolsvia Xcode, can be found under the
Xcode -> Preferences -> Downloadsmenu.
- Clone this project to your local device. If you are going to contribute, consider cloning the forked into your own GitHub account project.
- Install dependencies running
- Build app running
yarn run app:dist. It's better to not touch a mouse during the process, since it might interfere with the
e2etests running at the end of the process.
- Build a package to install running
yarn run electron-builder:distcommand to build Windows/Mac OS X package and one of the following commands to build Linux package:
yarn run electron-builder:dist:linux:appimage
yarn run electron-builder:dist:linux:deb
yarn run electron-builder:dist:linux:freebsd
yarn run electron-builder:dist:linux:pacman
yarn run electron-builder:dist:linux:rpm
yarn run electron-builder:dist:linux:snap
- If you don't need a package to install, but a folder to execute app from, simply run
yarn run electron-builder:dircommand.
- Binary executable, whether it's a folder or package to install, comes into the
To summarize, considering that all the described build requirements are met, the short build command to build let's say Arch Linux package will be
yarn install && yarn run app:dist && yarn run electron-builder:dist:linux:pacman.