acme.sh
acme.sh copied to clipboard
Plesk XMLAPI Compatibility with all Plesk editions
Fixing the way of Plesk API calls to fetch all domains. This implementation of the Plesk API is compatible with all Plesk editions.
This implementation of the Plesk API will add support for Plesk web admin edition and will now discover all domains managed by the specific plesk instance.
The existing implementation of the Plesk API uses the customer API. This results in two problems:
- The current API call only fetches the domains of resellers/customers and not the domains that are managed by administrative users.
compare: https://docs.plesk.com/en-US/obsidian/api-rpc/about-xml-api/reference/managing-customer-accounts/retrieving-the-list-of-customer%E2%80%99s-domains.75309/ https://docs.plesk.com/en-US/obsidian/api-rpc/about-xml-api/reference/managing-plesk-server/getting-server-information/response-packet-structure-and-samples/list-of-domains.75294/
- The customer API is only available in the pro/admin editions. But the most common license on VPS/Dedicated Servers is the web host edition. See: https://www.plesk.com/editions/
The correct way to get all domains in all Plesk editions is to use the Sites (Domains) API: https://docs.plesk.com/en-US/obsidian/api-rpc/about-xml-api/reference/managing-sites-domains/getting-information-about-sites.66583/
please fix the dns ci test in your fork: https://github.com/acmesh-official/acme.sh/wiki/DNS-API-Test
please rerun your tests, sometimes there could be some temp error from the CA.
@Neilpang My code is working, but I think it's time to give up. I spent hours to understand how to pass the tests. But the tests are failing in step 1xxx and I think that the reason is not this DNS plugin.
However, this seems to be the issue:
[Sun Jul 10 16:43:30 UTC 2022] code='400'
[Sun Jul 10 16:43:30 UTC 2022] original='{
"type": "urn:ietf:params:acme:error:malformed",
"detail": "Unable to update challenge :: authorization must be pending",
"status": 400
}
I've no idea how to solve this. I don't understand from the log where the test returns 1.
And now the newest funny thing is this:
[Sat Jul 16 21:17:59 UTC 20[22](https://github.com/lufi42/acme.sh/runs/7373185859?check_suite_focus=true#step:5:23)] Log_Out='logs/ubuntu-latest.out'
./rundocker.sh: line 326: logs/ubuntu-latest.out: No such file or directory
[Sat Jul 16 21:17:59 UTC 2022] code='1'
cat: logs/ubuntu-latest.out: No such file or directory
ubuntu:latest [FAIL]
The test doesn't even spin up the ubuntu box.
sorry, the newest error was brought in yesterday by my changes. It should be fixed now. please rerun your tests.

The tests are all green now. @Neilpang can you please review.