2022-06-22 18:57:50 +02:00
< 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
2018-05-31 02:03:08 +02:00
2019-03-08 20:47:06 +02:00
Let's Encrypt client and ACME library written in Go.
2015-06-13 04:45:04 +02:00
2023-05-28 10:36:37 +02:00
[![Go Reference ](https://pkg.go.dev/badge/github.com/go-acme/lego/v4.svg )](https://pkg.go.dev/github.com/go-acme/lego/v4)
2021-05-26 18:31:28 +02:00
[![Build Status ](https://github.com//go-acme/lego/workflows/Main/badge.svg?branch=master )](https://github.com//go-acme/lego/actions)
2019-03-11 20:26:14 +02:00
[![Docker Pulls ](https://img.shields.io/docker/pulls/goacme/lego.svg )](https://hub.docker.com/r/goacme/lego/)
2015-06-13 21:23:27 +02:00
2018-05-31 02:03:08 +02:00
## Features
2016-03-23 20:12:47 +02:00
2021-10-22 21:26:08 +02:00
- ACME v2 [RFC 8555 ](https://www.rfc-editor.org/rfc/rfc8555.html )
2023-05-28 10:31:08 +02:00
- Support [RFC 8737 ](https://www.rfc-editor.org/rfc/rfc8737.html ): TLS Application‑Layer Protocol Negotiation (ALPN) Challenge Extension
- Support [RFC 8738 ](https://www.rfc-editor.org/rfc/rfc8738.html ): certificates for IP addresses
2024-03-08 17:22:09 +02:00
- Support [draft-ietf-acme-ari-03 ](https://datatracker.ietf.org/doc/draft-ietf-acme-ari/ ): Renewal Information (ARI) Extension
2016-03-23 20:12:47 +02:00
- Register with CA
2016-02-12 03:08:36 +02:00
- Obtain certificates, both from scratch or with an existing CSR
2016-03-23 20:12:47 +02:00
- Renew certificates
- Revoke certificates
- Robust implementation of all ACME challenges
- HTTP (http-01)
- DNS (dns-01)
2018-06-14 01:20:56 +02:00
- TLS (tls-alpn-01)
2016-03-23 20:12:47 +02:00
- SAN certificate support
2023-05-15 11:59:38 +02:00
- [CNAME support ](https://letsencrypt.org/2019/10/09/onboarding-your-customers-with-lets-encrypt-and-acme.html ) by default
2019-03-11 21:00:39 +02:00
- Comes with multiple optional [DNS providers ](https://go-acme.github.io/lego/dns )
2019-03-11 17:54:35 +02:00
- [Custom challenge solvers ](https://go-acme.github.io/lego/usage/library/writing-a-challenge-solver/ )
2016-03-23 20:12:47 +02:00
- Certificate bundling
- OCSP helper function
2015-06-13 04:45:04 +02:00
2019-03-08 20:47:06 +02:00
## Installation
2015-10-17 23:02:52 +02:00
2019-03-11 17:54:35 +02:00
How to [install ](https://go-acme.github.io/lego/installation/ ).
2018-05-31 02:03:08 +02:00
2019-03-08 20:47:06 +02:00
## Usage
2018-05-31 02:03:08 +02:00
2019-03-11 17:54:35 +02:00
- as a [CLI ](https://go-acme.github.io/lego/usage/cli )
2019-03-19 17:50:05 +02:00
- as a [library ](https://go-acme.github.io/lego/usage/library )
2019-03-08 20:47:06 +02:00
## Documentation
2019-03-11 17:54:35 +02:00
Documentation is hosted live at https://go-acme.github.io/lego/.
2019-03-08 20:47:06 +02:00
## DNS providers
2019-03-11 17:54:35 +02:00
Detailed documentation is available [here ](https://go-acme.github.io/lego/dns ).
2019-03-08 20:47:06 +02:00
2020-03-09 10:43:27 +02:00
<!-- START DNS PROVIDERS LIST -->
2019-03-21 12:52:01 +02:00
| | | | |
|---------------------------------------------------------------------------------|---------------------------------------------------------------------------------|---------------------------------------------------------------------------------|---------------------------------------------------------------------------------|
2021-06-30 22:49:02 +02:00
| [Akamai EdgeDNS ](https://go-acme.github.io/lego/dns/edgedns/ ) | [Alibaba Cloud DNS ](https://go-acme.github.io/lego/dns/alidns/ ) | [all-inkl ](https://go-acme.github.io/lego/dns/allinkl/ ) | [Amazon Lightsail ](https://go-acme.github.io/lego/dns/lightsail/ ) |
| [Amazon Route 53 ](https://go-acme.github.io/lego/dns/route53/ ) | [ArvanCloud ](https://go-acme.github.io/lego/dns/arvancloud/ ) | [Aurora DNS ](https://go-acme.github.io/lego/dns/auroradns/ ) | [Autodns ](https://go-acme.github.io/lego/dns/autodns/ ) |
2023-08-11 16:27:38 +02:00
| [Azure (deprecated) ](https://go-acme.github.io/lego/dns/azure/ ) | [Azure DNS ](https://go-acme.github.io/lego/dns/azuredns/ ) | [Bindman ](https://go-acme.github.io/lego/dns/bindman/ ) | [Bluecat ](https://go-acme.github.io/lego/dns/bluecat/ ) |
2023-07-12 20:02:06 +02:00
| [Brandit ](https://go-acme.github.io/lego/dns/brandit/ ) | [Bunny ](https://go-acme.github.io/lego/dns/bunny/ ) | [Checkdomain ](https://go-acme.github.io/lego/dns/checkdomain/ ) | [Civo ](https://go-acme.github.io/lego/dns/civo/ ) |
2023-07-27 13:09:39 +02:00
| [Cloud.ru ](https://go-acme.github.io/lego/dns/cloudru/ ) | [CloudDNS ](https://go-acme.github.io/lego/dns/clouddns/ ) | [Cloudflare ](https://go-acme.github.io/lego/dns/cloudflare/ ) | [ClouDNS ](https://go-acme.github.io/lego/dns/cloudns/ ) |
2024-02-04 20:43:54 +02:00
| [CloudXNS ](https://go-acme.github.io/lego/dns/cloudxns/ ) | [ConoHa ](https://go-acme.github.io/lego/dns/conoha/ ) | [Constellix ](https://go-acme.github.io/lego/dns/constellix/ ) | [CPanel/WHM ](https://go-acme.github.io/lego/dns/cpanel/ ) |
| [Derak Cloud ](https://go-acme.github.io/lego/dns/derak/ ) | [deSEC.io ](https://go-acme.github.io/lego/dns/desec/ ) | [Designate DNSaaS for Openstack ](https://go-acme.github.io/lego/dns/designate/ ) | [Digital Ocean ](https://go-acme.github.io/lego/dns/digitalocean/ ) |
2024-07-21 21:19:57 +02:00
| [DirectAdmin ](https://go-acme.github.io/lego/dns/directadmin/ ) | [DNS Made Easy ](https://go-acme.github.io/lego/dns/dnsmadeeasy/ ) | [dnsHome.de ](https://go-acme.github.io/lego/dns/dnshomede/ ) | [DNSimple ](https://go-acme.github.io/lego/dns/dnsimple/ ) |
2024-07-21 13:32:17 +02:00
| [DNSPod (deprecated) ](https://go-acme.github.io/lego/dns/dnspod/ ) | [Domain Offensive (do.de) ](https://go-acme.github.io/lego/dns/dode/ ) | [Domeneshop ](https://go-acme.github.io/lego/dns/domeneshop/ ) | [DreamHost ](https://go-acme.github.io/lego/dns/dreamhost/ ) |
| [Duck DNS ](https://go-acme.github.io/lego/dns/duckdns/ ) | [Dyn ](https://go-acme.github.io/lego/dns/dyn/ ) | [Dynu ](https://go-acme.github.io/lego/dns/dynu/ ) | [EasyDNS ](https://go-acme.github.io/lego/dns/easydns/ ) |
| [Efficient IP ](https://go-acme.github.io/lego/dns/efficientip/ ) | [Epik ](https://go-acme.github.io/lego/dns/epik/ ) | [Exoscale ](https://go-acme.github.io/lego/dns/exoscale/ ) | [External program ](https://go-acme.github.io/lego/dns/exec/ ) |
| [freemyip.com ](https://go-acme.github.io/lego/dns/freemyip/ ) | [G-Core ](https://go-acme.github.io/lego/dns/gcore/ ) | [Gandi Live DNS (v5) ](https://go-acme.github.io/lego/dns/gandiv5/ ) | [Gandi ](https://go-acme.github.io/lego/dns/gandi/ ) |
| [Glesys ](https://go-acme.github.io/lego/dns/glesys/ ) | [Go Daddy ](https://go-acme.github.io/lego/dns/godaddy/ ) | [Google Cloud ](https://go-acme.github.io/lego/dns/gcloud/ ) | [Google Domains ](https://go-acme.github.io/lego/dns/googledomains/ ) |
| [Hetzner ](https://go-acme.github.io/lego/dns/hetzner/ ) | [Hosting.de ](https://go-acme.github.io/lego/dns/hostingde/ ) | [Hosttech ](https://go-acme.github.io/lego/dns/hosttech/ ) | [HTTP request ](https://go-acme.github.io/lego/dns/httpreq/ ) |
| [http.net ](https://go-acme.github.io/lego/dns/httpnet/ ) | [Hurricane Electric DNS ](https://go-acme.github.io/lego/dns/hurricane/ ) | [HyperOne ](https://go-acme.github.io/lego/dns/hyperone/ ) | [IBM Cloud (SoftLayer) ](https://go-acme.github.io/lego/dns/ibmcloud/ ) |
| [IIJ DNS Platform Service ](https://go-acme.github.io/lego/dns/iijdpf/ ) | [Infoblox ](https://go-acme.github.io/lego/dns/infoblox/ ) | [Infomaniak ](https://go-acme.github.io/lego/dns/infomaniak/ ) | [Internet Initiative Japan ](https://go-acme.github.io/lego/dns/iij/ ) |
| [Internet.bs ](https://go-acme.github.io/lego/dns/internetbs/ ) | [INWX ](https://go-acme.github.io/lego/dns/inwx/ ) | [Ionos ](https://go-acme.github.io/lego/dns/ionos/ ) | [IPv64 ](https://go-acme.github.io/lego/dns/ipv64/ ) |
| [iwantmyname ](https://go-acme.github.io/lego/dns/iwantmyname/ ) | [Joker ](https://go-acme.github.io/lego/dns/joker/ ) | [Joohoi's ACME-DNS ](https://go-acme.github.io/lego/dns/acme-dns/ ) | [Liara ](https://go-acme.github.io/lego/dns/liara/ ) |
| [Linode (v4) ](https://go-acme.github.io/lego/dns/linode/ ) | [Liquid Web ](https://go-acme.github.io/lego/dns/liquidweb/ ) | [Loopia ](https://go-acme.github.io/lego/dns/loopia/ ) | [LuaDNS ](https://go-acme.github.io/lego/dns/luadns/ ) |
| [Mail-in-a-Box ](https://go-acme.github.io/lego/dns/mailinabox/ ) | [Manual ](https://go-acme.github.io/lego/dns/manual/ ) | [Metaname ](https://go-acme.github.io/lego/dns/metaname/ ) | [MyDNS.jp ](https://go-acme.github.io/lego/dns/mydnsjp/ ) |
| [MythicBeasts ](https://go-acme.github.io/lego/dns/mythicbeasts/ ) | [Name.com ](https://go-acme.github.io/lego/dns/namedotcom/ ) | [Namecheap ](https://go-acme.github.io/lego/dns/namecheap/ ) | [Namesilo ](https://go-acme.github.io/lego/dns/namesilo/ ) |
| [NearlyFreeSpeech.NET ](https://go-acme.github.io/lego/dns/nearlyfreespeech/ ) | [Netcup ](https://go-acme.github.io/lego/dns/netcup/ ) | [Netlify ](https://go-acme.github.io/lego/dns/netlify/ ) | [Nicmanager ](https://go-acme.github.io/lego/dns/nicmanager/ ) |
| [NIFCloud ](https://go-acme.github.io/lego/dns/nifcloud/ ) | [Njalla ](https://go-acme.github.io/lego/dns/njalla/ ) | [Nodion ](https://go-acme.github.io/lego/dns/nodion/ ) | [NS1 ](https://go-acme.github.io/lego/dns/ns1/ ) |
| [Open Telekom Cloud ](https://go-acme.github.io/lego/dns/otc/ ) | [Oracle Cloud ](https://go-acme.github.io/lego/dns/oraclecloud/ ) | [OVH ](https://go-acme.github.io/lego/dns/ovh/ ) | [plesk.com ](https://go-acme.github.io/lego/dns/plesk/ ) |
| [Porkbun ](https://go-acme.github.io/lego/dns/porkbun/ ) | [PowerDNS ](https://go-acme.github.io/lego/dns/pdns/ ) | [Rackspace ](https://go-acme.github.io/lego/dns/rackspace/ ) | [RcodeZero ](https://go-acme.github.io/lego/dns/rcodezero/ ) |
| [reg.ru ](https://go-acme.github.io/lego/dns/regru/ ) | [RFC2136 ](https://go-acme.github.io/lego/dns/rfc2136/ ) | [RimuHosting ](https://go-acme.github.io/lego/dns/rimuhosting/ ) | [Sakura Cloud ](https://go-acme.github.io/lego/dns/sakuracloud/ ) |
| [Scaleway ](https://go-acme.github.io/lego/dns/scaleway/ ) | [Selectel v2 ](https://go-acme.github.io/lego/dns/selectelv2/ ) | [Selectel ](https://go-acme.github.io/lego/dns/selectel/ ) | [Servercow ](https://go-acme.github.io/lego/dns/servercow/ ) |
| [Shellrent ](https://go-acme.github.io/lego/dns/shellrent/ ) | [Simply.com ](https://go-acme.github.io/lego/dns/simply/ ) | [Sonic ](https://go-acme.github.io/lego/dns/sonic/ ) | [Stackpath ](https://go-acme.github.io/lego/dns/stackpath/ ) |
| [Tencent Cloud DNS ](https://go-acme.github.io/lego/dns/tencentcloud/ ) | [TransIP ](https://go-acme.github.io/lego/dns/transip/ ) | [UKFast SafeDNS ](https://go-acme.github.io/lego/dns/safedns/ ) | [Ultradns ](https://go-acme.github.io/lego/dns/ultradns/ ) |
| [Variomedia ](https://go-acme.github.io/lego/dns/variomedia/ ) | [VegaDNS ](https://go-acme.github.io/lego/dns/vegadns/ ) | [Vercel ](https://go-acme.github.io/lego/dns/vercel/ ) | [Versio.[nl/eu/uk]](https://go-acme.github.io/lego/dns/versio/) |
| [VinylDNS ](https://go-acme.github.io/lego/dns/vinyldns/ ) | [VK Cloud ](https://go-acme.github.io/lego/dns/vkcloud/ ) | [Vscale ](https://go-acme.github.io/lego/dns/vscale/ ) | [Vultr ](https://go-acme.github.io/lego/dns/vultr/ ) |
| [Webnames ](https://go-acme.github.io/lego/dns/webnames/ ) | [Websupport ](https://go-acme.github.io/lego/dns/websupport/ ) | [WEDOS ](https://go-acme.github.io/lego/dns/wedos/ ) | [Yandex 360 ](https://go-acme.github.io/lego/dns/yandex360/ ) |
| [Yandex Cloud ](https://go-acme.github.io/lego/dns/yandexcloud/ ) | [Yandex PDD ](https://go-acme.github.io/lego/dns/yandex/ ) | [Zone.ee ](https://go-acme.github.io/lego/dns/zoneee/ ) | [Zonomi ](https://go-acme.github.io/lego/dns/zonomi/ ) |
2020-03-09 10:43:27 +02:00
<!-- END DNS PROVIDERS LIST -->
2021-06-08 17:26:21 +02:00
If your DNS provider is not supported, please open an [issue ](https://github.com/go-acme/lego/issues/new?assignees=&labels=enhancement%2C+new-provider&template=new_dns_provider.md ).