Add dnsapi script for HE DDNS
parent
5cded5b53e
commit
5214a7c3ec
|
@ -0,0 +1,43 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
dns_he_ddns_info='Hurricane Electric HE.net DDNS
|
||||||
|
Site: dns.he.net
|
||||||
|
Docs: github.com/acmesh-official/acme.sh/wiki/dnsapi#dns_he_ddns
|
||||||
|
Options:
|
||||||
|
HE_DDNS_KEY The DDNS key for updating the TXT record
|
||||||
|
Author: Markku Leiniö
|
||||||
|
'
|
||||||
|
|
||||||
|
HE_DDNS_URL="https://dyn.dns.he.net/nic/update"
|
||||||
|
|
||||||
|
######## Public functions #####################
|
||||||
|
|
||||||
|
#Usage: dns_he_ddns_add _acme-challenge.www.domain.com "XKrxpRBosdIKFzxW_CT3KLZNf6q0HG9i01zxXp5CPBs"
|
||||||
|
dns_he_ddns_add() {
|
||||||
|
fulldomain=$1
|
||||||
|
txtvalue=$2
|
||||||
|
HE_DDNS_KEY="${HE_DDNS_KEY:-$(_readaccountconf_mutable HE_DDNS_KEY)}"
|
||||||
|
if [ -z "$HE_DDNS_KEY" ]; then
|
||||||
|
HE_DDNS_KEY=""
|
||||||
|
_err "You didn't specify a DDNS key for accessing the TXT record in HE API."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
#Save the DDNS key to the account conf file.
|
||||||
|
_saveaccountconf_mutable HE_DDNS_KEY "$HE_DDNS_KEY"
|
||||||
|
|
||||||
|
_info "Using Hurricane Electric DDNS API"
|
||||||
|
_debug fulldomain "$fulldomain"
|
||||||
|
_debug txtvalue "$txtvalue"
|
||||||
|
|
||||||
|
response="$(_post "hostname=$fulldomain&password=$HE_DDNS_KEY&txt=$txtvalue" "$HE_DDNS_URL")"
|
||||||
|
_info "Response: $response"
|
||||||
|
_contains "$response" "good" && return 0 || return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
#Usage: fulldomain txtvalue
|
||||||
|
#Remove the txt record after validation.
|
||||||
|
dns_he_ddns_rm() {
|
||||||
|
fulldomain=$1
|
||||||
|
txtvalue=$2
|
||||||
|
_debug fulldomain "$fulldomain"
|
||||||
|
_debug txtvalue "$txtvalue"
|
||||||
|
}
|
Loading…
Reference in New Issue