UnifiedPush: A decentralized, open-source push notification protocol

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • ntfy

    Send push notifications to your phone or desktop using PUT/POST

  • > This is a limitation with Android and not a fundamental network/OS limitation. As long as your protocol allows for long enough keep alive latency you can periodically wake up for a short period and allow apps to service their connections (which is what I'd imagine this does anyway just with a singular app.)

    The protocol does not specify how the distributor and push server communicate or keep a connection going. It's up to them to define an energy efficient way to do that. For ntfy [1], a single WebSocket or JSON stream connection is used to deliver messages to the device. This is very energy efficient and consumes <1% of battery on most phones.

    As for regular wakeups (for polling), Android does not allow periodic work to be done more frequently than every 15 minutes, which is obviously not frequent enough to be useful.

    > It's kind of a bummer to see bad OS architecture feed into over-complicated protocol/application design.

    This is somewhat true. The restrictive Android eco-system is what led to the creation of UnifiedPush, but it's far from complicated IMHO

    Disclaimer: I am the maintainer of ntfy [1], one of the UnifiedPush distributors.

    [1] https://ntfy.sh

  • dart-webpush-encryption

    WebPush decryption in Dart

  • UnifiedPush is compatible with WebPush, both just involve an HTTP POST to a specific URL. If your application server supports WebPush, it can send encrypted notifications to UnifiedPush servers (that is how we're planning to support Telegram, for example). You can then decrypt these notifications in the app [1]. However, some protocols only send a wake-up ping or random ID in the push notification, like Trifa or Matrix, where encryption is unnecessarily complexity.

    However, we don't use the WebPush API between the push server and distributor since there is a lot of scope for innovation in that space (for example Google's uses a custom XMPP based protocol).

    [1] One example, https://github.com/UnifiedPush/dart-webpush-encryption

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • matrix.to

    A simple stateless privacy-protecting URL redirecting service for Matrix

  • One of the first uses of UnifiedPush was to self-host the whole Matrix messaging stack. In fact, I'm pretty sure we had someone in the UnifiedPush chat who set this up on their ship [1]. Matrix + UnifiedPush would be perfect for a disconnected situation on ships (or Mars colonies :)

    [1] https://matrix.to/#/!vwmBiTqilorqNCbGab:matrix.org/$hJpXxhVR...

  • wishlist

    New distributor, new lib, more OS, app support etc. (by UnifiedPush)

  • [2] https://github.com/UnifiedPush/wishlist/issues/15

  • android

    An app for creating push notifications for new messages posted to gotify/server. (by gotify)

  • You can self host a Gotify server (single file executable, web interface), install the app, set it to connect to the server on the local network. Sending a message is as easy as a curl to the server. It will show up in the apps.

    https://gotify.net/

    https://github.com/gotify/android

    The problem is that there is no iOS app. You could use the browser there but maybe ntfy would be a better fit (Android + iOS.)

  • Gotify

    A simple server for sending and receiving messages in real-time per WebSocket. (Includes a sleek web-ui) (by gotify)

  • You can self host a Gotify server (single file executable, web interface), install the app, set it to connect to the server on the local network. Sending a message is as easy as a curl to the server. It will show up in the apps.

    https://gotify.net/

    https://github.com/gotify/android

    The problem is that there is no iOS app. You could use the browser there but maybe ntfy would be a better fit (Android + iOS.)

  • Telegram-FOSS

    Unofficial, FOSS-friendly fork of the original Telegram client for Android

  • [2] https://github.com/Telegram-FOSS-Team/Telegram-FOSS/issues/5...

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Self hosted alternative to email alerts?

    6 projects | /r/selfhosted | 29 Jun 2023
  • Unraid 6.12.0-rc6 Now Available

    1 project | /r/unRAID | 18 May 2023
  • What's everyone using for self hosted services notifications?

    3 projects | /r/selfhosted | 21 Jan 2021
  • How to build Dev.to In-App Notification System in 20 minutes

    2 projects | dev.to | 23 Apr 2024
  • What's new in Novu 0.24?

    1 project | dev.to | 18 Mar 2024