
1.7k stars · MIT · v0.8.0 (2023-08-20) · Track this in Scout
Sends a message to any of about twenty services from a single line of text.
▶Repo detailsthe review · specs · pros & cons · install
What it does
Each destination is written as a URL, so discord://token@channel or smtp://user:pass@host:25/?to=someone@example.com is the whole of the configuration. It covers around twenty services, including Discord, Slack, Telegram, Microsoft Teams, Matrix, Gotify, Pushover, Rocket.Chat, generic webhooks and plain email. It ships as a Go library for programs to call and as a single command-line program for scripts and scheduled jobs. Several destinations can be given at once, so one message reaches a chat room and an inbox together. A short template can shape the message body. The newest tagged version is v0.8.0, published in August 2023, while code was pushed on 1 July 2026. It is not a notification platform: there are no delivery guarantees, no retries you did not write, no queue, and no record of what was sent.
Why it matters
Who it suits. Anyone writing scripts or small programs that need to say something out loud, and who does not want a service in between. It suits a nightly job that should complain when it fails, and it suits a Go program that would otherwise grow a folder of per-service code. Skip it if the messages are being sent to customers rather than to the people running the system, because that needs delivery records, preferences and an unsubscribe link, and this has none of those.
Verdict. A small, honest tool that does one job, and the clearest date lesson in this edition. Its newest release is from 20 August 2023 and its newest code is from 1 July 2026 — thirty-five months apart, wider than any gap this report has recorded before. Judged by its releases page it looks like a project abandoned three years ago. It is not: it simply has not cut a tag. The practical consequence is real, though, and it is the warning: anyone installing the tagged version gets code from 2023, so install from the main line if a newer service is needed. The other thing to know is that the licence is MIT and the project is maintained by volunteers, so a service that changes its interface may stay broken for a while. For a much larger library with many more services, caronc/apprise from Edition 19 is the Python answer; for customer-facing notifications with records and preferences, novuhq/novu is the right shape of thing.
- One line of text replaces per-service code, and that line can live in a configuration file.
- Both a library and a single command, so programs and shell scripts use the same thing.
- Around twenty services covered, including generic webhooks for anything not listed.
- The newest tagged version is from August 2023, so an ordinary install is three years old.
- No retries, no queue and no record of what was sent. It sends, and that is all.
- Written for one language, so other programs have to call the command instead.
caronc/appriseBSD-2-Clause, covered in Edition 19; the same idea in Python with many more services supported and a far larger community, at the cost of needing Python present.
Track this in Scout
novuhq/novuMIT with a separate licence on one folder; a full notification service with workflows, user preferences and a record of every message, which is a much bigger thing to run.
Track this in Scout
go install github.com/containrrr/shoutrrr/shoutrrr@latest




