#!/usr/bin/env sh # Official DNS API for Nanelo.com # Provide the required API Key like this: # NANELO_TOKEN="FmD408PdqT1E269gUK57" NANELO_API="https://api.nanelo.com/v1/" ######## Public functions ##################### # Usage: add _acme-challenge.www.domain.com "XKrxpRBosdIKFzxW_CT3KLZNf6q0HG9i01zxXp5CPBs" dns_nanelo_add() { fulldomain=$1 txtvalue=$2 NANELO_TOKEN="${NANELO_TOKEN:-$(_readaccountconf_mutable NANELO_TOKEN)}" if [ -z "$NANELO_TOKEN" ]; then NANELO_TOKEN="" _err "You didn't configure a Nanelo API Key yet." _err "Please set NANELO_TOKEN and try again." _err "Login to Nanelo.com and go to Settings > API Keys to get a Key" return 1 fi _saveaccountconf_mutable NANELO_TOKEN "$NANELO_TOKEN" _info "Adding TXT record to ${fulldomain}" response="$(_get "$NANELO_API$NANELO_TOKEN/dns/addrecord?type=TXT&ttl=60&name=${fulldomain}&value=${txtvalue}")" if _contains "${response}" 'success'; then return 0 fi _err "Could not create resource record, please check the logs" _err "${response}" return 1 } dns_nanelo_rm() { fulldomain=$1 txtvalue=$2 NANELO_TOKEN="${NANELO_TOKEN:-$(_readaccountconf_mutable NANELO_TOKEN)}" if [ -z "$NANELO_TOKEN" ]; then NANELO_TOKEN="" _err "You didn't configure a Nanelo API Key yet." _err "Please set NANELO_TOKEN and try again." _err "Login to Nanelo.com and go to Settings > API Keys to get a Key" return 1 fi _saveaccountconf_mutable NANELO_TOKEN "$NANELO_TOKEN" _info "Deleting resource record $fulldomain" response="$(_get "$NANELO_API$NANELO_TOKEN/dns/deleterecord?type=TXT&ttl=60&name=${fulldomain}&value=${txtvalue}")" if _contains "${response}" 'success'; then return 0 fi _err "Could not delete resource record, please check the logs" _err "${response}" return 1 }