[{"data":1,"prerenderedAt":571},["ShallowReactive",2],{"project-42796496":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":29,"sentiment":30,"stance_mix":31,"scored_comments":36,"aspects":37,"strip":45,"post_text":48,"what":49,"said":84,"maker_in_thread":175,"shape":185,"grid":190,"attempts":533,"same_week":534,"maker_shows":46,"maker_hidden":563,"reader_version":564,"card":565},"42796496","sms_llm","Trolling SMS spammers with Ollama","title","Show HN: Trolling SMS spammers with Ollama","https:\u002F\u002Fevan.widloski.com\u002Fsoftware\u002Fsms_llm\u002F","evan.widloski.com","Evidlo",1737573828,2025,318,126,162,3837,5,"legend","creative","sms auto-reply bot","other",[24,25,26,27,28],"sms spam","ollama","llm persona","android sms","mqtt","debated",-0.066,{"positive":32,"neutral":33,"mixed":34,"critical":35},10,18,0,11,39,{"idea":38,"execution":40,"performance":42,"privacy":44},{"positive":39,"critical":32},8,{"positive":41,"critical":34},2,{"positive":34,"critical":43},1,{"positive":34,"critical":34},[34,34,34,43,18,34,43,43,18,18,18,34,18,46,34,34,34,34,34,46,46,18,43,34,43,34,34,34,34,43,41,34,46,47,46,46,46,18,34,43],3,4,"I've been working on a side project to generate responses to spam with various funny LLM personas, such as a millenial gym bro and a 19th century British gentleman. By request, I've made a write-up on my website which has some humorous screenshots and made the code available on Github for others to try out [0].\n\nA brief outline of the system:\n\n- Android app listens for incoming SMS events and forwards them over MQTT to a server running Ollama which generates responses - Conversations are whitelisted and manually assigned a persona.  The LLM has access to the last N messages of the conversation",{"problem":50,"audience":59,"pricing":59,"motivation":60,"time_to_build":59,"stack":65,"openness":81,"stage":82,"team_size":83},{"value":51,"source":52,"evidence":53},"Spam texts; the maker wants to play with spammers messaging them","maker",[54,56],{"id":55},"post",{"id":57,"by":11,"text":58},"42819913","That makes sense. The goal of this project wasn't really to combat spam but to play with the spammers messaging me specifically",null,{"value":61,"source":52,"evidence":62},"Fun side project to troll spammers",[63,64],{"id":55},{"id":57,"by":11,"text":58},[66,70,77],{"value":67,"source":52,"evidence":68},"Ollama",[69],{"id":55},{"value":71,"source":52,"evidence":72},"MQTT",[73,74],{"id":55},{"id":75,"by":11,"text":76},"42816516","It's just one of many ways to do this. Websockets, ZeroMQ, HTTP long-polling, or just a plain old TCP socket would have worked as well, just to name a few. I just went with MQTT…",{"value":78,"source":52,"evidence":79},"Android app",[80],{"id":55},"open_source","launched","solo",{"praise":85,"objections":98,"requests":132,"questions":147,"alternatives":162},[86],{"value":87,"source":88,"evidence":89},"Fun and funny idea","commenter",[90,94],{"id":91,"by":92,"text":93},"42819144","josh_carterPDX","This is great! I once set up a Twilio script that would call spam callers every five minutes and play \"Macarena.\"",{"id":95,"by":96,"text":97},"42796731","gaudystead","Nice work and thank you for the write up! Part of me is wondering if your bot is talking to actual humans or other bots (albeit not as advanced) because it seems like they just…",[99,114,125],{"value":100,"source":88,"evidence":101},"Replying may help spammers warm up numbers",[102,106,110],{"id":103,"by":104,"text":105},"42820797","K0balt","By responding at all, it’s probably just helping spammers warm up numbers, more than anything else. So, counterintuitively, helping the spammers. Spammers need to amass a strong…",{"id":107,"by":108,"text":109},"42819391","blackeyeblitzar","Just remember - if you reply and engage in a conversation with a spammer, to the carrier’s anti spam systems it looks like the sender is legitimate since the recipient is talking…",{"id":111,"by":112,"text":113},"42818552","ziofill","This is fun, but from what I understood, the purpose of those random sms is to \"warm up the number\", so the best course of action is to either ignore them or reply STOP.",{"value":115,"source":88,"evidence":116},"Legal risk if the bot agrees to a deal",[117,121],{"id":118,"by":119,"text":120},"42821959","elicksaur","I thought it was a fun idea, but the more I read the more worried I became for OP legally. As one example, when the first bot says “I was thinking 20k,” if the spammer had…",{"id":122,"by":123,"text":124},"42821037","londons_explore","When a scammer says \"So, do you agree to sell me your car for $1000\", and your script replies \"Yes, it's a deal\", and then the scammer tries to take you to court... Most courts…",{"value":126,"source":88,"evidence":127},"Server running costs and power use",[128],{"id":129,"by":130,"text":131},"42820487","acka","Sadly that isn't true: it requires a server to be running to receive message content from the phone app, run inference using the LLM and send back responses. All of that requires…",[133,140],{"value":134,"source":88,"evidence":135},"Run without an Android phone using Asterisk and VoIP SMS",[136],{"id":137,"by":138,"text":139},"42818860","walrus01","It would be interesting to see an implementation of this that doesn't require an android system at all (whether physical or virtualized), or even a live SIM card or mobile phone…",{"value":141,"source":88,"evidence":142},"Connect two spammers to each other",[143],{"id":144,"by":145,"text":146},"42796788","pavel_lishin","I'd love to connect two SMS spammers to each other, and have an app forward messages from Spammer A to spammer B, and vice versa.",[148,155],{"value":149,"source":88,"evidence":150},"Does it add random delay to seem human?",[151],{"id":152,"by":153,"text":154},"42818560","jlund-molfese","I wasn't able to tell from skimming the repo, but have you considered adding a pseudorandom sleep? Might cost some more CPU cycles depending on how it's implemented, but would…",{"value":156,"source":88,"evidence":157},"How fast does it respond?",[158],{"id":159,"by":160,"text":161},"42796804","RushiSushi","Good work brodude123 ha! How quickly does the system respond to the real estate messages?",[163,168],{"value":164,"source":88,"evidence":165},"Reply STOP or report to 7726",[166,167],{"id":107,"by":108,"text":109},{"id":111,"by":112,"text":113},{"value":169,"source":88,"evidence":170},"Kitboga scam-baiting videos",[171],{"id":172,"by":173,"text":174},"42827260","AutistiCoder","Kitboga",{"comments":176,"answered":41,"key":177},6,[178,181,182],{"id":179,"text":180},"42833750","I'm not sure if any of these numbers are actually spoofed. When I look them up they are always VOIP numbers.",{"id":57,"text":58},{"id":183,"text":184},"42797208","Takes about 5 seconds to generate the response, plus another 10-15 seconds for the gateway app to be woken up and forward the message.",{"commenters":186,"max_depth":187,"maker_replies":176,"first_comment_mins":188,"lifespan_hours":189},88,9,23,300,[191,195,198,201,204,207,210,213,216,219,221,223,225,227,228,232,235,238,241,243,246,250,252,254,257,261,264,266,269,272,275,278,281,284,287,290,293,295,297,300,304,306,310,312,315,316,319,322,325,327,329,332,335,338,340,342,344,347,350,352,355,358,362,365,367,369,371,374,376,378,380,381,383,385,388,390,392,393,395,397,400,403,407,410,413,416,419,422,425,428,430,433,436,438,441,444,446,448,452,455,459,461,463,466,467,469,471,475,479,482,484,488,492,494,498,501,506,508,512,513,517,520,523,524,528,530],[192,34,34,193,194,34],"42819356","other\u002Fneutral\u002Fnone","aurareturn",[196,34,34,193,197,34],"42819420","chefandy",[199,34,34,193,200,34],"42819829","darkhorse222",[202,34,34,193,203,34],"42822030","ses1984",[205,34,34,206,197,34],"42827516","commenter\u002Fneutral\u002Fnone",[208,34,34,193,209,34],"42823663","pdfernhout",[211,34,34,193,212,34],"42820463","itake",[214,34,34,193,215,34],"42821059","szundi",[217,34,34,193,218,34],"42820478","stavros",[103,34,43,220,104,34],"project\u002Fcritical\u002Fidea",[222,34,34,193,203,34],"42822045",[224,34,34,193,104,34],"42825109",[226,34,34,193,203,34],"42825768",[179,34,34,193,11,43],[229,34,18,230,231,34],"42821063","project\u002Fpositive\u002Fidea","Lio",[233,34,34,193,234,34],"42824006","catlifeonmars",[236,34,34,193,237,34],"42821292","base698",[239,34,34,193,240,34],"42833289","BrandoElFollito",[152,43,46,242,153,34],"project\u002Fneutral\u002Fexecution",[244,41,43,220,245,34],"42817953","swatcoder",[247,41,34,248,249,34],"42817978","commenter\u002Fpositive\u002Fidea","a12k",[251,41,34,206,245,34],"42818013",[253,41,34,206,249,34],"42818058",[255,41,43,220,256,34],"42818325","deadbabe",[258,41,34,259,260,34],"42818505","commenter\u002Fneutral\u002Fidea","theoreticalmal",[262,41,34,193,263,34],"42818674","ZYbCRq22HbJ2y7",[265,41,18,230,218,34],"42820484",[267,41,34,193,268,34],"42822980","AJ007",[270,41,18,230,271,34],"42819593","gorgoiler",[273,41,34,193,274,34],"42819975","dragontamer",[276,41,34,193,277,34],"42819996","ikt",[279,41,34,206,280,34],"42820450","cbzbc",[282,41,18,230,283,34],"42820706","wave-function",[285,41,34,193,286,34],"42820960","ncruces",[288,41,34,193,289,34],"42820987","naniwaduni",[291,41,34,206,292,34],"42863631","floydnoel",[294,41,34,206,286,34],"42883384",[296,41,34,193,240,34],"42833337",[298,41,18,230,299,34],"42819648","MathMonkeyMan",[301,41,46,302,303,34],"42819767","project\u002Fneutral\u002Fnone","janalsncm",[129,41,43,305,130,34],"project\u002Fcritical\u002Fperformance",[307,41,46,308,309,34],"42820780","project\u002Fneutral\u002Fperformance","nmstoker",[311,41,46,308,303,34],"42820925",[313,41,18,230,314,34],"42820375","nejsjsjsbsb",[122,46,34,193,123,34],[317,46,34,193,318,34],"42821421","sega_sai",[320,46,34,193,321,34],"42821587","mk67",[323,46,34,193,324,34],"42821601","zcw100",[326,46,34,193,321,34],"42821618",[328,46,34,206,324,34],"42830461",[330,46,34,193,331,34],"42822060","cobbzilla",[333,46,34,193,334,34],"42823019","smsm42",[336,46,34,193,337,34],"42826245","Alive-in-2025",[339,46,34,193,334,34],"42849416",[341,46,34,193,337,34],"42855398",[343,46,34,193,334,34],"42929077",[345,46,34,193,346,34],"42822645","_huayra_",[348,46,34,193,349,34],"42823355","probably_wrong",[351,46,34,193,240,34],"42833301",[353,46,34,193,354,34],"42821591","lights0123",[356,46,34,206,357,34],"42823873","bongodongobob",[359,46,46,360,361,34],"42821459","project\u002Fneutral\u002Fidea","cassepipe",[363,46,34,206,364,34],"42821559","thih9",[366,46,46,360,173,34],"42821831",[368,46,46,360,234,34],"42824037",[370,46,34,206,173,34],"42827283",[372,46,34,193,373,34],"42821874","qup",[375,46,34,206,357,34],"42823865",[95,47,18,377,96,34],"maker\u002Fpositive\u002Fexecution",[379,47,34,206,249,34],"42817990",[118,18,43,220,119,34],[382,18,34,206,194,34],"42822113",[384,18,34,206,119,34],"42822880",[386,18,34,206,387,34],"42822214","bearjaws",[389,18,34,206,119,34],"42822902",[391,18,34,206,240,34],"42833356",[107,176,43,220,108,34],[111,394,43,220,112,34],7,[396,394,34,206,263,34],"42818705",[398,394,34,193,399,34],"42819501","benatkin",[401,394,34,193,402,34],"42820434","markyc",[404,394,34,405,406,34],"42820697","other\u002Fneutral\u002Fidea","mcny",[408,39,34,193,409,34],"42820317","leke",[411,39,34,193,412,34],"42820335","miki123211",[414,39,34,193,415,34],"42820373","exe34",[417,39,34,193,418,34],"42820671","homebrewer",[420,187,34,193,421,34],"42818050","jlarocco",[423,187,34,193,424,34],"42818103","rad_gruchalski",[426,187,34,193,427,34],"42818237","CrazyStat",[429,187,34,193,263,34],"42818685",[431,187,34,193,432,34],"42819596","ddtaylor",[434,187,34,193,435,34],"42818159","rapind",[437,187,46,242,303,34],"42819773",[439,32,43,220,440,34],"42819712","nickpsecurity",[442,32,46,360,443,34],"42821365","greenchair",[445,32,46,360,440,34],"42821670",[447,35,43,220,218,34],"42820467",[449,450,34,193,451,34],"42819303",12,"msoad",[453,450,34,193,454,34],"42819847","catbranchman",[456,457,34,193,458,34],"42819010",13,"Cyclone_",[137,460,46,242,138,34],14,[57,460,34,462,11,43],"maker\u002Fneutral\u002Fnone",[159,464,46,465,160,34],15,"maker\u002Fneutral\u002Fperformance",[183,464,34,308,11,43],[468,464,46,462,160,34],"42797725",[144,470,18,230,145,34],16,[472,473,46,360,474,34],"42828163",17,"Thorrez",[476,33,46,477,478,34],"42818071","project\u002Fneutral\u002Fprivacy","baq",[480,33,34,193,481,34],"42819034","xp84",[483,33,34,193,478,34],"42820624",[485,486,46,302,487,34],"42817601",19,"dang",[489,490,46,242,491,34],"42817985",20,"punnerud",[91,493,34,193,92,34],21,[495,496,18,230,497,34],"42828067",22,"sonderotis",[499,188,43,220,500,34],"42824628","mgaunard",[502,503,46,504,505,34],"42818578",24,"maker\u002Fneutral\u002Fexecution","tnt128",[507,503,34,504,11,43],"42819905",[509,510,18,377,511,34],"42810166",25,"mutant",[75,510,34,504,11,43],[514,515,34,193,516,34],"42820584",26,"xnickb",[518,519,34,193,173,34],"42821836",27,[521,519,34,193,522,34],"42821848","LorenDB",[172,519,34,193,173,34],[525,526,43,220,527,34],"42818044",28,"Haeuserschlucht",[529,526,34,462,11,43],"42818101",[531,526,34,193,532,34],"42818586","brookst",[],[535,540,545,549,553,558],{"id":536,"name":537,"points":538,"category":539},"42797260","Byran's open-source laptop",3237,"hardware",{"id":541,"name":542,"points":543,"category":544},"42749402","Interactive systemd",546,"dev_tools",{"id":546,"name":547,"points":548,"category":544},"42793777","Stratoshark",321,{"id":550,"name":551,"points":552,"category":544},"42738656","Mermaid Chart",230,{"id":554,"name":555,"points":556,"category":557},"42782295","Foqos",225,"productivity",{"id":559,"name":560,"points":561,"category":562},"42779330","TripOffice",222,"consumer_social",false,"v2",{"id":566,"name":5,"line":6,"ai":563,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":567,"top":18,"kw":568,"maker":11,"domain":10,"tier":19,"attempts":34,"strip":569,"url":9,"mix":570,"praise":87,"objection":100,"sub":21},42796496,-0.07,[24,25,26,27,28],"0001501155505300000335101000012034333501",[32,33,34,35],1794036668433]