Dehydrated: Letsencrypt/acme client implemented as a shell-script

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • dehydrated

    letsencrypt/acme client implemented as a shell-script – just add water

  • 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

  • lego

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

  • Self contained but hardly a tiny supply chain attack surface: https://github.com/go-acme/lego/blob/master/go.sum

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • acme.sh

    A pure Unix shell script implementing ACME client protocol

  • A very relevant question. Acme.sh, a similar shell script ACME client, had a remote code execution problem last year.

    https://github.com/acmesh-official/acme.sh/issues/4668

  • lexicon

    Manipulate DNS records on various DNS providers in a standardized way.

  • 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

  • jq

    Command-line JSON processor

  • uacme

    ACMEv2 client written in plain C with minimal dependencies (by ndilieto)

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Why Certificate Lifecycle Automation Matters

    4 projects | news.ycombinator.com | 30 Jan 2024
  • letsencrypt with noip free domain?

    2 projects | /r/selfhosted | 10 Apr 2023
  • Google Pushing For 90 Day SSL/TLS Certificates - Time For Automation

    2 projects | /r/sysadmin | 25 Mar 2023
  • How will you handle 90 day SSL expiration?

    3 projects | /r/sysadmin | 22 Mar 2023
  • trying to copy a signed xml using get-content and set-content. It works when I get-content from the original file, or a get-content and then set-content created version of the file... but if I try to store the file in the script itself to set-content later, no dice. Why not?

    1 project | /r/PowerShell | 13 Sep 2022