mirror of
https://github.com/binwiederhier/ntfy.git
synced 2026-05-09 08:26:00 +02:00
[GH-ISSUE #519] IPv6 on the official ntfy.sh server #396
Labels
No labels
ai-generated
android-app
android-app
android-app
🪲 bug
build
build
dependencies
docs
enhancement
enhancement
🔥 HOT
in-progress 🏃
ios
prio:low
prio:low
pull-request
question
🔒 security
server
server
unified-push
web-app
website
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/ntfy#396
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @bernhardschmidt on GitHub (Nov 26, 2022).
Original GitHub issue: https://github.com/binwiederhier/ntfy/issues/519
I would highly appreciate it if you would enable IPv6 connectivity on the official ntfy.sh service. Right now it seems to be hosted on DigitalOcean. Enabling IPv6 there should be pretty straight forward.
https://docs.digitalocean.com/products/networking/ipv6/
@binwiederhier commented on GitHub (Nov 27, 2022):
There are multiple reasons I haven't done that yet:
So while intriguing, I would not hold my breadth right now. I'm always happy to accept code contributions or discuss it further though.
@gsauthof commented on GitHub (Mar 11, 2023):
When enabling IPv6, you could rate limit IPv6 addresses using only their
/48prefix, as this the smallest prefix usually assigned to an entity. So this should be pretty conservative approach, for a start.However, most entities surely just get
/56or even/64prefixes, so a less overly cautious approach would be to rate-limit those.Or use a tiered approach were you have an IPv4-like rate limit for
/64prefixes and higher limits for/56and then an even higher one for/48.Background: With IPv6, the address is 128 bit wide, and the idea is that a network gets at least a
/64prefix delegated. If a provider hands out a/48prefix that means that the customer may create up to2**16networks under that prefix, i.e. he/she is able to sub-delegate longer prefixes in his/her own infrastructure quite flexible.@binwiederhier commented on GitHub (Mar 12, 2023):
Using a large-enough prefix sounds like a reasonable compromise. It's still not high on my list, though; so much other stuff to do :-D
@arjan-s commented on GitHub (Sep 6, 2023):
I think there may be more to do than just enabling IPv6 on the main server. My personal server has both IPv4 and IPv6, my home has both too, but my mobile provider only has IPv4. I've noticed that the ntfy Android client regularly loses connection to my dual-stack ntfy instance and takes a very long time to reconnect, which causes my notifications to arrive very late and in batches. My second ntfy instance only has an IPv4 DNS record and I have none of the problems there.
@binwiederhier commented on GitHub (Jun 9, 2024):
This is a great article that describes the reasons for why ntfy.sh does not support IPv6 yet: https://adam-p.ca/blog/2022/02/ipv6-rate-limiting/
@RokeJulianLockhart commented on GitHub (Jun 18, 2024):
@bernhardschmidt, considering the PRs mentioned at
github.com/adam-p/adam-p.github.com@f8a8c1ee8e/content/blog/2022-02-20-ipv6-rate-limiting.md (user-content-fn-2-4d1d3136096ba6b2ebad92ddc2261cb2):~:text=I%20submitted%20PRs%20to%20tollbooth%20and%20httprate – https://github.com/go-chi/httprate/pull/10#issue-1145095727 and https://github.com/didip/tollbooth/pull/98#issue-1145095717 – have both been merged, how much of it applies? Although everything stated is correct, it appears somewhat outdated.@binwiederhier commented on GitHub (Jul 4, 2025):
WIP https://github.com/binwiederhier/ntfy/pull/1380
@binwiederhier commented on GitHub (Jul 5, 2025):
@bernhardschmidt @RokeJulianLockhart @gsauthof Please check out https://staging.ntfy.sh/app and test with IPv6.
I think I've thought of everything, but it doesn't hurt to have more people try it out. It rate limits on /56.
Changes:
@binwiederhier commented on GitHub (Jul 10, 2025):
Deployed in 2.13.0