From a10e36487d58fa90d2509c2e9a10d552393fd583 Mon Sep 17 00:00:00 2001 From: ErwinsExpertise Date: Mon, 22 Aug 2022 14:19:57 -0400 Subject: [PATCH] Added Vultr DNS Scripts --- dns_scripts/dns_add_vultr | 30 ++++++++++++++++++++++++++++++ dns_scripts/dns_del_vultr | 26 ++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100755 dns_scripts/dns_add_vultr create mode 100755 dns_scripts/dns_del_vultr diff --git a/dns_scripts/dns_add_vultr b/dns_scripts/dns_add_vultr new file mode 100755 index 0000000..35cf407 --- /dev/null +++ b/dns_scripts/dns_add_vultr @@ -0,0 +1,30 @@ +#!/bin/bash +# Vultr Add DNS Record + +api_url="https://api.vultr.com/v2" +api_key=${VULTR_API_KEY:-''} + + +domain="$1" +challenge="$2" + +root=$(echo "$domain" | awk -F\. '{print $(NF-1) FS $NF}') +subdomain="_acme-challenge.${domain%.$root}" + +if [[ -z "$VULTR_API_KEY" ]]; then + echo "VULTR_API_KEY variable not set" + exit 1 +fi + +function create { +curl "${api_url}/domains/$1/records" -X POST -H "Authorization: Bearer ${VULTR_API_KEY}" -H "Content-Type: application/json" \ + --data "{ + \"name\" : \"$2\", + \"type\" : \"TXT\", + \"data\" : \"${challenge}\", + \"ttl\" : 300, + \"priority\" : 0 + }" +} + +create $root $subdomain diff --git a/dns_scripts/dns_del_vultr b/dns_scripts/dns_del_vultr new file mode 100755 index 0000000..fae04a3 --- /dev/null +++ b/dns_scripts/dns_del_vultr @@ -0,0 +1,26 @@ +#!/bin/bash +# Vultr Delete DNS Record +# This script requires jq to be installed on the machine running it + +api_url="https://api.vultr.com/v2" +api_key=${VULTR_API_KEY:-''} + + +domain="$1" + +root=$(echo "$domain" | awk -F\. '{print $(NF-1) FS $NF}') +subdomain="_acme-challenge.${domain%.$root}" + +if [[ -z "$VULTR_API_KEY" ]]; then + echo "VULTR_API_KEY variable not set" + exit 1 +fi + +function delete { + recordID=$(curl "${api_url}/domains/$1/records" -X GET -H "Authorization: Bearer ${VULTR_API_KEY}" | jq -r ".records[] | select(.name==\"$2\").id") + + curl "${api_url}/domains/$1/records/$recordID" -X DELETE -H "Authorization: Bearer ${VULTR_API_KEY}" +} + + +delete $root $subdomain