Lego
Let's Encrypt/ACME client and library written in Go
Install / Use
/learn @go-acme/LegoREADME
<div align="center">
<img alt="lego logo" src="./docs/static/images/lego-logo.min.svg">
<p>Automatic Certificates and HTTPS for everyone.</p>
</div>
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
- Comes with about 180 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
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.
<!-- START DNS PROVIDERS LIST --> <table><tr> <td><a href="https://go-acme.github.io/lego/dns/onecloudru/">1cloud.ru</a></td> <td><a href="https://go-acme.github.io/lego/dns/com35/">35.com/三五互联</a></td> <td><a href="https://go-acme.github.io/lego/dns/active24/">Active24</a></td> <td><a href="https://go-acme.github.io/lego/dns/edgedns/">Akamai EdgeDNS</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/alidns/">Alibaba Cloud DNS</a></td> <td><a href="https://go-acme.github.io/lego/dns/aliesa/">AlibabaCloud ESA</a></td> <td><a href="https://go-acme.github.io/lego/dns/allinkl/">all-inkl</a></td> <td><a href="https://go-acme.github.io/lego/dns/alwaysdata/">Alwaysdata</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/lightsail/">Amazon Lightsail</a></td> <td><a href="https://go-acme.github.io/lego/dns/route53/">Amazon Route 53</a></td> <td><a href="https://go-acme.github.io/lego/dns/anexia/">Anexia CloudDNS</a></td> <td><a href="https://go-acme.github.io/lego/dns/safedns/">ANS SafeDNS</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/artfiles/">ArtFiles</a></td> <td><a href="https://go-acme.github.io/lego/dns/arvancloud/">ArvanCloud</a></td> <td><a href="https://go-acme.github.io/lego/dns/auroradns/">Aurora DNS</a></td> <td><a href="https://go-acme.github.io/lego/dns/autodns/">Autodns</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/axelname/">Axelname</a></td> <td><a href="https://go-acme.github.io/lego/dns/azion/">Azion</a></td> <td><a href="https://go-acme.github.io/lego/dns/azure/">Azure (deprecated)</a></td> <td><a href="https://go-acme.github.io/lego/dns/azuredns/">Azure DNS</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/baiducloud/">Baidu Cloud</a></td> <td><a href="https://go-acme.github.io/lego/dns/beget/">Beget.com</a></td> <td><a href="https://go-acme.github.io/lego/dns/binarylane/">Binary Lane</a></td> <td><a href="https://go-acme.github.io/lego/dns/bindman/">Bindman</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/bluecat/">Bluecat</a></td> <td><a href="https://go-acme.github.io/lego/dns/bluecatv2/">Bluecat v2</a></td> <td><a href="https://go-acme.github.io/lego/dns/bookmyname/">BookMyName</a></td> <td><a href="https://go-acme.github.io/lego/dns/brandit/">Brandit (deprecated)</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/bunny/">Bunny</a></td> <td><a href="https://go-acme.github.io/lego/dns/checkdomain/">Checkdomain</a></td> <td><a href="https://go-acme.github.io/lego/dns/civo/">Civo</a></td> <td><a href="https://go-acme.github.io/lego/dns/cloudru/">Cloud.ru</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/clouddns/">CloudDNS</a></td> <td><a href="https://go-acme.github.io/lego/dns/cloudflare/">Cloudflare</a></td> <td><a href="https://go-acme.github.io/lego/dns/cloudns/">ClouDNS</a></td> <td><a href="https://go-acme.github.io/lego/dns/cloudxns/">CloudXNS (Deprecated)</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/conoha/">ConoHa v2</a></td> <td><a href="https://go-acme.github.io/lego/dns/conohav3/">ConoHa v3</a></td> <td><a href="https://go-acme.github.io/lego/dns/constellix/">Constellix</a></td> <td><a href="https://go-acme.github.io/lego/dns/corenetworks/">Core-Networks</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/cpanel/">CPanel/WHM</a></td> <td><a href="https://go-acme.github.io/lego/dns/czechia/">Czechia</a></td> <td><a href="https://go-acme.github.io/lego/dns/ddnss/">DDnss (DynDNS Service)</a></td> <td><a href="https://go-acme.github.io/lego/dns/derak/">Derak Cloud</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/desec/">deSEC.io</a></td> <td><a href="https://go-acme.github.io/lego/dns/designate/">Designate DNSaaS for Openstack</a></td> <td><a href="https://go-acme.github.io/lego/dns/digitalocean/">Digital Ocean</a></td> <td><a href="https://go-acme.github.io/lego/dns/directadmin/">DirectAdmin</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/dnsmadeeasy/">DNS Made Easy</a></td> <td><a href="https://go-acme.github.io/lego/dns/rfc2136/">DNS Update (RFC2136)</a></td> <td><a href="https://go-acme.github.io/lego/dns/dnsexit/">DNSExit</a></td> <td><a href="https://go-acme.github.io/lego/dns/dnshomede/">dnsHome.de</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/dnsimple/">DNSimple</a></td> <td><a href="https://go-acme.github.io/lego/dns/dnspod/">DNSPod (deprecated)</a></td> <td><a href="https://go-acme.github.io/lego/dns/dode/">Domain Offensive (do.de)</a></td> <td><a href="https://go-acme.github.io/lego/dns/domeneshop/">Domeneshop</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/dreamhost/">DreamHost</a></td> <td><a href="https://go-acme.github.io/lego/dns/duckdns/">Duck DNS</a></td> <td><a href="https://go-acme.github.io/lego/dns/dyn/">Dyn</a></td> <td><a href="https://go-acme.github.io/lego/dns/dyndnsfree/">DynDnsFree.de</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/dynu/">Dynu</a></td> <td><a href="https://go-acme.github.io/lego/dns/easydns/">EasyDNS</a></td> <td><a href="https://go-acme.github.io/lego/dns/edgecenter/">EdgeCenter</a></td> <td><a href="https://go-acme.github.io/lego/dns/efficientip/">Efficient IP</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/epik/">Epik</a></td> <td><a href="https://go-acme.github.io/lego/dns/eurodns/">EuroDNS</a></td> <td><a href="https://go-acme.github.io/lego/dns/excedo/">Excedo</a></td> <td><a href="https://go-acme.github.io/lego/dns/exoscale/">Exoscale</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/exec/">External program</a></td> <td><a href="https://go-acme.github.io/lego/dns/f5xc/">F5 XC</a></td> <td><a href="https://go-acme.github.io/lego/dns/freemyip/">freemyip.com</a></td> <td><a href="https://go-acme.github.io/lego/dns/namesurfer/">FusionLayer NameSurfer</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/gcore/">G-Core</a></td> <td><a href="https://go-acme.github.io/lego/dns/gandi/">Gandi</a></td> <td><a href="https://go-acme.github.io/lego/dns/gandiv5/">Gandi Live DNS (v5)</a></td> <td><a href="https://go-acme.github.io/lego/dns/gigahostno/">Gigahost.no</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/glesys/">Glesys</a></td> <td><a href="https://go-acme.github.io/lego/dns/godaddy/">Go Daddy</a></td> <td><a href="https://go-acme.github.io/lego/dns/gcloud/">Google Cloud</a></td> <td><a href="https://go-acme.github.io/lego/dns/googledomains/">Google Domains</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/gravity/">Gravity</a></td> <td><a href="https://go-acme.github.io/lego/dns/hetzner/">Hetzner</a></td> <td><a href="https://go-acme.github.io/lego/dns/hostingde/">Hosting.de</a></td> <td><a href="https://go-acme.github.io/lego/dns/hostingnl/">Hosting.nl</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/hostinger/">Hostinger</a></td> <td><a href="https://go-acme.github.io/lego/dns/hosttech/">Hosttech</a></td> <td><a href="https://go-acme.github.io/lego/dns/httpreq/">HTTP request</a