mirror of
				https://github.com/hiskang/acme.sh
				synced 2025-10-31 18:37:30 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			56 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/usr/bin/env sh
 | |
| #
 | |
| #Author: Wolfgang Ebner
 | |
| #Report Bugs here: https://github.com/webner/acme.sh
 | |
| #
 | |
| ########  Public functions #####################
 | |
| 
 | |
| #Usage: dns_acmedns_add   _acme-challenge.www.domain.com   "XKrxpRBosdIKFzxW_CT3KLZNf6q0HG9i01zxXp5CPBs"
 | |
| dns_acmedns_add() {
 | |
|   fulldomain=$1
 | |
|   txtvalue=$2
 | |
|   _info "Using acme-dns"
 | |
|   _debug fulldomain "$fulldomain"
 | |
|   _debug txtvalue "$txtvalue"
 | |
| 
 | |
|   ACMEDNS_UPDATE_URL="${ACMEDNS_UPDATE_URL:-$(_readaccountconf_mutable ACMEDNS_UPDATE_URL)}"
 | |
|   ACMEDNS_USERNAME="${ACMEDNS_USERNAME:-$(_readaccountconf_mutable ACMEDNS_USERNAME)}"
 | |
|   ACMEDNS_PASSWORD="${ACMEDNS_PASSWORD:-$(_readaccountconf_mutable ACMEDNS_PASSWORD)}"
 | |
|   ACMEDNS_SUBDOMAIN="${ACMEDNS_SUBDOMAIN:-$(_readaccountconf_mutable ACMEDNS_SUBDOMAIN)}"
 | |
| 
 | |
|   if [ "$ACMEDNS_UPDATE_URL" = "" ]; then
 | |
|     ACMEDNS_UPDATE_URL="https://auth.acme-dns.io/update"
 | |
|   fi
 | |
| 
 | |
|   _saveaccountconf_mutable ACMEDNS_UPDATE_URL "$ACMEDNS_UPDATE_URL"
 | |
|   _saveaccountconf_mutable ACMEDNS_USERNAME "$ACMEDNS_USERNAME"
 | |
|   _saveaccountconf_mutable ACMEDNS_PASSWORD "$ACMEDNS_PASSWORD"
 | |
|   _saveaccountconf_mutable ACMEDNS_SUBDOMAIN "$ACMEDNS_SUBDOMAIN"
 | |
| 
 | |
|   export _H1="X-Api-User: $ACMEDNS_USERNAME"
 | |
|   export _H2="X-Api-Key: $ACMEDNS_PASSWORD"
 | |
|   data="{\"subdomain\":\"$ACMEDNS_SUBDOMAIN\", \"txt\": \"$txtvalue\"}"
 | |
| 
 | |
|   _debug data "$data"
 | |
|   response="$(_post "$data" "$ACMEDNS_UPDATE_URL" "" "POST")"
 | |
|   _debug response "$response"
 | |
| 
 | |
|   if ! echo "$response" | grep "\"$txtvalue\"" >/dev/null; then
 | |
|     _err "invalid response of acme-dns"
 | |
|     return 1
 | |
|   fi
 | |
| 
 | |
| }
 | |
| 
 | |
| #Usage: fulldomain txtvalue
 | |
| #Remove the txt record after validation.
 | |
| dns_acmedns_rm() {
 | |
|   fulldomain=$1
 | |
|   txtvalue=$2
 | |
|   _info "Using acme-dns"
 | |
|   _debug fulldomain "$fulldomain"
 | |
|   _debug txtvalue "$txtvalue"
 | |
| }
 | |
| 
 | |
| ####################  Private functions below ##################################
 |