ZeroSSL left an uncanny impression on me when for some reason acme.sh developers made them default instead of Let's Encrypt. This prompted me to switch to a different client (just in case of further worsening of Let's Encrypt support by acme.sh).
I'll consider switching back to Let's Encrypt once this setup doesn't require a whitelist.
https://github.com/go-acme/lego
I wasn't set on only bash though.