Send push notifications to your phone or desktop via PUT/POST
ntfy (pronounce: notify) is a simple HTTP-based pub-sub notification service. It allows you to send notifications to your phone or desktop via scripts from any computer, entirely without signup, cost or setup. It's also open source if you want to run your own.
Publishing messages can be done via PUT or POST. Topics are created on the fly by subscribing or publishing to them. Because there is no sign-up, the topic is essentially a password, so pick something that's not easily guessable.
Here's an example showing how to publish a message using a POST request (via curl -d):
curl -d "Backup successful 😀" ntfy.sh/mytopic
There are more features related to publishing messages: You can set a notification priority, a title, and tag messages. Here's an example using some of them together:
-H "Title: Unauthorized access detected" \
-H "Priority: urgent" \
-H "Tags: warning,skull" \
-d "Remote access to $(hostname) detected. Act right away." \
Here's what that looks like in the Android app:
Subscribe to a topic
You can create and subscribe to a topic either using your phone, in this web UI, or in your own app by subscribing via the API.
Subscribe from your phone
Simply get the app and start publishing messages. To learn more about the app, check out the documentation.
Here's a video showing the app in action:
Subscribe via web app
Subscribe to topics in the web app and receive messages as desktop notification. It is available at ntfy.sh/app.
Subscribe using the API
There's a super simple API that you can use to integrate your own app. You can consume a JSON stream, an SSE/EventSource stream, a plain text stream, or via WebSockets.
Here's an example for JSON. The connection stays open, so you can retrieve messages as they come in:
$ curl -s ntfy.sh/mytopic/json
Here's a short video demonstrating it in action:
Check out the docs!
ntfy has so many more features and you can learn about all of them in the documentation (I tried my very best to make it the best docs ever 😉, not sure if I succeeded, hehe).
100% open source & forever free