F-Droid Repository

The official F-Droid app repository of the website. Applications in this repository are built directly from the source code.



First install F-Droid (app store for Free and Open Source Software) on your Android device. Then add this repository to F-Droid (click on the link below in web browser on Android and select F-Droid from the list of apps):

There is also experimental repository, where you can find WebSocket-based fork of Signal (TextSecure) renamed to LibreSignal:

Why have Signal, TextSecure and RedPhone been renamed?

Moxie Marlinspike apparently doesn't like the idea of independent builds of TextSecure and RedPhone so much, that he started with legal threats on Twitter. Independent builds of TextSecure have been therefore renamed to TextLibre and RedPhone to PhoneLibre.

TextSecure for Android has been merged with RedPhone and is now Signal. Independent builds of Signal have been renamed to LibreSignal.

Application IDs are still the same, so you will not lose data after upgrade.

Can I switch from Signal to LibreSignal without losing data?

LibreSignal builds are signed with different key than official Signal builds. First you have to uninstall official Signal app and then install LibreSignal. But by uninstalling Signal, you will lose app data (most importantly your private encryption keys). There has been option in TextSecure to export encrypted backup in the past, but it has been removed (because of issues with it) and never brought back.

One possible solution (if you have root access on your device) is to use oandbackup. Backup your Signal app data with oandbackup, uninstall Signal, install LibreSignal and restore your backup with oandbackup.

Why encrypted calls doesn't work in WebSocket fork of LibreSignal?

Encrypted calls in Signal use same protocol as old RedPhone. But RedPhone server has never been opensourced and doesn't support WebSocket (it needs Google Cloud Messaging). So if you are using WebSocket fork of LibreSignal (from experimental repository), you can't receive encrypted calls. Unfortunately there is nothing we can do with it for now.


My primary motivation for creating this repository has been the absence of TextSecure private messenger from the official F-Droid repository. TextSecure has already been included in F-Droid for a brief time in the past, but Moxie Marlinspike (author of TextSecure) didn't like this and demanded it to be removed. TextSecure is Free Software (licensed under GPL), so F-Droid maintainers didn't have to remove it, but nevertheless they did.

There has been big discussion about it (issue #127), but simply told, Moxie is not open to arguments and wants TextSecure to be distributed only via Google Play. He already locked this discussion. This is unacceptable for me, because applications installed from Google Play can be silently updated without user knowing about it, e.g. to version with hidden backdoor.

TextSecure still needs Google Play Services (because it uses Google Cloud Messaging), but you don't need Google Account and Google Play cannot silently update app that has been installed outside of Google Play store. Hopefully in the future, it will be possible to use official TextSecure client without Google Play Services (see issue #1000 - Websocket support, unfortunately Moxie also locked this discussion).

There is unofficial TextSecure fork by JavaJens, which already uses WebSocket instead of GCM and therefore doesn't need Google Play Services. You can install it from my experimental F-Droid repository.

There is also separate LibreSignal repository (based on JavaJens fork) which is completely free from Google. LibreSignal builds in experimental repository (from version 3.14.2 onwards) are build from this source.