[HN Gopher] Ntfy.sh - Send push notifications to your phone via ... ___________________________________________________________________ Ntfy.sh - Send push notifications to your phone via PUT/POST Author : tambourine_man Score : 946 points Date : 2022-11-08 11:00 UTC (11 hours ago) (HTM) web link (ntfy.sh) (TXT) w3m dump (ntfy.sh) | kbns wrote: | cool. e2e encryption would be great.. | binwiederhier wrote: | End to end encryption is already fully designed and partially | implemented. I just had a baby and have no time to do it | recently: https://github.com/binwiederhier/ntfy/issues/69 | kbns wrote: | will check. congratulations. | shivam543 wrote: | If I run ntfy behind NGINX reverse proxy which is on https, | isn't that E2E encrypted due to https? | donatzsky wrote: | E2E implies that the data itself gets encrypted by the | sender and is only decrypted by the receiver. With https, | the "pipe" is encrypted, but the data is not and the server | will get the plain-text. | adamckay wrote: | No, because your Nginx server decrypts that TLS connection | so can access the plaintext data. This is typically called | encrypted-in-transit. | | E2EE means that it's always encrypted from the sending | device to the receiving device and nothing in the middle | (including the service operator) can read it. | popol12 wrote: | Thanks, I was using twilio free tier to send me some automated | SMS, but this is even easier and more efficient ! | jaktet wrote: | Where in the docs does it mention the topic name validation? Is | there a character limit? Restricted characters? This looks pretty | neat. | Havoc wrote: | That's looking great. I like that the app is listed as not | collecting info & self-hosting is an option. | | Gonna stick this on my home server & add some fw rules to filter | out various countries | bityard wrote: | How does this compare to gotify? | zikduruqe wrote: | Combine this with Apprise and you have yourself a nice push to | anything service. | | https://github.com/caronc/apprise | binwiederhier wrote: | Apprise has official ntfy support, which is awesome | otbutz wrote: | OT but i wish they'd add Mastodon support. | | https://github.com/caronc/apprise/issues/586 | l2g wrote: | Let me see what I can do about prioritizing this one a bit. | otbutz wrote: | That would be great! I've only had a quick look at the | docs, but the API seems reasonable: | | https://docs.joinmastodon.org/methods/apps/oauth/ | https://docs.joinmastodon.org/methods/statuses/ | l2g wrote: | It's not the sending the messages that has me stumped, | it's the setup of the server (the hosting of it itself). | | Do you know of a public service that exists i could | build/test the Apprise plugin against? Would love just | even temporary access to a server to perfect its design | (then my account could be terminated) | BitPirate wrote: | You don't need to host a Mastodon instance yourself. | Plenty of them are open for registration :) | | e.g https://masto.ai/ or https://fosstodon.org | freewizard wrote: | This will be even more useful next year as Apple is said to open | the flood gate of iOS web push in 2023 | Gazoche wrote: | Ha! I made something similar with a Telegram bot :) | | https://github.com/Askannz/nag#http-endpoint | gl-prod wrote: | Nice! I'm using https://patchbay.pub to create something like | this. | netheril96 wrote: | So the developer just pays for the server and the Apple Developer | Program out of his/her own pocket for the public good? | ksidudwbw wrote: | binwiederhier wrote: | Correct. Though by now it is covered by donations. This is my | hobby. Others buy expensive bikes or cars, I buy Apple | Developer licenses. Hehe. | zackmorris wrote: | If money gets tight, you could always sell it for $44 billion | littlethrowaway wrote: | Wow, this is absolutely fabulous. Thank you very much for making | it. Extremely simple to use. Just really well done. | mavci wrote: | I just tried and very liked it. Thank you so much. I am planning | to integrate this service to my Hacker News notification app[1] | | [1] https://hnn.avci.me | fkld wrote: | Darn, I came up with this recently and thought the only | competitor was pushed.io, I do have a secret ingredient. Time | will tell once I'm done | joeevans1000 wrote: | Keep at it... it's important to have multiple options, and I | know the OP would likely encourage you to keep at it. Of | course, make it open source as they did, if you can. :-) | nurettin wrote: | Honorable mention: I've been a happy pushover customer (not | affiliated) All I did was pay $5 several years ago and I still | have 10k messages/mo which is good enough for all my automation | so far. | moss2 wrote: | Suuuuper cool thanks for sharing this. Gonna see if I can use | this to push notify when my DNS fails to reach my hobby server | cause my ISP has changed my IP. | thecodemonkey wrote: | Neat! I built something similar a while ago, to scratch my own | itch. It's just using text messages instead of a dedicated app | (for good or for worse). | | It's funny how similar the domain name is. | | https://nudge.sh https://github.com/geocodio/nudge.sh | TheAceOfHearts wrote: | Another alternative: you can send notifications to your phone | through text messages. Text messages are compatible with email, | usually in the form of <number>@<special-provider-url>. | vagrantJin wrote: | Interesting. | | Please elaborate. | teekert wrote: | This is great, will add it to my docker-compose.yaml and my | scripts! | | To be clear, if 100 people subscribe to ntfy.sh/mytopic, they all | receive this message, right? curl -d "Backup | successful :)" ntfy.sh/mytopic | | I wonder how many people got one when I was testing... | spurgu wrote: | Correct. | teekert wrote: | So, any nice topics? ;) | binwiederhier wrote: | There are two useful public topics: | https://ntfy.sh/docs/publish/#public-topics | | - https://ntfy.sh/announcements for announcements (usually | only release announcements) - https://ntfy.sh/stats for | daily stats (right before midnight UTC) | | Note that messages are only cached for 12h server-side, so | you'll not see any messages in there mostly. I suggest to | just subscribe and see if you like getting these messages. | kemyke wrote: | Am I understand right that with the knowledge of the | topic name I can also publish announcement messages into | that "official" topic? | [deleted] | MauroIksem wrote: | This is awesome. Lots of carriers have broke the ability to text | phones. It just gets blocked so this is a great work around. | polivier wrote: | I love this project. I use these notifications in many of my | scripts. You can send push notifications to your phone | (iOS/Android) with a simple curl command. Easily one of my | favorite open-source projects. | krono wrote: | From the FAQ[1]: > Will you know what topics | exist, can you spy on me? > If you don't trust me or your | messages are sensitive, run your own server. | | This is the way. No pinky promises in whitepaper format[2] that | leave out the most important bits, no meticulously constructed | but entirely meaningless marketing statements[3][4], but | unassuming and deferential logic with a mitigation path. | | 1: https://ntfy.sh/docs/faq/#will-you-know-what-topics-exist- | ca... | | 2: (warning: redirects with identifiers, how ironic) | https://www.whatsapp.com/security/WhatsApp-Security-Whitepap... | | 3: https://privacy.microsoft.com/en-us/privacy-report | | 4: https://www.apple.com/privacy/ | EGreg wrote: | Why not end to end encrypt notifications with a public key? | | Both iOS and Android can run a completionHandler to decrypt | them using a private key that can be stolen if the app is | disassembled. | | But you can generate a private key per user, after install, and | each mailbox publisjes a public key. | | The thing I find ironic is that the actual encryption is done | in JS, which is served by a webserver so anyway you have to | trust the webserver. Same as you trust WhatsApp to not send | your text to Facebook. | | Is there a way around this having to trust an app? Seems the | only way to do that would be to have a browser extension or | several, that you trust not to collude with a website. | Ajedi32 wrote: | Ultimately there's no way around having the trust the client. | The state of the art on that front right now is open source | code with reproducible builds[1] and binary transparency[2]. | | Unfortunately none of that is currently implementable on the | web for the reason you cited; the web server can just replace | the entire application with any code it wants when you | refresh the page. One possible path to fixing that is web | packaging[3], but those standards are still in their infancy | and don't yet have a mechanism for enforcing binary | transparency. | | [1]: https://reproducible-builds.org/ | | [2]: | https://developers.google.com/android/binary_transparency | | [3]: https://wicg.github.io/webpackage/draft-yasskin-wpack- | use-ca... | pastage wrote: | You can enable content security policy then hash all the | javascripts and assets so only prebuilt and hashed stuff is | allowed to be loaded in the web browser. There is no way to | easily check that some one you trust did the hashing, but | it is doable with an extension in the web browser. | Ajedi32 wrote: | "Enable content security policy" is something done by the | web server (via a header in the response), so that | doesn't solve the problem. | | In theory yes, you could probably create an extension | that leverages Content Security Policy as a means of | enforcing binary transparency. But at that point you'd | basically just be implementing a slightly worse version | of web packaging via an extension. | flir wrote: | Could the app not take a copy of the per-user private key | when it's generated? (I know nothing about mobile security | models). | djbusby wrote: | Or when you paste in a key to the app to use for decrypt. | | Not specific to mobile. Give an app data and it can do what | it wants. | flir wrote: | I thought maybe mobile OSes might have a decryption | sandbox, so apps could manipulate keys without having | full access to them. | mathfailure wrote: | I wish they also provided the code to run own server of ntfy, | but instead it looks like they meant "write and run your own | server". | sidpatil wrote: | The server is open source. | | https://github.com/binwiederhier/ntfy | vlugorilla wrote: | https://ntfy.sh/docs/faq#can-i-self-host-it | | The next topic on the FAQ. Also install instructions are | provided. | sorieus wrote: | Didn't look deep but looks like the sever code is provided + | multiple ways of self hosting. https://github.com/binwiederhi | er/ntfy/blob/main/server/serve... | [deleted] | duxup wrote: | Is that really much different than anything else other than an | faq? | | No promises so they could be selling your info more than anyone | else... | krono wrote: | You plucked the word "promises" out of the context it was | written in. | duxup wrote: | I don't understand what you mean. | krono wrote: | "No pinky promises in whitepaper format that leave out | the most important bits" | | Difference here, is that the promises are verifiable and | their concequences avoidable altogether (by self | compiling and hosting). The developer also acknowledges | the existing holes rather than misdirecting away from | them. | | Edited my previous comment slightly as it was not at all | my intention to accuse you of malicious intent. My | apologies if it might have have come across that way. | binwiederhier wrote: | I am absolutely making promises. See the privacy policy: | https://ntfy.sh/docs/privacy/ | | > I love free software, and I'm doing this because it's fun. | I have no bad intentions, and I will never monetize or sell | your information, and this service and software will always | stay free and open. | | If you're still paranoid (which is your right), go host it | yourself, or wait until I finished implementing E2E :-D | duxup wrote: | I don't really know what anyone is doing. | | Im just wondering why anyone would feel better about an faq | that really isn't much different than anything else. | | The application, I've no idea/ don't assume any malicious | intent or actions. | krn wrote: | Why couldn't the entire system be E2E encrypted by default, | though? In 2022, that's my standard expectation from any | service. Even such things as Pocket / Instapaper / Raindrop | should come with E2E encryption by default. It's better for the | service provider, too: no issues with GDPR, or in case of a | database hack. | ilogik wrote: | If you don't trust the person that wrote the software, it | doesn't matter if it's E2E encrypted or not. There could be a | back-door | ilyt wrote: | _which_ software ? You might have 3rd party client | implementation that talks with another client and only | server would be "unknown" party. | | E2E allows both clients to talk to eachother without server | having a way to snoop on | krn wrote: | E2E encryption happens on the client side, not on the | server side. Therefore, no need to trust anybody, as long | as the software is open-source. | kube-system wrote: | > Therefore, no need to trust anybody, as long as the | software is open-source. | | Demonstrably untrue. You must trust that the contributors | are trustworthy, they have implemented a strong security | posture for their project, and that the code is reviewed | by people who are trustworthy. Many open-source projects | have been, and continue to be, compromised on a regular | basis. | krn wrote: | > You must trust that the contributors are trustworthy | | In theory, that's only the case if you are unable to | review the code yourself. | | In practice, it's like saying that TLS encryption is | pointless, because one needs to trust every single person | who implements it. | hatware wrote: | We're sure you review _all_ the code you run. | kube-system wrote: | That's only the case if I am unable to review the code | myself, before any update, I fully understand the code, | and I am smart enough that the contributors are unable to | pull a fast one on me. | | Given that I'm not a cryptography expert, I have a | limited number of hours in the day, and open-source | supply chain attacks are typically obfuscated, I don't | consider that to be a trivial statement. | hawski wrote: | If you run binaries compiled by the author of the | software it wouldn't matter that it is open source, so | play store is out of the question. So then it must be | open source and you must use distributor you trust: your | distro maintainers and F-Droid. | | Also you must trust that people did really take a look at | the code. | krn wrote: | That's exactly how Signal and Keybase work, and nobody | has any problems with that. | hawski wrote: | I had exactly this in mind. Mostly if I wouldn't trust | the author with binaries I wouldn't really trust with | source code either. | hamburglar wrote: | That's because most people hear "E2E" and think that | somehow means they can automatically trust the client | app. It's a panacea. | beders wrote: | Not on phones. | | You have 0 guarantee that the open source code is | actually the code that runs on your device. And you have | 0 guarantee that the device itself is not compromised. | And you have 0 guarantee that the OS is not storing your | data. | | E2E on mobile devices is a security blanket with holes | the size of the solar system. | xyzzy4747 wrote: | If you don't trust a communication channel, you could | always do a Diffie-Hellman key exchange in the clients | which lets you create a shared encrypted channel between | two parties by sharing public keys. This works even if they | are trying to monitor you. | megous wrote: | Doesn't work with simplex channels. | xyzzy4747 wrote: | It can work with simplex channels if you have the public | key of the receiver. Both parties just need to know each | other's public keys to create encrypted communication. | After exchanging the public keys, it can be one-way | communication. | | I guess it wouldn't work for a one-to-many channel | though, just individual one-to-one channels. | oliwarner wrote: | Go figure out key exchange and use this as transport for | encrypted messages. | | Encrypting stuff isn't hard. | hamburglar wrote: | Encrypting stuff in a way that can't be trivially subverted | by a malicious client app is actually pretty hard, so what | have you actually gained if you're going to trust the | client app? | bccdee wrote: | The pitch is that you can go `curl -d "My message" | ntfy.sh/my_topic` and it just works. That's impossible if you | want E2EE. | | Fortunately, it's open-source, so if you really want, you can | fork the app to add a decryption layer and then use `curl -d | "$(echo "My Message" | openssl enc -aes-256-cbc -pbkdf2 -e -k | "My Password")" ntfy.sh/my_topic` and that'll be E2E | encrypted. | | Or, you know, host your own ntfy server and trust in SSL. | binwiederhier wrote: | You have perfectly captured my intention. :-) ntfy is | supposed to be simple simple simple. | | E2E stands in the way in many ways. I have implemented | crypto formats and such in the past, and the lack of a | standard in this space is really blocking wide spread | adoption and interoperability IMHO. That said, I have | proposed a design here (https://github.com/binwiederhier/nt | fy/issues/69#issuecomment...) that I have already partially | implemented, and that seems easy enough to implement in | many languages. But it definitely won't be the one-liner | anymore. | binwiederhier wrote: | Encryption and convenience usually don't go well together. | ntfy was mainly built for simplicity. That said, I have | designed and started working on E2E here: | https://github.com/binwiederhier/ntfy/issues/69 | [deleted] | horsawlarway wrote: | Genuine question - have you ever implemented an E2E encrypted | system? | | Because it's not particularly easy to do, and there are a lot | of caveats and drawbacks. | | Let me rephrase your assumption: "Why couldn't you just mail | me the letter in a 100lb safe. In 2022, that's my standard | expectation from any service". | | So - are you willing to pay to ship 100lbs for every letter | you send? Are you meticulously managing the details of how to | handle locking and unlocking that safe? Are you working out | the details on recovery and storage, handling lost devices, | configuring a communication channel for sharing certs/keys, | managing several crypto dependencies and libraries - all so | that you can go "Hey - what's up!" in a notification to your | phone? | | Or should you just stop whining - accept that this is free - | and take the authors advice and host it yourself? | jokethrowaway wrote: | I run a E2E system using public and private keys. It's | really not that complex. Sure, it's not free, but the | implementation effort was 1/100 of the UI work. | | Clients encrypt data in the browser, share id of the data | and key (+ optional password). Some other clients receive | id of the data and the key and read it. | | For a notification service, you would just need a setup | step to generate a key and store it in the browser + on the | phone. That said, I'm not sure I understand why would | someone need to notify its own phone. | krn wrote: | > Are you working out the details on recovery and storage, | handling lost devices, configuring a communication channel | for sharing certs/keys, managing several crypto | dependencies and libraries - all so that you can go "Hey - | what's up!" in a notification to your phone? | | In 2022, there is no need to invent anything new about E2E | encryption. There are many successful open-source examples, | including Keybase and Firefox Sync. | | There is no question that it adds development overhead, but | I personally wouldn't even run a public service for others | without E2E encryption. | | > Or should you just stop whining - accept that this is | free - and take the authors advice and host it yourself? | | I am not attacking the author, nor do I currently care | about this particular service he is providing. | | This is Hacker News, a discussion platform, and I am | raising a question about software development in general. | seqastian wrote: | > I personally wouldn't even run a public service for | others without E2E encryption. | | So don't? seems like everyone got what they wanted. | krn wrote: | Well, thinking logically: if everyone really got what | they wanted, that question wouldn't be in the FAQ, would | it? | phaer wrote: | Especially with things like notifications, even e2e | encryption can't generally provide complete privacy | because metadata is data too ;) | pastage wrote: | You solve that by forwarding/decrypting/adding noise | between servers, enough to cover metadata traffic you | generate. The only data you reveal is anyone listening | know you might have used it at some point. See | https://vuvuzela.io/ I suspect it is named so because it | uses a lot of bandwidth. | phaer wrote: | It's of course possible to mitigate, but that's somewhat | more involved than "just" sprinkling e2e encryption on | top ;) | krn wrote: | Signal does it just fine. | horsawlarway wrote: | >This is Hacker News, a discussion platform, and I am | raising a question about software development in general. | | No - no you aren't. You're complaining about a feature in | a product you've admitted you won't use. | | Which... is fine. At the end of the day - the feedback | might be helpful or it might not, part of the journey of | publishing software (or making anything, really) is | figuring out what advice to listen to, and what to | ignore. | | But personally - I don't really find your point sensible. | You have no use-case, you have no threat model, you have | a very unclear understanding of what E2E encryption | entails, in my opinion - since you point to apps whose | _entire_ marketing shtick is that they have E2E | encryption and say "if they are doing it, it must be | easy" - Ignoring that they are literally using the | difficulty of doing it as _the_ distinguishing factor for | their product. | | But hey - I worked for a security company that did E2E | encryption for fortune 100 companies, mostly banks, for 5 | years (and eventually went out of business... as an | aside) so what do I know... | krn wrote: | > But personally - I don't really find your point | sensible. You have no use-case, you have no threat model | [...] | | My point is very clear and simple: all _private_ | communication on the internet should be E2E encrypted by | default, unless there is a good reason not to. | | > [...] say "if they are doing it, it must be easy" - | Ignoring that they are literally using the difficulty of | doing it as the distinguishing factor for their product. | | I am not claiming that it's easy, but there has been | plenty of open-source projects launched with E2E | encryption by default in the past few years. | | https://standardnotes.com/ is a good example. | | https://stingle.org/ is another. | | https://ente.io/ is one more. | hamburglar wrote: | > My point is very clear and simple: all private | communication on the internet should be E2E encrypted by | default, unless there is a good reason not to. | | Are you counting HTTPS as "E2E encrypted"? Because if | not, consider that we do private communication over mere | HTTPS all day long. Me loading the HN web page and having | my own personal rendering of it with my user cookie | header and all my upvote/downvote/karma/profile state is | private communication, for example. | krn wrote: | > Are you counting HTTPS as "E2E encrypted"? | | No. | | > Because if not, consider that we do private | communication over mere HTTPS all day long. Me loading | the HN web page and having my own personal rendering of | it with my user cookie header and all my | upvote/downvote/karma/profile state is private | communication, for example. | | Because there is a good reason for it: it wouldn't work | well with E2E encryption. | hamburglar wrote: | Well, ok, I guess we can use that as a justification for | anything then. For example, the "good reason not to" use | E2E for ntfy could be "market analysis says the small and | somewhat theoretical benefit isn't worth the complexity." | krn wrote: | Private messaging is one of the primary use cases for E2E | encryption in the entire tech industry. | hatware wrote: | >Why couldn't the entire system be E2E encrypted by default, | though? | | Probably because getting the system together in its current | state was enough work. | | > In 2022, that's my standard expectation from any service. | | You have high standards. Do you expect others to raise their | standards as high as yours...? | googlryas wrote: | The answer is simply because that is not how the dev | implemented it. | | Why couldn't you write a patch to do that, and submit it? Or | clone the code and release e2entfy.sh? | krono wrote: | The most important bits aren't the technical aspects, but | rather who controls them. | | It is entirely meaningless when the keys are generated by a | closed source application, when there exists no way to verify | that the data isn't exfiltrated before its encryption or | after its decryption, or when the only transportation method | is entirely in an untrusted party's hands. | | When all those things are controlled by the same entity, | especially one with a history of abusive and manipulative | behaviour such as the operator of WhatsApp, it's not | "encryption" but a "bad joke". | hdjjhhvvhga wrote: | Encryption by default eliminates the biggest advantage: | simplicity. But as an option, it's an useful addition that | will be implemented sooner or later. | amelius wrote: | From the build instructions: | | > You should download Android Studio (or IntelliJ IDEA with the | relevant Android plugins). Everything else will just be a pain | for you. Do yourself a favor. | | I'm not into mobile programming, and I wonder what is behind this | statement. | atentaten wrote: | Native mobile apps are typically built using Android Studio and | its tooling. On the iOS side, it's Xcode and it's tooling | areichert wrote: | Oh dang, just last week I started working on my own version of | this [0]. Quite fun to hack on! Been thinking about what could be | done to really differentiate. | | Anyways, it's amazing that this is free! Very clean, very well | done... bravo :) | | [0] https://www.booper.dev/ | whatwherewhy wrote: | Don't be discouraged, you have a nice start of a JS API | matxd wrote: | I love it! Is it possible to subscribe without downloading the | app? For example by visiting a special page with some confirm | button? | binwiederhier wrote: | There are various ways to subscribe with or without the app. | Deep links to subscribe are supported: | https://ntfy.sh/docs/subscribe/phone/#ntfy-links -- not sure if | that's what you meant. | | If this doesn't work for you, you can always create a ticket or | make your own app or website using the subscription API: | https://ntfy.sh/docs/subscribe/api/ | dspillett wrote: | I'm not in a position to try ATM, I thought the same question, | but could you not just use the web app and have the mobile | browser post notifications as happens on the desktop version? | There might be different limitations wrt delivery latency | between the app and sit though, particularly when your device | is in low power mode to conserve battery between periods of | activity. | Version467 wrote: | Oh this is awesome. Tried it out just yet and it worked right | away. Software can be so great when it's not desperately trying | to sell you something. | hannofcart wrote: | I use Opsgenie for most of the same use cases as this | application. | | They have a free tier too. I keep my alert volumes very low. | mlrhazi wrote: | Could you share a link to an explanation of how you use | Opsgenie this way? Thanks! | mig39 wrote: | Why only on Macs with M1 chip? Doesn't work on intel? | laughy wrote: | I have a custom written function in R that loads in .Rprofile to | push messages e.g. when some script is done. | h43z wrote: | I sometimes use my little service https://pushurl.43z.one/ If I | need to notify my desktop browser or phone with a notification | triggered by some code. | | I just go to the website with my browser click generate. Then in | my script I do `curl $pushurl?title=jobdone`. When it gets | triggered a notification popups on my phone that says "jobdone". | | It uses the native browser web push API so I don't need to | install anything extra. | getcrunk wrote: | Is the code public? Seems simple to implement. But I'd rather | copy and paste. | h43z wrote: | No, I'm too lazy to make it available publicly. | hu3 wrote: | Neat. I guess you had to visit pushurl.43z.one once with each | browser you want to be notified right? | | I'm just curious. | h43z wrote: | Yes, exactly. The pushurl has to be generated with the | browser on the device which you want send notifications to. | The pushurl is bound to that browser. | geocrasher wrote: | Been using ntfy.sh for a while now, ever since I saw it on HN a | couple of years ago or so. It's great for automated server | notifications and the like. I even tied it to a web form as an | ersatz on-call system. | __fst__ wrote: | I use this service all the time to notify me when some long | running scripts are finished. Also goes very well together with | '''tail -f --pid XXXX /dev/null && curl -d "process is done" | https://ntfy.sh/XXXXXXX''' | dtgriscom wrote: | I use textbelt.com to send text from my various test processes. | It isn't free; it isn't even the cheapest. But, I can send 700 | texts for $10, or about 1.5 cents per text. That is less than a | second of my salary. Not worth my time to cut the cost further. | SuperSandro2000 wrote: | This needs account syncing from the backend. You need to describe | to every topic in every browser/app/device you use and message | deletions are not synced. | binwiederhier wrote: | Indeed it does. That is the most requested feature after E2E | encryption and publishing messages from the app itself. See | https://github.com/binwiederhier/ntfy/issues/159 and +1 it if | you want it too. | willjp wrote: | Thank you! This is fantastic | rbut wrote: | Another good open-source self-hosted alternative is Gotify. | | https://gotify.net | pmontra wrote: | I was adding a new application (i.e. a topic) to on my own | instance today. Gotify is Go binary to run with very little | configuration. It has an Android app to get somewhat realtime | notifications on the phone. Probably an iOS one too. It also | has a pretty extensive REST API to manage the instance and a | management web app. | | https://gotify.net/ | brap wrote: | I'm not a hater, I am genuinely curious, how does something like | this get to 800 votes on HN and 4.4K stars on GitHub? | | I mean, it's just... a pub/sub server... using HTTP? With a thin | UI for web/mobile? I'm obviously missing something, so what is | it? | | Again, not a hater, even though it may come off like I am, I'm | just honestly wondering what makes this special. From first | glance it seems like something most devs can hack in an hour or | two. | norenh wrote: | It is small, simple and does the job. Also seems to have good | documentation. What is there not to love about that? | | Do you know something better that fills the same gap? | vardump wrote: | Useful things get votes. Even if they're simple. | wh33zle wrote: | There is hacking the functionality together in an hour or two | and then there is polishing it to the point where it doesn't | have rough edges and can easily be used by anyone with terminal | experience. | | Personally, the chosen feature set resonates a lot with me. I | like services that don't need accounts f.e. because they are so | easy to use. | pfoof wrote: | Thank you. Finally I don't have to set up some crazy email auth | or build a special app to get info from my pipelines or raspberry | binwiederhier wrote: | You're welcome. Comments like this make me so happy. | | BTW if you _do_ want to send emails, ntfy can do that too, even | without auth (limited to 16 a day though): | https://ntfy.sh/docs/publish/#e-mail-notifications | idop wrote: | Hey there. In Android, is there a requirement or any kind of | dependency on Google Play Services? Also, do notifications work | when the Ntfy app is in the background? Do I need to disable | battery optimizations for it? | | Thanks! | binwiederhier wrote: | The Google Play services question is answered here: | https://ntfy.sh/docs/faq/#why-is-firebase-used | | And yes, you need to disable battery optimization if you don't | want to use Firebase. On my phone it uses 1% battery in a full | day (17h). | jsiepkes wrote: | Even if you disable battery optimization it's going to depend | on your phone if it will actually honor it (and not kill the | app). This site: https://dontkillmyapp.com/ shows which | phones behave correctly. | ilyt wrote: | And if you change the settings that will make your phone | behave nicely it often severely impacts battery life ;/ | binwiederhier wrote: | We've done some battery work a couple of months ago and | since then I've not really had any complaints from the | thousands of users, so I think overall it's working. | | Every now and then there is some oddball phone that keeps | killing connections and such, but it's very very rare. I | think we've optimized it to the best of what's possible | at the moment. | daedric7 wrote: | No, you can download the app from F-droid. | | There's no dependency on Google services, although the app can | use them if available. | coldacid wrote: | Given that the ntfy Android app is available through F-Droid, I | strongly doubt that Google Play Services is used at all. | danuker wrote: | I suspect the F-Droid version might have delays. There are | various issues when avoiding Firebase. There is no way to | fulfill all of these: | | - avoid Google servers - preserve battery - show timely | notifications | | https://github.com/deltachat/deltachat-android/issues/82 | binwiederhier wrote: | This is incorrect (at least in my experience). Firebase/FCM | is significantly slower in delivering messages than the | non-Firebase version (WebSockets or JSON stream, | longstanding connection). It was actually mindboggling to | me how slow Firebase is in delivering messages (especially | when the phone is in doze mode). | akvadrako wrote: | But what kind of battery impact do you get leaving a | long-running connection open? | binwiederhier wrote: | Depends on your usage. For me it's around 1% for the | entire day: https://ntfy.sh/docs/faq/#how-much-battery- | does-the-android-... | BigBalli wrote: | I use Twilio SMS API for the same purpose. Great concept but I | can't stand cluttering my phone (used to have PushBullet before). | I also find SMS more reliable since iOS can throttle push | delivery depending on your interactions. | mcjiggerlog wrote: | This is really great! I have plenty of uses for this. | | Here's a quick fish function for being able to call this from a | shell like `alt my message` function alt | curl -d "\"$argv\"" ntfy.sh/<my topic> end | chasil wrote: | I would actually do it with an SMS like this. $ | cat /bin/awkmail #!/bin/gawk -f BEGIN { | smtp="/inet/tcp/0/smtp.yourISP.com/25"; ORS="\r\n"; | r=ARGV[1]; s=ARGV[2]; sbj=ARGV[3]; # /bin/awkmail to from subj | < in print "helo " ENVIRON["HOSTNAME"] |& | smtp; smtp |& getline j; print j print "mail from:" s | |& smtp; smtp |& getline j; print j if(match(r, ",")) | { split(r, z, ",") for(y in z) { print "rcpt to:" | z[y] |& smtp; smtp |& getline j; print j } } | else { print "rcpt to:" r |& smtp; smtp |& | getline j; print j } print "data" | |& smtp; smtp |& getline j; print j print "From: " | s |& smtp; ARGV[2] = "" # not a file | print "To: " r |& smtp; ARGV[1] = "" | # not a file if(length(sbj)) { print "Subject: " sbj |& | smtp; ARGV[3] = "" } # not a file print "" | |& smtp while(getline > 0) print |& | smtp print "." |& | smtp; smtp |& getline j; print j print "quit" | |& smtp; smtp |& getline j; print j close(smtp) } # | /inet/protocol/local-port/remote-host/remote-port | $ echo ricki dont lose that number | awkmail | 9998675309@vtext.com me@here.com test | _def wrote: | On a side note, I'm noticing a lot of apps I install via Fdroid | don't work on my phone, they crash immediately, while the play | store version works (same for this app). I suspect this is a side | effect of me using Lineage OS - does anyone have a clue what | might fail there on my phone? | spuz wrote: | When I was making my IoT washing machine sensor, I used Blynk.io | to push notifications to my phone but of course that service | became commercialised and is no longer free. I could not find any | nice easy to use alternative except for Telegram which is what I | use now. This service looks exactly like what I would need and I | appreciate the promise to keep it open source. | hoherd wrote: | I've been using Prowl for 13 years and haven't had any | problems. I paid for the app once and that was that. | | https://www.prowlapp.com | tomjakubowski wrote: | > IoT washing machine sensor | | I'm building exactly this right now for my first hardware | project. Have you published any notes anywhere? | lloydatkinson wrote: | https://pushover.net/ Has existed for several years. It works | great for me. | dividuum wrote: | Additionally they support "Critical Alerts" on iOS for when | you really need to get a notification regardless of whether | or not you've muted your device. Probably something similar | is possible on Android as well? | cuu508 wrote: | Yes, emergency priority: ignores do-not-disturb, full | volume, and repeats every x minutes until acknowledged (x | is configurable when sending the notification). | there wrote: | On Android, Pushover is able to (optionally) play | notification sounds for high-priority messages through the | alarm channel like an alarm app would, so it can bypass the | device's mute switch. | binwiederhier wrote: | This has been requested in ntfy as well. I'll likely | implement that eventually. Sounds like a great feature. | JayGuerette wrote: | I've used pushover for years as well. I _wish_ they would | charge me $5 /y instead of a $5/lifetime. I've asked them to | do that. I want this service to last. | | I set up Tasker on my phone such that when a specific low- | priority (no visible/audible alert) message from pushover, | containing only a hash key, is received it picks it up and | does an HTTPS request to my self-hosted server to retrieve | the actual notification text. | | I have a bash/websocat client connected 24/7 to | wss://client.pushover.net/ as well that I should probably put | up on git for other people. | layer8 wrote: | Pushover requires a monthly subscription for teams. I guess | that's what most of their revenue comes from anyway. | there wrote: | That is correct. Pushover has been around for 10 years | now and I get most of its financial support from Team | subscriptions. | | https://blog.pushover.net/posts/2022/3/ten | | Any individual users wanting to support Pushover are | welcome to join as a personal Team with 1 member :) | creeble wrote: | Also pushover fan. I have come to rely on it for critical | monitoring alerts, and have not yet experienced failure in | many years of use. | dewey wrote: | I'm using Pushover a lot, it exists for a very long time, | never changes and just works. It's also very easy to wire it | up to existing tools as it can listen to webhooks. | | In my case I just did that recently to receive webhooks and | send them to my phone: | https://blog.notmyhostna.me/posts/push-notifications-from- | ap... | razemio wrote: | Yep. Same for me. Reliable, not subscription based and very | easy to integrate. Nothing fancy in a positive manner. | spuz wrote: | Thanks, I may have dismissed Pushover simply because it isn't | free but a $5 one time purchase is actually not too bad. | KaiserPro wrote: | I've used it for a very long time. it does only one thing, | and does it well. | INTPenis wrote: | It's practically free. I bought the app once many years ago | and have never sent more than 1000 pushes a month. | mavci wrote: | For those who have Pushover account, can check this out [1] | Hacker News notification service via Pushover. | | [1] https://hnn.avci.me | bippingchip wrote: | +1 for pushover | | I've been using for quite a fee years. The app is not free | but once you pay the one-time fee for the app, they have a | generous free tier for personal use, and it has worked quite | flawlessly for me so far. | somehnguy wrote: | Fun seeing everyone's ad-hoc solutions for this! | | Personally I setup a Slack server and use webhooks to push | events to a channel there. Works great :) | bert2002 wrote: | Fantastic idea with the different topics | ed25519FUUU wrote: | Cool project. Another one I've used for this purpose is pushover. | It's a $5 lifetime fee. It's worked well for me so far. | | https://pushover.net/ | Tepix wrote: | Can confirm, pushover has been good so far. | riedel wrote: | A really easy way to do this is a telegram bot ( if you don't | care about E2E and a bit shady business model) | uean wrote: | This is going to change everything for me. Thank you for this | software! Exactly what we need for our in house monitoring and | alerting. | tasn wrote: | This is great! I used to just use XMPP for this (so send an XMPP | message to myself), but I guess having a push notification can | mean you can do more powerful things with it. | Zash wrote: | But, XMPP is push all by itself already, and works with mobile | push notification services where needed. | tasn wrote: | Yeah, that's why I used it. It was simple and awesome! | | What I meant is that by supporting push notifications | directly, you can do things like supporting action buttons, | open a link when clicking the notification, etc, rather than | just XMPP which was what my solution did. | [deleted] | Ptchd wrote: | not sure why "phone" is in the title of this post, but it appears | to work well.... I would rather use a E2EE messenger for things | like this though (chatting with myself) | easton wrote: | Super cool! I did something like this for personal use using a | Discord bot (which you can also just POST to with no fancy | backend if you want). | andai wrote: | I did the same with a Telegram bot to notify me about long- | running jobs finishing on a server. | Retr0id wrote: | Ditto. Discord works great for me because it's the one app I | actually have installed on across most of my devices (including | desktop), and regularly check notifications for. | RicoElectrico wrote: | Yeah, a one-person Discord "server" is a great way to have e.g. | RSS notifications (via MonitoRSS) as well as simple bots. It is | just remarkably straightworward - you don't need to register an | app, just generate a webhook token and then curl a simple json | to that endpoint. Now, I was confused and thought webhooks are | somehow standardized, but they're not. It's kinda like RSS in | reverse, with an application defined payload. | bilinguliar wrote: | Just what I need. Left 5 star review. | TkTech wrote: | Keep in mind that ntfy works with a bunch of backends. You can | send the notifications to Telegram, jabber/XMPP, IRC (using my | own https://n.tkte.ch), Slack, etc, etc. So, you probably don't | have to actually install anything new to receive notifications | and can just use what you've already got. | jayrhynas wrote: | I don't think ntfy.sh does that, but are you talking about | https://github.com/dschep/ntfy? | TkTech wrote: | You are 100% correct. Boy that's confusing. I thought they'd | just gotten a new site! | jayrhynas wrote: | It looks like you could add ntfy.sh as a backend for | dschep/ntfy, but just imagine trying to document that! | MediumOwl wrote: | Great C2 channel, thanks! | PUSH_AX wrote: | I've been using a personal slack instance essentially to do this | (leveraging it as a notification centre is actually kind of | trivial). I absolutely be looking at this however. | superasn wrote: | Very nice. I use a telegram bot for doing this as telegram API | also makes it a simple GET request to send such notifications to | yourself (once you have created a bot). | | Also it's surprisingly hard to kill telegram for some reason so | it's kinda robust. My stupid mi phone is quite aggresive in | killing most background apps except whatsapp and telegram. | jorvi wrote: | > Also it's surprisingly hard to kill telegram for some reason | so it's kinda robust. My stupid mi phone is quite aggresive in | killing most background apps except whatsapp and telegram. | | Part of the reason for this is hardcoded whitelisting. | [deleted] | londons_explore wrote: | I find telegram messages only get insta-delivered about half | the time. The other half, they're delayed till I next re-open | the app. Doesn't seem to happen with any other app. | | I suspect it's because I'm subscribed to too many high traffic | group chats, and even though they're muted, the telegram | servers still send large numbers of push notifications for | them, which eventually start hitting some rate limit and | everything gets dropped - even for unmuted conversations. | OJFord wrote: | > I find telegram messages only get insta-delivered about | half the time. The other half, they're delayed till I next | re-open the app. Doesn't seem to happen with any other app. | | That happens to me with WhatsApp. Curiously a message to | Telegram kicks it back into gear too. My fiancee first | messages me 'calling' on Telegram before calling on WhatsApp, | because she figured out (remotely, by experience) that | otherwise it often doesn't ring. | dom96 wrote: | Same. I also use Telegram for this purpose, works incredibly | well for this purpose. | tveyben wrote: | Awsome - Thank you for creating and open sourcing this cool | tool!!! | gkfasdfasdf wrote: | Very cool! I think notifications could work on android without an | app via browser notifications from the website, if they don't | already. | spsesk117 wrote: | Disclaimer: I know the developer of Ntfy and have worked with | them in the past. | | I love this tool because it sits in a very convenient place in | the alerting and monitoring stack. | | At work the kind of alerting pipelines and frameworks needed can | by necessity end up being nontrivial and somewhat sophisticated. | If you run some stuff at home or in the cloud or whatever, I have | often wanted some kind of simple alerting but never want to deal | with mocking out similar systems that I've built at work. | | Ntfy sits perfectly in this space, and I've used to to frame out | my own kind of micro-alerting frameworks for a bunch of stuff | that I run. It's incredibly easy to encapsulate in something like | a bash TRAP or even || conditionals on random cronjobs, and just | makes getting some kind of alerting so trivial. As such, it's | spiraled out into a lot of different stuff that I run. | binwiederhier wrote: | Uhhhh. Who are you? Now I wanna know. | zx2c4 wrote: | I love this project. Super simple to interface with, accomplishes | the task very well, reliable, good documentation. It's hard to | think of better design and execution for this type of utility. | | I use it to get notifications of the CI running on | build.wireguard.com, which took less than a minute to get | working. Sometimes I'll use it for random one-off notifications, | like when a command finishes running or some shell script sleep- | loop scraper finds what it was waiting for. It's the nicest thing | I've had for that kind of thing since | mytelephonenumber@txt.att.net. | binwiederhier wrote: | Thank you for saying that Jason; it means a lot coming from | you. | | I remember when you sent me that email months ago it was super | cool for me. The creator of WireGuard emailing meee? whoa! | Anyway. Thanks again for the kind words. | atentaten wrote: | Could this potentially replace Firebase Cloud Messaging for push | notifications? | kirimita wrote: | It is an UnifiedPush distributor, so it can replace FCM for | applications supporting it. Here are most of the applications | supporting UnifiedPush right now: | https://unifiedpush.org/users/apps/ | binwiederhier wrote: | This is the way. UnifiedPush is sllooowly becoming more | popular. Element (Matrix chat app) just added official | support for it, which is super cool. And you can use ntfy as | a distributor. | binwiederhier wrote: | Hey cool, this is my project. Happy to answer questions. | | Edit: I am also looking for a new opportunity. If you need a good | Staff/Principal Engineer, check out my resume here: | https://heckel.io/resume.pdf | mongrelion wrote: | Congratulations. It seems like your project is well received in | the community. | | Could you elaborate on how this differs from gotify? | wilshiredetroit wrote: | P.S. congratulations on the Baby! | tubs wrote: | How were you a principal engineer with 5 years experience and a | senior principle with 7? Genuinely curious. | josegonzalez wrote: | Not knowing anything about the engineer in question, no two | people's experience over a given period of time is | equivalent. Additionally, levels differ wildly at different | organizations. | kaczordon wrote: | Time spent doing a job != skill. Once you hit a certain | threshold of course. | hnarn wrote: | Because titles don't tell you anything, they are decided by | the organization you work in for any number of reasons. | [deleted] | CommitSyn wrote: | Neat project. Where does the funding come from? | binwiederhier wrote: | It's quite cheap to run. It's just one small EC2 instance, | and it's usually idling around a load average of 0.1 (though | right now it's at 1, hehe). It costs me about $24/month. The | Apple developer license costs $100 per year, so it's | ~$400/year. As of recently, that's entirely covered by | donations. | | I am incredibly humbled by the sponsorships. I would have | never thought ntfy would take off like that. I love open | source and I promise it'll always be free and open (as long | as I can reasonably fight of the abusers). | | If you'd like to help me out me, you can donate via GitHub | Sponsors: https://github.com/sponsors/binwiederhier | webmobdev wrote: | You can probably cut down server cost by half. Have you | tried with lower resources or have figured out a minimum | requirement for the server? As an experiment I suggest - | https://tinykvm.com/ - with FreeBSD or OpenBSD (Linux | doesn't really do well with small amount of RAM). | timtom39 wrote: | Just gave the developer $50 so he doesn't need to reduce | monthly costs. I like the service running well. | webmobdev wrote: | That is nice of you and you've helped them to cover | server costs for the next two months. Server | optimisations can help them reduce the cost further. | hamburglar wrote: | I appreciate the dogged pursuit of efficiency, but | spending a lot of time optimizing for the current scale | and getting costs from $24 per month to $10 per month (or | whatever) is likely wasted time if this grows | significantly. You have to be able to recognize there's a | lower bound where your costs are low enough it doesn't | matter and even saving 75% isn't worth thr effort. The | author has obviously drawn that line somewhere above $24 | per month and that's perfectly reasonable. | webmobdev wrote: | That's a good point. I guess many of us were suggesting | cheaper VPS because we assumed this is a new project, | just launched. (Most inexperienced developers / start-ups | tend to over provision). With current hosting | technologies, it is quite easy to scale with need, with | minimum downtime, so it makes sense to start with the | minimum server requirement and then go for a powerful | server as required. This give you valuable data on the | bottlenecks (where you can do future optimizations), as | you scale, while you temporarily fix the issue with more | money (by requisitioning better servers) as you work out | the cost-benefit analysis (as you did) of spending money | on optimising vs server upgrade. | binwiederhier wrote: | It is super nice, isn't it? I am so amazed how awesome | people in the open source community are. | | As for the scale question: The server is already tuned | for scale: https://ntfy.sh/docs/config/#tuning-for-scale | | If you have any more ideas of what nobs to turn, let me | know. | binwiederhier wrote: | Much appreciated my friend. I honestly didn't opt for the | cheapest server because I wanted it to run well. I don't | want to constantly fight for resources or worry about it. | It was supposed to be fast and be able to handle traffic | well. | | And it is. It's not falling apart from the HN traffic and | it has a lot of head room. Plus. It's doing 400k messages | a day already easily. | | Anyway. Thank you so much for your generosity. I am | humbled and thankful for your support. | conductr wrote: | Your approach is great. It's odd to see so many penny | pinching comments here, the HN crowd usually skews the | other way. | hamburglar wrote: | This is super cool. If you don't mind saying, how many | connections do you tend to keep open at steady state? | binwiederhier wrote: | Here are some stats from last night showing the volume of | messages: IPs: 9756 Clients: 9980 | - Google Play: 2796 - F-Droid: 5985 - iOS: | 794 - curl: 62 - other: 343 | Messages: - Successful: 310076 - Failed | (rate limited): 104741 - Failed (other): 6511 | Top publishers (* = limit exemption): 22908 | matrix.org* 22352 matrix.gateway.unifiedpush.org* | 18286 up.schildi.chat* 16134 192.124.x.x | 14056 matrix.envs.net* 13376 108.35.x.x | 7794 114.132.x.x 6035 112.78.x.x 5432 | 88.99.x.x 5366 138.201.x.x | | In terms of open connections, it varies, but right now | it's 5k active connections. But there are many many self- | hosters out there, and the people using Firebase (no | "instant delivery") are also not counted in that. | | You can subscribe to the stats above using the | https://ntfy.sh/stats topic (old messages are only cached | for 12h, so half the day it shows up as empty) | praveen9920 wrote: | Watch out for data transfer costs on aws after HN | binwiederhier wrote: | Thanks. I'll keep an eye on it. I have a lot of rate | limiting in place, but for static resources it could | probably be tighter. | jacooper wrote: | If you would like to lower the cost more, I think switching | to a cheaper cloud service like Linode or Hetzner would be | the way to go. | methyl wrote: | I'm not sure if it's worth going any lower than $24/month | jacooper wrote: | I mean from 24 to 10 is a big difference. | Bluecobra wrote: | If I were to run my own personal instance of this that | cost would be quite high. A free Oracle Cloud VM or $5 | Digital Ocean droplet would be the way I go. | YetAnotherNick wrote: | If I go by $50/hour salary on average for developer, if | someone saves 20 minutes per month on average using AWS, | it is worth it. | conductr wrote: | Except where worth it in dollars < worth it in hassle | selcuka wrote: | If it's a single EC2 instance and not using any other AWS | services, I fail to see the difference between Hetzner, | DigitalOcean or AWS. | | That being said, it's probably not worth migrating to | another provider at this point. | hamburglar wrote: | Well, of course. "$24 per month seems high for running my | own personal instance that's going to do a handful of | notifications daily" vs "$24 per month seems high for | running a public service that could very easily need to | be scaled up quickly" are two very different statements. | SteveNuts wrote: | A free Oracle Cloud VM still costs you your soul, in | perpetuity. | recuter wrote: | That can't be right, some of us have worked for IBM and | no longer have souls. | TeMPOraL wrote: | IBM and Oracle have a soul-sharing deal signed. | abnercoimbre wrote: | Would the $5 droplet scale (and charge appropriately) if | their specified bandwidth is exceeded? | killthebuddha wrote: | Look for an email from achilles@relay.cc :) I'm building | https://github.com/relaycc/receiver, and we're hiring. | binwiederhier wrote: | Much appreciated! I'll check it out and will reach out | (likely tomorrow, busy day). | Maxburn wrote: | What does your reliability look like? Obviously no SLA but what | can we really expect? Pay tier available for HA? | binwiederhier wrote: | https://ntfy.sh/docs/faq/#what-are-the-uptime-guarantees | | I guarantee for nothing, since this is a spare time project. | That said, I have had zero outages in 11 months, see | https://ntfy.statuspage.io/ | | When it outgrows the single EC2 instance, I'll likely start | building some distributed thingy to spread the load and do | some HA things (sounds like fun). Probably just a load | balancer and 2-3 instances with a rqlite backend instead of | SQLite, nothing too fancy. | | Right now that's not necessary. As you can see, it handles | traffic just fine for now. | otoolep wrote: | rqlite[1] author here, happy to answer any questions about | it if it helps. | | rqlite will give you HA, but won't help with load (rqlite | replicates for reliability, not for write performance). But | I like to think the it'll give you solid -- and simple to | use -- HA. Replicated just replaced their use of Postgres | with rqlite for this reason[2]. | | [1] https://github.com/rqlite/rqlite | | [2] https://www.replicated.com/blog/app-manager-with- | rqlite/ | binwiederhier wrote: | I love the internet. Random people meet in so many | places. rqlite is awesome. Fantastic project. | rsanaie wrote: | Start providing it (reliability/HA) and turn it into an | actual business :-) It'd be a lot more fun than getting a | principle position | dested wrote: | Yesssss, I have been looking for this type of service forever. | I'm excited | CameronNemo wrote: | Have you thought about integrating with Matrix in any way? I.E. | curl ntfy.sh/matrix and put the matrix room id in the post | payload. The user would have to invite your ntfy.sh matrix user | to the room, and it would not offer encryption, but it might | add value for use cases where you want to send to a team or the | user wants their notifications in the same place. | binwiederhier wrote: | It is integrated with Matrix through UnifiedPush | (https://unifiedpush.org/). Many people use it as a | distributor to deliver Matrix messages. In fact, matrix.org | is publisher #1 for the ntfy.sh instance. See stats here: | https://news.ycombinator.com/item?id=33520729 | marcus_cemes wrote: | From the repository that I found, it seems that you wrote the | backend in Go. How did it hold up? Any lessons learned? | binwiederhier wrote: | No real lessons learned. I like Go, and I like that it lets | me do no-fuzz-straight-to-the-point development. The single | Go binary and server is handling the traffic just fine, and | the architecture is simple and easy to extend. | | I am suffering a little right now while I try to add E2E | encryption, because I structured the handlePublish logic | awkwardly. But other than that there have been no surprises. | | Sorry that's such a boring answer. | willyyr wrote: | Thank you for creating this. I was just looking for something | like that to send notifications to my mobile without setting | this all up and deploying my own app to the store. Using ntfy | now :) | mugivarra69 wrote: | verynice, thanks for making | fareesh wrote: | I made a simple virtual assistant app that does most of this | stuff for me (i.e. notifications, two-way communications), with | an API that can tie into other small projects - I've always | assumed most developers have something like this of their own, | i.e. some sort of Jarvis | palata wrote: | On Android, I have been using it for a while with Unified push: | for Tusky (Mastodon client) and Element (Matrix client). | | Works well, I wish more services were using UnifiedPush (so that | I would not need the constant Telegram notification, for | instance). | st3fan wrote: | Hey I wrote a similar thing but then to send them to your Watch: | | https://astronote.app/hello | | I recently made it free because I am unable to monetize it. | Please give it a try. ___________________________________________________________________ (page generated 2022-11-08 23:00 UTC)