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

Report bugs to namecheap dns api #2107

Open
EverPresent opened this issue Feb 25, 2019 · 33 comments
Open

Report bugs to namecheap dns api #2107

EverPresent opened this issue Feb 25, 2019 · 33 comments
Assignees
Labels
3rd party api report bugs to dns api, deploy hooks and notification hooks

Comments

@EverPresent
Copy link
Contributor

This is the place to report bugs in the NameCheap DNS API.

If you experience a bug, please report it in this issue.

Thanks!

@Neilpang Neilpang added the 3rd party api report bugs to dns api, deploy hooks and notification hooks label Feb 25, 2019
@dalemoore
Copy link

dalemoore commented May 17, 2019

Does the Namecheap API only work if the domains are actually registered WITH Namecheap? Or will it also work if you have the domains registered elsewhere but the DNS pointed to Namecheap's hosting? All of my domains are registered at Porkbun, but their DNS nameservers are pointed at Namecheap so I can manage them in cPanel. All of the domains show up in Namecheap account but say "Domain is with another registrar." and are greyed out.

@EverPresent
Copy link
Contributor Author

I think they should work but I use namecheap's web interface for managing my DNS (not cPanel). If you can call this API endpoint for your domain and get information back, then this plugin should work: https://www.namecheap.com/support/api/methods/domains-dns/get-hosts.aspx

@EverPresent
Copy link
Contributor Author

I think this sed error should have been fixed in release 2.8.2 on 2019-08-10. Please let me know if you still have this issue.

@vaishraj
Copy link

I am pretty sure I am doing something wrong but when I try mutli domain (both TLD and wild card), keep getting :Verify error:DNS problem: NXDOMAIN looking up TXT for _acme-challenge.

I do see the DNS Entry in my namecheap and the logs show TXT entry found and the log shows the value was returned by the namecheap API.

What am I doing wrong?

@siver3
Copy link

siver3 commented Apr 21, 2020

Hi! The dns_namecheap is almost working for me. When I run:

acme.sh --issue -d mydomain.net -d *.mydomain.net --dns dns_namecheap

it creates _acme-challenge TXT entries (I can see them with dig). However validation part is failing:

[Tue Apr 21 09:53:11 EDT 2020] The txt record is added: Success.
[Tue Apr 21 09:53:11 EDT 2020] Let's check each dns records now. Sleep 20 seconds first.
[Tue Apr 21 09:53:32 EDT 2020] d='mydomain.net'
[Tue Apr 21 09:53:32 EDT 2020] txtdomain='_acme-challenge.mydomain.net'
[Tue Apr 21 09:53:32 EDT 2020] aliasDomain='_acme-challenge.mydomain.net'
[Tue Apr 21 09:53:32 EDT 2020] txt='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
[Tue Apr 21 09:53:32 EDT 2020] d_api='/home/user/.acme.sh/dnsapi/dns_namecheap.sh'
[Tue Apr 21 09:53:32 EDT 2020] Checking mydomain.net for _acme-challenge.mydomain.net
[Tue Apr 21 09:53:32 EDT 2020] _c_txtdomain='_acme-challenge.mydomain.net'
[Tue Apr 21 09:53:32 EDT 2020] _c_aliasdomain='_acme-challenge.mydomain.net'
[Tue Apr 21 09:53:32 EDT 2020] _c_txt='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
[Tue Apr 21 09:53:32 EDT 2020] Detect dns server first.
[Tue Apr 21 09:53:32 EDT 2020] GET
[Tue Apr 21 09:53:32 EDT 2020] url='https://cloudflare-dns.com'
[Tue Apr 21 09:53:32 EDT 2020] timeout=
[Tue Apr 21 09:53:32 EDT 2020] _CURL='curl -L --silent --dump-header /home/user/.acme.sh/http.header  -g '
[Tue Apr 21 09:53:32 EDT 2020] Please refer to https://curl.haxx.se/libcurl/c/libcurl-errors.html for error code: 60
[Tue Apr 21 09:53:32 EDT 2020] ret='60'
[Tue Apr 21 09:53:32 EDT 2020] Use google doh server
[Tue Apr 21 09:53:32 EDT 2020] GET
[Tue Apr 21 09:53:32 EDT 2020] url='https://dns.google/resolve?name=_acme-challenge.mydomain.net&type=TXT'
[Tue Apr 21 09:53:32 EDT 2020] timeout=
[Tue Apr 21 09:53:32 EDT 2020] _CURL='curl -L --silent --dump-header /home/user/.acme.sh/http.header  -g '
[Tue Apr 21 09:53:32 EDT 2020] Please refer to https://curl.haxx.se/libcurl/c/libcurl-errors.html for error code: 60
[Tue Apr 21 09:53:32 EDT 2020] ret='60'
[Tue Apr 21 09:53:32 EDT 2020] Not valid yet, let's wait 10 seconds and check next one.
[Tue Apr 21 09:53:32 EDT 2020] _p_txtdomain='_acme-challenge.mydomain.net'
[Tue Apr 21 09:53:32 EDT 2020] Cloudflare purge TXT record for domain _acme-challenge.mydomain.net
[Tue Apr 21 09:53:32 EDT 2020] POST
[Tue Apr 21 09:53:32 EDT 2020] _post_url='https://cloudflare-dns.com/api/v1/purge?domain=_acme-challenge.mydomain.net&type=TXT'
[Tue Apr 21 09:53:32 EDT 2020] _CURL='curl -L --silent --dump-header /home/user/.acme.sh/http.header  -g '
[Tue Apr 21 09:53:33 EDT 2020] Please refer to https://curl.haxx.se/libcurl/c/libcurl-errors.html for error code: 60
[Tue Apr 21 09:53:33 EDT 2020] _ret='60'

And so it repeats till it runs out of tries and then stops.
Note also that I can successfully get certificate with DNS manual mode.

@siver3
Copy link

siver3 commented Jun 3, 2020

Soo, noone really reading these? :(

@siver3
Copy link

siver3 commented Jun 4, 2020

Thank for reply! I'll check

@siver3
Copy link

siver3 commented Jun 4, 2020

Wow. I fixed it. This is what it was: I was running it in home network with forced OpenDNS FamilyShield DNS servers. For some reason it considered https://dns.google as malicious address and was replacing it with different address and certificate (Cisco Umbrella CA) that is not in root certificate list. So I removed OpenDNS entries for this box and it works now.

... it seems to think your nameservers are CloudFlare and Google? They shouldn't be if you are with NameCheap.

I dont think this is correct. It uses these servers for all domains checks.

@siver3
Copy link

siver3 commented Jun 5, 2020

Good to here you sorted it.

Thank you for putting me in right direction :)

@mscreations
Copy link

Does not preserve Dynamic DNS entries

It would appear that this does not preserve entries that are for Dynamic DNS. In the API, it returns "IsDDNSEnabled=true" if the entry is a Dynamic DNS entry. This gets lost after being read and reapplied. It should be a simple matter of also reading it in and copying it back out when doing the update, but I'm not really sure exactly which kind of edits would be necessary to make this work.

@mscreations
Copy link

Hmm. I dont think this is fixable anyways as it appears Namecheap's API doesn't allow you to set DDNS for any hosts as far as I can tell. I asked them directly if its possible, so maybe if they respond how to do it, I can work up a patch to fix it.

@vaggdim
Copy link

vaggdim commented Jan 9, 2021

I have the following error when I execute this command.

acme.sh --issue --dns dns_namecheap -d badwolf.icu

[Fri Jan  8 19:41:09 EST 2021] response='<?xml version="1.0" encoding="utf-8"?>
<ApiResponse Status="ERROR" xmlns="http://api.namecheap.com/xml.response">
  <Errors>
    <Error Number="2030288">Cannot complete this command as this domain is not using proper DNS servers</Error>
  </Errors>
  <Warnings />
  <RequestedCommand>namecheap.domains.dns.gethosts</RequestedCommand>
  <CommandResponse Type="namecheap.domains.dns.getHosts">
    <DomainDNSGetHostsResult IsUsingOurDNS="false" />
  </CommandResponse>
  <Server>PHX01APIEXT02</Server>
  <GMTTimeDifference>--5:00</GMTTimeDifference>
  <ExecutionTime>0.023</ExecutionTime>
</ApiResponse>'
[Fri Jan  8 19:41:09 EST 2021] error Cannot complete this command as this domain is not using proper DNS servers
[Fri Jan  8 19:41:09 EST 2021] sld(badwolf)/tld(icu) not found
[Fri Jan  8 19:41:09 EST 2021] tld
[Fri Jan  8 19:41:09 EST 2021] invalid tld
[Fri Jan  8 19:41:09 EST 2021] Error add txt for domain:_acme-challenge.badwolf.icu
[Fri Jan  8 19:41:09 EST 2021] _on_issue_err

@MonizDave
Copy link

I have confirmed with Namecheap that everything is fine with my API settings.
However when I provide the 3 export values and run the cmd acme.sh --issue --dns dns_namecheap -d MY_DOMAIN.ca -d www.MY_DOMAIN.ca --log

I get this as the response:

[Tue Aug 24 11:49:50 EDT 2021] error API Key is invalid or API access has not been enabled
[Tue Aug 24 11:49:50 EDT 2021] API Key is invalid or API access has not been enabled
[Tue Aug 24 11:49:51 EDT 2021] error API Key is invalid or API access has not been enabled
[Tue Aug 24 11:49:51 EDT 2021] invalid domain
[Tue Aug 24 11:49:51 EDT 2021] Error add txt for domain:_acme-challenge.damnserver.ca
[Tue Aug 24 11:49:51 EDT 2021] Please check log file for more details: /root/.acme.sh/acme.sh.log

immediately after trying to add the txt value

@Xebozone
Copy link

For the API access you may need to add in the API of the web host rather than your API if you are running the script via the web host.
Note: If you're using cPanel for your domain's DNS, you will get a different error about the DNS not being set up properly. In this case, you will need to use the cPanel API instead of the Namecheap API

@mslinn
Copy link

mslinn commented Aug 1, 2022

The acme.sh docs say make sure to have a backup of your records. I would love to be able to back up and restore Namecheap DNS records. How could this be done?

@mslinn
Copy link

mslinn commented Aug 1, 2022

My site (scalacourses.com) uses dynamic dns. I have verified that my IP is whitelisted at Namecheap and the API is working.

Error add txt for domain:_acme-challenge.scalacourses.com
[Mon 01 Aug 2022 03:16:38 PM EDT] Please check log file for more details: /home/mslinn/.acme.sh/acme.sh.log

I enabled --debug. The log says:

[Mon 01 Aug 2022 03:10:29 PM EDT] Running cmd: issue
[Mon 01 Aug 2022 03:10:29 PM EDT] _main_domain='scalacourses.com'
[Mon 01 Aug 2022 03:10:29 PM EDT] _alt_domains='*.scalacourses.com'
[Mon 01 Aug 2022 03:10:29 PM EDT] Using config home:/home/mslinn/.acme.sh
[Mon 01 Aug 2022 03:10:29 PM EDT] default_acme_server
[Mon 01 Aug 2022 03:10:29 PM EDT] ACME_DIRECTORY='https://acme.zerossl.com/v2/DV90'
[Mon 01 Aug 2022 03:10:29 PM EDT] DOMAIN_PATH='/home/mslinn/.acme.sh/scalacourses.com'
[Mon 01 Aug 2022 03:10:29 PM EDT] Le_NextRenewTime
[Mon 01 Aug 2022 03:10:29 PM EDT] Using ACME_DIRECTORY: https://acme.zerossl.com/v2/DV90
[Mon 01 Aug 2022 03:10:29 PM EDT] _init api for server: https://acme.zerossl.com/v2/DV90
[Mon 01 Aug 2022 03:10:29 PM EDT] GET
[Mon 01 Aug 2022 03:10:29 PM EDT] url='https://acme.zerossl.com/v2/DV90'
[Mon 01 Aug 2022 03:10:29 PM EDT] timeout=
[Mon 01 Aug 2022 03:10:29 PM EDT] _CURL='curl --silent --dump-header /home/mslinn/.acme.sh/http.header  -L '
[Mon 01 Aug 2022 03:10:37 PM EDT] ret='0'
[Mon 01 Aug 2022 03:10:37 PM EDT] ACME_KEY_CHANGE='https://acme.zerossl.com/v2/DV90/keyChange'
[Mon 01 Aug 2022 03:10:37 PM EDT] ACME_NEW_AUTHZ
[Mon 01 Aug 2022 03:10:37 PM EDT] ACME_NEW_ORDER='https://acme.zerossl.com/v2/DV90/newOrder'
[Mon 01 Aug 2022 03:10:37 PM EDT] ACME_NEW_ACCOUNT='https://acme.zerossl.com/v2/DV90/newAccount'
[Mon 01 Aug 2022 03:10:37 PM EDT] ACME_REVOKE_CERT='https://acme.zerossl.com/v2/DV90/revokeCert'
[Mon 01 Aug 2022 03:10:37 PM EDT] ACME_AGREEMENT='https://secure.trust-provider.com/repository/docs/Legacy/20201020_Certificate_Subscriber_Agreement_v_2_4_click.pdf'
[Mon 01 Aug 2022 03:10:37 PM EDT] ACME_NEW_NONCE='https://acme.zerossl.com/v2/DV90/newNonce'
[Mon 01 Aug 2022 03:10:37 PM EDT] Using CA: https://acme.zerossl.com/v2/DV90
[Mon 01 Aug 2022 03:10:37 PM EDT] _on_before_issue
[Mon 01 Aug 2022 03:10:37 PM EDT] _chk_main_domain='scalacourses.com'
[Mon 01 Aug 2022 03:10:37 PM EDT] _chk_alt_domains='*.scalacourses.com'
[Mon 01 Aug 2022 03:10:37 PM EDT] Le_LocalAddress
[Mon 01 Aug 2022 03:10:37 PM EDT] d='scalacourses.com'
[Mon 01 Aug 2022 03:10:37 PM EDT] Check for domain='scalacourses.com'
[Mon 01 Aug 2022 03:10:37 PM EDT] _currentRoot='dns_namecheap'
[Mon 01 Aug 2022 03:10:37 PM EDT] d='*.scalacourses.com'
[Mon 01 Aug 2022 03:10:37 PM EDT] Check for domain='*.scalacourses.com'
[Mon 01 Aug 2022 03:10:37 PM EDT] _currentRoot='dns_namecheap'
[Mon 01 Aug 2022 03:10:37 PM EDT] d
[Mon 01 Aug 2022 03:10:37 PM EDT] _saved_account_key_hash is not changed, skip register account.
[Mon 01 Aug 2022 03:10:37 PM EDT] Read key length:2048
[Mon 01 Aug 2022 03:10:37 PM EDT] _createcsr
[Mon 01 Aug 2022 03:10:37 PM EDT] Multi domain='DNS:scalacourses.com,DNS:*.scalacourses.com'
[Mon 01 Aug 2022 03:10:37 PM EDT] Getting domain auth token for each domain
[Mon 01 Aug 2022 03:10:37 PM EDT] d='*.scalacourses.com'
[Mon 01 Aug 2022 03:10:37 PM EDT] d
[Mon 01 Aug 2022 03:10:37 PM EDT] url='https://acme.zerossl.com/v2/DV90/newOrder'
[Mon 01 Aug 2022 03:10:37 PM EDT] payload='{"identifiers": [{"type":"dns","value":"scalacourses.com"},{"type":"dns","value":"*.scalacourses.com"}]}'
[Mon 01 Aug 2022 03:10:37 PM EDT] RSA key
[Mon 01 Aug 2022 03:10:37 PM EDT] HEAD
[Mon 01 Aug 2022 03:10:37 PM EDT] _post_url='https://acme.zerossl.com/v2/DV90/newNonce'
[Mon 01 Aug 2022 03:10:37 PM EDT] _CURL='curl --silent --dump-header /home/mslinn/.acme.sh/http.header  -L  -I  '
[Mon 01 Aug 2022 03:10:44 PM EDT] _ret='0'
[Mon 01 Aug 2022 03:10:44 PM EDT] POST
[Mon 01 Aug 2022 03:10:44 PM EDT] _post_url='https://acme.zerossl.com/v2/DV90/newOrder'
[Mon 01 Aug 2022 03:10:44 PM EDT] _CURL='curl --silent --dump-header /home/mslinn/.acme.sh/http.header  -L '
[Mon 01 Aug 2022 03:10:50 PM EDT] _ret='0'
[Mon 01 Aug 2022 03:10:50 PM EDT] code='201'
[Mon 01 Aug 2022 03:10:50 PM EDT] Le_LinkOrder='https://acme.zerossl.com/v2/DV90/order/Cl7iFAJKrBmZM3aM93A3eA'
[Mon 01 Aug 2022 03:10:50 PM EDT] Le_OrderFinalize='https://acme.zerossl.com/v2/DV90/order/Cl7iFAJKrBmZM3aM93A3eA/finalize'
[Mon 01 Aug 2022 03:10:50 PM EDT] url='https://acme.zerossl.com/v2/DV90/authz/qJyTjXTsEq3nII7UkBAl1Q'
[Mon 01 Aug 2022 03:10:50 PM EDT] payload
[Mon 01 Aug 2022 03:10:50 PM EDT] POST
[Mon 01 Aug 2022 03:10:50 PM EDT] _post_url='https://acme.zerossl.com/v2/DV90/authz/qJyTjXTsEq3nII7UkBAl1Q'
[Mon 01 Aug 2022 03:10:50 PM EDT] _CURL='curl --silent --dump-header /home/mslinn/.acme.sh/http.header  -L '
[Mon 01 Aug 2022 03:10:57 PM EDT] _ret='0'
[Mon 01 Aug 2022 03:10:57 PM EDT] code='200'
[Mon 01 Aug 2022 03:10:57 PM EDT] url='https://acme.zerossl.com/v2/DV90/authz/EQ-u2J1kS3ZngTZXr4ECXg'
[Mon 01 Aug 2022 03:10:57 PM EDT] payload
[Mon 01 Aug 2022 03:10:57 PM EDT] POST
[Mon 01 Aug 2022 03:10:57 PM EDT] _post_url='https://acme.zerossl.com/v2/DV90/authz/EQ-u2J1kS3ZngTZXr4ECXg'
[Mon 01 Aug 2022 03:10:57 PM EDT] _CURL='curl --silent --dump-header /home/mslinn/.acme.sh/http.header  -L '
[Mon 01 Aug 2022 03:11:04 PM EDT] _ret='0'
[Mon 01 Aug 2022 03:11:04 PM EDT] code='200'
[Mon 01 Aug 2022 03:11:04 PM EDT] d='scalacourses.com'
[Mon 01 Aug 2022 03:11:04 PM EDT] Getting webroot for domain='scalacourses.com'
[Mon 01 Aug 2022 03:11:04 PM EDT] _w='dns_namecheap'
[Mon 01 Aug 2022 03:11:04 PM EDT] _currentRoot='dns_namecheap'
[Mon 01 Aug 2022 03:11:04 PM EDT] entry='"type":"dns-01","url":"https://acme.zerossl.com/v2/DV90/chall/KsWABofg-Wx_ADOLAd7bOg","status":"pending","token":"5CSWfeQxOTzRISx9_VbQid3SH1EDTzLFBh87s175y5c"'
[Mon 01 Aug 2022 03:11:04 PM EDT] token='5CSWfeQxOTzRISx9_VbQid3SH1EDTzLFBh87s175y5c'
[Mon 01 Aug 2022 03:11:04 PM EDT] uri='https://acme.zerossl.com/v2/DV90/chall/KsWABofg-Wx_ADOLAd7bOg'
[Mon 01 Aug 2022 03:11:04 PM EDT] keyauthorization='5CSWfeQxOTzRISx9_VbQid3SH1EDTzLFBh87s175y5c.XGk-p2ZTjGV2ipCzb1BsIcEXOF_lnDNz9B4JLqD-Qzw'
[Mon 01 Aug 2022 03:11:04 PM EDT] dvlist='scalacourses.com#5CSWfeQxOTzRISx9_VbQid3SH1EDTzLFBh87s175y5c.XGk-p2ZTjGV2ipCzb1BsIcEXOF_lnDNz9B4JLqD-Qzw#https://acme.zerossl.com/v2/DV90/chall/KsWABofg-Wx_ADOLAd7bOg#dns-01#dns_namecheap'
[Mon 01 Aug 2022 03:11:04 PM EDT] d='*.scalacourses.com'
[Mon 01 Aug 2022 03:11:04 PM EDT] Getting webroot for domain='*.scalacourses.com'
[Mon 01 Aug 2022 03:11:04 PM EDT] _w='dns_namecheap'
[Mon 01 Aug 2022 03:11:04 PM EDT] _currentRoot='dns_namecheap'
[Mon 01 Aug 2022 03:11:04 PM EDT] entry='"type":"dns-01","url":"https://acme.zerossl.com/v2/DV90/chall/2Dzj97Jw1LcKijx7JGPljw","status":"pending","token":"9nFeeK1iFmE7y8uhN65R7XWahVugeB0gLywPBqVmj5c"'
[Mon 01 Aug 2022 03:11:04 PM EDT] token='9nFeeK1iFmE7y8uhN65R7XWahVugeB0gLywPBqVmj5c'
[Mon 01 Aug 2022 03:11:04 PM EDT] uri='https://acme.zerossl.com/v2/DV90/chall/2Dzj97Jw1LcKijx7JGPljw'
[Mon 01 Aug 2022 03:11:04 PM EDT] keyauthorization='9nFeeK1iFmE7y8uhN65R7XWahVugeB0gLywPBqVmj5c.XGk-p2ZTjGV2ipCzb1BsIcEXOF_lnDNz9B4JLqD-Qzw'
[Mon 01 Aug 2022 03:11:04 PM EDT] dvlist='*.scalacourses.com#9nFeeK1iFmE7y8uhN65R7XWahVugeB0gLywPBqVmj5c.XGk-p2ZTjGV2ipCzb1BsIcEXOF_lnDNz9B4JLqD-Qzw#https://acme.zerossl.com/v2/DV90/chall/2Dzj97Jw1LcKijx7JGPljw#dns-01#dns_namecheap'
[Mon 01 Aug 2022 03:11:04 PM EDT] d
[Mon 01 Aug 2022 03:11:04 PM EDT] vlist='scalacourses.com#5CSWfeQxOTzRISx9_VbQid3SH1EDTzLFBh87s175y5c.XGk-p2ZTjGV2ipCzb1BsIcEXOF_lnDNz9B4JLqD-Qzw#https://acme.zerossl.com/v2/DV90/chall/KsWABofg-Wx_ADOLAd7bOg#dns-01#dns_namecheap,*.scalacourses.com#9nFeeK1iFmE7y8uhN65R7XWahVugeB0gLywPBqVmj5c.XGk-p2ZTjGV2ipCzb1BsIcEXOF_lnDNz9B4JLqD-Qzw#https://acme.zerossl.com/v2/DV90/chall/2Dzj97Jw1LcKijx7JGPljw#dns-01#dns_namecheap,'
[Mon 01 Aug 2022 03:11:04 PM EDT] d='scalacourses.com'
[Mon 01 Aug 2022 03:11:04 PM EDT] _d_alias
[Mon 01 Aug 2022 03:11:04 PM EDT] txtdomain='_acme-challenge.scalacourses.com'
[Mon 01 Aug 2022 03:11:04 PM EDT] txt='c6D_4I5_QXQCo2hYW76mZal2C3hjxGfdSfZCrs1iivU'
[Mon 01 Aug 2022 03:11:04 PM EDT] d_api='/home/mslinn/.acme.sh/dnsapi/dns_namecheap.sh'
[Mon 01 Aug 2022 03:11:04 PM EDT] Found domain api file: /home/mslinn/.acme.sh/dnsapi/dns_namecheap.sh
[Mon 01 Aug 2022 03:11:04 PM EDT] Adding txt value: c6D_4I5_QXQCo2hYW76mZal2C3hjxGfdSfZCrs1iivU for domain:  _acme-challenge.scalacourses.com
[Mon 01 Aug 2022 03:11:04 PM EDT] sourceip='142.115.229.243'
[Mon 01 Aug 2022 03:11:04 PM EDT] publicip='142.115.229.243'
[Mon 01 Aug 2022 03:11:04 PM EDT] First detect the root zone
[Mon 01 Aug 2022 03:11:04 PM EDT] POST
[Mon 01 Aug 2022 03:11:04 PM EDT] _post_url='https://api.namecheap.com/xml.response'
[Mon 01 Aug 2022 03:11:04 PM EDT] _CURL='curl --silent --dump-header /home/mslinn/.acme.sh/http.header  -L '
[Mon 01 Aug 2022 03:11:04 PM EDT] _ret='0'
[Mon 01 Aug 2022 03:11:04 PM EDT] error API Key is invalid or API access has not been enabled
[Mon 01 Aug 2022 03:11:04 PM EDT] API Key is invalid or API access has not been enabled
[Mon 01 Aug 2022 03:11:05 PM EDT] Failed domain lookup via domains.getList api call. Trying domain lookup via domains.dns.getHosts api.
[Mon 01 Aug 2022 03:11:05 PM EDT] h='scalacourses.com'
[Mon 01 Aug 2022 03:11:05 PM EDT] tld='com'
[Mon 01 Aug 2022 03:11:05 PM EDT] sld='scalacourses'
[Mon 01 Aug 2022 03:11:05 PM EDT] POST
[Mon 01 Aug 2022 03:11:05 PM EDT] _post_url='https://api.namecheap.com/xml.response'
[Mon 01 Aug 2022 03:11:05 PM EDT] _CURL='curl --silent --dump-header /home/mslinn/.acme.sh/http.header  -L '
[Mon 01 Aug 2022 03:11:05 PM EDT] _ret='0'
[Mon 01 Aug 2022 03:11:05 PM EDT] error API Key is invalid or API access has not been enabled
[Mon 01 Aug 2022 03:11:05 PM EDT] sld(scalacourses)/tld(com) not found
[Mon 01 Aug 2022 03:11:05 PM EDT] tld
[Mon 01 Aug 2022 03:11:05 PM EDT] invalid tld
[Mon 01 Aug 2022 03:11:05 PM EDT] scalacourses.com not found
[Mon 01 Aug 2022 03:11:05 PM EDT] invalid domain
[Mon 01 Aug 2022 03:11:05 PM EDT] Error add txt for domain:_acme-challenge.scalacourses.com
[Mon 01 Aug 2022 03:11:05 PM EDT] _on_issue_err
[Mon 01 Aug 2022 03:11:05 PM EDT] Please check log file for more details: /home/mslinn/.acme.sh/acme.sh.log
[Mon 01 Aug 2022 03:11:05 PM EDT] url='https://acme.zerossl.com/v2/DV90/chall/KsWABofg-Wx_ADOLAd7bOg'
[Mon 01 Aug 2022 03:11:05 PM EDT] payload='{}'
[Mon 01 Aug 2022 03:11:05 PM EDT] POST
[Mon 01 Aug 2022 03:11:05 PM EDT] _post_url='https://acme.zerossl.com/v2/DV90/chall/KsWABofg-Wx_ADOLAd7bOg'
[Mon 01 Aug 2022 03:11:05 PM EDT] _CURL='curl --silent --dump-header /home/mslinn/.acme.sh/http.header  -L '
[Mon 01 Aug 2022 03:11:12 PM EDT] _ret='0'
[Mon 01 Aug 2022 03:11:12 PM EDT] code='200'
[Mon 01 Aug 2022 03:11:12 PM EDT] url='https://acme.zerossl.com/v2/DV90/chall/2Dzj97Jw1LcKijx7JGPljw'
[Mon 01 Aug 2022 03:11:12 PM EDT] payload='{}'
[Mon 01 Aug 2022 03:11:12 PM EDT] POST
[Mon 01 Aug 2022 03:11:12 PM EDT] _post_url='https://acme.zerossl.com/v2/DV90/chall/2Dzj97Jw1LcKijx7JGPljw'
[Mon 01 Aug 2022 03:11:12 PM EDT] _CURL='curl --silent --dump-header /home/mslinn/.acme.sh/http.header  -L '
[Mon 01 Aug 2022 03:11:20 PM EDT] _ret='0'
[Mon 01 Aug 2022 03:11:20 PM EDT] code='200'
[Mon 01 Aug 2022 03:11:20 PM EDT] pid
[Mon 01 Aug 2022 03:11:20 PM EDT] No need to restore nginx, skip.
[Mon 01 Aug 2022 03:11:20 PM EDT] _clearupdns
[Mon 01 Aug 2022 03:11:20 PM EDT] dns_entries
[Mon 01 Aug 2022 03:11:20 PM EDT] skip dns.
[Mon 01 Aug 2022 03:16:10 PM EDT] Running cmd: issue
[Mon 01 Aug 2022 03:16:10 PM EDT] _main_domain='scalacourses.com'
[Mon 01 Aug 2022 03:16:10 PM EDT] _alt_domains='*.scalacourses.com'
[Mon 01 Aug 2022 03:16:10 PM EDT] Using config home:/home/mslinn/.acme.sh
[Mon 01 Aug 2022 03:16:10 PM EDT] default_acme_server
[Mon 01 Aug 2022 03:16:10 PM EDT] ACME_DIRECTORY='https://acme.zerossl.com/v2/DV90'
[Mon 01 Aug 2022 03:16:10 PM EDT] DOMAIN_PATH='/home/mslinn/.acme.sh/scalacourses.com'
[Mon 01 Aug 2022 03:16:10 PM EDT] Le_NextRenewTime
[Mon 01 Aug 2022 03:16:10 PM EDT] Using ACME_DIRECTORY: https://acme.zerossl.com/v2/DV90
[Mon 01 Aug 2022 03:16:10 PM EDT] _init api for server: https://acme.zerossl.com/v2/DV90
[Mon 01 Aug 2022 03:16:10 PM EDT] GET
[Mon 01 Aug 2022 03:16:10 PM EDT] url='https://acme.zerossl.com/v2/DV90'
[Mon 01 Aug 2022 03:16:10 PM EDT] timeout=
[Mon 01 Aug 2022 03:16:10 PM EDT] _CURL='curl --silent --dump-header /home/mslinn/.acme.sh/http.header  -L '
[Mon 01 Aug 2022 03:16:16 PM EDT] ret='0'
[Mon 01 Aug 2022 03:16:16 PM EDT] ACME_KEY_CHANGE='https://acme.zerossl.com/v2/DV90/keyChange'
[Mon 01 Aug 2022 03:16:16 PM EDT] ACME_NEW_AUTHZ
[Mon 01 Aug 2022 03:16:16 PM EDT] ACME_NEW_ORDER='https://acme.zerossl.com/v2/DV90/newOrder'
[Mon 01 Aug 2022 03:16:16 PM EDT] ACME_NEW_ACCOUNT='https://acme.zerossl.com/v2/DV90/newAccount'
[Mon 01 Aug 2022 03:16:16 PM EDT] ACME_REVOKE_CERT='https://acme.zerossl.com/v2/DV90/revokeCert'
[Mon 01 Aug 2022 03:16:16 PM EDT] ACME_AGREEMENT='https://secure.trust-provider.com/repository/docs/Legacy/20201020_Certificate_Subscriber_Agreement_v_2_4_click.pdf'
[Mon 01 Aug 2022 03:16:16 PM EDT] ACME_NEW_NONCE='https://acme.zerossl.com/v2/DV90/newNonce'
[Mon 01 Aug 2022 03:16:16 PM EDT] Using CA: https://acme.zerossl.com/v2/DV90
[Mon 01 Aug 2022 03:16:16 PM EDT] _on_before_issue
[Mon 01 Aug 2022 03:16:16 PM EDT] _chk_main_domain='scalacourses.com'
[Mon 01 Aug 2022 03:16:16 PM EDT] _chk_alt_domains='*.scalacourses.com'
[Mon 01 Aug 2022 03:16:16 PM EDT] Le_LocalAddress
[Mon 01 Aug 2022 03:16:16 PM EDT] d='scalacourses.com'
[Mon 01 Aug 2022 03:16:16 PM EDT] Check for domain='scalacourses.com'
[Mon 01 Aug 2022 03:16:16 PM EDT] _currentRoot='dns_namecheap'
[Mon 01 Aug 2022 03:16:16 PM EDT] d='*.scalacourses.com'
[Mon 01 Aug 2022 03:16:16 PM EDT] Check for domain='*.scalacourses.com'
[Mon 01 Aug 2022 03:16:16 PM EDT] _currentRoot='dns_namecheap'
[Mon 01 Aug 2022 03:16:16 PM EDT] d
[Mon 01 Aug 2022 03:16:16 PM EDT] _saved_account_key_hash is not changed, skip register account.
[Mon 01 Aug 2022 03:16:16 PM EDT] Read key length:2048
[Mon 01 Aug 2022 03:16:16 PM EDT] _createcsr
[Mon 01 Aug 2022 03:16:16 PM EDT] Multi domain='DNS:scalacourses.com,DNS:*.scalacourses.com'
[Mon 01 Aug 2022 03:16:16 PM EDT] Getting domain auth token for each domain
[Mon 01 Aug 2022 03:16:16 PM EDT] d='*.scalacourses.com'
[Mon 01 Aug 2022 03:16:16 PM EDT] d
[Mon 01 Aug 2022 03:16:16 PM EDT] url='https://acme.zerossl.com/v2/DV90/newOrder'
[Mon 01 Aug 2022 03:16:16 PM EDT] payload='{"identifiers": [{"type":"dns","value":"scalacourses.com"},{"type":"dns","value":"*.scalacourses.com"}]}'
[Mon 01 Aug 2022 03:16:16 PM EDT] RSA key
[Mon 01 Aug 2022 03:16:16 PM EDT] HEAD
[Mon 01 Aug 2022 03:16:16 PM EDT] _post_url='https://acme.zerossl.com/v2/DV90/newNonce'
[Mon 01 Aug 2022 03:16:16 PM EDT] _CURL='curl --silent --dump-header /home/mslinn/.acme.sh/http.header  -L  -I  '
[Mon 01 Aug 2022 03:16:22 PM EDT] _ret='0'
[Mon 01 Aug 2022 03:16:22 PM EDT] POST
[Mon 01 Aug 2022 03:16:22 PM EDT] _post_url='https://acme.zerossl.com/v2/DV90/newOrder'
[Mon 01 Aug 2022 03:16:22 PM EDT] _CURL='curl --silent --dump-header /home/mslinn/.acme.sh/http.header  -L '
[Mon 01 Aug 2022 03:16:26 PM EDT] _ret='0'
[Mon 01 Aug 2022 03:16:26 PM EDT] code='201'
[Mon 01 Aug 2022 03:16:26 PM EDT] Le_LinkOrder='https://acme.zerossl.com/v2/DV90/order/cp7HorqnrVpgbPrnGLAehg'
[Mon 01 Aug 2022 03:16:26 PM EDT] Le_OrderFinalize='https://acme.zerossl.com/v2/DV90/order/cp7HorqnrVpgbPrnGLAehg/finalize'
[Mon 01 Aug 2022 03:16:26 PM EDT] url='https://acme.zerossl.com/v2/DV90/authz/WWWWCr2Xtf6pbTrLwCUHQg'
[Mon 01 Aug 2022 03:16:26 PM EDT] payload
[Mon 01 Aug 2022 03:16:26 PM EDT] POST
[Mon 01 Aug 2022 03:16:26 PM EDT] _post_url='https://acme.zerossl.com/v2/DV90/authz/WWWWCr2Xtf6pbTrLwCUHQg'
[Mon 01 Aug 2022 03:16:26 PM EDT] _CURL='curl --silent --dump-header /home/mslinn/.acme.sh/http.header  -L '
[Mon 01 Aug 2022 03:16:30 PM EDT] _ret='0'
[Mon 01 Aug 2022 03:16:30 PM EDT] code='200'
[Mon 01 Aug 2022 03:16:30 PM EDT] url='https://acme.zerossl.com/v2/DV90/authz/Rb3SLtkjfj5AGXWDPBV8cQ'
[Mon 01 Aug 2022 03:16:30 PM EDT] payload
[Mon 01 Aug 2022 03:16:30 PM EDT] POST
[Mon 01 Aug 2022 03:16:30 PM EDT] _post_url='https://acme.zerossl.com/v2/DV90/authz/Rb3SLtkjfj5AGXWDPBV8cQ'
[Mon 01 Aug 2022 03:16:30 PM EDT] _CURL='curl --silent --dump-header /home/mslinn/.acme.sh/http.header  -L '
[Mon 01 Aug 2022 03:16:34 PM EDT] _ret='0'
[Mon 01 Aug 2022 03:16:34 PM EDT] code='200'
[Mon 01 Aug 2022 03:16:34 PM EDT] d='scalacourses.com'
[Mon 01 Aug 2022 03:16:34 PM EDT] Getting webroot for domain='scalacourses.com'
[Mon 01 Aug 2022 03:16:34 PM EDT] _w='dns_namecheap'
[Mon 01 Aug 2022 03:16:34 PM EDT] _currentRoot='dns_namecheap'
[Mon 01 Aug 2022 03:16:34 PM EDT] entry='"type":"dns-01","url":"https://acme.zerossl.com/v2/DV90/chall/CnEJ_7lEH8rOV9XbPfbLxg","status":"pending","token":"w2TsXzs6uX0zgIywLK14mU6LplGvKu9iTsAFXO1g3eI"'
[Mon 01 Aug 2022 03:16:34 PM EDT] token='w2TsXzs6uX0zgIywLK14mU6LplGvKu9iTsAFXO1g3eI'
[Mon 01 Aug 2022 03:16:34 PM EDT] uri='https://acme.zerossl.com/v2/DV90/chall/CnEJ_7lEH8rOV9XbPfbLxg'
[Mon 01 Aug 2022 03:16:34 PM EDT] keyauthorization='w2TsXzs6uX0zgIywLK14mU6LplGvKu9iTsAFXO1g3eI.XGk-p2ZTjGV2ipCzb1BsIcEXOF_lnDNz9B4JLqD-Qzw'
[Mon 01 Aug 2022 03:16:34 PM EDT] dvlist='scalacourses.com#w2TsXzs6uX0zgIywLK14mU6LplGvKu9iTsAFXO1g3eI.XGk-p2ZTjGV2ipCzb1BsIcEXOF_lnDNz9B4JLqD-Qzw#https://acme.zerossl.com/v2/DV90/chall/CnEJ_7lEH8rOV9XbPfbLxg#dns-01#dns_namecheap'
[Mon 01 Aug 2022 03:16:34 PM EDT] d='*.scalacourses.com'
[Mon 01 Aug 2022 03:16:34 PM EDT] Getting webroot for domain='*.scalacourses.com'
[Mon 01 Aug 2022 03:16:34 PM EDT] _w='dns_namecheap'
[Mon 01 Aug 2022 03:16:34 PM EDT] _currentRoot='dns_namecheap'
[Mon 01 Aug 2022 03:16:34 PM EDT] entry='"type":"dns-01","url":"https://acme.zerossl.com/v2/DV90/chall/NtKL7NJOwDVbRzwjvxOYcg","status":"pending","token":"ko81s0wfKIBtjE4w9BaAYGBCM1kNw64BZqe6q-neGS8"'
[Mon 01 Aug 2022 03:16:34 PM EDT] token='ko81s0wfKIBtjE4w9BaAYGBCM1kNw64BZqe6q-neGS8'
[Mon 01 Aug 2022 03:16:34 PM EDT] uri='https://acme.zerossl.com/v2/DV90/chall/NtKL7NJOwDVbRzwjvxOYcg'
[Mon 01 Aug 2022 03:16:34 PM EDT] keyauthorization='ko81s0wfKIBtjE4w9BaAYGBCM1kNw64BZqe6q-neGS8.XGk-p2ZTjGV2ipCzb1BsIcEXOF_lnDNz9B4JLqD-Qzw'
[Mon 01 Aug 2022 03:16:34 PM EDT] dvlist='*.scalacourses.com#ko81s0wfKIBtjE4w9BaAYGBCM1kNw64BZqe6q-neGS8.XGk-p2ZTjGV2ipCzb1BsIcEXOF_lnDNz9B4JLqD-Qzw#https://acme.zerossl.com/v2/DV90/chall/NtKL7NJOwDVbRzwjvxOYcg#dns-01#dns_namecheap'
[Mon 01 Aug 2022 03:16:34 PM EDT] d
[Mon 01 Aug 2022 03:16:34 PM EDT] vlist='scalacourses.com#w2TsXzs6uX0zgIywLK14mU6LplGvKu9iTsAFXO1g3eI.XGk-p2ZTjGV2ipCzb1BsIcEXOF_lnDNz9B4JLqD-Qzw#https://acme.zerossl.com/v2/DV90/chall/CnEJ_7lEH8rOV9XbPfbLxg#dns-01#dns_namecheap,*.scalacourses.com#ko81s0wfKIBtjE4w9BaAYGBCM1kNw64BZqe6q-neGS8.XGk-p2ZTjGV2ipCzb1BsIcEXOF_lnDNz9B4JLqD-Qzw#https://acme.zerossl.com/v2/DV90/chall/NtKL7NJOwDVbRzwjvxOYcg#dns-01#dns_namecheap,'
[Mon 01 Aug 2022 03:16:34 PM EDT] d='scalacourses.com'
[Mon 01 Aug 2022 03:16:34 PM EDT] _d_alias
[Mon 01 Aug 2022 03:16:34 PM EDT] txtdomain='_acme-challenge.scalacourses.com'
[Mon 01 Aug 2022 03:16:34 PM EDT] txt='vHeFycnvFI_HODwJIVSmu7itMVphA0WKVAwCojxM2ig'
[Mon 01 Aug 2022 03:16:34 PM EDT] d_api='/home/mslinn/.acme.sh/dnsapi/dns_namecheap.sh'
[Mon 01 Aug 2022 03:16:34 PM EDT] Found domain api file: /home/mslinn/.acme.sh/dnsapi/dns_namecheap.sh
[Mon 01 Aug 2022 03:16:34 PM EDT] Adding txt value: vHeFycnvFI_HODwJIVSmu7itMVphA0WKVAwCojxM2ig for domain:  _acme-challenge.scalacourses.com
[Mon 01 Aug 2022 03:16:34 PM EDT] sourceip='142.115.229.243'
[Mon 01 Aug 2022 03:16:34 PM EDT] publicip='142.115.229.243'
[Mon 01 Aug 2022 03:16:34 PM EDT] First detect the root zone
[Mon 01 Aug 2022 03:16:34 PM EDT] POST
[Mon 01 Aug 2022 03:16:34 PM EDT] _post_url='https://api.namecheap.com/xml.response'
[Mon 01 Aug 2022 03:16:34 PM EDT] _CURL='curl --silent --dump-header /home/mslinn/.acme.sh/http.header  -L '
[Mon 01 Aug 2022 03:16:36 PM EDT] _ret='0'
[Mon 01 Aug 2022 03:16:36 PM EDT] error API Key is invalid or API access has not been enabled
[Mon 01 Aug 2022 03:16:36 PM EDT] API Key is invalid or API access has not been enabled
[Mon 01 Aug 2022 03:16:36 PM EDT] Failed domain lookup via domains.getList api call. Trying domain lookup via domains.dns.getHosts api.
[Mon 01 Aug 2022 03:16:37 PM EDT] h='scalacourses.com'
[Mon 01 Aug 2022 03:16:37 PM EDT] tld='com'
[Mon 01 Aug 2022 03:16:37 PM EDT] sld='scalacourses'
[Mon 01 Aug 2022 03:16:37 PM EDT] POST
[Mon 01 Aug 2022 03:16:37 PM EDT] _post_url='https://api.namecheap.com/xml.response'
[Mon 01 Aug 2022 03:16:37 PM EDT] _CURL='curl --silent --dump-header /home/mslinn/.acme.sh/http.header  -L '
[Mon 01 Aug 2022 03:16:38 PM EDT] _ret='0'
[Mon 01 Aug 2022 03:16:38 PM EDT] error API Key is invalid or API access has not been enabled
[Mon 01 Aug 2022 03:16:38 PM EDT] sld(scalacourses)/tld(com) not found
[Mon 01 Aug 2022 03:16:38 PM EDT] tld
[Mon 01 Aug 2022 03:16:38 PM EDT] invalid tld
[Mon 01 Aug 2022 03:16:38 PM EDT] scalacourses.com not found
[Mon 01 Aug 2022 03:16:38 PM EDT] invalid domain
[Mon 01 Aug 2022 03:16:38 PM EDT] Error add txt for domain:_acme-challenge.scalacourses.com
[Mon 01 Aug 2022 03:16:38 PM EDT] _on_issue_err
[Mon 01 Aug 2022 03:16:38 PM EDT] Please check log file for more details: /home/mslinn/.acme.sh/acme.sh.log
[Mon 01 Aug 2022 03:16:38 PM EDT] url='https://acme.zerossl.com/v2/DV90/chall/CnEJ_7lEH8rOV9XbPfbLxg'
[Mon 01 Aug 2022 03:16:38 PM EDT] payload='{}'
[Mon 01 Aug 2022 03:16:38 PM EDT] POST
[Mon 01 Aug 2022 03:16:38 PM EDT] _post_url='https://acme.zerossl.com/v2/DV90/chall/CnEJ_7lEH8rOV9XbPfbLxg'
[Mon 01 Aug 2022 03:16:38 PM EDT] _CURL='curl --silent --dump-header /home/mslinn/.acme.sh/http.header  -L '
[Mon 01 Aug 2022 03:16:41 PM EDT] _ret='0'
[Mon 01 Aug 2022 03:16:41 PM EDT] code='200'
[Mon 01 Aug 2022 03:16:41 PM EDT] url='https://acme.zerossl.com/v2/DV90/chall/NtKL7NJOwDVbRzwjvxOYcg'
[Mon 01 Aug 2022 03:16:41 PM EDT] payload='{}'
[Mon 01 Aug 2022 03:16:41 PM EDT] POST
[Mon 01 Aug 2022 03:16:41 PM EDT] _post_url='https://acme.zerossl.com/v2/DV90/chall/NtKL7NJOwDVbRzwjvxOYcg'
[Mon 01 Aug 2022 03:16:41 PM EDT] _CURL='curl --silent --dump-header /home/mslinn/.acme.sh/http.header  -L '
[Mon 01 Aug 2022 03:16:43 PM EDT] _ret='0'
[Mon 01 Aug 2022 03:16:43 PM EDT] code='200'
[Mon 01 Aug 2022 03:16:43 PM EDT] pid
[Mon 01 Aug 2022 03:16:43 PM EDT] No need to restore nginx, skip.
[Mon 01 Aug 2022 03:16:43 PM EDT] _clearupdns
[Mon 01 Aug 2022 03:16:43 PM EDT] dns_entries
[Mon 01 Aug 2022 03:16:43 PM EDT] skip dns.
[Mon 01 Aug 2022 03:23:40 PM EDT] Running cmd: issue
[Mon 01 Aug 2022 03:23:40 PM EDT] _main_domain='scalacourses.com'
[Mon 01 Aug 2022 03:23:40 PM EDT] _alt_domains='*.scalacourses.com'
[Mon 01 Aug 2022 03:23:40 PM EDT] Using config home:/home/mslinn/.acme.sh
[Mon 01 Aug 2022 03:23:40 PM EDT] default_acme_server
[Mon 01 Aug 2022 03:23:40 PM EDT] ACME_DIRECTORY='https://acme.zerossl.com/v2/DV90'
[Mon 01 Aug 2022 03:23:40 PM EDT] DOMAIN_PATH='/home/mslinn/.acme.sh/scalacourses.com'
[Mon 01 Aug 2022 03:23:40 PM EDT] Le_NextRenewTime
[Mon 01 Aug 2022 03:23:40 PM EDT] Using ACME_DIRECTORY: https://acme.zerossl.com/v2/DV90
[Mon 01 Aug 2022 03:23:40 PM EDT] _init api for server: https://acme.zerossl.com/v2/DV90
[Mon 01 Aug 2022 03:23:40 PM EDT] GET
[Mon 01 Aug 2022 03:23:40 PM EDT] url='https://acme.zerossl.com/v2/DV90'
[Mon 01 Aug 2022 03:23:40 PM EDT] timeout=
[Mon 01 Aug 2022 03:23:40 PM EDT] _CURL='curl --silent --dump-header /home/mslinn/.acme.sh/http.header  -L '
[Mon 01 Aug 2022 03:23:44 PM EDT] ret='0'
[Mon 01 Aug 2022 03:23:44 PM EDT] ACME_KEY_CHANGE='https://acme.zerossl.com/v2/DV90/keyChange'
[Mon 01 Aug 2022 03:23:44 PM EDT] ACME_NEW_AUTHZ
[Mon 01 Aug 2022 03:23:44 PM EDT] ACME_NEW_ORDER='https://acme.zerossl.com/v2/DV90/newOrder'
[Mon 01 Aug 2022 03:23:44 PM EDT] ACME_NEW_ACCOUNT='https://acme.zerossl.com/v2/DV90/newAccount'
[Mon 01 Aug 2022 03:23:44 PM EDT] ACME_REVOKE_CERT='https://acme.zerossl.com/v2/DV90/revokeCert'
[Mon 01 Aug 2022 03:23:44 PM EDT] ACME_AGREEMENT='https://secure.trust-provider.com/repository/docs/Legacy/20201020_Certificate_Subscriber_Agreement_v_2_4_click.pdf'
[Mon 01 Aug 2022 03:23:44 PM EDT] ACME_NEW_NONCE='https://acme.zerossl.com/v2/DV90/newNonce'
[Mon 01 Aug 2022 03:23:44 PM EDT] Using CA: https://acme.zerossl.com/v2/DV90
[Mon 01 Aug 2022 03:23:44 PM EDT] _on_before_issue
[Mon 01 Aug 2022 03:23:44 PM EDT] _chk_main_domain='scalacourses.com'
[Mon 01 Aug 2022 03:23:44 PM EDT] _chk_alt_domains='*.scalacourses.com'
[Mon 01 Aug 2022 03:23:44 PM EDT] Le_LocalAddress
[Mon 01 Aug 2022 03:23:44 PM EDT] d='scalacourses.com'
[Mon 01 Aug 2022 03:23:44 PM EDT] Check for domain='scalacourses.com'
[Mon 01 Aug 2022 03:23:44 PM EDT] _currentRoot='dns_namecheap'
[Mon 01 Aug 2022 03:23:44 PM EDT] d='*.scalacourses.com'
[Mon 01 Aug 2022 03:23:44 PM EDT] Check for domain='*.scalacourses.com'
[Mon 01 Aug 2022 03:23:44 PM EDT] _currentRoot='dns_namecheap'
[Mon 01 Aug 2022 03:23:44 PM EDT] d
[Mon 01 Aug 2022 03:23:44 PM EDT] _saved_account_key_hash is not changed, skip register account.
[Mon 01 Aug 2022 03:23:44 PM EDT] Read key length:2048
[Mon 01 Aug 2022 03:23:44 PM EDT] _createcsr
[Mon 01 Aug 2022 03:23:44 PM EDT] Multi domain='DNS:scalacourses.com,DNS:*.scalacourses.com'
[Mon 01 Aug 2022 03:23:44 PM EDT] Getting domain auth token for each domain
[Mon 01 Aug 2022 03:23:44 PM EDT] d='*.scalacourses.com'
[Mon 01 Aug 2022 03:23:44 PM EDT] d
[Mon 01 Aug 2022 03:23:44 PM EDT] url='https://acme.zerossl.com/v2/DV90/newOrder'
[Mon 01 Aug 2022 03:23:44 PM EDT] payload='{"identifiers": [{"type":"dns","value":"scalacourses.com"},{"type":"dns","value":"*.scalacourses.com"}]}'
[Mon 01 Aug 2022 03:23:44 PM EDT] RSA key
[Mon 01 Aug 2022 03:23:44 PM EDT] HEAD
[Mon 01 Aug 2022 03:23:44 PM EDT] _post_url='https://acme.zerossl.com/v2/DV90/newNonce'
[Mon 01 Aug 2022 03:23:44 PM EDT] _CURL='curl --silent --dump-header /home/mslinn/.acme.sh/http.header  -L  -I  '
[Mon 01 Aug 2022 03:23:48 PM EDT] _ret='0'
[Mon 01 Aug 2022 03:23:49 PM EDT] POST
[Mon 01 Aug 2022 03:23:49 PM EDT] _post_url='https://acme.zerossl.com/v2/DV90/newOrder'
[Mon 01 Aug 2022 03:23:49 PM EDT] _CURL='curl --silent --dump-header /home/mslinn/.acme.sh/http.header  -L '
[Mon 01 Aug 2022 03:23:54 PM EDT] _ret='0'
[Mon 01 Aug 2022 03:23:54 PM EDT] code='201'
[Mon 01 Aug 2022 03:23:54 PM EDT] Le_LinkOrder='https://acme.zerossl.com/v2/DV90/order/qIjhjr3yGavgNZ3Piz9beA'
[Mon 01 Aug 2022 03:23:54 PM EDT] Le_OrderFinalize='https://acme.zerossl.com/v2/DV90/order/qIjhjr3yGavgNZ3Piz9beA/finalize'
[Mon 01 Aug 2022 03:23:54 PM EDT] url='https://acme.zerossl.com/v2/DV90/authz/_N71TgVavURIy-kwFqyqZw'
[Mon 01 Aug 2022 03:23:54 PM EDT] payload
[Mon 01 Aug 2022 03:23:54 PM EDT] POST
[Mon 01 Aug 2022 03:23:54 PM EDT] _post_url='https://acme.zerossl.com/v2/DV90/authz/_N71TgVavURIy-kwFqyqZw'
[Mon 01 Aug 2022 03:23:54 PM EDT] _CURL='curl --silent --dump-header /home/mslinn/.acme.sh/http.header  -L '
[Mon 01 Aug 2022 03:23:58 PM EDT] _ret='0'
[Mon 01 Aug 2022 03:23:58 PM EDT] code='200'
[Mon 01 Aug 2022 03:23:58 PM EDT] url='https://acme.zerossl.com/v2/DV90/authz/MJAjRV4iFSqcLoHenetpDg'
[Mon 01 Aug 2022 03:23:58 PM EDT] payload
[Mon 01 Aug 2022 03:23:58 PM EDT] POST
[Mon 01 Aug 2022 03:23:58 PM EDT] _post_url='https://acme.zerossl.com/v2/DV90/authz/MJAjRV4iFSqcLoHenetpDg'
[Mon 01 Aug 2022 03:23:58 PM EDT] _CURL='curl --silent --dump-header /home/mslinn/.acme.sh/http.header  -L '
[Mon 01 Aug 2022 03:24:04 PM EDT] _ret='0'
[Mon 01 Aug 2022 03:24:04 PM EDT] code='200'
[Mon 01 Aug 2022 03:24:04 PM EDT] d='scalacourses.com'
[Mon 01 Aug 2022 03:24:04 PM EDT] Getting webroot for domain='scalacourses.com'
[Mon 01 Aug 2022 03:24:04 PM EDT] _w='dns_namecheap'
[Mon 01 Aug 2022 03:24:04 PM EDT] _currentRoot='dns_namecheap'
[Mon 01 Aug 2022 03:24:04 PM EDT] entry='"type":"dns-01","url":"https://acme.zerossl.com/v2/DV90/chall/NPJA2bVr_nT9jVb9cRu76w","status":"pending","token":"W2zGgKiinJXN2HjVUtskZg69IRgIOgCTISad8iExEc4"'
[Mon 01 Aug 2022 03:24:04 PM EDT] token='W2zGgKiinJXN2HjVUtskZg69IRgIOgCTISad8iExEc4'
[Mon 01 Aug 2022 03:24:04 PM EDT] uri='https://acme.zerossl.com/v2/DV90/chall/NPJA2bVr_nT9jVb9cRu76w'
[Mon 01 Aug 2022 03:24:04 PM EDT] keyauthorization='W2zGgKiinJXN2HjVUtskZg69IRgIOgCTISad8iExEc4.XGk-p2ZTjGV2ipCzb1BsIcEXOF_lnDNz9B4JLqD-Qzw'
[Mon 01 Aug 2022 03:24:04 PM EDT] dvlist='scalacourses.com#W2zGgKiinJXN2HjVUtskZg69IRgIOgCTISad8iExEc4.XGk-p2ZTjGV2ipCzb1BsIcEXOF_lnDNz9B4JLqD-Qzw#https://acme.zerossl.com/v2/DV90/chall/NPJA2bVr_nT9jVb9cRu76w#dns-01#dns_namecheap'
[Mon 01 Aug 2022 03:24:04 PM EDT] d='*.scalacourses.com'
[Mon 01 Aug 2022 03:24:04 PM EDT] Getting webroot for domain='*.scalacourses.com'
[Mon 01 Aug 2022 03:24:04 PM EDT] _w='dns_namecheap'
[Mon 01 Aug 2022 03:24:04 PM EDT] _currentRoot='dns_namecheap'
[Mon 01 Aug 2022 03:24:04 PM EDT] entry='"type":"dns-01","url":"https://acme.zerossl.com/v2/DV90/chall/HFq42FBeJRf9yX6mp2iC2Q","status":"pending","token":"qeTSw5u00O4s8P-t8O7hl5fnm6x_oGZIEuONwTcH5DQ"'
[Mon 01 Aug 2022 03:24:04 PM EDT] token='qeTSw5u00O4s8P-t8O7hl5fnm6x_oGZIEuONwTcH5DQ'
[Mon 01 Aug 2022 03:24:04 PM EDT] uri='https://acme.zerossl.com/v2/DV90/chall/HFq42FBeJRf9yX6mp2iC2Q'
[Mon 01 Aug 2022 03:24:04 PM EDT] keyauthorization='qeTSw5u00O4s8P-t8O7hl5fnm6x_oGZIEuONwTcH5DQ.XGk-p2ZTjGV2ipCzb1BsIcEXOF_lnDNz9B4JLqD-Qzw'
[Mon 01 Aug 2022 03:24:04 PM EDT] dvlist='*.scalacourses.com#qeTSw5u00O4s8P-t8O7hl5fnm6x_oGZIEuONwTcH5DQ.XGk-p2ZTjGV2ipCzb1BsIcEXOF_lnDNz9B4JLqD-Qzw#https://acme.zerossl.com/v2/DV90/chall/HFq42FBeJRf9yX6mp2iC2Q#dns-01#dns_namecheap'
[Mon 01 Aug 2022 03:24:04 PM EDT] d
[Mon 01 Aug 2022 03:24:04 PM EDT] vlist='scalacourses.com#W2zGgKiinJXN2HjVUtskZg69IRgIOgCTISad8iExEc4.XGk-p2ZTjGV2ipCzb1BsIcEXOF_lnDNz9B4JLqD-Qzw#https://acme.zerossl.com/v2/DV90/chall/NPJA2bVr_nT9jVb9cRu76w#dns-01#dns_namecheap,*.scalacourses.com#qeTSw5u00O4s8P-t8O7hl5fnm6x_oGZIEuONwTcH5DQ.XGk-p2ZTjGV2ipCzb1BsIcEXOF_lnDNz9B4JLqD-Qzw#https://acme.zerossl.com/v2/DV90/chall/HFq42FBeJRf9yX6mp2iC2Q#dns-01#dns_namecheap,'
[Mon 01 Aug 2022 03:24:04 PM EDT] d='scalacourses.com'
[Mon 01 Aug 2022 03:24:04 PM EDT] _d_alias
[Mon 01 Aug 2022 03:24:04 PM EDT] txtdomain='_acme-challenge.scalacourses.com'
[Mon 01 Aug 2022 03:24:04 PM EDT] txt='oo42FhvW3Z29zXNeFliZ7sEymxHz9CJXwkLS8t7IgmQ'
[Mon 01 Aug 2022 03:24:04 PM EDT] d_api='/home/mslinn/.acme.sh/dnsapi/dns_namecheap.sh'
[Mon 01 Aug 2022 03:24:04 PM EDT] Found domain api file: /home/mslinn/.acme.sh/dnsapi/dns_namecheap.sh
[Mon 01 Aug 2022 03:24:04 PM EDT] Adding txt value: oo42FhvW3Z29zXNeFliZ7sEymxHz9CJXwkLS8t7IgmQ for domain:  _acme-challenge.scalacourses.com
[Mon 01 Aug 2022 03:24:04 PM EDT] sourceip='142.115.229.243'
[Mon 01 Aug 2022 03:24:04 PM EDT] publicip='142.115.229.243'
[Mon 01 Aug 2022 03:24:04 PM EDT] First detect the root zone
[Mon 01 Aug 2022 03:24:04 PM EDT] POST
[Mon 01 Aug 2022 03:24:04 PM EDT] _post_url='https://api.namecheap.com/xml.response'
[Mon 01 Aug 2022 03:24:04 PM EDT] _CURL='curl --silent --dump-header /home/mslinn/.acme.sh/http.header  -L '
[Mon 01 Aug 2022 03:24:04 PM EDT] _ret='0'
[Mon 01 Aug 2022 03:24:04 PM EDT] error API Key is invalid or API access has not been enabled
[Mon 01 Aug 2022 03:24:04 PM EDT] API Key is invalid or API access has not been enabled
[Mon 01 Aug 2022 03:24:04 PM EDT] Failed domain lookup via domains.getList api call. Trying domain lookup via domains.dns.getHosts api.
[Mon 01 Aug 2022 03:24:05 PM EDT] h='scalacourses.com'
[Mon 01 Aug 2022 03:24:05 PM EDT] tld='com'
[Mon 01 Aug 2022 03:24:05 PM EDT] sld='scalacourses'
[Mon 01 Aug 2022 03:24:05 PM EDT] POST
[Mon 01 Aug 2022 03:24:05 PM EDT] _post_url='https://api.namecheap.com/xml.response'
[Mon 01 Aug 2022 03:24:05 PM EDT] _CURL='curl --silent --dump-header /home/mslinn/.acme.sh/http.header  -L '
[Mon 01 Aug 2022 03:24:05 PM EDT] _ret='0'
[Mon 01 Aug 2022 03:24:05 PM EDT] error API Key is invalid or API access has not been enabled
[Mon 01 Aug 2022 03:24:05 PM EDT] sld(scalacourses)/tld(com) not found
[Mon 01 Aug 2022 03:24:05 PM EDT] tld
[Mon 01 Aug 2022 03:24:05 PM EDT] invalid tld
[Mon 01 Aug 2022 03:24:05 PM EDT] scalacourses.com not found
[Mon 01 Aug 2022 03:24:05 PM EDT] invalid domain
[Mon 01 Aug 2022 03:24:05 PM EDT] Error add txt for domain:_acme-challenge.scalacourses.com
[Mon 01 Aug 2022 03:24:05 PM EDT] _on_issue_err
[Mon 01 Aug 2022 03:24:05 PM EDT] Please check log file for more details: /home/mslinn/.acme.sh/acme.sh.log
[Mon 01 Aug 2022 03:24:05 PM EDT] url='https://acme.zerossl.com/v2/DV90/chall/NPJA2bVr_nT9jVb9cRu76w'
[Mon 01 Aug 2022 03:24:05 PM EDT] payload='{}'
[Mon 01 Aug 2022 03:24:05 PM EDT] POST
[Mon 01 Aug 2022 03:24:05 PM EDT] _post_url='https://acme.zerossl.com/v2/DV90/chall/NPJA2bVr_nT9jVb9cRu76w'
[Mon 01 Aug 2022 03:24:05 PM EDT] _CURL='curl --silent --dump-header /home/mslinn/.acme.sh/http.header  -L '
[Mon 01 Aug 2022 03:24:10 PM EDT] _ret='0'
[Mon 01 Aug 2022 03:24:10 PM EDT] code='200'
[Mon 01 Aug 2022 03:24:10 PM EDT] url='https://acme.zerossl.com/v2/DV90/chall/HFq42FBeJRf9yX6mp2iC2Q'
[Mon 01 Aug 2022 03:24:10 PM EDT] payload='{}'
[Mon 01 Aug 2022 03:24:10 PM EDT] POST
[Mon 01 Aug 2022 03:24:10 PM EDT] _post_url='https://acme.zerossl.com/v2/DV90/chall/HFq42FBeJRf9yX6mp2iC2Q'
[Mon 01 Aug 2022 03:24:10 PM EDT] _CURL='curl --silent --dump-header /home/mslinn/.acme.sh/http.header  -L '
[Mon 01 Aug 2022 03:24:15 PM EDT] _ret='0'
[Mon 01 Aug 2022 03:24:15 PM EDT] code='200'
[Mon 01 Aug 2022 03:24:15 PM EDT] Diagnosis versions: 
openssl:openssl
OpenSSL 3.0.2 15 Mar 2022 (Library: OpenSSL 3.0.2 15 Mar 2022)
apache:
apache doesn't exist.
nginx:
nginx version: nginx/1.18.0 (Ubuntu)
built with OpenSSL 3.0.2 15 Mar 2022
TLS SNI support enabled
configure arguments: --with-cc-opt='-g -O2 -ffile-prefix-map=/build/nginx-9P0wNJ/nginx-1.18.0=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -fPIC -Wdate-time -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -flto=auto -ffat-lto-objects -flto=auto -Wl,-z,relro -Wl,-z,now -fPIC' --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --modules-path=/usr/lib/nginx/modules --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-compat --with-debug --with-pcre-jit --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_v2_module --with-http_dav_module --with-http_slice_module --with-threads --add-dynamic-module=/build/nginx-9P0wNJ/nginx-1.18.0/debian/modules/http-geoip2 --with-http_addition_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_sub_module
socat:
socat by Gerhard Rieger and contributors - see www.dest-unreach.org
socat version 1.7.4.1 on Mar 25 2022 09:51:32
   running on Linux version #46-Ubuntu SMP Tue Jul 12 10:30:17 UTC 2022, release 5.15.0-43-generic, machine x86_64
features:
  #define WITH_STDIO 1
  #define WITH_FDNUM 1
  #define WITH_FILE 1
  #define WITH_CREAT 1
  #define WITH_GOPEN 1
  #define WITH_TERMIOS 1
  #define WITH_PIPE 1
  #define WITH_UNIX 1
  #define WITH_ABSTRACT_UNIXSOCKET 1
  #define WITH_IP4 1
  #define WITH_IP6 1
  #define WITH_RAWIP 1
  #define WITH_GENERICSOCKET 1
  #define WITH_INTERFACE 1
  #define WITH_TCP 1
  #define WITH_UDP 1
  #define WITH_SCTP 1
  #define WITH_LISTEN 1
  #define WITH_SOCKS4 1
  #define WITH_SOCKS4A 1
  #define WITH_VSOCK 1
  #define WITH_PROXY 1
  #define WITH_SYSTEM 1
  #define WITH_EXEC 1
  #undef WITH_READLINE
  #define WITH_TUN 1
  #define WITH_PTY 1
  #define WITH_OPENSSL 1
  #undef WITH_FIPS
  #define WITH_LIBWRAP 1
  #define WITH_SYCLS 1
  #define WITH_FILAN 1
  #define WITH_RETRY 1
  #define WITH_MSGLEVEL 0 /*debug*/
[Mon 01 Aug 2022 03:24:15 PM EDT] pid
[Mon 01 Aug 2022 03:24:15 PM EDT] No need to restore nginx, skip.
[Mon 01 Aug 2022 03:24:15 PM EDT] _clearupdns
[Mon 01 Aug 2022 03:24:15 PM EDT] dns_entries
[Mon 01 Aug 2022 03:24:15 PM EDT] skip dns.

@Neilpang
Copy link
Member

Neilpang commented Aug 7, 2022

please provide the logs with --debug 2

@raintonr
Copy link

raintonr commented Nov 17, 2022

I came across this problem today. Trying to verify using DNS in Namecheap, acme script reports:

[Thu Nov 17 10:30:20 CET 2022] response='<?xml version="1.0" encoding="utf-8"?>
<ApiResponse Status="ERROR" xmlns="http://api.namecheap.com/xml.response">
  <Errors>
    <Error Number="2030288">Cannot complete this command as this domain is not using proper DNS servers</Error>
  </Errors>
  <Warnings />
  <RequestedCommand>namecheap.domains.dns.gethosts</RequestedCommand>
  <CommandResponse Type="namecheap.domains.dns.getHosts">
    <DomainDNSGetHostsResult IsUsingOurDNS="false" />
  </CommandResponse>
  <Server>PHX01APIEXT01</Server>
  <GMTTimeDifference>--5:00</GMTTimeDifference>
  <ExecutionTime>0.032</ExecutionTime>,
</ApiResponse>'
[Thu Nov 17 10:30:20 CET 2022] error Cannot complete this command as this domain is not using proper DNS servers

Which I don't understand because inside Namecheap domain details it says:

image

Namecheap is the registrar. Nameservers are dns1.namecheaphosting.com & dns2.namecheaphosting.com.

Any idea why IsUsingOurDNS="false" comes out?

@gunderodd
Copy link

Hi, @raintonr. I'm no expert, but I just wanted to say that I've been working through this issue, too. I've been on a chat with Namecheap customer support for a couple of hours. We've confirmed that, for whatever reason, the API call only works using BasicDNS, specifically. They stipulate that PremiumDNS/FreeDNS aren't compatible with the API, but that seems to also include Web Hosting DNS.

I tried recreating their example API request and got the same error that you showed, above, in Postman. Customer Support ran the same request with my credentials in a sandbox using 'BasicDNS', and it was successful.

So, currently I'm switching over from Web Hosting DNS to BasicDNS. It might take a while, but I'll come back and report on whether it resolves the issue or not (and whether my domain records were preserved, or not).

@gunderodd
Copy link

Back to confirm that the switch to BasicDNS did the trick. No more Namecheap API errors. And in case anyone in the future reads this and decides to change nameservers, note that you will need to recreate your DNS host records manually on Namecheap's website. That part threw me off. I saw that my records were still intact in cPanel, and waited for a day for the migration process to finalize, but eventually discovered that all of those records are also stored in Domain List > Advanced DNS.

@gunderodd
Copy link

One last thing. I was actually going to try to suggest an edit to the wiki page, but I can't figure out how, so I'll just write it here, and if anyone smarter can tell me the proper way to do it I'll correct it:

  1. To use the Namecheap API, we need our username, AND the API username you set when you signed up for it, along with the API key.

  2. Regarding NAMECHEAP_SOURCEIP: When I tried to run this with the shared IP my domains use (the one I can find on cPanel), I encountered a bug (something about an invalid IP). That error mentioned a similar but slightly different IP address. I contacted support, who told me that IP was actually the one used for the shared server my websites are hosted on. I had to use this that IP for NAMECHEAP_SOURCEIP, not my Shared IP Address which points to my domains and is accessible from cPanel.

Tonight, I contacted support again to ask them how to find this Server IP. They said there is no way to find it except to ask them for it. I can't verify if that is true or not, but I can't find it anywhere else, so it could be the only way to find it is to ask them.

@raintonr
Copy link

Thanks for the heads up. Yeah, works fine when I move the domain to Namecheap Basic DNS.

FWIW, for NAMECHEAP_SOURCEIP I used the public IP address of the requesting host. In my case, the public IPv4 address of the router that is making the request. Same IP address I put in the Namecheap API whitelist.

@eortegaz
Copy link

eortegaz commented Dec 6, 2022

One last thing. I was actually going to try to suggest an edit to the wiki page, but I can't figure out how, so I'll just write it here, and if anyone smarter can tell me the proper way to do it I'll correct it:

  1. To use the Namecheap API, we need our username, AND the API username you set when you signed up for it, along with the API key.
  2. Regarding NAMECHEAP_SOURCEIP: When I tried to run this with the shared IP my domains use (the one I can find on cPanel), I encountered a bug (something about an invalid IP). That error mentioned a similar but slightly different IP address. I contacted support, who told me that IP was actually the one used for the shared server my websites are hosted on. I had to use this that IP for NAMECHEAP_SOURCEIP, not my Shared IP Address which points to my domains and is accessible from cPanel.

Tonight, I contacted support again to ask them how to find this Server IP. They said there is no way to find it except to ask them for it. I can't verify if that is true or not, but I can't find it anywhere else, so it could be the only way to find it is to ask them.

Here:
export NAMECHEAP_SOURCEIP="$(dig +short myip.opendns.com @resolver1.opendns.com -4)"; echo "Public IPv4 address: ${NAMECHEAP_SOURCEIP}"

@Stitch10925
Copy link

Stitch10925 commented Jul 12, 2023

Hey all,

I am also getting the "error API Key is invalid or API access has not been enabled" error message. I checked and I am already on NameCheap's BasicDNS, so that probably won't be the issue in my case.

I have OpnSense running with the ACME Client from which I am trying to issue a wildcard certificate for my internal domain.
When I make the API call that the script is supposed to make manually I get a valid response back, however, through the script executed by the OpnSense ACME Client I get the aforementioned error.

I see a lot of requests for the --debug 2 logs, but for the life of me I cannot figure out how to trigger the script manually. When I call "acme.sh":

/usr/local/share/examples/acme.sh --issue --dns dns_namecheap -d "xx.mydomain.xx" --log --debug 2 --home /home/xxxx/ --server https://acme-v02.api.letsencrypt.org/directory

I end up with:

Can not find dns api hook for: dns_namecheap

I am not very linux-savvy, so some clear instructions would be useful.

@robrill
Copy link

robrill commented May 6, 2024

Hi--when attempting acme.sh --issue --dns dns_namecheap -d XXXX.org -d *.XXXX.org i get the following error:

Not sure what's going on on the back end, but I've found no results for this issue so I figured I'd post it here in case anyone else runs across it.

 [Mon May  6 13:06:02 EDT 2024] Http already initialized.

[Mon May  6 13:06:02 EDT 2024] _CURL='curl --silent --dump-header /home/XXXXX/.acme.sh/http.header  -L  --trace-ascii /tmp/tmp.Yf1X79JRha  -g' 

[Mon May  6 13:06:02 EDT 2024] _ret='0'

[Mon May  6 13:06:02 EDT 2024] response='<?xml version="1.0" encoding="utf-8"?>
<ApiResponse Status="OK" xmlns="http://api.namecheap.com/xml.response">
  <Errors />
  <Warnings />
  <RequestedCommand>namecheap.domains.dns.gethosts</RequestedCommand>
  <CommandResponse Type="namecheap.domains.dns.getHosts">
    <DomainDNSGetHostsResult Domain="XXXXX.org" EmailType="NONE" IsUsingOurDNS="true" />
  </CommandResponse>
  <Server>PHX01APIEXT02</Server>
  <GMTTimeDifference>--4:00</GMTTimeDifference>
  <ExecutionTime>0.154</ExecutionTime>
</ApiResponse>'

[Mon May  6 13:06:02 EDT 2024] hosts

[Mon May  6 13:06:02 EDT 2024] Hosts not found

[Mon May  6 13:06:02 EDT 2024] Error add txt for domain:_acme-challenge.XXX.org ``` 


@virshu
Copy link

virshu commented Aug 6, 2024

Hello -
Getting certificate through namecheap as my registrar failed.
Step 1. I ran ./acme.sh --issue --dns dns_namecheap -d rabinovich.org -d *.rabinovich.org (not sure why I have to hide the domain name). Got an error that the script couldn't automatically create TEXT records, and instructing me to manually create 2 _acme-challenge.rabinovich.org records. Done
Step 2. Ran ./acme.sh --issue --renew --debug --log --dns dns_namecheap -d rabinovich.org -d *.rabinovich.org
Script tried 30 times and "gave up. This is debug output says "status":"processing".

Not sure what I can troubleshoot. I even put some echo output into the script - but to no avail. It really seems that the system is stuck processing for the second day

@mslinn
Copy link

mslinn commented Aug 6, 2024

I had more luck by using the Lego Letsencrypt/ACME client.
https://www.mslinn.com/blog/2023/03/02/lego.html

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3rd party api report bugs to dns api, deploy hooks and notification hooks
Projects
None yet
Development

No branches or pull requests

17 participants