dehydrated
acme-dns-server
Our great sponsors
dehydrated | acme-dns-server | |
---|---|---|
36 | 2 | |
5,886 | 29 | |
3.4% | - | |
2.3 | 1.8 | |
about 2 months ago | almost 2 years ago | |
Shell | Python | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
dehydrated
-
Dehydrated: Letsencrypt/acme client implemented as a shell-script
From this commit:
https://github.com/dehydrated-io/dehydrated/commit/b116e6bc2...
-
Running one’s own root Certificate Authority in 2023
I've had a lot of success with https://github.com/dehydrated-io/dehydrated . It exposes the different parts of the process (deploy challenge to DNS, deploy cert to filesystem, etc) as hooks, so it's pretty easy to integrate with anything and however you want, if you don't mind writing a bit of bash. There's a few scripts out there that use Cloudflare that you can use as well.
-
How do you renew SSL certificates?
Depend on host's capability... - lego - dehydrated - caddy - in case it already works as a web server, it will automatically issue and renew certs
-
SSL cert for DSM on Synology
Take a look at this great project : https://github.com/dehydrated-io/dehydrated/wiki : many dns providers are documented.
-
Write Posix Shell
> Oh, and that 500-line shell script probably ends up being a 5000-line Python monster anyway.
The dehydrated ACME client is 2400 lines of bash/zsh:
* https://github.com/dehydrated-io/dehydrated
And its external dependencies are OpenSSL and cURL. The acme.sh shell ACME client is 8000 lines of shell:
* https://github.com/acmesh-official/acme.sh
The official Let's Encrypt client is written in Python, and the core 'executable' is much longer, and in addition it pulls in a boatload of dependencies:
* https://packages.debian.org/bullseye/python3-certbot
-
ZeroSSL: XSS to session hijacking, stealing a private key (and password hash)
Dehydrated.io, damn few dependencies.
You're welcome.
https://github.com/dehydrated-io/dehydrated
-
Looking for help with VIRTUAL_HOST set up and 502 Bad Gateway (possible bad SSL?)
I prefer dehydrated as an ACME client because it's written in bash and the only dependencies are sed, awk, grep, and openssl. This will also leave you free to customize your nginx config as necessary without having to try to cram your needs into a generator that doesn't account for what you're trying to do. It seems odd to me that the generator would create the intermediary file (as per your quoted output above), but then not put that in the nginx config.
-
Knowing when to tell somone to call it quits...
This project has helped us immensely with cert renewals - https://github.com/dehydrated-io/dehydrated
- Does it really suck this much to set up SSL?
- Canonical releases Ubuntu 22.10 Kinetic Kudu
acme-dns-server
-
Ask HN: What's your solution for SSL on internal servers?
DNS alias mode:
* https://dan.langille.org/2019/02/01/acme-domain-alias-mode/
* https://github.com/acmesh-official/acme.sh/wiki/DNS-alias-mo...
* https://www.eff.org/deeplinks/2018/02/technical-deep-dive-se...
You want the name "internal.example.com". In your external DNS you create a CNAME from "_acme-challenge.internal.example.com" and point it to (e.g.) "internal.example.net" or "internal.dns-auth.example.com"
When you request the certificate you specify the "dns-01" method. The issuer (e.g., LE) will go to the the external DNS server for the look up, see that it is a CNAME and then follow the CNAME/alias, and do the verification at the final hostname.
So your ACME client has to do a DNS (TXT) record update, which can often be done via various APIs, e.g.:
* https://github.com/AnalogJ/lexicon
You can even run your own DNS server locally (in a DMZ?) if your DNS provider does not have an convenient API. There are servers written for this use case:
* https://github.com/joohoi/acme-dns
* https://github.com/joohoi/acme-dns-certbot-joohoi
* https://github.com/pawitp/acme-dns-server
-
Another free CA as an alternative to Let's Encrypt
I already had Bind on the machine so it was logical to add the zone there and utilize nsupdate : https://gist.github.com/kronthto/893715f12cc0b1cda9fcfdbd8dc...
But what you are suggesting should work just fine aswell - there should be no need for a persistent service. Of course the service would need to run on port 53, so you actually cannot have another nameserver on that machine already, and also require CAP_NET_BIND_SERVICE .
A quick search lead me to this python project that could be an inspiration: https://github.com/pawitp/acme-dns-server
What are some alternatives?
acme.sh - A pure Unix shell script implementing ACME client protocol
acme-dns - Limited DNS server with RESTful HTTP API to handle ACME DNS challenges easily and securely.
letsencrypt - Certbot is EFF's tool to obtain certs from Let's Encrypt and (optionally) auto-enable HTTPS on your server. It can also act as a client for any other CA that uses the ACME protocol.
acme-dns-certbot-joohoi - Certbot client hook for acme-dns
acme-tiny - A tiny script to issue and renew TLS certs from Let's Encrypt
lego - Let's Encrypt/ACME client and library written in Go
synology-tls - Automatically Update Let's Encrypt Wildcard Certificates for Synology NAS
mkcert - A simple zero-config tool to make locally trusted development certificates with any names you'd like.
portainer-traefik-letsencrypt - This repository will help you install Portainer with Traefik and Let's Encrypt with much ease!
public-roadmap - Checkly public roadmap. All planned features, updates and tweaks.