back to home

go-acme / lego

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

9,270 stars
1,115 forks
142 issues
GoGo TemplateMakefile

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing go-acme/lego in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind-ai.vercel.app/repo/go-acme/lego)
Preview:Analyzed by RepoMind

Repository Summary (README)

Preview
<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.

Go Reference Build Status Docker Pulls

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
  • 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/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> <td><a href="https://go-acme.github.io/lego/dns/alidns/">Alibaba Cloud DNS</a></td> </tr><tr> <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> <td><a href="https://go-acme.github.io/lego/dns/lightsail/">Amazon Lightsail</a></td> </tr><tr> <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/artfiles/">ArtFiles</a></td> <td><a href="https://go-acme.github.io/lego/dns/arvancloud/">ArvanCloud</a></td> </tr><tr> <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> <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> </tr><tr> <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> <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> </tr><tr> <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> <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> </tr><tr> <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> <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> </tr><tr> <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> <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> </tr><tr> <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> <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> </tr><tr> <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> <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/ddnss/">DDnss (DynDNS Service)</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/derak/">Derak Cloud</a></td> <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> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/directadmin/">DirectAdmin</a></td> <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/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/exoscale/">Exoscale</a></td> <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> </tr><tr> <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> <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> </tr><tr> <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> <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> </tr><tr> <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> <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> </tr><tr> <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> <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> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/httpreq/">HTTP request</a></td> <td><a href="https://go-acme.github.io/lego/dns/httpnet/">http.net</a></td> <td><a href="https://go-acme.github.io/lego/dns/huaweicloud/">Huawei Cloud</a></td> <td><a href="https://go-acme.github.io/lego/dns/hurricane/">Hurricane Electric DNS</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/hyperone/">HyperOne</a></td> <td><a href="https://go-acme.github.io/lego/dns/ibmcloud/">IBM Cloud (SoftLayer)</a></td> <td><a href="https://go-acme.github.io/lego/dns/iijdpf/">IIJ DNS Platform Service</a></td> <td><a href="https://go-acme.github.io/lego/dns/infoblox/">Infoblox</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/infomaniak/">Infomaniak</a></td> <td><a href="https://go-acme.github.io/lego/dns/iij/">Internet Initiative Japan</a></td> <td><a href="https://go-acme.github.io/lego/dns/internetbs/">Internet.bs</a></td> <td><a href="https://go-acme.github.io/lego/dns/inwx/">INWX</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/ionos/">Ionos</a></td> <td><a href="https://go-acme.github.io/lego/dns/ionoscloud/">Ionos Cloud</a></td> <td><a href="https://go-acme.github.io/lego/dns/ipv64/">IPv64</a></td> <td><a href="https://go-acme.github.io/lego/dns/ispconfig/">ISPConfig 3</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/ispconfigddns/">ISPConfig 3 - Dynamic DNS (DDNS) Module</a></td> <td><a href="https://go-acme.github.io/lego/dns/iwantmyname/">iwantmyname (Deprecated)</a></td> <td><a href="https://go-acme.github.io/lego/dns/jdcloud/">JD Cloud</a></td> <td><a href="https://go-acme.github.io/lego/dns/joker/">Joker</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/acme-dns/">Joohoi&#39;s ACME-DNS</a></td> <td><a href="https://go-acme.github.io/lego/dns/keyhelp/">KeyHelp</a></td> <td><a href="https://go-acme.github.io/lego/dns/leaseweb/">Leaseweb</a></td> <td><a href="https://go-acme.github.io/lego/dns/liara/">Liara</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/limacity/">Lima-City</a></td> <td><a href="https://go-acme.github.io/lego/dns/linode/">Linode (v4)</a></td> <td><a href="https://go-acme.github.io/lego/dns/liquidweb/">Liquid Web</a></td> <td><a href="https://go-acme.github.io/lego/dns/loopia/">Loopia</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/luadns/">LuaDNS</a></td> <td><a href="https://go-acme.github.io/lego/dns/mailinabox/">Mail-in-a-Box</a></td> <td><a href="https://go-acme.github.io/lego/dns/manageengine/">ManageEngine CloudDNS</a></td> <td><a href="https://go-acme.github.io/lego/dns/manual/">Manual</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/metaname/">Metaname</a></td> <td><a href="https://go-acme.github.io/lego/dns/metaregistrar/">Metaregistrar</a></td> <td><a href="https://go-acme.github.io/lego/dns/mijnhost/">mijn.host</a></td> <td><a href="https://go-acme.github.io/lego/dns/mittwald/">Mittwald</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/myaddr/">myaddr.{tools,dev,io}</a></td> <td><a href="https://go-acme.github.io/lego/dns/mydnsjp/">MyDNS.jp</a></td> <td><a href="https://go-acme.github.io/lego/dns/mythicbeasts/">MythicBeasts</a></td> <td><a href="https://go-acme.github.io/lego/dns/namedotcom/">Name.com</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/namecheap/">Namecheap</a></td> <td><a href="https://go-acme.github.io/lego/dns/namesilo/">Namesilo</a></td> <td><a href="https://go-acme.github.io/lego/dns/nearlyfreespeech/">NearlyFreeSpeech.NET</a></td> <td><a href="https://go-acme.github.io/lego/dns/neodigit/">Neodigit</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/netcup/">Netcup</a></td> <td><a href="https://go-acme.github.io/lego/dns/netlify/">Netlify</a></td> <td><a href="https://go-acme.github.io/lego/dns/nicmanager/">Nicmanager</a></td> <td><a href="https://go-acme.github.io/lego/dns/nifcloud/">NIFCloud</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/njalla/">Njalla</a></td> <td><a href="https://go-acme.github.io/lego/dns/nodion/">Nodion</a></td> <td><a href="https://go-acme.github.io/lego/dns/ns1/">NS1</a></td> <td><a href="https://go-acme.github.io/lego/dns/octenium/">Octenium</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/otc/">Open Telekom Cloud</a></td> <td><a href="https://go-acme.github.io/lego/dns/oraclecloud/">Oracle Cloud</a></td> <td><a href="https://go-acme.github.io/lego/dns/ovh/">OVH</a></td> <td><a href="https://go-acme.github.io/lego/dns/plesk/">plesk.com</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/porkbun/">Porkbun</a></td> <td><a href="https://go-acme.github.io/lego/dns/pdns/">PowerDNS</a></td> <td><a href="https://go-acme.github.io/lego/dns/rackspace/">Rackspace</a></td> <td><a href="https://go-acme.github.io/lego/dns/rainyun/">Rain Yun/雨云</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/rcodezero/">RcodeZero</a></td> <td><a href="https://go-acme.github.io/lego/dns/regru/">reg.ru</a></td> <td><a href="https://go-acme.github.io/lego/dns/regfish/">Regfish</a></td> <td><a href="https://go-acme.github.io/lego/dns/rfc2136/">RFC2136</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/rimuhosting/">RimuHosting</a></td> <td><a href="https://go-acme.github.io/lego/dns/nicru/">RU CENTER</a></td> <td><a href="https://go-acme.github.io/lego/dns/sakuracloud/">Sakura Cloud</a></td> <td><a href="https://go-acme.github.io/lego/dns/scaleway/">Scaleway</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/selectel/">Selectel</a></td> <td><a href="https://go-acme.github.io/lego/dns/selectelv2/">Selectel v2</a></td> <td><a href="https://go-acme.github.io/lego/dns/selfhostde/">SelfHost.(de|eu)</a></td> <td><a href="https://go-acme.github.io/lego/dns/servercow/">Servercow</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/shellrent/">Shellrent</a></td> <td><a href="https://go-acme.github.io/lego/dns/simply/">Simply.com</a></td> <td><a href="https://go-acme.github.io/lego/dns/sonic/">Sonic</a></td> <td><a href="https://go-acme.github.io/lego/dns/spaceship/">Spaceship</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/stackpath/">Stackpath</a></td> <td><a href="https://go-acme.github.io/lego/dns/syse/">Syse</a></td> <td><a href="https://go-acme.github.io/lego/dns/technitium/">Technitium</a></td> <td><a href="https://go-acme.github.io/lego/dns/tencentcloud/">Tencent Cloud DNS</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/edgeone/">Tencent EdgeOne</a></td> <td><a href="https://go-acme.github.io/lego/dns/timewebcloud/">Timeweb Cloud</a></td> <td><a href="https://go-acme.github.io/lego/dns/todaynic/">TodayNIC/时代互联</a></td> <td><a href="https://go-acme.github.io/lego/dns/transip/">TransIP</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/safedns/">UKFast SafeDNS</a></td> <td><a href="https://go-acme.github.io/lego/dns/ultradns/">Ultradns</a></td> <td><a href="https://go-acme.github.io/lego/dns/uniteddomains/">United-Domains</a></td> <td><a href="https://go-acme.github.io/lego/dns/variomedia/">Variomedia</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/vegadns/">VegaDNS</a></td> <td><a href="https://go-acme.github.io/lego/dns/vercel/">Vercel</a></td> <td><a href="https://go-acme.github.io/lego/dns/versio/">Versio.[nl|eu|uk]</a></td> <td><a href="https://go-acme.github.io/lego/dns/vinyldns/">VinylDNS</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/virtualname/">Virtualname</a></td> <td><a href="https://go-acme.github.io/lego/dns/vkcloud/">VK Cloud</a></td> <td><a href="https://go-acme.github.io/lego/dns/volcengine/">Volcano Engine/火山引擎</a></td> <td><a href="https://go-acme.github.io/lego/dns/vscale/">Vscale</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/vultr/">Vultr</a></td> <td><a href="https://go-acme.github.io/lego/dns/webnamesca/">webnames.ca</a></td> <td><a href="https://go-acme.github.io/lego/dns/webnames/">webnames.ru</a></td> <td><a href="https://go-acme.github.io/lego/dns/websupport/">Websupport</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/wedos/">WEDOS</a></td> <td><a href="https://go-acme.github.io/lego/dns/westcn/">West.cn/西部数码</a></td> <td><a href="https://go-acme.github.io/lego/dns/yandex360/">Yandex 360</a></td> <td><a href="https://go-acme.github.io/lego/dns/yandexcloud/">Yandex Cloud</a></td> </tr><tr> <td><a href="https://go-acme.github.io/lego/dns/yandex/">Yandex PDD</a></td> <td><a href="https://go-acme.github.io/lego/dns/zoneee/">Zone.ee</a></td> <td><a href="https://go-acme.github.io/lego/dns/zoneedit/">ZoneEdit</a></td> <td><a href="https://go-acme.github.io/lego/dns/zonomi/">Zonomi</a></td> </tr></table> <!-- END DNS PROVIDERS LIST -->

If your DNS provider is not supported, please open an issue.