mirror of
				https://github.com/hiskang/acme.sh
				synced 2025-10-31 18:37:30 +00:00 
			
		
		
		
	
						commit
						de2970d7ef
					
				| @ -314,7 +314,7 @@ You don't have to do anything manually! | ||||
| 1. InternetX autoDNS API (https://internetx.com) | ||||
| 1. Azure DNS | ||||
| 1. selectel.com(selectel.ru) DNS API | ||||
| 
 | ||||
| 1. zonomi.com DNS API | ||||
| And:  | ||||
| 
 | ||||
| 1. lexicon DNS API: https://github.com/Neilpang/acme.sh/wiki/How-to-use-lexicon-dns-api | ||||
|  | ||||
							
								
								
									
										11
									
								
								acme.sh
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								acme.sh
									
									
									
									
									
								
							| @ -1,6 +1,6 @@ | ||||
| #!/usr/bin/env sh | ||||
| 
 | ||||
| VER=2.7.6 | ||||
| VER=2.7.7 | ||||
| 
 | ||||
| PROJECT_NAME="acme.sh" | ||||
| 
 | ||||
| @ -1561,6 +1561,9 @@ _inithttp() { | ||||
|       _ACME_CURL="$_ACME_CURL --cacert $CA_BUNDLE " | ||||
|     fi | ||||
| 
 | ||||
|     if _contains "$(curl --help 2>&1)" "--globoff"; then | ||||
|       _ACME_CURL="$_ACME_CURL -g " | ||||
|     fi | ||||
|   fi | ||||
| 
 | ||||
|   if [ -z "$_ACME_WGET" ] && _exists "wget"; then | ||||
| @ -2760,9 +2763,9 @@ _isRealNginxConf() { | ||||
| 
 | ||||
|         _left="$(sed -n "${_start_nn},99999p" "$2")" | ||||
|         _debug2 _left "$_left" | ||||
|         if echo "$_left" | tr "\t" ' ' | grep -n "^ *server *" >/dev/null; then | ||||
|           _end=$(echo "$_left" | tr "\t" ' ' | grep -n "^ *server *" | _head_n 1) | ||||
|           _debug "_end" "$_end" | ||||
|         _end="$(echo "$_left" | tr "\t" ' ' | grep -n "^ *server *" | grep -v server_name | _head_n 1)" | ||||
|         _debug "_end" "$_end" | ||||
|         if [ "$_end" ]; then | ||||
|           _end_n=$(echo "$_end" | cut -d : -f 1) | ||||
|           _debug "_end_n" "$_end_n" | ||||
|           _seg_n=$(echo "$_left" | sed -n "1,${_end_n}p") | ||||
|  | ||||
| @ -719,6 +719,28 @@ acme.sh --issue --dns dns_selectel -d example.com -d www.example.com | ||||
| 
 | ||||
| The `SL_Key` will be saved in `~/.acme.sh/account.conf` and will be reused when needed. | ||||
| 
 | ||||
| ## 39. Use zonomi.com domain API to automatically issue cert | ||||
| 
 | ||||
| First you need to login to your account to find your API key from: http://zonomi.com/app/dns/dyndns.jsp | ||||
| 
 | ||||
| Your will find your api key in the example urls: | ||||
| 
 | ||||
| ```sh | ||||
| https://zonomi.com/app/dns/dyndns.jsp?host=example.com&api_key=1063364558943540954358668888888888 | ||||
| ``` | ||||
| 
 | ||||
| ```sh | ||||
| export ZM_Key="1063364558943540954358668888888888" | ||||
| 
 | ||||
| ``` | ||||
| 
 | ||||
| Ok, let's issue a cert now: | ||||
| ``` | ||||
| acme.sh --issue --dns dns_zonomi -d example.com -d www.example.com | ||||
| ``` | ||||
| 
 | ||||
| The `ZM_Key` will be saved in `~/.acme.sh/account.conf` and will be reused when needed. | ||||
| 
 | ||||
| 
 | ||||
| # Use custom API | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										85
									
								
								dnsapi/dns_zonomi.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										85
									
								
								dnsapi/dns_zonomi.sh
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,85 @@ | ||||
| #!/usr/bin/env sh | ||||
| 
 | ||||
| # | ||||
| #ZM_Key="sdfsdfsdfljlbjkljlkjsdfoiwje" | ||||
| # | ||||
| #https://zonomi.com dns api | ||||
| 
 | ||||
| ZM_Api="https://zonomi.com/app/dns/dyndns.jsp" | ||||
| 
 | ||||
| ########  Public functions ##################### | ||||
| 
 | ||||
| #Usage: add  _acme-challenge.www.domain.com   "XKrxpRBosdIKFzxW_CT3KLZNf6q0HG9i01zxXp5CPBs" | ||||
| dns_zonomi_add() { | ||||
|   fulldomain=$1 | ||||
|   txtvalue=$2 | ||||
| 
 | ||||
|   ZM_Key="${ZM_Key:-$(_readaccountconf_mutable ZM_Key)}" | ||||
| 
 | ||||
|   if [ -z "$ZM_Key" ]; then | ||||
|     ZM_Key="" | ||||
|     _err "You don't specify zonomi api key yet." | ||||
|     _err "Please create your key and try again." | ||||
|     return 1 | ||||
|   fi | ||||
| 
 | ||||
|   #save the api key to the account conf file. | ||||
|   _saveaccountconf_mutable ZM_Key "$ZM_Key" | ||||
| 
 | ||||
|   _info "Get existing txt records for $fulldomain" | ||||
|   if ! _zm_request "action=QUERY&name=$fulldomain"; then | ||||
|     _err "error" | ||||
|     return 1 | ||||
|   fi | ||||
| 
 | ||||
|   if _contains "$response" "<record"; then | ||||
|     _debug "get and update records" | ||||
|     _qstr="action[1]=SET&type[1]=TXT&name[1]=$fulldomain&value[1]=$txtvalue" | ||||
|     _qindex=2 | ||||
|     for t in $(echo "$response" | tr -d "\r\n" | _egrep_o '<action.*</action>' | tr "<" "\n" | grep record | grep 'type="TXT"' | cut -d '"' -f 6); do | ||||
|       _debug2 t "$t" | ||||
|       _qstr="$_qstr&action[$_qindex]=SET&type[$_qindex]=TXT&name[$_qindex]=$fulldomain&value[$_qindex]=$t" | ||||
|       _qindex="$(_math "$_qindex" + 1)" | ||||
|     done | ||||
|     _zm_request "$_qstr" | ||||
|   else | ||||
|     _debug "Just add record" | ||||
|     _zm_request "action=SET&type=TXT&name=$fulldomain&value=$txtvalue" | ||||
|   fi | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| #fulldomain txtvalue | ||||
| dns_zonomi_rm() { | ||||
|   fulldomain=$1 | ||||
|   txtvalue=$2 | ||||
| 
 | ||||
|   ZM_Key="${ZM_Key:-$(_readaccountconf_mutable ZM_Key)}" | ||||
|   if [ -z "$ZM_Key" ]; then | ||||
|     ZM_Key="" | ||||
|     _err "You don't specify zonomi api key yet." | ||||
|     _err "Please create your key and try again." | ||||
|     return 1 | ||||
|   fi | ||||
| 
 | ||||
|   _zm_request "action=DELETE&type=TXT&name=$fulldomain" | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| ####################  Private functions below ################################## | ||||
| #qstr | ||||
| _zm_request() { | ||||
|   qstr="$1" | ||||
| 
 | ||||
|   _debug2 "qstr" "$qstr" | ||||
| 
 | ||||
|   _zm_url="$ZM_Api?api_key=$ZM_Key&$qstr" | ||||
|   _debug2 "_zm_url" "$_zm_url" | ||||
|   response="$(_get "$_zm_url")" | ||||
| 
 | ||||
|   if [ "$?" != "0" ]; then | ||||
|     return 1 | ||||
|   fi | ||||
|   _debug2 response "$response" | ||||
|   _contains "$response" "<is_ok>OK:" | ||||
| } | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user