Who knows. I didn't do a lot of research before making this. It was fun making it.
Yes. As long as you don't abuse it, it'll be available and free of charge. I do not plan on monetizing the service.
Best effort.
As per usual with pub-sub, all subscribers receive notifications if they are subscribed to a topic.
If you don't trust me or your messages are sensitive, run your own server. It's open source.
That said, the logs do not contain any topic names or other details about you.
Messages are cached for the duration configured in server.yml
(12h by default) to facilitate service restarts, message polling and to overcome
client network disruptions.
Yes. The server (including this Web UI) can be self-hosted, and the Android app supports adding topics from your own server as well. Check out the install instructions.
In addition to caching messages locally and delivering them to long-polling subscribers, all messages are also
published to Firebase Cloud Messaging (FCM) (if FirebaseKeyFile
is set, which it is on ntfy.sh). This
is to facilitate notifications on Android.
If you do not care for Firebase, I suggest you install the F-Droid version of the app and self-host your own ntfy server.
If you use the ntfy.sh server, and you don't use the instant delivery feature, the Android app uses no additional battery, since Firebase Cloud Messaging (FCM) is used. If you use your own server, or you use instant delivery, the app has to maintain a constant connection to the server, which consumes about 0-1% of battery in 17h of use (on my phone). There has been a ton of testing and improvement around this. I think it's pretty decent now.
Instant delivery is a feature in the Android app. If turned on, the app maintains a constant connection to the server and listens for incoming notifications. This consumes additional battery, but delivers notifications instantly.
I don't have an iPhone or a Mac, so I didn't make an iOS app yet. It'd be awesome if someone else could help out.