Skip to content

A simple server for push notifications via Matrix (and a minimalistic alternative to Pushover and Gotify) 🚀📯

License

Notifications You must be signed in to change notification settings

pushbits/server

Repository files navigation

This software is currently in alpha phase.

PushBits

Receive your important notifications immediately, over Matrix.

PushBits enables you to send push notifications via a simple web API, and delivers them to your users.

Build status  Documentation  API Documentation  Matrix  License

💡 About

PushBits is a relay server for push notifications. It enables you to send notifications via a simple web API, and delivers them to you through Matrix. This is similar to what Pushover and Gotify offer, but it does not require an additional app.

The vision is to have compatibility with Gotify on the sending side, while on the receiving side an established service is used. This has the advantages that we need to maintain neither plugins (like those for Watchtower and Jellyfin) nor clients.

🤘 Features

  • Multiple users and multiple channels (applications) per user
  • Compatibility with Gotify's API for sending messages
  • API and CLI for managing users and applications
  • Optional check for weak passwords using HIBP
  • Argon2 as KDF for password storage
  • Two-factor authentication, issue
  • Bi-directional key verification, issue

👮 License and Acknowledgments

Please refer to the LICENSE file to learn more about the license of this code. It applies only where not specified differently.

The idea for this software was inspired by Gotify.

💻 Development and Contributions

The source code is located on GitHub. You can retrieve it by checking out the repository as follows:

git clone https://github.com/pushbits/server.git

🔧 Want to contribute? Before moving forward, please refer to our contribution guidelines.

📫 Found a security vulnerability? Check this document for information on how you can bring it to our attention.

Like fancy graphs? See our stargazers over time.

❓ Frequently Asked Questions (FAQ)

Why Matrix instead of X?

This project totally would've used Signal if it would offer a proper API. Sadly, neither Signal nor WhatsApp come with an API (at the time of writing) through which PushBits could interact.

In Telegram there is an API to run bots, but these are limited in that they cannot create chats by themselves. If you insist on going with Telegram, have a look at telepush.

The idea of a federated, synchronized but yet end-to-end encrypted protocol is awesome, but its clients simply aren't really there yet. Still, if you haven't tried it yet, we'd encourage you to check it out.