mirror of
https://github.com/plantroon/acme.sh.git
synced 2024-11-15 19:01:44 +00:00
Cannot wait for PR #3673 to be completed
PR #3673 Fix simply.com API seems abandoned by maintainer and I need this fixed asap Changes implemented * Normalize JSON and fix not handling return code correctly * Add some information to comments * Fix trailing slash on URIs * Add 60 second sleep for zone to be written * Fix parsing record_data and record_type
This commit is contained in:
parent
0727f7054b
commit
8cdceb83b2
@ -1,15 +1,15 @@
|
|||||||
#!/usr/bin/env sh
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
#
|
# API-integration for Simply.com (https://www.simply.com)
|
||||||
|
|
||||||
#SIMPLY_AccountName="accountname"
|
#SIMPLY_AccountName="accountname"
|
||||||
#
|
|
||||||
#SIMPLY_ApiKey="apikey"
|
#SIMPLY_ApiKey="apikey"
|
||||||
#
|
#
|
||||||
#SIMPLY_Api="https://api.simply.com/1/[ACCOUNTNAME]/[APIKEY]"
|
#SIMPLY_Api="https://api.simply.com/1/[ACCOUNTNAME]/[APIKEY]"
|
||||||
SIMPLY_Api_Default="https://api.simply.com/1"
|
SIMPLY_Api_Default="https://api.simply.com/1"
|
||||||
|
|
||||||
#This is used for determining success of REST call
|
#This is used for determining success of REST call
|
||||||
SIMPLY_SUCCESS_CODE='"status": 200'
|
SIMPLY_SUCCESS_CODE='"status":200'
|
||||||
|
|
||||||
######## Public functions #####################
|
######## Public functions #####################
|
||||||
#Usage: add _acme-challenge.www.domain.com "XKrxpRBosdIKFzxW_CT3KLZNf6q0HG9i01zxXp5CPBs"
|
#Usage: add _acme-challenge.www.domain.com "XKrxpRBosdIKFzxW_CT3KLZNf6q0HG9i01zxXp5CPBs"
|
||||||
@ -51,7 +51,7 @@ dns_simply_rm() {
|
|||||||
|
|
||||||
_simply_save_config
|
_simply_save_config
|
||||||
|
|
||||||
_debug "First detect the root zone"
|
_debug "Find the DNS zone"
|
||||||
|
|
||||||
if ! _get_root "$fulldomain"; then
|
if ! _get_root "$fulldomain"; then
|
||||||
_err "invalid domain"
|
_err "invalid domain"
|
||||||
@ -77,8 +77,8 @@ dns_simply_rm() {
|
|||||||
for record in $records; do
|
for record in $records; do
|
||||||
_debug record "$record"
|
_debug record "$record"
|
||||||
|
|
||||||
record_data=$(echo "$record" | cut -d "," -f 3 | sed 's/"//g' | grep "data" | cut -d ":" -f 2)
|
record_data=$(echo "$record" | sed -n "s/.*\"data\":\"\([^\"]*\)\".*/\1/p")
|
||||||
record_type=$(echo "$record" | cut -d "," -f 4 | sed 's/"//g' | grep "type" | cut -d ":" -f 2)
|
record_type=$(echo "$record" | sed -n "s/.*\"type\":\"\([^\"]*\)\".*/\1/p")
|
||||||
|
|
||||||
_debug2 record_data "$record_data"
|
_debug2 record_data "$record_data"
|
||||||
_debug2 record_type "$record_type"
|
_debug2 record_type "$record_type"
|
||||||
@ -151,7 +151,7 @@ _simply_save_config() {
|
|||||||
_simply_get_all_records() {
|
_simply_get_all_records() {
|
||||||
domain=$1
|
domain=$1
|
||||||
|
|
||||||
if ! _simply_rest GET "my/products/$domain/dns/records"; then
|
if ! _simply_rest GET "my/products/$domain/dns/records/"; then
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -169,7 +169,7 @@ _get_root() {
|
|||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! _simply_rest GET "my/products/$h/dns"; then
|
if ! _simply_rest GET "my/products/$h/dns/"; then
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -193,7 +193,7 @@ _simply_add_record() {
|
|||||||
|
|
||||||
data="{\"name\": \"$sub_domain\", \"type\":\"TXT\", \"data\": \"$txtval\", \"priority\":0, \"ttl\": 3600}"
|
data="{\"name\": \"$sub_domain\", \"type\":\"TXT\", \"data\": \"$txtval\", \"priority\":0, \"ttl\": 3600}"
|
||||||
|
|
||||||
if ! _simply_rest POST "my/products/$domain/dns/records" "$data"; then
|
if ! _simply_rest POST "my/products/$domain/dns/records/" "$data"; then
|
||||||
_err "Adding record not successfull!"
|
_err "Adding record not successfull!"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
@ -203,6 +203,9 @@ _simply_add_record() {
|
|||||||
_err "$response"
|
_err "$response"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
_info "Waiting 60 seconds for DNS changes to be written"
|
||||||
|
_sleep 60
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
@ -214,7 +217,7 @@ _simply_delete_record() {
|
|||||||
|
|
||||||
_debug record_id "Delete record with id $record_id"
|
_debug record_id "Delete record with id $record_id"
|
||||||
|
|
||||||
if ! _simply_rest DELETE "my/products/$domain/dns/records/$record_id"; then
|
if ! _simply_rest DELETE "my/products/$domain/dns/records/$record_id/"; then
|
||||||
_err "Deleting record not successfull!"
|
_err "Deleting record not successfull!"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
@ -249,6 +252,8 @@ _simply_rest() {
|
|||||||
_err "error $ep"
|
_err "error $ep"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
response="$(echo "$response" | _normalizeJson)"
|
||||||
|
|
||||||
_debug2 response "$response"
|
_debug2 response "$response"
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user