Send push notifications to your phone or desktop using PUT/POST https://ntfy.sh
  • Go 76.4%
  • JavaScript 22.7%
  • Makefile 0.5%
  • Shell 0.2%
  • HTML 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Philipp C. Heckel a331a5c8db
Merge pull request #2184 from binwiederhier/limit-split
Split the limit service into buckets, counters and limiter files
2026-11-10 11:50:48 -05:00
.github Run CI's checks, the server tests and the other Go tests as three parallel jobs, without coverage 2026-11-01 23:54:10 +00:00
action Move action parsing to action package 2026-07-03 20:54:45 -04:00
assets Remove MagicBell as sponsor 2026-07-02 14:24:56 -04:00
attachment Collect s3 test objects left behind by runs that died 2026-10-07 00:34:19 +00:00
ban Cap ban weights and the threshold, so counting in thousandths cannot overflow 2026-11-02 01:13:18 +00:00
client Client: test header encoding with unicode, long values and plain ASCII 2026-10-11 21:26:44 +00:00
cluster Revert "Drop the experimental- prefix from the cluster and admin socket options" (#2154) 2026-11-04 01:19:07 +00:00
cmd Revert "Drop the experimental- prefix from the cluster and admin socket options" (#2154) 2026-11-04 01:19:07 +00:00
db Merge remote-tracking branch 'origin/main' into pg-tcp-timeout 2026-11-03 21:01:52 +00:00
docs Release note link 2026-11-04 02:28:24 +00:00
examples Add JS websocket example 2023-11-15 09:28:35 -07:00
limit Split the limit service into buckets.go, counters.go and limiter.go 2026-11-10 03:46:17 +00:00
log Fix a deadlock when canceling subscribers with debug logging, and a log override race 2026-10-23 22:38:59 +00:00
mail Split up plainOrLoginAuth.Start condition 2026-10-11 23:58:59 +00:00
message Scope the index test to its own schema 2026-10-23 12:29:08 +00:00
metrics Send reads to the least busy replica, and export each database's health check time 2026-11-03 14:01:34 +00:00
model Bump 2026-08-27 20:16:48 +00:00
payments Add build tags for Firebase 2025-08-07 17:24:57 +02:00
s3 Fix S3 scheme backwards compat 2026-06-22 21:43:29 -04:00
scripts Check the amd64 binary on a baseline x86-64 CPU after every build 2026-10-23 02:32:04 +00:00
server Do not count WebSockets closed by a drain as 500 errors 2026-11-04 02:28:18 +00:00
template/gotext Build with Go 1.27.3 2026-10-22 01:18:09 +00:00
test Allow several comma-separated addresses in listen-http 2026-10-23 04:12:25 +00:00
tools Allow streaming to S3 2026-03-21 21:14:49 -04:00
topic Advance by the topic's own touch interval in the tests that touch after an hour 2026-11-02 18:01:06 +00:00
twilio Require Twilio approved status for phone verification 2026-10-18 12:50:04 +00:00
user Shorten the topic table comments 2026-11-01 15:16:30 +00:00
util Share daily limits through the usage table, drop the midnight reset and the stats queue 2026-10-30 20:41:36 +00:00
visitor Keep the UnifiedPush rate visitors in the topic service, derive the limiter key at push time 2026-10-31 14:05:37 +00:00
web Merge remote-tracking branch 'origin/main' into shared-daily-limits 2026-10-31 03:14:26 +00:00
webpush Derive each store's target schema version from its migration steps 2026-10-17 11:54:38 +00:00
.dockerignore Add a way to use Docker for building everything 2023-05-26 22:22:21 +02:00
.git-blame-ignore-revs Add eslint commits to .git-blame-ignore-revs 2023-05-24 12:58:49 +02:00
.gitignore Add Playwright end-to-end tests for the web app 2026-10-07 17:26:35 +00:00
.gitpod.yml Add Gitpod configuration for quick setup of development environments 2022-12-10 21:56:13 +00:00
.go-version Build with Go 1.27.3 2026-10-22 01:18:09 +00:00
.goreleaser.yml Check the amd64 binary on a baseline x86-64 CPU after every build 2026-10-23 02:32:04 +00:00
CODE_OF_CONDUCT.md Redo the banning logic, ban.Service 2026-07-20 21:34:47 +02:00
docker-compose.yml Update App Store badges and remove Docker compose versions 2025-06-20 00:45:42 +02:00
Dockerfile Drop the admin socket directory from the Docker images 2026-10-31 17:54:47 +00:00
Dockerfile-arm Drop the admin socket directory from the Docker images 2026-10-31 17:54:47 +00:00
Dockerfile-build Merge remote-tracking branch 'origin/main' into up-payer 2026-11-01 11:13:01 +00:00
go.mod Bump github.com/go-jose/go-jose/v4 from 4.1.5 to 4.1.6 2026-10-29 01:49:16 +00:00
go.sum Bump github.com/go-jose/go-jose/v4 from 4.1.5 to 4.1.6 2026-10-29 01:49:16 +00:00
LICENSE Update LICENSE 2021-12-05 12:51:08 -05:00
LICENSE.GPLv2 Update LICENSE.GPLv2 2021-12-05 12:52:20 -05:00
main.go Fixes 2026-10-07 14:46:32 +00:00
Makefile Also switch the runner's apt mirror list away from Azure 2026-10-23 13:21:14 +00:00
mkdocs.yml Am I Banned & AI Policy 2026-10-06 00:46:00 +00:00
README.md Thanks to all the sponsors!! 2026-10-16 01:48:31 +00:00
requirements.txt Remove dependence on mkdocs-simple-hooks 2024-02-05 13:29:55 +01:00
SECURITY.md Contact and contributing page 2026-01-02 07:59:02 -05:00

ntfy

ntfy.sh | Send push notifications to your phone or desktop via PUT/POST

Release Go Reference Tests Go Report Card codecov Discord Matrix Matrix space Healthcheck Gitpod

ntfy (pronounced "notify") is a simple HTTP-based pub-sub notification service. With ntfy, you can send notifications to your phone or desktop via scripts from any computer, without having to sign up or pay any fees. If you'd like to run your own instance of the service, you can easily do so since ntfy is open source.

You can access the free version of ntfy at ntfy.sh. There is also an open-source Android app available on Google Play or F-Droid, as well as an open source iOS app available on the App Store.

ntfy Pro 💸 🎉

I now offer paid plans for ntfy.sh if you don't want to self-host, or you want to support the development of ntfy (→ Purchase via web app). You can buy a plan for as low as $5/month. You can also donate via GitHub Sponsors, and Liberapay. I would be very humbled by your sponsorship. ❤️

Documentation

Getting started | Android/iOS | API | Install / Self-hosting | Building

Chat/forum

There are a few ways to get in touch with me and/or the rest of the community. Feel free to use any of these methods. Whatever works best for you:

Announcements/beta testers

For announcements of new releases and cutting-edge beta versions, please subscribe to the ntfy.sh/announcements topic. If you'd like to test the iOS app, join TestFlight. For Android betas, join Discord/Matrix (I'll eventually make a testing channel in Google Play).

Sponsors

If you'd like to support the ntfy maintainers, please consider donating to GitHub Sponsors or and Liberapay. We would be humbled if you helped carry the server and developer account costs. Even small donations are very much appreciated.

A big fat Thank You to the individuals who have sponsored ntfy in the past, or are still sponsoring ntfy:

Contributing

I welcome any contributions. Just create a PR or an issue. For larger features/ideas, please reach out on Discord/Matrix first to see if I'd accept them. To contribute code, check out the build instructions for the server and the Android app. Or, if you'd like to help translate 🇩🇪 🇺🇸 🇧🇬, you can start immediately in Hosted Weblate.

Translation status

Code of Conduct

We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, or sexual identity and orientation.

We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.

Please be sure to read the complete Code of Conduct.

License

Made with ❤️ by Philipp C. Heckel.
The project is dual licensed under the Apache License 2.0 and the GPLv2 License.

Third-party libraries and resources: