From a10e36487d58fa90d2509c2e9a10d552393fd583 Mon Sep 17 00:00:00 2001 From: ErwinsExpertise Date: Mon, 22 Aug 2022 14:19:57 -0400 Subject: [PATCH 1/2] 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 From 3409e46ce088fac39bec5d7c8a1527aa7bf3e5a6 Mon Sep 17 00:00:00 2001 From: ErwinsExpertise Date: Wed, 24 Aug 2022 11:33:02 -0400 Subject: [PATCH 2/2] Added flags to silence curl output --- dns_scripts/dns_add_vultr | 2 +- dns_scripts/dns_del_vultr | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dns_scripts/dns_add_vultr b/dns_scripts/dns_add_vultr index 35cf407..47da19a 100755 --- a/dns_scripts/dns_add_vultr +++ b/dns_scripts/dns_add_vultr @@ -17,7 +17,7 @@ if [[ -z "$VULTR_API_KEY" ]]; then fi function create { -curl "${api_url}/domains/$1/records" -X POST -H "Authorization: Bearer ${VULTR_API_KEY}" -H "Content-Type: application/json" \ +curl "${api_url}/domains/$1/records" -s -o /dev/null -X POST -H "Authorization: Bearer ${VULTR_API_KEY}" -H "Content-Type: application/json" \ --data "{ \"name\" : \"$2\", \"type\" : \"TXT\", diff --git a/dns_scripts/dns_del_vultr b/dns_scripts/dns_del_vultr index fae04a3..82c2270 100755 --- a/dns_scripts/dns_del_vultr +++ b/dns_scripts/dns_del_vultr @@ -17,7 +17,7 @@ if [[ -z "$VULTR_API_KEY" ]]; then 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") + recordID=$(curl "${api_url}/domains/$1/records" --silent -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}" }