All Projects → caddyserver → Dnsproviders

caddyserver / Dnsproviders

Licence: mit
OBSOLETE: DNS providers adapted for use in Caddy to solve the ACME DNS challenge - for Caddy v1 only. See caddy-dns for v2.

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Dnsproviders

labca
A private Certificate Authority for internal (lab) use, based on the open source ACME Automated Certificate Management Environment implementation from Let's Encrypt (tm).
Stars: ✭ 126 (+18.87%)
Mutual labels:  tls, acme
Certmagic
Automatic HTTPS for any Go program: fully-managed TLS certificate issuance and renewal
Stars: ✭ 3,864 (+3545.28%)
Mutual labels:  tls, acme
acmed
ACME (RFC 8555) client daemon
Stars: ✭ 121 (+14.15%)
Mutual labels:  tls, acme
Terraform Provider Acme Old
ACME (Let's Encrypt) Support for Terraform
Stars: ✭ 211 (+99.06%)
Mutual labels:  tls, acme
Lego
Let's Encrypt client and ACME library written in Go
Stars: ✭ 4,978 (+4596.23%)
Mutual labels:  tls, acme
docker-ssl-reverse-proxy
Easy-to-use auto-SSL reverse proxy as a Docker container based on Caddy and Let’s Encrypt
Stars: ✭ 22 (-79.25%)
Mutual labels:  tls, caddy
Certificates
🛡️ A private certificate authority (X.509 & SSH) & ACME server for secure automated certificate management, so you can use TLS everywhere & SSO for SSH.
Stars: ✭ 3,693 (+3383.96%)
Mutual labels:  tls, acme
freshcerts
ACME certificate protocol (Let's Encrypt) proxy client with a dashboard and monitoring
Stars: ✭ 59 (-44.34%)
Mutual labels:  tls, acme
Localdots
HTTPS domains for localhost. 🏠
Stars: ✭ 486 (+358.49%)
Mutual labels:  acme, caddy
Boulder
An ACME-based certificate authority, written in Go.
Stars: ✭ 4,091 (+3759.43%)
Mutual labels:  tls, acme
Manuale
A fully manual Let's Encrypt/ACME client
Stars: ✭ 201 (+89.62%)
Mutual labels:  tls, acme
Acmez
Premier ACME client library for Go
Stars: ✭ 60 (-43.4%)
Mutual labels:  tls, acme
Acmetool
🔒 acmetool, an automatic certificate acquisition tool for ACME (Let's Encrypt)
Stars: ✭ 1,882 (+1675.47%)
Mutual labels:  tls, acme
tipi
Tipi - the All-in-one Web Server for Ruby Apps
Stars: ✭ 214 (+101.89%)
Mutual labels:  tls, acme
Acme Client
Let's Encrypt / ACME client written in PHP for the CLI.
Stars: ✭ 337 (+217.92%)
Mutual labels:  tls, acme
Greenlock
Automatic SSL renewal for NodeJS
Stars: ✭ 30 (-71.7%)
Mutual labels:  tls, acme
Acme client
Java ACME Client application
Stars: ✭ 77 (-27.36%)
Mutual labels:  tls, acme
Tls Inspector
Easily view and inspect X.509 certificates on your iOS device.
Stars: ✭ 92 (-13.21%)
Mutual labels:  tls
Gsocks5
Secure SOCKS5 server in Go
Stars: ✭ 98 (-7.55%)
Mutual labels:  tls
Ghostunnel
A simple SSL/TLS proxy with mutual authentication for securing non-TLS services
Stars: ✭ 1,296 (+1122.64%)
Mutual labels:  tls

DNS providers for Caddy v1 (obsolete)

⚠️ This repo is for Caddy v1, which has been obsoleted by Caddy 2.

Caddy 2 also supports the DNS challenge in a similar way to v1, but using backwards-incompatible APIs that are much more flexible and easier to use. This repository is no longer relevant or maintained.

Migrating to the new APIs is solely a community effort. It is very easy to implement a provider if you know Go!

Version 2 resources:

Old readme (for v1)

These providers can be used to help solve the ACME DNS challenge by plugging them into Caddy 0.9-1.x:

import _ "github.com/caddyserver/dnsproviders/<provider>"

You can then use this in your Caddyfile with the tls directive like so:

tls {
	dns <provider>
}

Credentials for your DNS provider should be set in environment variables. This information is in the Automatic HTTPS page of the Caddy documentation. For more information about using your DNS provider, see the docs for your provider directly.

If you specify a DNS provider, the DNS challenge will be used exclusively; other challenge types will be disabled. Be aware that some DNS providers may be slow in applying changes.

About these packages

Caddy 0.9 and newer supports solving the ACME DNS challenge. This challenge is unique because the server that is requesting a TLS certificate does not need to start a listener and be accessible from external networks. This quality is essential when behind load balancers or in other advanced networking scenarios.

The DNS challenge sets a DNS record and the ACME server verifies its correctness in order to issue the certificate. Caddy can do this for you automatically, but it needs credentials to your DNS provider to do so. Since every DNS provider is different, we have these adapters you can plug into Caddy in order to complete this challenge.

The underlying logic that actually solves the challenge is implemented in a different package not far away from here. Caddy uses go-acme/lego, a library originally written for use in Caddy, to solve ACME challenges. If you wish to add a new provider, see the documentation for that library and write your own provider implementation. Then writing the adapter for Caddy is very easy: just copy+paste any of these existing ones, replace the names and tweak a few things, and submit a pull request. Done!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].