The messenger Signal can be operated on Android devices without using Google Play Services or Firebase Cloud Messaging (FCM). This makes the messenger usable for those who consciously want to avoid Google's data collection on their smartphone. The "fallback" to WebSockets works, but it causes significant battery problems for some users, especially on mobile networks. Unfortunately, the Signal Foundation has not been able to identify the cause of the problem for years. An alternative to Signal is the fork Molly, which is offered in three different variants. The version Molly-UP completely avoids proprietary components and can receive push messages optionally via WebSockets or UnifiedPush.
In this article, I would like to briefly explain the switch to the Signal Fork Molly-UP and the reception of push messages via UnifiedPush. First, the following note about Molly:
This project is NOT sponsored by Signal Messenger or Signal Foundation.
The software is produced independently of Signal and carries no guarantee about quality, security or anything else. Use at your own risk.
Prerequisite
In order for Molly-UP to receive push notifications via UnifiedPush, two components/services are required:
- MollySocket
- UnifiedPush (ntfy, NextPush etc.)
You can either host these two services yourself or find a service provider to take care of it for you. Below, I describe the commissioning of Molly-UP in combination with two services (ntfy, MollySocket) from adminForge.
Installation
First, you install the following apps on your Android via F-Droid:
- Molly (UnifedPush) about the Molly-FOSS F-Droid Repo
- ntfy
Anschließend folgt ihr der Anleitung Migrating from Signal. Bitte genau lesen und keinen Schritt auslassen. Insbesondere:
Note, the migration should be done when the available Molly version is equal to or later than the currently installed Signal app version.
Commissioning UnifiedPush
As soon as the migration to Molly is complete, UnifiedPush can be activated. First, open the ntfy app and open the settings. Then make the following settings:
- Standard Server:
https://ntfy.adminforge.de
- Connection Protocol:
WebSockets
Then open Molly and navigate to »Settings -> Notifications«. First, tap at the very bottom on UnifiedPush and set the server URL as follows:
- Server URL:
https://molly.adminforge.de
Switch back to the view »Settings -> Notifications«. Then select under Delivery Method: UnifiedPush
Function Test
End Molly (Force quit) once and open it again. Under "Settings -> Notifications -> UnifiedPush" it should now say:
- Status:
OK
- Notification method:
ntfy
In the ntfy app it should then look like this:
Afterwards, you should receive push notifications about UnifiedPush.
Note
In order for the notification about ntfy to work correctly, you should disable battery optimization for the ntfy app or allow background usage.
The ntfy service caches notifications about new messages for 12 hours in a SQLite database/storage – if a device does not connect to the ntfy server within this time, the notification is discarded. The information that is generated includes the push notification from MollySocket and the IP address. When accessing the MollySocket database, the abuse potential is somewhat higher. Therefore, those who do not trust the service provider must host the services themselves.
Conclusion
The switch to UnifiedPush is done. Afterwards, you can switch other apps to UnifiedPush, that support this (e.g. Element, Tusky, etc.). Overall, UnifiedPush is an elegant solution that works similarly to FCM and informs the user about new events through a central place (server).
You can actively support the blog! Join in ➡