HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
kuba
simp_le
Python2015–2016
kuba / simp_le

simp_le

Simple Let's Encrypt Client

8Distinct people
10Mentions
0Explicit recommenders
877GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Simple Let's Encrypt Client

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by week10 dated mentions

Observed mentions: 2015-12-03 19:40:30 UTC to 2016-05-16 15:22:58 UTC. Weeks start Monday, UTC.

0123452015-11-30 00:00:00 UTC to 2015-12-07 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 commentsNov 302015-12-07 00:00:00 UTC to 2015-12-14 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2015-12-14 00:00:00 UTC to 2015-12-21 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2015-12-21 00:00:00 UTC to 2015-12-28 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2015-12-28 00:00:00 UTC to 2016-01-04 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-01-04 00:00:00 UTC to 2016-01-11 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-01-11 00:00:00 UTC to 2016-01-18 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-01-18 00:00:00 UTC to 2016-01-25 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-01-25 00:00:00 UTC to 2016-02-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2016-02-01 00:00:00 UTC to 2016-02-08 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-02-08 00:00:00 UTC to 2016-02-15 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-02-15 00:00:00 UTC to 2016-02-22 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2016-02-22 00:00:00 UTC to 2016-02-29 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsFeb 222016-02-29 00:00:00 UTC to 2016-03-07 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-03-07 00:00:00 UTC to 2016-03-14 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-03-14 00:00:00 UTC to 2016-03-21 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-03-21 00:00:00 UTC to 2016-03-28 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-03-28 00:00:00 UTC to 2016-04-04 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-04-04 00:00:00 UTC to 2016-04-11 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-04-11 00:00:00 UTC to 2016-04-18 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-04-18 00:00:00 UTC to 2016-04-25 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-04-25 00:00:00 UTC to 2016-05-02 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-05-02 00:00:00 UTC to 2016-05-09 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-05-09 00:00:00 UTC to 2016-05-16 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-05-16 00:00:00 UTC to 2016-05-23 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsMay 16

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Nov 302015-11-30 00:00:00 UTC2015-12-07 00:00:00 UTC505
Dec 72015-12-07 00:00:00 UTC2015-12-14 00:00:00 UTC000
Dec 142015-12-14 00:00:00 UTC2015-12-21 00:00:00 UTC000
Dec 212015-12-21 00:00:00 UTC2015-12-28 00:00:00 UTC101
Dec 282015-12-28 00:00:00 UTC2016-01-04 00:00:00 UTC000
Jan 42016-01-04 00:00:00 UTC2016-01-11 00:00:00 UTC000
Jan 112016-01-11 00:00:00 UTC2016-01-18 00:00:00 UTC000
Jan 182016-01-18 00:00:00 UTC2016-01-25 00:00:00 UTC000
Jan 252016-01-25 00:00:00 UTC2016-02-01 00:00:00 UTC101
Feb 12016-02-01 00:00:00 UTC2016-02-08 00:00:00 UTC000
Feb 82016-02-08 00:00:00 UTC2016-02-15 00:00:00 UTC000
Feb 152016-02-15 00:00:00 UTC2016-02-22 00:00:00 UTC202
Feb 222016-02-22 00:00:00 UTC2016-02-29 00:00:00 UTC000
Feb 292016-02-29 00:00:00 UTC2016-03-07 00:00:00 UTC000
Mar 72016-03-07 00:00:00 UTC2016-03-14 00:00:00 UTC000
Mar 142016-03-14 00:00:00 UTC2016-03-21 00:00:00 UTC000
Mar 212016-03-21 00:00:00 UTC2016-03-28 00:00:00 UTC000
Mar 282016-03-28 00:00:00 UTC2016-04-04 00:00:00 UTC000
Apr 42016-04-04 00:00:00 UTC2016-04-11 00:00:00 UTC000
Apr 112016-04-11 00:00:00 UTC2016-04-18 00:00:00 UTC000
Apr 182016-04-18 00:00:00 UTC2016-04-25 00:00:00 UTC000
Apr 252016-04-25 00:00:00 UTC2016-05-02 00:00:00 UTC000
May 22016-05-02 00:00:00 UTC2016-05-09 00:00:00 UTC000
May 92016-05-09 00:00:00 UTC2016-05-16 00:00:00 UTC000
May 162016-05-16 00:00:00 UTC2016-05-23 00:00:00 UTC101

What Hacker News says

10 sources
Everyone's recommending their favourite alternative. Mine is simp_le[1], a very simple ACME python client. It only supports the http challenge. You can run it without root (I have a dedicated user generally), without stopping your webserver. You only need to allow write access to domain/.well-known/acme-challenge. Write a simple wrapper script and run it from cron. You get precisely the certificates needed for Apache or nginx. All that's left is to symlink them to the right spot. Let's Encrypt follows all redirects and ignores expired certificates so if you have multiple domains redirecting to one, you can get a certificate for all of them in one go even if your certificate expired. You can create a SAN certificate or multiple certificates in whatever constellation you like. SSL bliss. [1] https://github.com/kuba/simp_le
In Taking Let's Encrypt for a Spin
In case anyone is looking for an actual cronjob example. This works wonderfully: #!/bin/bash cd /srv/cert/domain.xyz simp_le -d domain.xyz:/srv/www/domain.xyz/html \ -f key.pem -f cert.pem -f fullchain.pem \ && service apache2 reload And in the crontab: 43 1 * * * /srv/bin/cert-renew || true EDIT: This is using the simp_le client (https://github.com/kuba/simp_le), not the official client. But this one is wayy easier to use. EDIT 2: Guide here: https://blog.philippheckel.com/2015/12/04/lets-encrypt-5-min...
In Entering Public Beta
The primary difference is in the underlying philosophy. I encourage everyone to read the manifest from the main project site [0]. Most of the points are counteracting bad design decisions (IMO) made in the official client. In general, official client tries to do too many things at once. In the result, the code base is huge -- too big to be easily audited; it's also proven that it's likely to have a lot more bugs. On a similar note, letsencrypt-auto, the default installation method, pulls in Apache plugin with all of its dependencies. And so on, and so forth... At the same time standard modes of operation are well hidden and/or difficult to configure. For instance, running the official client without root is technically possible, but let me know how much time it took you to figure this out ;). Likewise, scripting is pretty much impossible,
Read the rest
because the CLI tends to ask interactive questions... "webroot" plugin is probably the only plugin that could be made into non-interactive mode, and again you have to be knowledgeable enough to figure out all necessary flags. simp_le tries to takes the best from the official client ("webroot" plugin -- not stealing, I authored that plugin myself) and adds some missing features that IMO should be the standard. E.g. you can just just put `simp_le --some --flags && this_command_will_be_run_only_if_cert_was_renewed_eg_restart_nginx` into your crontab -- this mode of operation is simply not possible with the official client. NB You can also turn simp_le into a standalone binary (~8MB) using built-in PyInstaller setup [1] and distribute to your machines without having to install any dependencies (even Python) :) I hope that answers your question. You can also catch me on #letsencrypt, or better yet #simp_le (both at Freenode). [0] https://github.com/kuba/simp_le#manifest [1] https://github.com/kuba/simp_le/tree/master/pyi
In Entering Public Beta

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.