acmesh-official / acme.sh

A pure Unix shell script implementing ACME client protocol
https://acme.sh
GNU General Public License v3.0
39.08k stars 4.95k forks source link

Portunity DNS support #4337

Open thorsten-gehrig opened 2 years ago

thorsten-gehrig commented 2 years ago

Hi i would love to add portunity DNS-support for acme.sh There is an DNS API and it´s easy to use: https://power-static.portunity.de/fileadmin/contents/access/downloads/de-ispsuite-dnsapi.pdf The example in chaper 2.4 is quite easy to understand. Is there anyone who is able to help me with the skeleton for the DNS-API topic where i can provide the CURL to inject and remove the records? I guess thats all what we need: Authentication: --user 'dns12345:0821d880aabaf5d69f30c5e2baa915b8' Action: add/delete, Type TXT, ...

Any help would be welcome. I would be able to deliver the curl for the required actions.

Best Thorsten

Neilpang commented 2 years ago

https://github.com/acmesh-official/acme.sh/wiki/DNS-API-Dev-Guide

thorsten-gehrig commented 2 years ago

Thank you - I will take a look :-)

thorsten-gehrig commented 2 years ago

Okay - i have to admit... i´m not able to modify the cloudflare script accordingly... maybe 50-60% - but many missing. Is there an platform/opportunity to find a volunteer to implement this - well documented - API. Everything is POST, details have to be in a json-file. I´m able to use the API successful via CURL. I´m willing to pay a bounry of 50$

HRHDaniel commented 1 year ago

@thorsten-gehrig is there a link to this well documented API in English? And do they have developer/test accounts available for me to take a look at this?

thorsten-gehrig commented 1 year ago

@HRHDaniel I´ll forwarded both questions to the portunity support. I hope they do have an English API. Regarding developer/test account: it's as cheap I would be fine to sponsor a domain-registration for 1 year which does provide the access.

Lets cross fingers that they do provide an English API documentation :-)

thorsten-gehrig commented 1 year ago

Hi Api documentation is available now in English: https://power-static.portunity.de/fileadmin/contents/access/downloads/en-ispsuite-dnsapi.pdf

There are no test-accounts - but the service is as cheap that it's easy to create an dedicated account: https://www.portunity.de/hosting/produkte/domains.html A DE-Domain is 10€ for 1 year - so it wouldn't be a blocking point.

Best Thorsten

HRHDaniel commented 1 year ago

Could be as simple as this: https://github.com/HRHDaniel/acme.sh/blob/dns_portunity/dnsapi/dns_portunity.sh

The docs are a little unclear on the add if I have to specify existing records in the array or if these will append. If it doesn't just append then it'd take a bit more work to pull the existing one to stick in there for supporting the two TXT records required. Note I haven't tested this script, so not sure there aren't typos or that it would work.

If you want to purchase a domain for testing this or already have one you're willing to share the creds for I'd be happy to test this out and try to get a PR up. I'd need you to provide:

You can send those to: acmesh@theharps.cloud

Helmut1965 commented 6 months ago

Hi, thanks for the Portunity Script, I had to change on line in the API Script: I changed if _contains "$response" '"ok"'; then through if ! _contains "$response" '"ok"'; then

after they change it works without any problems. Overall, it seems that the Portunity Script isn't part of the stable package. Is somebody able to bring it to the stable package.

Thanks Helmut