acme.sh icon indicating copy to clipboard operation
acme.sh copied to clipboard

Add dnsapi script for HE DDNS

Open markkuleinio opened this issue 1 year ago • 5 comments

This uses the HE DNS DDNS API shown in https://dns.he.net/. The DDNS API only updates the existing record, so the API key is record-specific, and no remove function is used because the record cannot be deleted.

Issue: https://github.com/acmesh-official/acme.sh/issues/5238 Documentation: https://github.com/acmesh-official/acme.sh/wiki/dnsapi2#dns_he_ddns

markkuleinio avatar Aug 04 '24 15:08 markkuleinio

Welcome First thing: don't send PR to the master branch, please send to the dev branch instead. Please make sure you've read our DNS API Dev Guide and DNS-API-Test. Then reply on this message, otherwise, your code will not be reviewed or merged. We look forward to reviewing your Pull request shortly ✨ 注意: 必须通过了 DNS-API-Test 才会被 review. 无论是修改, 还是新加的 dns api, 都必须确保通过这个测试.

github-actions[bot] avatar Aug 04 '24 15:08 github-actions[bot]

Then reply on this message, otherwise, your code will not be reviewed or merged.

Replying already, even though the instructions in https://github.com/acmesh-official/acme.sh/wiki/DNS-API-Test were not exact to be followed by a GitHub Actions newcomer like me. So I'll keep working on that still.

markkuleinio avatar Aug 04 '24 15:08 markkuleinio

Got the workflow started, but unfortunately the unit tests fail because of this requirement:

     _assertcmd "$addcommand acmetestXyzRandomName.$TestingDomain $record_content"  ||  return

In HE DDNS API it is not possible to create arbitrary records because the API key is dedicated to the specific pre-existing record (_acme-challenge.example.com).

That's why I also had to add TEST_DNS_NO_SUBDOMAIN=1 and TEST_DNS_NO_WILDCARD=1 to get it going that far (= the test for normal dns-01 verification worked fine).

The DNS API works with in my production environment though.

markkuleinio avatar Aug 04 '24 18:08 markkuleinio

Any comments on merging or discarding this?

markkuleinio avatar Oct 08 '24 06:10 markkuleinio

Any comments on merging or discarding this?

I'd like to know as well, as this script would solve an issue I have.

Thank you 🙏

Gorgonbert avatar Oct 09 '24 14:10 Gorgonbert

so it doesn't support to issue wildcard certs ?

Neilpang avatar Nov 03 '24 12:11 Neilpang

so it doesn't support to issue wildcard certs ?

No, that feature does not exist in the HE DDNS API. "Wildcarding has been disabled due to abuse."

markkuleinio avatar Nov 04 '24 12:11 markkuleinio