[{"data":1,"prerenderedAt":367},["ShallowReactive",2],{"project-10676685":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":46,"what":47,"said":93,"maker_in_thread":184,"shape":194,"grid":199,"attempts":329,"same_week":330,"maker_shows":185,"maker_hidden":359,"reader_version":360,"card":361},"10676685","Acme-tiny","A tiny 200-line Let's Encrypt client","title","Show HN: Acme-tiny, a tiny 200-line Let's Encrypt client","https:\u002F\u002Fgithub.com\u002Fdiafygi\u002Facme-tiny","github.com","diafygi",1449241840,2015,280,51,58,2565,3,"legend","infrastructure","certificate management","cli",[24,25,26,27,28],"let's encrypt","ssl certificate","acme client","https","python","mixed",0.289,{"positive":32,"neutral":33,"mixed":34,"critical":35},8,5,4,2,19,{"idea":38,"privacy":40,"execution":41,"docs":42,"design":43},{"positive":35,"critical":39},0,{"positive":39,"critical":35},{"positive":35,"critical":39},{"positive":39,"critical":39},{"positive":44,"critical":39},1,[33,39,39,39,39,33,39,18,44,39,39,39,18,39,18,39,18,39,18,18,39,33,44,39,39,39,39,33,33,39,39,18,33,33,39,33,39,39,39,39],null,{"problem":48,"audience":64,"pricing":46,"motivation":73,"time_to_build":46,"stack":80,"openness":90,"stage":91,"team_size":92},{"value":49,"source":50,"evidence":51},"Getting and renewing Let's Encrypt SSL certificates without a heavy client.","commenter",[52,56,60],{"id":53,"by":54,"text":55},"10676955","a2tech","I set this up yesterday and it worked great. I went from a blank slate on lets encrypt, to deployed SSL cert in less than an hour. Most of the time was spent discovering that 1)…",{"id":57,"by":58,"text":59},"10680396","andmarios","I think this is a nice option. I gave it a try —and read the source code. :) I opted for acmetool[1] though, which albeit much larger (and thus much more difficult to verify), is…",{"id":61,"by":62,"text":63},"10679204","treeform","I have just used this script and it worked great. I used the lets encrypt normal client and it felt very bloated for me: virtual env, docker, tons of dependences. I hope lets…",{"value":65,"source":66,"evidence":67},"Server administrators wanting simple HTTPS certificate setup.","inferred",[68,69],{"id":53,"by":54,"text":55},{"id":70,"by":71,"text":72},"10677176","lemming","Thanks for this, diafygi. I set this up this afternoon with Ansible, and it's working really well. Very nice indeed.",{"value":74,"source":75,"evidence":76},"Built as a simpler alternative to heavy clients; made because people asked to automate letsencrypt-nosudo.","maker",[77],{"id":78,"by":11,"text":79},"10677069","Yep, I wrote both. The difference is that letsencrypt-nosudo doesn't have access to your private user account key, so you need to manually sign the requests. Acme-tiny does have…",[81],{"value":82,"source":75,"evidence":83},"Python",[84,87],{"id":85,"by":11,"text":86},"10677100","Would love for feedback on how to make this script python 2.6 compatible! https:\u002F\u002Fgithub.com\u002Fdiafygi\u002Facme-tiny\u002Fissues\u002F9",{"id":88,"by":11,"text":89},"10677304","This uses the default ssl verification in whatever version of python you have. Even though all API requests use public key signing (so nothing really private is ever sent), if…","open_source","launched","solo",{"praise":94,"objections":110,"requests":133,"questions":152,"alternatives":157},[95,105],{"value":96,"source":50,"evidence":97},"Simple and easy to set up",[98,99,103,104],{"id":53,"by":54,"text":55},{"id":100,"by":101,"text":102},"10677564","anebg","Just stopping by to say thanks. I used this yesterday and it worked great -- simplicity wins.",{"id":61,"by":62,"text":63},{"id":70,"by":71,"text":72},{"value":106,"source":50,"evidence":107},"Lightweight compared to the official client",[108,109],{"id":61,"by":62,"text":63},{"id":57,"by":58,"text":59},[111,122],{"value":112,"source":50,"evidence":113},"Does not verify HTTPS certificates on older Python versions",[114,118],{"id":115,"by":116,"text":117},"10677562","kingkilr","Please be careful using urllib2, unless you are on Python 2.7.10+ or 3.5+ it does not do HTTPS certificate validation.",{"id":119,"by":120,"text":121},"10677273","dochtman","This is awesome! I have had a Let's Encrypt private beta email sitting in my email for a while, but didn't want to install the client because it has so many dependencies. Are you…",{"value":123,"source":50,"evidence":124},"Dropping Python 2.6 support is preferred",[125,129],{"id":126,"by":127,"text":128},"10678514","kevin_thibedeau","I think it would be better to let 2.6 wither on the vine. Everyone is supposed to be migrating to 3.x. Supporting defunct 2.x series with new code doesn't help matters. Anyone so…",{"id":130,"by":131,"text":132},"10680080","derelk","Agreed. 2.6 is was EOLed over 2 years ago and is consequently already missing significant security patches (e.g. CVE-2014-1912). I think it's unnecessary and maybe even unwise to…",[134,138,146],{"value":135,"source":50,"evidence":136},"Python 2.6 compatibility",[137],{"id":85,"by":11,"text":86},{"value":139,"source":50,"evidence":140},"Better docs on file permissions and directory setup",[141,145],{"id":142,"by":143,"text":144},"10677502","M4v3R","I used it as well yesterday and it worked very well! The only thing that could be probably explained better is how to set up file permissions for the renew script, I had to do…",{"id":53,"by":54,"text":55},{"value":147,"source":75,"evidence":148},"Hardware key support such as yubikey",[149],{"id":150,"by":11,"text":151},"10676939","Fun fact. There's really nothing stopping you from using a PGP\u002Fsmartcard\u002FHSM keypairs for the ACME account key. Would love to see someone adapt this or another client to use a…",[153],{"value":154,"source":50,"evidence":155},"Is the client doing proper SSL verification across Python versions",[156],{"id":119,"by":120,"text":121},[158,169,176,180],{"value":159,"source":50,"evidence":160},"letsencrypt-nosudo",[161,165],{"id":162,"by":163,"text":164},"10677024","Socketubs","Very close to https:\u002F\u002Fgithub.com\u002Fdiafygi\u002Fletsencrypt-nosudo",{"id":166,"by":167,"text":168},"10677780","AndyMcConachie","Thanks for making this and letsencrypt-nosudo!!! I used letsencrypt-nosudo and it worked like a charm. Frankly, this kinda thing is what I expected from Let's Encrypt and was…",{"value":170,"source":50,"evidence":171},"simp_le",[172],{"id":173,"by":174,"text":175},"10678649","wiml","Also along these lines is https:\u002F\u002Fgithub.com\u002Fkuba\u002Fsimp_le , which is quite a lot larger than acme-tiny, but still much closer to something I'd want to stick in a crontab.",{"value":177,"source":50,"evidence":178},"acmetool",[179],{"id":57,"by":58,"text":59},{"value":181,"source":50,"evidence":182},"Caddy server",[183],{"id":57,"by":58,"text":59},{"comments":185,"answered":44,"key":186},7,[187,188,191],{"id":150,"text":151},{"id":189,"text":190},"10677910","No, thank you for using https!",{"id":192,"text":193},"10677698","Indeed. However, it's important to note that even if someone does MITM letsencrypt.org, they only see your public key and CSR. The private keys never get sent over the wire, so…",{"commenters":195,"max_depth":196,"maker_replies":185,"first_comment_mins":197,"lifespan_hours":198},36,6,39,95,[200,204,208,211,213,215,219,221,222,223,226,228,230,233,236,239,241,244,246,248,250,252,253,254,255,258,259,263,266,269,271,274,276,279,281,283,285,290,293,296,298,299,302,306,308,313,317,320,322,325,327],[201,39,33,202,203,39],"10678051","project\u002Fpositive\u002Fidea","macns",[205,39,39,206,207,39],"10678159","commenter\u002Fneutral\u002Fnone","Killswitch",[209,39,39,206,210,39],"10678469","ybx",[212,39,39,206,207,39],"10679139",[150,44,39,214,11,44],"project\u002Fneutral\u002Fidea",[216,44,39,217,218,39],"10677545","other\u002Fneutral\u002Fnone","mtgx",[166,44,33,220,167,39],"maker\u002Fpositive\u002Fnone",[189,44,39,220,11,44],[173,35,18,214,174,39],[224,35,39,206,225,39],"10680497","binwiederhier",[115,18,44,227,116,39],"project\u002Fcritical\u002Fprivacy",[192,18,39,229,11,44],"project\u002Fneutral\u002Fprivacy",[231,18,39,232,167,39],"10677756","commenter\u002Fneutral\u002Fprivacy",[234,18,39,232,235,39],"10678557","ctz",[237,18,39,232,238,39],"10678923","geertj",[57,34,18,240,58,39],"project\u002Fmixed\u002Fexecution",[242,34,39,206,243,39],"10693678","mholt",[245,34,39,206,58,39],"10696375",[53,33,18,247,54,39],"project\u002Fmixed\u002Fdocs",[85,33,39,249,11,44],"maker\u002Fneutral\u002Fnone",[126,33,18,251,127,39],"project\u002Fneutral\u002Fnone",[130,33,39,206,131,39],[142,33,18,247,143,39],[162,196,18,214,163,39],[256,196,18,251,257,39],"10677046","dsr_",[78,196,39,214,11,44],[260,196,33,261,262,39],"10677425","maker\u002Fpositive\u002Fidea","brightball",[264,185,18,240,265,39],"10677443","jo909",[267,185,44,227,268,39],"10677613","alexchamberlain",[270,185,39,232,265,39],"10677962",[272,185,39,232,273,39],"10678754","nandhp",[275,185,39,232,268,39],"10678982",[277,185,39,206,278,39],"10678098","JoshTriplett",[280,185,39,206,265,39],"10679876",[70,32,33,282,71,39],"project\u002Fpositive\u002Fexecution",[61,284,33,282,62,39],9,[286,287,39,288,289,39],"10679405",10,"other\u002Fneutral\u002Fprivacy","ilaksh",[291,287,39,288,292,39],"10679432","dewey",[294,287,39,288,295,39],"10680909","nly",[119,297,18,229,120,39],11,[88,297,39,229,11,44],[100,300,33,301,101,39],12,"project\u002Fpositive\u002Fdesign",[303,304,33,220,305,39],"10677256",13,"jc4p",[307,304,39,249,11,44],"10677285",[309,310,33,311,312,39],"10677248",14,"project\u002Fpositive\u002Fnone","teamhappy",[314,315,39,217,316,39],"10677467",15,"SixSigma",[318,315,39,217,319,39],"10677915","mekaj",[321,315,39,217,316,39],"10678421",[323,315,39,217,324,39],"10678540","mikeash",[326,315,39,217,316,39],"10679083",[328,315,39,217,324,39],"10679306",[],[331,336,341,345,350,354],{"id":332,"name":333,"points":334,"category":335},"10706203","Jukedeck",410,"creative",{"id":337,"name":338,"points":339,"category":340},"10690834","Lasergist.com",211,"web_saas",{"id":342,"name":343,"points":344,"category":20},"10685946","Nchan",149,{"id":346,"name":347,"points":348,"category":349},"10703851","Adblock to Bitcoin",128,"security_privacy",{"id":351,"name":352,"points":353,"category":349},"10682971","Lego",93,{"id":355,"name":356,"points":357,"category":358},"10687288","Braindump",91,"productivity",false,"v2",{"id":362,"name":5,"line":6,"ai":359,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":363,"top":18,"kw":364,"maker":11,"domain":10,"tier":19,"attempts":39,"strip":365,"url":9,"mix":366,"praise":96,"objection":112,"sub":21},10676685,0.29,[24,25,26,27,28],"5000050310003030303305100005500355050000",[32,33,34,35],1794036538270]