dehydrated
lexicon
Our great sponsors
dehydrated | lexicon | |
---|---|---|
36 | 16 | |
5,886 | 1,442 | |
3.4% | - | |
2.3 | 8.8 | |
about 2 months ago | 2 months 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
lexicon
-
Dehydrated: Letsencrypt/acme client implemented as a shell-script
One of the biggest benefits of dehydrated is that it doesn't try to integrate with a DNS provider on its own. It just calls a hook, which can be implemented with a simple shell script[1]. The most popular third-party integration is lexicon[2], though you're not required to use Lexicon. (e.g. you're free to use awscli, gcloud, linode-cli, etc. to do the actual DNS record manipulation)
This means its dependencies footprint is much smaller, and allows you to do things that can be a nightmare to configure with Certbot or other alternatives. For example, at one of the scenarios I had to set up was that we had to query a credential via HashiCorp Vault, which is then used to cURL into an API endpoint. The shell script in total was pretty short (< 100 LOC) and it worked extremely well.
[1]: https://github.com/dehydrated-io/dehydrated/blob/master/docs...
[2]: https://github.com/AnalogJ/lexicon
-
Why Certificate Lifecycle Automation Matters
A reminder that if you an internal-only server where the typical http-01' verification connection method will not work, especially if you cannot easily/dynamically update DNS records, one can use dns-01* by using DNS aliasing/CNAME:
* https://dan.langille.org/2019/02/01/acme-domain-alias-mode/
* https://www.eff.org/deeplinks/2018/02/technical-deep-dive-se...
So if you want a cert for www.internal.example.com, you will first have do a one-time change to have a _acme-challenge.www.internal… CNAME created to point to any other (sub-)domain where you can easily update things dynamically, e.g., www-internal.example-dnsapi.com.
When request the cert for "www.internal…", LE/ACME will look up the corresponding _acme-challenge record, and go to "_acme-challenge.www-internal.example-dnsapi.com. The nonce token will be there in the 'final' destination following the CNAME in a TXT, which shows LE/ACME that you control the DNS chain.
To do the DNS updating, you can use a CLI/Python library like Lexicon, which supports dozens of APIs:
* https://github.com/AnalogJ/lexicon
-
Easy HTTPS for your private networks
This leverages the ACME DNS server which has a REST API:
* https://github.com/joohoi/acme-dns
If your DNS provider has an API, you can hook into that for internal-only web servers; this handy code supports several dozen APIs so you don't have to re-invent the wheel:
* https://github.com/AnalogJ/lexicon
* https://pypi.org/project/dns-lexicon/
* https://dns-lexicon.readthedocs.io/en/latest/user_guide.html
- Wie kommt Google Safe Browsing darauf, dass alle Seiten auf meiner Dyndns Domain phishing Seiten sind?
-
Uacme: ACMEv2 client written in plain C with minimal dependencies
> It even comes preconfigured for various DNS providers[2]
Also, CLI utility that supports a bunch of APIs:
* https://github.com/AnalogJ/lexicon
-
what are better alternatives of noip?
Then, you can use ddclient, which supports many DNS services (including those providing DynDNS protocol), or you can write a Python script using the dns-lexicon module to manipulate the DNS records over the API.
- NextDNS Launches API
- Lexicon: Manipulate DNS records on various DNS providers in a standardized way.
- Lexicon: Manipulate DNS records on various DNS providers in a standardized way
- Some of the popular DNS management services as a self hosted service
What are some alternatives?
acme.sh - A pure Unix shell script implementing ACME client protocol
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.
octoDNS - Tools for managing DNS across multiple providers
acme-dns - Limited DNS server with RESTful HTTP API to handle ACME DNS challenges easily and securely.
lego - Let's Encrypt/ACME client and library written in Go
extdns - External DNS for docker-compose
synology-tls - Automatically Update Let's Encrypt Wildcard Certificates for Synology NAS
duckdns - Caddy module: dns.providers.duckdns
portainer-traefik-letsencrypt - This repository will help you install Portainer with Traefik and Let's Encrypt with much ease!