[{"data":1,"prerenderedAt":384},["ShallowReactive",2],{"project-10709678":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":43,"post_text":44,"what":45,"said":82,"maker_in_thread":178,"shape":190,"grid":194,"attempts":345,"same_week":346,"maker_shows":39,"maker_hidden":376,"reader_version":377,"card":378},"10709678","Lescript","Simple PHP client library for Let's encrypt","title","Show HN: Lescript – Simple PHP client library for Let's encrypt","https:\u002F\u002Fgithub.com\u002Fanalogic\u002Flescript","github.com","efesak2",1449738479,2015,96,68,255,2565,10,"notable","infrastructure","ssl certificate automation","library",[24,25,26,27],"php","let's encrypt","ssl certificate","acme client","curious",0.078,{"positive":31,"neutral":32,"mixed":33,"critical":34},5,9,0,3,17,{"execution":37,"design":40,"idea":41,"docs":42},{"positive":38,"critical":39},1,2,{"positive":38,"critical":33},{"positive":33,"critical":33},{"positive":33,"critical":38},[31,38,33,33,33,33,33,33,31,33,33,33,33,33,33,34,34,33,33,33,33,33,33,31,33,34,34,33,38,33,33,31,34,34,33,34,33,33,38,31],null,{"problem":46,"audience":58,"pricing":44,"motivation":66,"time_to_build":44,"stack":73,"openness":79,"stage":80,"team_size":81},{"value":47,"source":48,"evidence":49},"Automating Let's Encrypt certificate issuance from PHP without installing dependencies","commenter",[50,54],{"id":51,"by":52,"text":53},"10710191","degenerate","\"99% of sane PHP\" is not the audience here. There are millions and millions of shared hosting accounts running basic cPanel + PHP + some minimal form of SSH access - those are…",{"id":55,"by":56,"text":57},"10710086","TazeTSchnitzel","Also maybe a namespace. I doubt they're the only person to have ever made a class called `\\Client` :) http:\u002F\u002Fphptherightway.com\u002F Though I notice that the README states \"[i]ts…",{"value":59,"source":48,"evidence":60},"PHP developers and shared-hosting users who cannot install packages",[61,62],{"id":51,"by":52,"text":53},{"id":63,"by":64,"text":65},"10710712","Killswitch","$5\u002Fmo shared hosting plan where you're walled and can't do anything you want, or $5\u002Fmo VPS at Digital Ocean where you have SSH enabled by default and can install anything you…",{"value":67,"source":68,"evidence":69},"Needed Let's Encrypt support for poste.io, so the library was written for that integration","maker",[70],{"id":71,"by":11,"text":72},"10709853","Is it problem? I am author of poste.io too. Edit: To be precise lescript.php was developed only and because of LE implementation to Poste.io",[74],{"value":75,"source":68,"evidence":76},"PHP",[77],{"id":78},"post","open_source","launched","unknown",{"praise":83,"objections":100,"requests":130,"questions":150,"alternatives":166},[84,92],{"value":85,"source":48,"evidence":86},"Clean, self-contained code with no dependencies",[87,91],{"id":88,"by":89,"text":90},"10710713","ewams","Thanks, nice looking code that is pretty darn clean. It is always refreshing to see an application that is as self contained as possible without all the multitude of required…",{"id":51,"by":52,"text":53},{"value":93,"source":48,"evidence":94},"Single file is simple to drop onto shared hosting",[95,99],{"id":96,"by":97,"text":98},"10710159","3dfan","Hell, no! A single PHP file is the perfect solution to this. Call it from \u002Fetc\u002Fcrontab and you are done. I hate overladen projects on GitHub with all kinds of fluff. A single…",{"id":51,"by":52,"text":53},[101,116,123],{"value":102,"source":48,"evidence":103},"Should be distributed via Composer",[104,108,112],{"id":105,"by":106,"text":107},"10710073","jnardiello","Mate, seriously, use composer and packagist.",{"id":109,"by":110,"text":111},"10710332","Navarr","It requires at least two PHP files. One that ACTUALLY DOES WHAT YOU WANT and the library files. Since you have to write a new PHP file anyway, composer allows you to pull in the…",{"id":113,"by":114,"text":115},"10712085","debaserab2","Pull request with composer added here: https:\u002F\u002Fgithub.com\u002Fanalogic\u002Flescript\u002Fpull\u002F5 Hopefully the author sees it",{"value":117,"source":48,"evidence":118},"Lacks namespace and type declarations",[119,120],{"id":55,"by":56,"text":57},{"id":121,"by":56,"text":122},"10710085","> public function signDomains($domains) Should this have an `array` type declaration? You used it on another function.",{"value":124,"source":48,"evidence":125},"Existing kelunik\u002Facme library is more robust",[126],{"id":127,"by":128,"text":129},"10709985","adolfoabegg","From README: If you prefer more robust and clean library see excellent https:\u002F\u002Fgithub.com\u002Fkelunik\u002Facme",[131,136,143],{"value":132,"source":48,"evidence":133},"Add Composer support",[134,135],{"id":105,"by":106,"text":107},{"id":113,"by":114,"text":115},{"value":137,"source":48,"evidence":138},"Add a namespace",[139,140],{"id":55,"by":56,"text":57},{"id":141,"by":106,"text":142},"10710135","If the target audience are those developers manually including everything, then it's not a package for me. Using composer is completely unrelated to having (or rather not)…",{"value":144,"source":48,"evidence":145},"Add certificate renewal function",[146],{"id":147,"by":148,"text":149},"10710560","c_prompt","How is this used to renew? I don't see a function related to renewals.",[151,159],{"value":152,"source":48,"evidence":153},"How is renewal handled",[154,155],{"id":147,"by":148,"text":149},{"id":156,"by":157,"text":158},"10710851","dangrossman","What would be the difference between \"renewing\" and running the script twice? There's no distinction made when I buy certificates from another CA.",{"value":160,"source":48,"evidence":161},"What is Let's Encrypt and why change code",[162],{"id":163,"by":164,"text":165},"10710011","Kiro","What is Let's encrypt exactly? I thought it was just free SSL so why do I need to touch my code at all?",[167,172],{"value":168,"source":48,"evidence":169},"kelunik\u002Facme",[170,171],{"id":127,"by":128,"text":129},{"id":55,"by":56,"text":57},{"value":173,"source":48,"evidence":174},"letsencrypt.sh",[175],{"id":176,"by":11,"text":177},"10709940","Actually there is single bash file client https:\u002F\u002Fgithub.com\u002Flukas2511\u002Fletsencrypt.sh :)",{"comments":179,"answered":38,"key":180},6,[181,184,187],{"id":182,"text":183},"10710284","Composer is awesome, but this is not a package ready to use! (at least not now). Valid point for namespace.",{"id":185,"text":186},"10716293","DONE :)",{"id":188,"text":189},"10710006","Huge obstacle from using kelunik lib is PHP7 and need of external libraries.",{"commenters":191,"max_depth":32,"maker_replies":179,"first_comment_mins":192,"lifespan_hours":193},32,61,53,[195,197,199,201,205,206,208,211,213,215,217,218,220,222,226,229,232,234,238,240,242,244,247,249,251,253,256,260,262,264,266,268,271,273,275,277,279,282,284,286,288,290,291,293,295,296,298,299,300,302,304,306,309,310,312,314,317,320,323,324,325,327,330,333,338,339,342],[88,33,31,196,89,33],"project\u002Fpositive\u002Fexecution",[105,38,34,198,106,33],"project\u002Fneutral\u002Fexecution",[55,38,38,200,56,33],"project\u002Fcritical\u002Fexecution",[202,38,33,203,204,33],"10710122","commenter\u002Fneutral\u002Fnone","Raed667",[141,38,33,203,106,33],[182,38,33,207,11,38],"maker\u002Fneutral\u002Fnone",[209,38,33,203,210,33],"10710134","mschuster91",[212,38,33,203,106,33],"10710150",[51,38,33,214,52,33],"commenter\u002Fpositive\u002Fdesign",[216,38,33,203,210,33],"10710348",[63,38,33,203,64,33],[219,38,33,203,210,33],"10710722",[221,38,33,203,64,33],"10710792",[223,38,31,224,225,33],"10713306","project\u002Fpositive\u002Fnone","gravypod",[227,38,33,203,228,33],"10710483","aioprisan",[230,38,33,203,231,33],"10710530","blueflow",[233,38,33,203,210,33],"10710546",[235,38,33,236,237,33],"10710555","other\u002Fneutral\u002Fnone","ceejayoz",[239,38,33,236,210,33],"10710576",[241,38,33,203,114,33],"10710805",[243,38,33,203,210,33],"10711066",[245,38,33,203,246,33],"10711220","krapp",[248,38,33,203,114,33],"10712014",[250,38,33,203,228,33],"10716665",[252,38,33,203,246,33],"10710749",[254,38,34,198,255,33],"10711105","cfv",[257,38,34,258,259,33],"10712507","project\u002Fneutral\u002Fnone","jasonlotito",[261,38,33,203,210,33],"10710233",[263,38,33,203,246,33],"10710728",[265,38,33,203,114,33],"10710847",[267,38,33,203,210,33],"10710917",[269,38,33,203,270,33],"10711068","bluehazed",[272,38,33,203,210,33],"10711178",[274,38,33,203,246,33],"10711260",[276,38,33,203,114,33],"10711987",[278,38,33,203,255,33],"10711088",[280,38,33,203,281,33],"10711824","teh_klev",[283,38,33,203,259,33],"10712523",[96,38,31,285,97,33],"project\u002Fpositive\u002Fdesign",[287,38,33,203,106,33],"10710171",[289,38,33,203,97,33],"10710190",[109,38,34,198,110,33],[292,38,33,203,97,33],"10710378",[294,38,33,203,237,33],"10710574",[113,38,34,198,114,33],[185,38,33,297,11,38],"maker\u002Fneutral\u002Fexecution",[127,39,38,200,128,33],[188,39,33,207,11,38],[301,39,33,203,56,33],"10710304",[303,39,33,207,11,38],"10710343",[305,39,33,203,56,33],"10710515",[307,34,31,224,308,33],"10709918","sschueller",[176,34,33,207,11,38],[121,311,34,198,56,33],4,[163,31,34,313,164,33],"project\u002Fneutral\u002Fidea",[315,31,34,313,316,33],"10710042","Hytosys",[318,31,33,236,319,33],"10710102","onion2k",[321,31,33,203,322,33],"10710115","akerro",[147,179,34,198,148,33],[156,179,33,203,157,33],[326,179,33,236,148,33],"10710946",[328,179,33,203,329,33],"10711099","286c8cb04bda",[331,179,33,236,332,33],"10722794","cosecantt",[334,335,38,336,337,33],"10709843",7,"project\u002Fcritical\u002Fdocs","mei0Iesh",[71,335,33,207,11,38],[340,335,33,341,56,33],"10710094","commenter\u002Fneutral\u002Fdocs",[343,335,31,224,344,33],"10712787","Vendan",[],[347,352,357,362,366,371],{"id":348,"name":349,"points":350,"category":351},"10729068","FuckFuckAdblock",353,"security_privacy",{"id":353,"name":354,"points":355,"category":356},"10716798","Ponzi.es",332,"other",{"id":358,"name":359,"points":360,"category":361},"10722942","Cloudcraft",281,"dev_tools",{"id":363,"name":364,"points":365,"category":361},"10734724","TDB",144,{"id":367,"name":368,"points":369,"category":370},"10712327","Type'o'Shooter",143,"games",{"id":372,"name":373,"points":374,"category":375},"10711774","Swifty",108,"learning_science",false,"v2",{"id":379,"name":5,"line":6,"ai":376,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":380,"top":18,"kw":381,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":382,"url":9,"mix":383,"praise":85,"objection":102,"sub":21},10709678,0.08,[24,25,26,27],"5100000050000003300000050330100533030015",[31,32,33,34],1794036538472]