[{"data":1,"prerenderedAt":561},["ShallowReactive",2],{"project-29715464":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":48,"post_text":50,"what":51,"said":90,"maker_in_thread":196,"shape":204,"grid":208,"attempts":517,"same_week":525,"maker_shows":49,"maker_hidden":553,"reader_version":554,"card":555},"29715464","ntfy","A tool to send push notifications to your phone, written in Go","title","Show HN: A tool to send push notifications to your phone, written in Go","https:\u002F\u002Fgithub.com\u002Fbinwiederhier\u002Fntfy","github.com","binwiederhier",1640710501,2021,241,119,164,2533,7,"notable","infrastructure","push notification service","cli",[24,25,26,27],"push notifications","self-hosted","curl notifications","android notifications","debated",0.081,{"positive":31,"neutral":32,"mixed":33,"critical":34},14,13,0,12,39,{"idea":37,"pricing":40,"privacy":42,"execution":44,"performance":46,"docs":47},{"positive":38,"critical":39},3,4,{"positive":41,"critical":33},1,{"positive":33,"critical":43},6,{"positive":45,"critical":33},2,{"positive":33,"critical":41},{"positive":45,"critical":41},[49,49,38,33,33,38,38,33,33,38,41,41,38,41,33,38,38,49,38,41,38,33,49,33,41,49,49,33,33,49,41,49,49,49,41,38,38,49,38,41],5,null,{"problem":52,"audience":62,"pricing":50,"motivation":71,"time_to_build":50,"stack":75,"openness":87,"stage":88,"team_size":89},{"value":53,"source":54,"evidence":55},"Getting alerts on your phone when long-running commands or server jobs finish, without auth tokens","maker",[56,59],{"id":57,"by":11,"text":58},"29719738","First of all, I love your username. Are you affiliated with the rsync tool or just an rsync lover like me? If you are, I bow my head to you and thank you. :-D If you are happy…",{"id":60,"by":11,"text":61},"29715523","Hey folks, I've been working on this for a couple of months. It's a tool and service that lets you send push notifications to your (Android) phone via simple PUT\u002FPOST requests,…",{"value":63,"source":64,"evidence":65},"Sysadmins and developers who run long jobs on servers","inferred",[66,67],{"id":57,"by":11,"text":58},{"id":68,"by":69,"text":70},"29721519","Oranguru","Just a few days ago I wanted to set up a service that would allow me to receive notifications on my mobile phone that would alert me when the very long processes that I neeed to…",{"value":72,"source":54,"evidence":73},"Send notifications from servers without installing anything or storing auth tokens",[74],{"id":57,"by":11,"text":58},[76,81],{"value":77,"source":54,"evidence":78},"Go",[79],{"id":80},"post",{"value":82,"source":54,"evidence":83},"Firebase Cloud Messaging (optional, Google Play flavor)",[84],{"id":85,"by":11,"text":86},"29719493","In the Google Play flavor [1] and with ntfy.sh, yes. If you use a selfhosted server or use the F-Droid flavor [2], then no. In those cases a foreground service with a persistent…","open_source","launched","solo",{"praise":91,"objections":113,"requests":142,"questions":158,"alternatives":173},[92,105],{"value":93,"source":94,"evidence":95},"Easy to use and self-host with excellent docs","commenter",[96,100,104],{"id":97,"by":98,"text":99},"29723470","lydericlandry","This is very good. Very easy to use and self-host! Many thanks and kudos for your excellent documentation. I run it in an LXD container and I use Caddy as proxy (for Let's…",{"id":101,"by":102,"text":103},"29724144","severine","Best docs ever, really nfty!",{"id":68,"by":69,"text":70},{"value":106,"source":94,"evidence":107},"No signup or auth needed to get started",[108,109],{"id":60,"by":11,"text":61},{"id":110,"by":111,"text":112},"29719923","eximius","So, no authentication is billed as a feature, but just means you might get spam notifications?",[114,126,133],{"value":115,"source":94,"evidence":116},"Without auth, topics can receive spam if names are guessable",[117,121,125],{"id":118,"by":119,"text":120},"29723212","nine_k","Will you be flooded with spam messages now that you have published the magic URL? Some twisted soul could even put sending a message to you via cronrab every minute, and you…",{"id":122,"by":123,"text":124},"29719978","frays","What's stopping someone from writing a program that iterates through all of the different ntfy topics with spam messages? e.g. curl -d \"Visit my site spammer.com for your chance…",{"id":110,"by":111,"text":112},{"value":127,"source":94,"evidence":128},"Android-only; iOS not supported",[129],{"id":130,"by":131,"text":132},"29723592","iLoveOncall","Please don't write \"Android\u002FiOS\" if iOS is not supported.",{"value":134,"source":94,"evidence":135},"Battery use from persistent connection on Android",[136,139],{"id":137,"by":11,"text":138},"29723405","Yes, sadly Google\u002FAndroid makes it impossible to do it in a battery efficient manner. UnifiedPush [1] is attempting to create a competitive mechanism that apps can use and share…",{"id":140,"by":11,"text":141},"29726140","Yeah I mean it is what it is. We can all only work on the space that exists. The big boys control the market and the eco system. One battery saving idea: there is a ticket to let…",[143,150],{"value":144,"source":94,"evidence":145},"Optional authentication and retirable tokens",[146,147],{"id":118,"by":119,"text":120},{"id":148,"by":11,"text":149},"29723361","I responded here: https:\u002F\u002Fnews.ycombinator.com\u002Fitem?id=29723347 As for the retirable token, you are right. In the current approach this cannot be done. I have an open ticket for…",{"value":151,"source":94,"evidence":152},"Support for watch notifications and iOS",[153,157],{"id":154,"by":155,"text":156},"29720629","lijogdfljk","I was wanting something like this recently, but specifically to send notifications and notifications-with-images to my watch. Bonus points if i can choose the icon the latest iOS…",{"id":130,"by":131,"text":132},[159,166],{"value":160,"source":94,"evidence":161},"Why use push notifications instead of SMS",[162],{"id":163,"by":164,"text":165},"29719670","rsync","What is the advantage of sending a push notification as opposed to a SMS alert ? My alerting regime is also built on 'curl' commands that generate SMS via twilio. For example:…",{"value":167,"source":94,"evidence":168},"How it compares to Gotify",[169],{"id":170,"by":171,"text":172},"29718456","mikecoles","Hello Philipp, what benefits do you think make the app shine against something like Gotify? It looks like you have integrated with firebase. What else should I be looking for?…",[174,178,185,189],{"value":175,"source":94,"evidence":176},"Gotify",[177],{"id":170,"by":171,"text":172},{"value":179,"source":94,"evidence":180},"Pushover",[181],{"id":182,"by":183,"text":184},"29719727","runjake","There is a similar app, created by jcs, at pushover.net for mobile and desktop. It does require signup, though.",{"value":186,"source":94,"evidence":187},"Twilio SMS",[188],{"id":163,"by":164,"text":165},{"value":190,"source":94,"evidence":191},"Telegram bot",[192],{"id":193,"by":194,"text":195},"29721445","altilunium","Back then, i want to receive a notification directly to my phone whenever \"an event\" happened on my server. So, i did this : 1. Create a Telegram bot by using BotFather…",{"comments":197,"answered":34,"key":198},35,[199,200,201],{"id":60,"text":61},{"id":57,"text":58},{"id":202,"text":203},"29720327","Oh my, I'm star struck. I've used rsync, written a about rsync (in my master thesis) and looked at rsync code a long time ago. Amazing :-D",{"commenters":205,"max_depth":206,"maker_replies":197,"first_comment_mins":49,"lifespan_hours":207},65,9,86,[209,211,213,217,220,224,226,227,231,232,235,238,240,242,244,248,250,253,256,257,261,264,267,271,273,276,279,282,285,288,291,293,296,298,302,304,307,309,312,314,317,320,323,325,327,330,331,333,336,338,341,343,346,349,351,353,356,360,362,364,365,368,371,374,377,380,382,385,388,391,394,396,399,402,403,405,407,409,413,415,418,421,423,425,427,429,431,433,436,438,442,444,447,450,452,454,457,459,462,464,466,469,474,476,478,480,482,484,486,489,491,493,497,499,503,504,508,511,513],[60,33,33,210,11,41],"maker\u002Fneutral\u002Fnone",[193,41,49,212,194,33],"project\u002Fpositive\u002Fidea",[214,41,33,215,216,33],"29723301","commenter\u002Fneutral\u002Fprivacy","sneak",[218,41,33,215,219,33],"29723477","hansel_der",[221,41,49,222,223,33],"29756168","project\u002Fpositive\u002Fnone","Abishek_Muthian",[163,45,38,225,164,33],"project\u002Fneutral\u002Fidea",[57,45,33,212,11,41],[228,45,33,229,230,33],"29720254","commenter\u002Fneutral\u002Fnone","icelancer",[202,45,33,229,11,41],[233,45,33,229,234,33],"29720724","stavros",[236,45,33,229,237,33],"29720332","boomskats",[239,45,33,229,234,33],"29720745",[241,45,33,229,237,33],"29723742",[243,45,33,229,164,33],"29720856",[245,45,49,246,247,33],"29726478","project\u002Fpositive\u002Fpricing","anaganisk",[118,45,41,249,119,33],"project\u002Fcritical\u002Fprivacy",[251,45,33,215,252,33],"29723261","NotEvil",[254,45,33,255,11,41],"29723347","project\u002Fneutral\u002Fprivacy",[148,45,33,255,11,41],[258,45,38,259,260,33],"29719866","project\u002Fneutral\u002Fpricing","syntaxing",[262,45,33,263,164,33],"29720884","commenter\u002Fneutral\u002Fpricing",[265,45,33,229,266,33],"29723279","scgtrp",[268,45,33,269,270,33],"29737687","other\u002Fneutral\u002Fnone","sgarland",[272,45,33,269,11,41],"29742679",[274,45,33,229,275,33],"29722110","eknkc",[277,45,33,229,278,33],"29722444","tluyben2",[280,45,33,229,281,33],"29722653","pmontra",[283,45,33,229,284,33],"29744942","hiptobecubic",[286,38,38,225,287,33],"29720792","jedberg",[289,38,41,249,290,33],"29721073","codetrotter",[292,38,33,229,287,33],"29721174",[294,38,33,269,295,33],"29721228","raron",[297,38,33,229,287,33],"29721240",[299,38,41,300,301,33],"29721255","project\u002Fcritical\u002Fidea","foodstances",[303,38,33,215,287,33],"29721291",[305,38,38,225,306,33],"29721181","merlinscholz",[308,38,33,229,287,33],"29721397",[310,38,33,269,311,33],"29721341","srcreigh",[313,38,33,229,287,33],"29721377",[315,38,38,225,316,33],"29722764","pizza",[318,38,41,249,319,33],"29722816","helsinkiandrew",[321,38,33,269,322,33],"29724099","zikduruqe",[324,38,33,225,11,41],"29724256",[326,38,33,215,287,33],"29728830",[328,38,33,269,329,33],"29726181","monocularvision",[170,39,38,225,171,33],[332,39,33,212,11,41],"29718645",[334,39,49,212,335,33],"29719800","spurgu",[337,39,33,210,11,41],"29719829",[339,39,41,249,340,33],"29718861","karmanyaahm",[342,39,33,225,11,41],"29718911",[344,39,49,212,345,33],"29719074","resonator",[347,39,38,348,234,33],"29720757","project\u002Fneutral\u002Fexecution",[350,39,33,348,11,41],"29720783",[352,39,38,255,234,33],"29720851",[354,39,33,355,11,41],"29720906","maker\u002Fneutral\u002Fprivacy",[357,39,41,358,359,33],"29723255","project\u002Fcritical\u002Fperformance","throw14082020",[137,39,33,361,11,41],"project\u002Fneutral\u002Fperformance",[363,39,41,300,359,33],"29725765",[140,39,33,361,11,41],[366,39,33,229,367,33],"29731924","altantiprocrast",[369,49,38,225,370,33],"29719298","vladharbuz",[372,49,33,269,373,33],"29719578","rwky",[375,49,33,229,376,33],"29721494","makeworld",[378,49,33,269,379,33],"29722188","Debug_Overload",[381,49,33,225,11,41],"29719598",[383,49,49,384,370,33],"29719875","maker\u002Fpositive\u002Fnone",[386,49,33,269,387,33],"29719724","alphabettsy",[389,49,33,269,390,33],"29720013","teeray",[392,49,33,269,393,33],"29720097","zogomoox",[395,49,33,229,11,41],"29720119",[397,49,33,269,398,33],"29722568","yjftsjthsd-h",[400,49,33,269,401,33],"29723846","maccard",[122,43,41,300,123,33],[404,43,33,348,11,41],"29720003",[97,18,49,406,98,33],"project\u002Fpositive\u002Fdocs",[408,18,33,384,11,41],"29723517",[410,411,33,269,412,33],"29724616",8,"st3fan",[414,411,33,269,11,41],"29724717",[416,206,49,384,417,33],"29723142","tannercollin",[419,206,33,420,11,41],"29723266","maker\u002Fneutral\u002Fdocs",[422,206,33,229,219,33],"29723491",[424,206,33,269,11,41],"29723616",[426,206,33,269,11,41],"29723657",[428,206,33,269,417,33],"29729747",[430,206,33,269,11,41],"29723990",[432,206,33,269,417,33],"29729727",[68,434,49,435,69,33],10,"project\u002Fpositive\u002Fexecution",[437,434,33,210,11,41],"29722852",[439,440,41,300,441,33],"29720253",11,"babyshake",[443,440,33,212,11,41],"29720346",[445,440,33,269,446,33],"29720768","patleeman",[448,440,33,269,449,33],"29721148","fragmede",[451,34,49,222,270,33],"29738497",[453,34,33,210,11,41],"29742669",[455,32,38,225,456,33],"29722559","carlivar",[458,32,33,225,11,41],"29722841",[460,31,49,222,461,33],"29723101","geocrasher",[463,31,33,210,11,41],"29723143",[465,31,49,435,461,33],"29723167",[467,31,33,468,11,41],"29723245","maker\u002Fneutral\u002Fexecution",[470,471,38,472,473,33],"29720818",15,"project\u002Fneutral\u002Fnone","arusahni",[475,471,33,269,11,41],"29720859",[110,477,41,249,111,33],16,[479,477,33,255,11,41],"29719957",[182,481,33,269,183,33],17,[154,483,38,225,155,33],18,[485,483,41,249,234,33],"29720673",[487,483,33,269,488,33],"29723803","betterthanlast",[101,490,49,406,102,33],19,[492,490,33,420,11,41],"29724270",[494,495,49,222,496,33],"29729350",20,"sickmartian",[498,495,33,210,11,41],"29729986",[500,501,38,255,502,33],"29719350",21,"alvarlagerlof",[85,501,33,255,11,41],[505,506,33,269,507,33],"29734302",22,"kottaram",[130,509,41,510,131,33],23,"project\u002Fcritical\u002Fdocs",[512,509,33,420,11,41],"29723600",[514,515,33,269,516,33],"29736570",24,"Threeve303",[518,521,522],{"id":519,"t":520,"points":45,"comments":41},"29406003",1638377853,{"id":4,"t":12,"points":14,"comments":15},{"id":523,"t":524,"points":32,"comments":41},"36036681",1684789291,[526,531,536,541,546,549],{"id":527,"name":528,"points":529,"category":530},"29690877","mwmbl",441,"web_saas",{"id":532,"name":533,"points":534,"category":535},"29726787","Voiceliner",297,"productivity",{"id":537,"name":538,"points":539,"category":540},"29729335","Wall of Text",145,"learning_science",{"id":542,"name":543,"points":544,"category":545},"29705794","Drovp",105,"dev_tools",{"id":547,"name":548,"points":544,"category":20},"29711433","Uptrace",{"id":550,"name":551,"points":552,"category":535},"29703671","Alfread",104,false,"v2",{"id":556,"name":5,"line":6,"ai":553,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":557,"top":18,"kw":558,"maker":11,"domain":10,"tier":19,"attempts":38,"strip":559,"url":9,"mix":560,"praise":93,"objection":115,"sub":21},29715464,0.08,[24,25,26,27],"5530033003113103353130501550051555133531",[31,32,33,34],1794036614645]