Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add dnsapi script for HE DDNS #5237

Open
wants to merge 4 commits into
base: dev
Choose a base branch
from

Conversation

markkuleinio
Copy link

@markkuleinio markkuleinio commented Aug 4, 2024

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: #5238
Documentation: https://github.com/acmesh-official/acme.sh/wiki/dnsapi2#dns_he_ddns

Copy link

github-actions bot commented Aug 4, 2024

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, 都必须确保通过这个测试.

@markkuleinio
Copy link
Author

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
Copy link
Author

markkuleinio commented Aug 4, 2024

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
Copy link
Author

Any comments on merging or discarding this?

@Gorgonbert
Copy link

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 🙏

@Neilpang
Copy link
Member

Neilpang commented Nov 3, 2024

so it doesn't support to issue wildcard certs ?

@markkuleinio
Copy link
Author

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."

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants