You can build your own Tuta Mail client and run it locally. Remember that you have to update your Tuta Mail client on your own. If you prefer the auto-update feature, you can use the official mail client.
- An up-to-date version of Git is installed
- Node.js (check package.json
enginesfield for the version) - Emscripten 3.1.59
- WASM2JS (Included in Emscripten)
- Clone the repository:
git clone https://github.com/tutao/tutanota.git - Switch into the repository directory:
cd tutanota - Checkout the latest web release tag:
git checkout tutanota-release-xxx - Initialize liboqs and argon2 submodules:
git submodule init - Synchronize submodules:
git submodule sync --recursive - Update submodules:
git submodule update - run
npm cito install dependencies. - Build packages:
npm run build-packages - Build the web part:
node webapp prod - Switch into the build directory:
cd build - Run the local server. Either use
node serverorpython -m SimpleHTTPServer 9000. - Open
localhost:9000with your favorite browser (tested: Firefox, Chrome/Chromium, Safari).
If you build and install the Tuta Mail Android app by yourself, keep in mind that you will not get updates automatically. If you prefer the auto-update feature, download the app from the Google Play Store or F-Droid. The APK is also published on the GitHub releases page https://github.com/tutao/tutanota/releases. You can add https://github.com/tutao/tutanota/releases.atom to your feed reader to get notified about available updates.
- An up-to-date version of Git is installed
- Node.js (check package.json
enginesfield for the version) - An up-to-date version of the Android SDK is installed
- Clone the repository:
git clone https://github.com/tutao/tutanota.git - Switch into the Tutanota directory:
cd tutanota - Checkout the latest android release tag:
git checkout tutanota-android-release-xxx - Initialize liboqs and argon2 submodules:
git submodule init - Synchronize submodules:
git submodule sync --recursive - Update submodules:
git submodule update - Install dependencies:
npm ci - Build packages:
npm run build-packages - Create a keystore if you don't have
one:
keytool -genkey -noprompt -keystore MyKeystore.jks -alias tutaKey -keyalg RSA -keysize 2048 -validity 10000 -deststoretype pkcs12 -storepass CHANGEME -keypass CHANGEME -dname "CN=com.example"
run APK_SIGN_ALIAS="tutaKey" APK_SIGN_STORE='MyKeystore.jks' APK_SIGN_STORE_PASS="CHANGEME" APK_SIGN_KEY_PASS="CHANGEME" node android
- Install the app on your device:
adb install -r <path-to-apk>(path as printed by the build script)
Keep in mind that your own build of Tuta Mail Desktop will not update automatically.
- An up-to-date version of Git is installed.
- Node.js (check package.json
enginesfield for the version)
- Open a terminal.
- Clone the repository:
git clone https://github.com/tutao/tutanota.git. - Switch into the Tutanota directory:
cd tutanota - Checkout the latest web release tag:
git checkout tutanota-release-xxx - Initialize liboqs and argon2 submodules:
git submodule init - Synchronize submodules:
git submodule sync --recursive - Update submodules:
git submodule update - Run
npm cito install dependencies.
- Build packages:
npm run build-packages - Run
node desktop --custom-desktop-release.
The client for your platform will be in build/desktop/. Note that you can add --unpacked to the build command to
skip the packaging of the installer. This will yield a directory containing the client that can be run without
installation.
The windows client uses a native dependency to enable MAPI Support. The source can be found at https://github.com/tutao/mapirs. You can build it yourself before building the client and the build process will pick the artifact up automatically if you structure the projects a such:
parent dir
├── mapirs
└── tutanota-3
Otherwise, the builder will load the current release from https://github.com/tutao/mapirs/releases/latest .