mirror of
				https://github.com/hiskang/acme.sh
				synced 2025-10-31 02:17:18 +00:00 
			
		
		
		
	add acme-dns plugin
This commit is contained in:
		
							parent
							
								
									a77e4aa6fa
								
							
						
					
					
						commit
						dd72f7638d
					
				| @ -318,6 +318,7 @@ You don't have to do anything manually! | ||||
| 1. KingHost (https://www.kinghost.com.br/) | ||||
| 1. Zilore (https://zilore.com) | ||||
| 1. Loopia.se API | ||||
| 1. acme-dns (https://github.com/joohoi/acme-dns) | ||||
| 
 | ||||
| And:  | ||||
| 
 | ||||
|  | ||||
| @ -835,6 +835,22 @@ acme.sh --issue --dns dns_loopia -d example.com -d *.example.com | ||||
| ``` | ||||
| 
 | ||||
| The username and password will be saved in `~/.acme.sh/account.conf` and will be reused when needed. | ||||
| ## 45. Use ACME DNS API | ||||
| 
 | ||||
| ACME DNS is a limited DNS server with RESTful HTTP API to handle ACME DNS challenges easily and securely.  | ||||
| https://github.com/joohoi/acme-dns | ||||
| 
 | ||||
| ``` | ||||
| export ACMEDNS_UPDATE_URL="https://auth.acme-dns.io/update" | ||||
| export ACMEDNS_USERNAME="<username>" | ||||
| export ACMEDNS_PASSWORD="<password>" | ||||
| export ACMEDNS_SUBDOMAIN="<subdomain>" | ||||
| 
 | ||||
| acme.sh --issue --dns dns_acmedns -d example.com -d www.example.com | ||||
| ``` | ||||
| 
 | ||||
| The credentials will be saved in `~/.acme.sh/account.conf` and will | ||||
| be reused when needed. | ||||
| 
 | ||||
| # Use custom API | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										55
									
								
								dnsapi/dns_acmedns.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								dnsapi/dns_acmedns.sh
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,55 @@ | ||||
| #!/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 ################################## | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user