Messenger: Switch from Signal to Molly UnifiedPush (MollySocket, ntfy)

Content

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:

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:

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:

ntfy Molly-UP

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 ➡

Summary
The Signal messenger can be used on Android devices without Google Play Services or Firebase Cloud Messaging, appealing to users who wish to avoid Google's data collection. However, using WebSockets as a fallback can lead to significant battery issues, which the Signal Foundation has struggled to resolve. An alternative is the Molly fork, specifically the Molly-UP version, which operates without proprietary components and can receive push notifications via WebSockets or UnifiedPush. To use Molly-UP with UnifiedPush, users need to set up two services: MollySocket and UnifiedPush, which can be self-hosted or provided by a service. The installation involves downloading the Molly app and ntfy from F-Droid, followed by a migration process from Signal. After migration, users can activate UnifiedPush by configuring the ntfy app and Molly settings. It's important to disable battery optimization for ntfy to ensure notifications work correctly. UnifiedPush offers a centralized solution for notifications, similar to FCM, and can be integrated with other apps that support it. Overall, transitioning to UnifiedPush is straightforward and enhances user privacy.