3 #Author: Wolfgang Ebner
4 #Report Bugs here: https://github.com/webner/acme.sh
6 ######## Public functions #####################
8 #Usage: dns_acmedns_add _acme-challenge.www.domain.com "XKrxpRBosdIKFzxW_CT3KLZNf6q0HG9i01zxXp5CPBs"
12 _info
"Using acme-dns"
13 _debug fulldomain
"$fulldomain"
14 _debug txtvalue
"$txtvalue"
16 ACMEDNS_UPDATE_URL
="${ACMEDNS_UPDATE_URL:-$(_readaccountconf_mutable ACMEDNS_UPDATE_URL)}"
17 ACMEDNS_USERNAME
="${ACMEDNS_USERNAME:-$(_readaccountconf_mutable ACMEDNS_USERNAME)}"
18 ACMEDNS_PASSWORD
="${ACMEDNS_PASSWORD:-$(_readaccountconf_mutable ACMEDNS_PASSWORD)}"
19 ACMEDNS_SUBDOMAIN
="${ACMEDNS_SUBDOMAIN:-$(_readaccountconf_mutable ACMEDNS_SUBDOMAIN)}"
21 if [ "$ACMEDNS_UPDATE_URL" = "" ]; then
22 ACMEDNS_UPDATE_URL
="https://auth.acme-dns.io/update"
25 _saveaccountconf_mutable ACMEDNS_UPDATE_URL
"$ACMEDNS_UPDATE_URL"
26 _saveaccountconf_mutable ACMEDNS_USERNAME
"$ACMEDNS_USERNAME"
27 _saveaccountconf_mutable ACMEDNS_PASSWORD
"$ACMEDNS_PASSWORD"
28 _saveaccountconf_mutable ACMEDNS_SUBDOMAIN
"$ACMEDNS_SUBDOMAIN"
30 export _H1
="X-Api-User: $ACMEDNS_USERNAME"
31 export _H2
="X-Api-Key: $ACMEDNS_PASSWORD"
32 data
="{\"subdomain\":\"$ACMEDNS_SUBDOMAIN\", \"txt\": \"$txtvalue\"}"
35 response
="$(_post "$data" "$ACMEDNS_UPDATE_URL" "" "POST
")"
36 _debug response
"$response"
38 if ! echo "$response" |
grep "\"$txtvalue\"" >/dev
/null
; then
39 _err
"invalid response of acme-dns"
45 #Usage: fulldomain txtvalue
46 #Remove the txt record after validation.
50 _info
"Using acme-dns"
51 _debug fulldomain
"$fulldomain"
52 _debug txtvalue
"$txtvalue"
55 #################### Private functions below ##################################