HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
go-acme
lego
Go2015–2026
go-acme / lego

lego

Let's Encrypt/ACME client and library written in Go

38Distinct people
48Mentions
1Explicit recommenders
10KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Let's Encrypt/ACME client and library written in Go

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

Just wanted to jump on this for Caddy users [1]: > Until further notice, when starting Caddy, we recommend using the '-disable-tls-sni-challenge' flag. This will require either…

mholt used a recommendation phrase. One indexed comment matches. This is a phrase match, not a verdict.

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

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 6:01:32 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 year48 dated mentions

Observed mentions: 2015-10-20 04:08:53 UTC to 2026-05-25 19:29:15 UTC.

0510152015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 5 mentions; 1 submissions, 4 comments20152016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 15 mentions; 0 submissions, 15 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

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
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC514
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC15015
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC101
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC303
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC202
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC202
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC303
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC202
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC505
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC505
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC202
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC312

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
Automatic Certificates and HTTPS for everyone. Lego ACME client and library for Let's Encrypt and other ACME CAs written in Go. lego is an independent, free, and open-source project, if you value it, consider supporting it! ❤️ Everybody thinks that the others will donate, but in the end, nobody does. So if you think that lego is worth it, please consider donating. Features ACME v2 RFC 8555 Support RFC 8737: TLS Application‑Layer Protocol Negotiation (ALPN) Challenge Extension Support RFC 8738: certificates for IP addresses Support RFC 9773: Renewal Information (ARI) Extension Support draft-ietf-acme-profiles-00: Profiles Extension Support draft-ietf-acme-dns-persist-01: Challenge for Persistent DNS TXT Record Validation Comes with more than 200 DNS providers Register with CA Obtain certificates, both from scratch or with an existing CSR Renew certificates Revoke certificates Robust implementation of ACME challenges: HTTP (http-01) DNS (dns-01) TLS (tls-alpn-01) SAN certificate support CNAME support by default Custom challenge solvers Certificate bundling OCSP helper function Installation How to install. Usage as a CLI as a library Documentation Documentation is hosted live at https://go-acme.github.io/lego/. DNS providers Detailed documentation is available here. If your DNS provider is not supported, please open an issue. 1cloud.ru 35.com/三五互联 51DNS Abion Active24 Akamai EdgeDNS Alibaba Cloud DNS AlibabaCloud ESA all-inkl Alwaysdata Amazon Lightsail Amazon Route 53 Anexia CloudDNS ANS SafeDNS ArtFiles ArvanCloud Aurora DNS Autodns Axelname Azion Azure DNS Baidu Cloud Beget.com Binary Lane Bindman Bluecat Bluecat v2 BookMyName Bunny Checkdomain Civo Cloud.ru CloudDNS Cloudflare ClouDNS CloudPress Com Laude Connbyte ConoHa v2 ConoHa v3 Constellix Core-Networks CPanel/WHM Curanet Czechia DanDomain DDnss (DynDNS Service) Derak Cloud deSEC.io Designate DNSaaS for Openstack Digital Ocean Dinahosting DirectAdmin DNS Made Easy DNS Update (RFC2136) dns.la DNS.services DNScale DNSExit dnsHome.de DNSimple DNSMint Domain Offensive (do.de) Domeneshop DreamHost Duck DNS Dyn Dynadot DynDnsFree.de Dynu EasyDNS EdgeCenter Efficient IP Epik EuroDNS EUserv Excedo Exoscale External program F5 XC FENO Fornex freemyip.com FusionLayer NameSurfer G-Core Gandi Gandi Live DNS (v5) Gehirn Gigahost.no Glesys Gname Go Daddy (DEPRECATED) Go Daddy (v3) Google Cloud Gravity Hetzner Hosting.de Hosting.nl Hostinger Hosttech HostUp HTTP request http.net Huawei Cloud Hurricane Electric DNS HyperOne IBM Cloud (SoftLayer) IIJ DNS Platform Service Infoblox Infomaniak Internet.bs INWX Ionos Ionos Cloud IPv64 ISPConfig 3 ISPConfig 3 - Dynamic DNS (DDNS) Module JD Cloud Joker Joohoi's ACME-DNS Katapult KeyHelp Leaseweb Liara Lima-City Linode (v4) Liquid Web Loopia LuaDNS Mail-in-a-Box ManageEngine CloudDNS Manual Metaname Metaregistrar mijn.host Mittwald myaddr.{tools,dev,io} MyDNS.jp Myra MythicBeasts Name.com Namecheap Namesilo NearlyFreeSpeech.NET NederHost Neodigit Netcup (Legacy API) Netcup v1 Netlify Netnod NexDNS Ngenix Nicmanager NIFCloud Njalla Nodion NordName NS1 Octenium omg.lol Online.net Open Telekom Cloud Openprovider OpusDNS Oracle Cloud OVH plesk.com PointDNS/PointHQ Porkbun Poweradmin PowerDNS PrimeDNS Rackspace Rage4 Rain Yun/雨云 RcodeZero reg.ru Regfish RimuHosting RU CENTER Sakura Cloud Scaleway ScanNet Selectel Selectel v2 SelfHost.(de|eu) SelfHost.(de|eu) (DEPRECATED) Servercow Shellrent Simply.com Sonic Spaceship Stackpath (Deprecated) Syse Technitium Tele3 Tencent Cloud DNS Tencent EdgeOne Timeweb Cloud TodayNIC/时代互联 TransIP UCloud Ultradns United-Domains Variomedia Veesp VegaDNS Vercel Versio.[nl|eu|uk] VinylDNS Virtualname VK Cloud Volcano Engine/火山引擎 Vscale Vultr Wannafind Webglobe webnames.ca webnames.ru Websupport WEDOS West.cn/西部数码 Xinnet Yandex 360 Yandex Cloud Yandex PDD Zilore Zone.ee ZoneEdit Zonomi If your DNS provider is not supported, please open an issue.
Read the full README on GitHub

What Hacker News says

15 sources
FWIW, both of these issues are acme-tiny-specific quirks. The protocol allows clients to handle both intermediate certificate changes and ToS updates without any user interaction (and without breaking renewal). These things were not implemented in acme-tiny in order to keep the LOC count low from what I can tell. I tend to recommend lego[1] to anyone needing a high-quality ACME client without certbot's complex auto-configuration features. Might be what you're looking for. It's written in go and can be installed by fetching a single binary. [1]: https://github.com/xenolf/lego
In Let's Automate Let's Encrypt
This new name and website are a big improvement to the branding of the client, and make it clear that this client is not a requirement for getting a certificate from Let's Encrypt. It was very difficult to explain to people learning about it that there is a difference between: 1. Let's Encrypt, the certificate authority 2. ACME, the protocol for users to interact with Let's Encrypt 3. Boulder, an implementation of an ACME server in Go that Let's Encrypt uses 4. Certbot (formerly the Let's Encrypt client), a command line client and ACME library for Python, originally developed by the Let's Encrypt team Any CA can use ACME to offer automated certificate issuance to their users. Anyone can implement an ACME server or client in any language. There is no "official" client or server necessary. It's also important that Certbot was rebranded to d
Read the rest
istance it from Let's Encrypt because, personally, I think the project is doomed to fail. It tries to handle both certificate issuance and configuration of software using certificates. It attempts to abstract the process for someone who barely understands what certificates/SSL/TLS are (if at all), but requires so much detail from them in order to configure and run the client that they might well have just learned how it worked in the first place. In other words, Certbot's use case targets laymen, but requires non-layman understanding to use. It doesn't help that their documentation is very badly organized and confusing, often mixing content for the CLI and the Python Library, which have different audiences: end users and developers building an automated tool in Python. Meanwhile, intermediate and advanced developers and system administrators who understand the concepts are much better served by a different client that simply takes care of certificate issuance without trying to automatically manage the software they will be using the certificate with. There are many, but so far I've been happy with Lego (https://github.com/xenolf/lego).
In Announcing Certbot: EFF's Client for Let's Encrypt
I'm not sure if, conceptually, the term "official client" is still appropriate after the project is moved to the EFF and the rename is done. It's basically a move to ensure a vibrant client ecosystem which encourages users to pick the client that best fits their needs. If you're looking for a Go client, lego[1] is awesome. [1]: https://github.com/xenolf/lego
In Leaving Beta, New Sponsors

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.