Threema for desktop is a desktop client for Threema, a privacy-focused end-to-end encrypted mobile messenger hosted and developed in Switzerland. With Threema for desktop, you can use Threema on your desktop without compromising security.
If you find a bug in Threema for desktop, feel free to start a new thread in the unofficial community forum or contact support.
Please note that we are already working on a new architecture for Threema for desktop and have already taken many feature requests into account. The new solution will allow Threema for desktop to send and receive messages even when the associated phone is offline.
Threema for desktop is built on top of the existing Threema Web project and Electron.
To build Threema for desktop, follow the steps below.
Step 0: Ensure that Git submodules are checked out
git submodule update --init
Step 1: Build Threema Web
export DEV_ENV=development
export THREEMA_WEB_VERSION=threema-web-2.5.7
npm install
./tools/patches/patch-threema-web.sh
npm run app:build:web
./tools/patches/post-patch-threema-web.sh
Step 2: Set the target configuration
Export the TARGET_OS
and TARGET_ID
env variables:
OS | Package Type | $TARGET_OS | $TARGET_DIST | $TARGET_PKG |
---|---|---|---|---|
macOS | DMG | macOS | macos | macos:dmg |
macOS | ZIP | macOS | macos | macos:zip |
Linux | DEB | linux-deb | linux:deb | linux:deb |
Linux | RPM | linux-deb | linux:rpm | linux:rpm |
Windows | EXE | windows | windows | windows:installer |
For example, for a macOS DMG:
export TARGET_OS=macOS
export TARGET_DIST=macos
export TARGET_PKG=macos:dmg
Step 3: Package Threema Web into Electron
npm run app:install
node tools/patches/post-patch-threema-web.js $TARGET_OS consumer
npm run electron:dist:$TARGET_DIST:consumer
npm run electron:package:$TARGET_PKG:consumer
The built app can be found in app/build/dist-electron/packaged
.
Contributions to Threema for desktop are welcome! Please note that Threema Web is in maintenance mode. Not all contributions will make it into the multi-device desktop client.
If you discover a security issue in the Threema for desktop, please follow responsible disclosure and report it directly to Threema instead of opening an issue on Github. You can find the security e-mail as well as the PGP public key at https://threema.ch/en/contact.
Threema for desktop is licensed under the GNU Affero General Public License v3.
Copyright (c) 2016-2024 Threema GmbH
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License, version 3,
as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
The full license text can be found in LICENSE.txt
.
For third party library licenses, see LICENSE-3RD-PARTY.txt
.