Get Signal push notifications without Google Play Services, and without killing your phone's battery. A secure, free, low-maintenance solution using Fly.io.
Table of Contents:
I'm going to quote the upstream MollySocket project because I couldn't say it any better:
This project is NOT sponsored by or affiliated to 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.
Donations:
You can certainly buy me a muffin on Ko-fi for the little bit of effort I put into this project, however this project is so trivial to maintain because it stands on the shoulders of giants. I'd encourage you to first send donations to Molly before you think about sending them to me.
Seriously. It's nice to know that people find this project to be helpful. A simple "thanks!" is enough to motivate me to keep it running.
Fly's free tier:
Never assume a free tier for any service will stay around forever. However as of May 2024:
This should be within the limits of the Fly.io free tier. You may see some expensive-looking "builder" machines in your Fly dashboard, but they are given to you for free. If you do rack up some bills while using the service, Fly will also not charge you for anything less than $5.
This isn't the normal way of doing things:
The project deviates from the usual pattern that most people set up with Fly.io:
- Fly.io really encourages you to set up your apps with redundancy by default. This configuration does NOT do that. Push notifications are not a critical service for me and my users, so I can afford a few seconds of downtime every now and then.
- Because we're using air gap mode, we have no need to provide an actual Internet-facing
service. So the only process that's running in Fly.io is a worker process, and it
should be impossible to actually interact with the MollySocket instance besides via
flyctl ssh console
.
The Makefile:
The Makefile isn't terribly useful; I just created it to help me remember basic Fly.io CLI commands. I'm not a frequent Fly.io user by any stretch of the imagination.