Code Monkey home page Code Monkey logo

threema-web-electron's Introduction



Threema for Desktop

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.

Bug Reports and Feature Requests

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.

Development

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.3.19
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.

Contributing

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.

Security

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.

License

Threema for desktop is licensed under the GNU Affero General Public License v3.

Copyright (c) 2016-2021 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.

threema-web-electron's People

Contributors

marcelraschke avatar snyk-bot avatar threema-danilo avatar

Watchers

 avatar

Forkers

devcode1981

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.