diff --git a/dnsapi/dns_inwx.sh b/dnsapi/dns_inwx.sh deleted file mode 100755 index 5dfba7d1..00000000 --- a/dnsapi/dns_inwx.sh +++ /dev/null @@ -1,311 +0,0 @@ -#!/usr/bin/env sh - -# -#INWX_User="username" -# -#INWX_Password="password" - -INWX_Api="https://api.domrobot.com/xmlrpc/" - -######## Public functions ##################### - -#Usage: add _acme-challenge.www.domain.com "XKrxpRBosdIKFzxW_CT3KLZNf6q0HG9i01zxXp5CPBs" -dns_inwx_add() { - fulldomain=$1 - txtvalue=$2 - - INWX_User="${INWX_User:-$(_readaccountconf_mutable INWX_User)}" - INWX_Password="${INWX_Password:-$(_readaccountconf_mutable INWX_Password)}" - if [ -z "$INWX_User" ] || [ -z "$INWX_Password" ]; then - INWX_User="" - INWX_Password="" - _err "You don't specify inwx user and password yet." - _err "Please create you key and try again." - return 1 - fi - - #save the api key and email to the account conf file. - _saveaccountconf_mutable INWX_User "$INWX_User" - _saveaccountconf_mutable INWX_Password "$INWX_Password" - - _debug "First detect the root zone" - if ! _get_root "$fulldomain"; then - _err "invalid domain" - return 1 - fi - _debug _sub_domain "$_sub_domain" - _debug _domain "$_domain" - - _info "Adding record" - _inwx_add_record "$_domain" "$_sub_domain" "$txtvalue" - -} - -#fulldomain txtvalue -dns_inwx_rm() { - - fulldomain=$1 - txtvalue=$2 - - INWX_User="${INWX_User:-$(_readaccountconf_mutable INWX_User)}" - INWX_Password="${INWX_Password:-$(_readaccountconf_mutable INWX_Password)}" - if [ -z "$INWX_User" ] || [ -z "$INWX_Password" ]; then - INWX_User="" - INWX_Password="" - _err "You don't specify inwx user and password yet." - _err "Please create you key and try again." - return 1 - fi - - #save the api key and email to the account conf file. - _saveaccountconf_mutable INWX_User "$INWX_User" - _saveaccountconf_mutable INWX_Password "$INWX_Password" - - _debug "First detect the root zone" - if ! _get_root "$fulldomain"; then - _err "invalid domain" - return 1 - fi - _debug _sub_domain "$_sub_domain" - _debug _domain "$_domain" - - _debug "Getting txt records" - - xml_content=$(printf ' - - nameserver.info - - - - - - domain - - %s - - - - type - - TXT - - - - name - - %s - - - - - - - ' "$_domain" "$_sub_domain") - response="$(_post "$xml_content" "$INWX_Api" "" "POST")" - - if ! _contains "$response" "Command completed successfully"; then - _err "Error could not get txt records" - return 1 - fi - - if ! printf "%s" "$response" | grep "count" >/dev/null; then - _info "Do not need to delete record" - else - _record_id=$(printf '%s' "$response" | _egrep_o '.*(record){1}(.*)([0-9]+){1}' | _egrep_o 'id<\/name>[0-9]+' | _egrep_o '[0-9]+') - _info "Deleting record" - _inwx_delete_record "$_record_id" - fi - -} - -#################### Private functions below ################################## - -_inwx_login() { - - xml_content=$(printf ' - - account.login - - - - - - user - - %s - - - - pass - - %s - - - - - - - ' $INWX_User $INWX_Password) - - response="$(_post "$xml_content" "$INWX_Api" "" "POST")" - - printf "Cookie: %s" "$(grep "domrobot=" "$HTTP_HEADER" | grep "^Set-Cookie:" | _tail_n 1 | _egrep_o 'domrobot=[^;]*;' | tr -d ';')" - -} - -_get_root() { - domain=$1 - _debug "get root" - - domain=$1 - i=2 - p=1 - - _H1=$(_inwx_login) - export _H1 - xml_content=' - - nameserver.list - ' - - response="$(_post "$xml_content" "$INWX_Api" "" "POST")" - 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 _contains "$response" "$h"; then - _sub_domain=$(printf "%s" "$domain" | cut -d . -f 1-$p) - _domain="$h" - return 0 - fi - p=$i - i=$(_math "$i" + 1) - done - return 1 - -} - -_inwx_delete_record() { - record_id=$1 - xml_content=$(printf ' - - nameserver.deleteRecord - - - - - - id - - %s - - - - - - - ' "$record_id") - - response="$(_post "$xml_content" "$INWX_Api" "" "POST")" - - if ! printf "%s" "$response" | grep "Command completed successfully" >/dev/null; then - _err "Error" - return 1 - fi - return 0 - -} - -_inwx_update_record() { - record_id=$1 - txtval=$2 - xml_content=$(printf ' - - nameserver.updateRecord - - - - - - content - - %s - - - - id - - %s - - - - - - - ' "$txtval" "$record_id") - - response="$(_post "$xml_content" "$INWX_Api" "" "POST")" - - if ! printf "%s" "$response" | grep "Command completed successfully" >/dev/null; then - _err "Error" - return 1 - fi - return 0 - -} - -_inwx_add_record() { - - domain=$1 - sub_domain=$2 - txtval=$3 - - xml_content=$(printf ' - - nameserver.createRecord - - - - - - domain - - %s - - - - type - - TXT - - - - content - - %s - - - - name - - %s - - - - - - - ' "$domain" "$txtval" "$sub_domain") - - response="$(_post "$xml_content" "$INWX_Api" "" "POST")" - - if ! printf "%s" "$response" | grep "Command completed successfully" >/dev/null; then - _err "Error" - return 1 - fi - return 0 -}