[{"data":1,"prerenderedAt":172},["ShallowReactive",2],{"project-45857312":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":34,"aspects":35,"strip":39,"post_text":41,"what":42,"said":63,"maker_in_thread":107,"shape":118,"grid":122,"attempts":135,"same_week":136,"maker_shows":32,"maker_hidden":165,"reader_version":166,"card":167},"45857312","httpmorph","An HTTP client that perfectly mimics Chrome 142","title","Show HN: I built an HTTP client that perfectly mimics Chrome 142","https:\u002F\u002Fgithub.com\u002Farman-bd\u002Fhttpmorph","github.com","armanified",1762615704,2025,39,6,1454,3837,38,"shown","dev_tools","http client","library",[21,24,25,26,27],"browser fingerprint","ja3 fingerprint","cloudflare bypass","http\u002F2","quiet",null,{"positive":31,"neutral":32,"mixed":33,"critical":33},1,2,0,3,{"execution":36,"docs":37,"idea":38},{"positive":33,"critical":33},{"positive":33,"critical":33},{"positive":31,"critical":33},[34,33,34,33,40,33],5,"BoringSSL and nghttp2. Matches JA3N, JA4, and JA4_R fingerprints. Supports HTTP\u002F2, async\u002Fawait, and works with Cloudflare-protected sites. Not trying to compete with curl_cffi - just a learning project that turned into something functional.",{"problem":43,"audience":29,"pricing":29,"motivation":49,"time_to_build":29,"stack":53,"openness":62,"stage":62,"team_size":62},{"value":44,"source":45,"evidence":46},"Making HTTP requests that look like Chrome to fingerprint-based bot detection, e.g. Cloudflare-protected sites","maker",[47],{"id":48},"post",{"value":50,"source":45,"evidence":51},"A learning project that turned into something functional; not trying to compete with curl_cffi",[52],{"id":48},[54,58],{"value":55,"source":45,"evidence":56},"BoringSSL",[57],{"id":48},{"value":59,"source":45,"evidence":60},"nghttp2",[61],{"id":48},"unknown",{"praise":64,"objections":65,"requests":81,"questions":89,"alternatives":98},[],[66,74],{"value":67,"source":68,"evidence":69},"Old browser-impersonation projects like curl-impersonate are rarely maintained, so keeping up is a concern","commenter",[70],{"id":71,"by":72,"text":73},"45862958","supriyo-biswas","Is there a plan to keep this updated? There are a number of projects like curl-impersonate[1] and the like, but these are rarely updated any more. OTOH, I'm curious if people are…",{"value":75,"source":68,"evidence":76},"Documentation seems LLM-generated",[77],{"id":78,"by":79,"text":80},"45868235","fcpk","The doc seems very llm-generated. not a criticism but curious to know how much of the code was LLM produced?",[82],{"value":83,"source":68,"evidence":84},"A JS\u002FTS version of the tool",[85],{"id":86,"by":87,"text":88},"45864375","falleng0d","Im looking for something similar for a JS\u002FTS script",[90,94],{"value":91,"source":68,"evidence":92},"Is there a plan to keep it updated?",[93],{"id":71,"by":72,"text":73},{"value":95,"source":68,"evidence":96},"How much of the code was LLM-produced?",[97],{"id":78,"by":79,"text":80},[99,103],{"value":100,"source":68,"evidence":101},"curl-impersonate",[102],{"id":71,"by":72,"text":73},{"value":104,"source":45,"evidence":105},"curl_cffi",[106],{"id":48},{"comments":34,"answered":32,"key":108},[109,112,115],{"id":110,"text":111},"45865110","Fair concern. Most of these projects are abandoned because keeping up with major browsers' changes is exhausting. I genuinely want to maintain this and plan to update it with…",{"id":113,"text":114},"45868691","A lot was generated with LLM, but not vibe-coded. I have a clear expectation and project plan.",{"id":116,"text":117},"45865117","JS\u002FTS could actually be my next venture! Would love to hear about your use case to help prioritize features if I build it out.",{"commenters":119,"max_depth":32,"maker_replies":34,"first_comment_mins":120,"lifespan_hours":121},4,796,29,[123,125,127,129,131,133],[71,33,34,124,72,33],"project\u002Fneutral\u002Fexecution",[110,33,33,126,11,31],"maker\u002Fpositive\u002Fexecution",[78,31,34,128,79,33],"maker\u002Fneutral\u002Fdocs",[113,31,33,130,11,31],"maker\u002Fneutral\u002Fexecution",[86,32,40,132,87,33],"project\u002Fpositive\u002Fidea",[116,32,33,134,11,31],"maker\u002Fneutral\u002Fidea",[],[137,142,147,152,157,161],{"id":138,"name":139,"points":140,"category":141},"45900425","I built a synth for my daughter",1278,"creative",{"id":143,"name":144,"points":145,"category":146},"45838592","What Is Hacker News Working On?",229,"learning_science",{"id":148,"name":149,"points":150,"category":151},"45891066","Unflip",184,"games",{"id":153,"name":154,"points":155,"category":156},"45876742","Tiny Diffusion",172,"ai",{"id":158,"name":159,"points":160,"category":20},"45833811","qqqa",165,{"id":162,"name":163,"points":164,"category":151},"45887709","Gametje",112,false,"v2",{"id":168,"name":5,"line":6,"ai":165,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":29,"top":18,"kw":169,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":170,"url":9,"mix":171,"praise":-1,"objection":67,"sub":21},45857312,[21,24,25,26,27],"303050",[31,32,33,33],1793991133863]