]> git.proxmox.com Git - mirror_acme.sh.git/blob - dnsapi/dns_acmedns.sh
Updated with latest changes from Neilpang/dev
[mirror_acme.sh.git] / dnsapi / dns_acmedns.sh
1 #!/usr/bin/env sh
2 #
3 #Author: Wolfgang Ebner
4 #Report Bugs here: https://github.com/webner/acme.sh
5 #
6 ######## Public functions #####################
7
8 #Usage: dns_acmedns_add _acme-challenge.www.domain.com "XKrxpRBosdIKFzxW_CT3KLZNf6q0HG9i01zxXp5CPBs"
9 dns_acmedns_add() {
10 fulldomain=$1
11 txtvalue=$2
12 _info "Using acme-dns"
13 _debug fulldomain "$fulldomain"
14 _debug txtvalue "$txtvalue"
15
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)}"
20
21 if [ "$ACMEDNS_UPDATE_URL" = "" ]; then
22 ACMEDNS_UPDATE_URL="https://auth.acme-dns.io/update"
23 fi
24
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"
29
30 export _H1="X-Api-User: $ACMEDNS_USERNAME"
31 export _H2="X-Api-Key: $ACMEDNS_PASSWORD"
32 data="{\"subdomain\":\"$ACMEDNS_SUBDOMAIN\", \"txt\": \"$txtvalue\"}"
33
34 _debug data "$data"
35 response="$(_post "$data" "$ACMEDNS_UPDATE_URL" "" "POST")"
36 _debug response "$response"
37
38 if ! echo "$response" | grep "\"$txtvalue\"" >/dev/null; then
39 _err "invalid response of acme-dns"
40 return 1
41 fi
42
43 }
44
45 #Usage: fulldomain txtvalue
46 #Remove the txt record after validation.
47 dns_acmedns_rm() {
48 fulldomain=$1
49 txtvalue=$2
50 _info "Using acme-dns"
51 _debug fulldomain "$fulldomain"
52 _debug txtvalue "$txtvalue"
53 }
54
55 #################### Private functions below ##################################