gitmyhub

lego

★ 0 updated 6y ago ⑂ fork

Let's Encrypt client and ACME library written in Go

Lego automatically gets and renews free SSL certificates for your websites from Let's Encrypt, so you never have to manage certificates by hand. It proves domain ownership and works with over 50 DNS providers.

Gosetup: moderatecomplexity 3/5

Lego is a tool that automatically obtains and renews SSL certificates for your websites, so you don't have to manually manage them. It connects to Let's Encrypt, a free service that issues the certificates browsers need to trust a site and show that little padlock icon in the address bar.

When you want to secure a website, you have to prove to Let's Encrypt that you actually own the domain. Lego automates that proof. It supports several methods for doing this, including placing a temporary file on your web server, using a special encrypted connection, or creating a specific record in your domain's DNS settings. Lego handles requesting the certificate, delivering the proof, downloading the signed certificate, and can even revoke certificates when needed.

This tool is useful for anyone running a website or web service who wants free, automatic HTTPS without manual hassle. A founder launching a SaaS product could use lego to keep certificates current across multiple domains. A developer managing infrastructure could plug it into a startup script so new servers are automatically secured on day one.

What makes lego particularly practical is its broad support for DNS providers. If you want to use the DNS verification method, lego can talk to over 50 providers out of the box, including Cloudflare, Amazon Route 53, Google Cloud, GoDaddy, and many smaller services. It can also be used two ways: as a command-line tool you run directly, or as a library embedded inside a larger application. Written in Go, it compiles to a single executable with no additional dependencies to install.

Where it fits