acme.sh VS acme-dns-server

Compare acme.sh vs acme-dns-server and see what are their differences.

acme.sh

A pure Unix shell script implementing ACME client protocol (by acmesh-official)

acme-dns-server

Simple DNS server for serving TXT records written in Python (by pawitp)
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
acme.sh acme-dns-server
280 2
36,617 29
1.5% -
8.9 1.8
5 days ago almost 2 years ago
Shell Python
GNU General Public License v3.0 only MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

acme.sh

Posts with mentions or reviews of acme.sh. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-19.
  • Setting up a Homelab: Part 1 Proxmox and LetsEncrypt
    1 project | dev.to | 26 Apr 2024
    A self-signed certificate was generated and used by Proxmox which will always generate a warning on the browser. I did not like seeing this when trying to work on my home lab. So, I started looking for ways to put a valid SSL certificate in Proxmox. During my research, I found that Proxmox could be made to integrate with acme.sh; a free SSL certificate generator powered by ACME(Let's Encrypt).
  • How to Build Email Server with Exim on Alma Linux 9
    1 project | dev.to | 20 Apr 2024
    Next, we will install acme.sh, a command-line tool for managing SSL/TLS certificates. I prefer acme.sh over certbot, as it does not depend on the OS version. For more details about acme.sh, check its GitHub repo here.
  • Dehydrated: Letsencrypt/acme client implemented as a shell-script
    11 projects | news.ycombinator.com | 19 Apr 2024
    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

  • Ask HN: What is your experience with ZeroSSL?
    1 project | news.ycombinator.com | 20 Mar 2024
    As a result, any certificates issued (or renewed) after Feb 8th will not work on older Android devices (< 7.1.1), unless the ACME client has been configure to request an alternate certificate chain. The "alternate chain" workaround will also stop working on June 6th.

    I need to support these older Android devices so I am looking for alternatives. I have seen ZeroSSL mentioned a few times; it is also the default CA for acme.sh (the ACME client I am using nowadays) [2]. They have a number of paid plans but ACME certificates are free [3].

    I'll be testing this over the next few days, but I would also like to ask if people here have experience with ZeroSSL (good or bad :-). Any feedback would be helpful.

    [1]: https://letsencrypt.org/2023/07/10/cross-sign-expiration.html

    [2]: https://github.com/acmesh-official/acme.sh

    [3]: https://zerossl.com/documentation/acme/

  • Why Certificate Lifecycle Automation Matters
    4 projects | news.ycombinator.com | 30 Jan 2024
    Huh, the environment variable thing was specifically aimed at acme.sh which rather arbitrarily changed the config value from ACMEDNS_UPDATE_URL to ACMEDNS_BASE_URL, never acknowledged this in a changelog and then silently failed after an automatic upgrade as recommended by the default install:

    https://github.com/acmesh-official/acme.sh/commit/2ce145f359...

    It's also cleared out my .account.conf files when run on the suggested cron.

    I've started using updown which also monitors my TLS certs simply because I no longer trust the process to work as documented.

  • The Bureau of Meteorology website does not support connections via HTTPS
    2 projects | news.ycombinator.com | 2 Jan 2024
    It depends on your provider though. I can tell from experience that with OVH and their API, it's been easy to set up the automatic renewal via DNS verification. Apparently, the official client has support for the DNS API of 159 providers: https://github.com/acmesh-official/acme.sh/wiki/dnsapi
  • I made a tool for automatically updating the current and next (rollover) TLSA DNS records with acme.sh and the Cloudflare API
    3 projects | /r/selfhosted | 10 Dec 2023
    For the few people here that happen to run a self-hosted email server with acme.sh for TLS key/cert generation and Cloudflare for DNS management, I have made a tool that i personally use to get a perfect 100% score on Internet.nl's email test.
  • How to get LetsEncrypt certs from PfSense/ACME to other machines? (automated??)
    1 project | /r/homelab | 7 Dec 2023
    All of this is to say it's a decent amount of work to save the hassle of deploying certbot or acme.sh on the remote machines, pick your poison.
  • Hosting at home &amp; SSL
    1 project | /r/selfhosted | 6 Dec 2023
    Here is a really solid guide for setting up the ACME DNS challenge with pretty much any DNS provider
  • This is Fine
    1 project | news.ycombinator.com | 3 Dec 2023
    People wonder why I like using the shell-based ACME client like dehydrated (or acme.sh):

    * https://packages.debian.org/search?keywords=dehydrated

    * https://github.com/acmesh-official/acme.sh

    Versus the official client certbot:

    * https://packages.debian.org/search?keywords=python3-certbot

    A kludgy as very long shell scripts are (thought to be), I have a better chance of being able to go through all the code and understand it than a dozen(+) Python libraries.

acme-dns-server

Posts with mentions or reviews of acme-dns-server. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-02-09.
  • Ask HN: What's your solution for SSL on internal servers?
    8 projects | news.ycombinator.com | 9 Feb 2022
    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
    15 projects | news.ycombinator.com | 20 Aug 2021
    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?

When comparing acme.sh and acme-dns-server you can also consider the following projects:

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 - Limited DNS server with RESTful HTTP API to handle ACME DNS challenges easily and securely.

Nginx Proxy Manager - Docker container for managing Nginx proxy hosts with a simple, powerful interface

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

acme-dns-certbot-joohoi - Certbot client hook for acme-dns

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

acme-tiny - A tiny script to issue and renew TLS certs from Let's Encrypt

pterodactyl-installer - :bird: Unofficial installation scripts for Pterodactyl Panel

docker - ⛴ Docker image of Nextcloud

mkcert - A simple zero-config tool to make locally trusted development certificates with any names you'd like.