From b414fc8a1bd898d8b41c82078504c7d890809691 Mon Sep 17 00:00:00 2001 From: Dan <36902356+danc403@users.noreply.github.com> Date: Fri, 2 Mar 2018 14:15:54 -0600 Subject: [PATCH] Delete dns_dynu.sh --- dnsapi/dns_dynu.sh | 228 --------------------------------------------- 1 file changed, 228 deletions(-) delete mode 100644 dnsapi/dns_dynu.sh diff --git a/dnsapi/dns_dynu.sh b/dnsapi/dns_dynu.sh deleted file mode 100644 index 17a1cdb0..00000000 --- a/dnsapi/dns_dynu.sh +++ /dev/null @@ -1,228 +0,0 @@ -#!/usr/bin/env sh - -#Client ID -#Dynu_ClientId="0b71cae7-a099-4f6b-8ddf-94571cdb760d" -# -#Secret -#Dynu_Secret="aCUEY4BDCV45KI8CSIC3sp2LKQ9" -# -#Token -Dynu_Token="" -# -#Endpoint -Dynu_EndPoint="https://api.dynu.com/v1" -# -#Author: Dynu Systems, Inc. -#Report Bugs here: https://github.com/shar0119/acme.sh -# -######## Public functions ##################### - -#Usage: add _acme-challenge.www.domain.com "XKrxpRBosdIKFzxW_CT3KLZNf6q0HG9i01zxXp5CPBs" -dns_dynu_add() { - fulldomain=$1 - txtvalue=$2 - - if [ -z "$Dynu_ClientId" ] || [ -z "$Dynu_Secret" ]; then - Dynu_ClientId="" - Dynu_Secret="" - _err "Dynu client id and secret is not specified." - _err "Please create you API client id and secret and try again." - return 1 - fi - - #save the client id and secret to the account conf file. - _saveaccountconf Dynu_ClientId "$Dynu_ClientId" - _saveaccountconf Dynu_Secret "$Dynu_Secret" - - if [ -z "$Dynu_Token" ]; then - _info "Getting Dynu token." - if ! _dynu_authentication; then - _err "Can not get token." - fi - fi - - _debug "Detect root zone" - if ! _get_root "$fulldomain"; then - _err "Invalid domain." - return 1 - fi - - _debug _node "$_node" - _debug _domain_name "$_domain_name" - - _info "Creating TXT record." - if ! _dynu_rest POST "dns/record/add" "{\"domain_name\":\"$_domain_name\",\"node_name\":\"$_node\",\"record_type\":\"TXT\",\"text_data\":\"$txtvalue\",\"state\":true,\"ttl\":90}"; then - return 1 - fi - - if ! _contains "$response" "text_data"; then - _err "Could not add TXT record." - return 1 - fi - - return 0 -} - -#Usage: rm _acme-challenge.www.domain.com "XKrxpRBosdIKFzxW_CT3KLZNf6q0HG9i01zxXp5CPBs" -dns_dynu_rm() { - fulldomain=$1 - txtvalue=$2 - - if [ -z "$Dynu_ClientId" ] || [ -z "$Dynu_Secret" ]; then - Dynu_ClientId="" - Dynu_Secret="" - _err "Dynu client id and secret is not specified." - _err "Please create you API client id and secret and try again." - return 1 - fi - - #save the client id and secret to the account conf file. - _saveaccountconf Dynu_ClientId "$Dynu_ClientId" - _saveaccountconf Dynu_Secret "$Dynu_Secret" - - if [ -z "$Dynu_Token" ]; then - _info "Getting Dynu token." - if ! _dynu_authentication; then - _err "Can not get token." - fi - fi - - _debug "Detect root zone." - if ! _get_root "$fulldomain"; then - _err "Invalid domain." - return 1 - fi - - _debug _node "$_node" - _debug _domain_name "$_domain_name" - - _info "Checking for TXT record." - if ! _get_recordid "$fulldomain" "$txtvalue"; then - _err "Could not get TXT record id." - return 1 - fi - - if [ "$_dns_record_id" = "" ]; then - _err "TXT record not found." - return 1 - fi - - _info "Removing TXT record." - if ! _delete_txt_record "$_dns_record_id"; then - _err "Could not remove TXT record $_dns_record_id." - fi - - return 0 -} - -######## Private functions below ################################## -#_acme-challenge.www.domain.com -#returns -# _node=_acme-challenge.www -# _domain_name=domain.com -_get_root() { - domain=$1 - i=2 - p=1 - while true; do - h=$(printf "%s" "$domain" | cut -d . -f $i-100) - _debug h "$h" - if [ -z "$h" ]; then - #not valid - return 1 - fi - - if ! _dynu_rest GET "dns/get/$h"; then - return 1 - fi - - if _contains "$response" "\"name\":\"$h\"" >/dev/null; then - _domain_name=$h - _node=$(printf "%s" "$domain" | cut -d . -f 1-$p) - return 0 - fi - p=$i - i=$(_math "$i" + 1) - done - return 1 - -} - -_get_recordid() { - fulldomain=$1 - txtvalue=$2 - - if ! _dynu_rest GET "dns/record/get?hostname=$fulldomain&rrtype=TXT"; then - return 1 - fi - - if ! _contains "$response" "$txtvalue"; then - _dns_record_id=0 - return 0 - fi - - _dns_record_id=$(printf "%s" "$response" | _egrep_o "{[^}]*}" | grep "\"text_data\":\"$txtvalue\"" | _egrep_o ",[^,]*," | grep ',"id":' | tr -d ",," | cut -d : -f 2) - - return 0 -} - -_delete_txt_record() { - _dns_record_id=$1 - - if ! _dynu_rest GET "dns/record/delete/$_dns_record_id"; then - return 1 - fi - - if ! _contains "$response" "true"; then - return 1 - fi - - return 0 -} - -_dynu_rest() { - m=$1 - ep="$2" - data="$3" - _debug "$ep" - - export _H1="Authorization: Bearer $Dynu_Token" - export _H2="Content-Type: application/json" - - if [ "$data" ]; then - _debug data "$data" - response="$(_post "$data" "$Dynu_EndPoint/$ep" "" "$m")" - else - _info "Getting $Dynu_EndPoint/$ep" - response="$(_get "$Dynu_EndPoint/$ep")" - fi - - if [ "$?" != "0" ]; then - _err "error $ep" - return 1 - fi - _debug2 response "$response" - return 0 -} - -_dynu_authentication() { - realm="$(printf "%s" "$Dynu_ClientId:$Dynu_Secret" | _base64)" - - export _H1="Authorization: Basic $realm" - export _H2="Content-Type: application/json" - - response="$(_get "$Dynu_EndPoint/oauth2/token")" - if [ "$?" != "0" ]; then - _err "Authentication failed." - return 1 - fi - if _contains "$response" "accessToken"; then - Dynu_Token=$(printf "%s" "$response" | tr -d "[]" | cut -d , -f 2 | cut -d : -f 2 | cut -d '"' -f 2) - fi - if _contains "$Dynu_Token" "null"; then - Dynu_Token="" - fi - - _debug2 response "$response" - return 0 -}