Merge 5f8c863299
into a054f6a97b
commit
05be194eff
@ -0,0 +1,66 @@
|
||||
#!/usr/bin/env sh
|
||||
#
|
||||
# PDNS Manager wrapper script for acme.sh
|
||||
#
|
||||
# Author: Olle Gustafsson <olle@dalnix.se>
|
||||
# Report Bugs here: Just send an email, there are no bugs ;)
|
||||
#
|
||||
# https://pdnsmanager.org/
|
||||
# https://www.powerdns.com/
|
||||
#
|
||||
# This script is using PDNS Manager's API to update TXT record since giving API
|
||||
# access to PowerDNS API itself is not possible for a single domain (or record).
|
||||
#
|
||||
# Before first run; export these variables or failure is imminent.
|
||||
#
|
||||
# export PDNS_MANAGER_URL=https://pdnsmanager.domain.nx
|
||||
# export PDNS_MANAGER_RECORDID=
|
||||
# export PDNS_MANAGER_PASSWORD=
|
||||
#
|
||||
# Then run:
|
||||
#
|
||||
# acme.sh --issue --staging --dns dns_pdnsmanager -d domaintovalidate.nx
|
||||
#
|
||||
# Remember to remove --staging in production
|
||||
#
|
||||
|
||||
# Usage: dns_pdnsmanager_add _acme-challenge.www.domain.com "XKrxpRBosdIKFzxW_CT3KLZNf6q0HG9i01zxXp5CPBs"
|
||||
|
||||
dns_pdnsmanager_add() {
|
||||
fulldomain=$1
|
||||
txtvalue=$2
|
||||
_info "Using PDNS Manager"
|
||||
_debug fulldomain "$fulldomain"
|
||||
_debug txtvalue "$txtvalue"
|
||||
|
||||
PDNS_MANAGER_URL="${PDNS_MANAGER_URL:-$(_readaccountconf_mutable PDNS_MANAGER_URL)}"
|
||||
PDNS_MANAGER_RECORDID="${PDNS_MANAGER_RECORDID:-$(_readaccountconf_mutable PDNS_MANAGER_RECORDID)}"
|
||||
PDNS_MANAGER_PASSWORD="${PDNS_MANAGER_PASSWORD:-$(_readaccountconf_mutable PDNS_MANAGER_PASSWORD)}"
|
||||
if [ -z "$PDNS_MANAGER_URL" ] || [ -z "$PDNS_MANAGER_RECORDID" ] || [ -z "$PDNS_MANAGER_PASSWORD" ]; then
|
||||
PDNS_MANAGER_URL=""
|
||||
PDNS_MANAGER_RECORDID=""
|
||||
PDNS_MANAGER_PASSWORD=""
|
||||
_err "PDNS_MANAGER_URL, PDNS_MANAGER_RECORDID and/or PDNS_MANAGER_PASSWORD is missing!"
|
||||
_err "Please export these variables and try again."
|
||||
return 1
|
||||
fi
|
||||
|
||||
_saveaccountconf_mutable PDNS_MANAGER_RECORDID "$PDNS_MANAGER_RECORDID"
|
||||
_saveaccountconf_mutable PDNS_MANAGER_PASSWORD "$PDNS_MANAGER_PASSWORD"
|
||||
|
||||
_get "${PDNS_MANAGER_URL}/api/v1/remote/updatepw?record=${PDNS_MANAGER_RECORDID}&password=${PDNS_MANAGER_PASSWORD}&content=${txtvalue}"
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
# Usage: fulldomain txtvalue
|
||||
# Remove the txt record after validation.
|
||||
#
|
||||
# Not implemented since no new records will be created.
|
||||
dns_pdnsmanager_rm() {
|
||||
fulldomain=$1
|
||||
txtvalue=$2
|
||||
# _info "Using PDNS Manager"
|
||||
# _debug fulldomain "$fulldomain"
|
||||
# _debug txtvalue "$txtvalue"
|
||||
}
|
Loading…
Reference in New Issue