Philippe Kueck
8 years ago
9 changed files with 187 additions and 1 deletions
-
59acme.sh
-
5dnsapi/dns_cf.sh
-
5dnsapi/dns_cx.sh
-
5dnsapi/dns_dp.sh
-
5dnsapi/dns_gd.sh
-
5dnsapi/dns_lexicon.sh
-
5dnsapi/dns_myapi.sh
-
92dnsapi/dns_nsupdate.sh
-
5dnsapi/dns_ovh.sh
@ -0,0 +1,92 @@ |
|||||
|
#!/usr/bin/env bash |
||||
|
|
||||
|
|
||||
|
######## Public functions ##################### |
||||
|
|
||||
|
#Usage: dns_nsupdate_add _acme-challenge.www.domain.com "XKrxpRBosdIKFzxW_CT3KLZNf6q0HG9i01zxXp5CPBs" |
||||
|
dns_nsupdate_add() { |
||||
|
fulldomain=$1 |
||||
|
txtvalue=$2 |
||||
|
_checkKeyFile || return 1 |
||||
|
NSUPDATE_SERVER=${NSUPDATE_SERVER:-localhost} |
||||
|
tmp=$(mktemp --tmpdir acme_nsupdate.XXXXXX) |
||||
|
cat > ${tmp} <<EOF |
||||
|
server ${NSUPDATE_SERVER} |
||||
|
update add ${fulldomain}. 60 in txt "${txtvalue}" |
||||
|
send |
||||
|
EOF |
||||
|
_info "adding ${fulldomain}. 60 in txt \"${txtvalue}\"" |
||||
|
nsupdate -k ${NSUPDATE_KEY} ${tmp} |
||||
|
if [ $? -ne 0 ]; then |
||||
|
_err "error updating domain, see ${tmp} for details" |
||||
|
return 1 |
||||
|
fi |
||||
|
rm -f ${tmp} |
||||
|
[ -n "${NSUPDATE_LOG}" ] && echo "${fulldomain}" >> ${NSUPDATE_LOG} |
||||
|
|
||||
|
return 0 |
||||
|
} |
||||
|
|
||||
|
#Usage: dns_nsupdate_del _acme-challenge.www.domain.com |
||||
|
dns_nsupdate_del() { |
||||
|
fulldomain=$1 |
||||
|
_checkKeyFile || return 1 |
||||
|
NSUPDATE_SERVER=${NSUPDATE_SERVER:-localhost} |
||||
|
tmp=$(mktemp --tmpdir acme_nsupdate.XXXXXX) |
||||
|
cat > ${tmp} <<EOF |
||||
|
server ${NSUPDATE_SERVER} |
||||
|
update delete ${fulldomain}. txt |
||||
|
send |
||||
|
EOF |
||||
|
_info "removing ${fulldomain}. txt" |
||||
|
nsupdate -k ${NSUPDATE_KEY} ${tmp} |
||||
|
if [ $? -ne 0 ]; then |
||||
|
_err "error updating domain, see ${tmp} for details" |
||||
|
return 1 |
||||
|
fi |
||||
|
rm -f ${tmp} |
||||
|
|
||||
|
return 0 |
||||
|
} |
||||
|
|
||||
|
|
||||
|
#################### Private functions bellow ################################## |
||||
|
|
||||
|
_checkKeyFile() { |
||||
|
if [ -z "${NSUPDATE_KEY}" ]; then |
||||
|
_err "you must specify a path to the nsupdate key file" |
||||
|
return 1 |
||||
|
fi |
||||
|
if [ ! -r "${NSUPDATE_KEY}" ]; then |
||||
|
_err "key ${NSUPDATE_KEY} is unreadable" |
||||
|
return 1 |
||||
|
fi |
||||
|
} |
||||
|
|
||||
|
_info() { |
||||
|
if [ -z "$2" ] ; then |
||||
|
echo "[$(date)] $1" |
||||
|
else |
||||
|
echo "[$(date)] $1='$2'" |
||||
|
fi |
||||
|
} |
||||
|
|
||||
|
_err() { |
||||
|
_info "$@" >&2 |
||||
|
return 1 |
||||
|
} |
||||
|
|
||||
|
_debug() { |
||||
|
if [ -z "$DEBUG" ] ; then |
||||
|
return |
||||
|
fi |
||||
|
_err "$@" |
||||
|
return 0 |
||||
|
} |
||||
|
|
||||
|
_debug2() { |
||||
|
if [ "$DEBUG" ] && [ "$DEBUG" -ge "2" ] ; then |
||||
|
_debug "$@" |
||||
|
fi |
||||
|
return |
||||
|
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue