From fead9b7ab93fbac28de8328a019871e97baf63ea Mon Sep 17 00:00:00 2001 From: Ayesh Karunaratne Date: Thu, 2 Nov 2023 19:51:01 +0700 Subject: [PATCH] Add NS1 DNS Scripts --- dns_scripts/dns_add_ns1 | 30 ++++++++++++++++++++++++++++++ dns_scripts/dns_del_ns1 | 26 ++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 dns_scripts/dns_add_ns1 create mode 100644 dns_scripts/dns_del_ns1 diff --git a/dns_scripts/dns_add_ns1 b/dns_scripts/dns_add_ns1 new file mode 100644 index 0000000..e5fb949 --- /dev/null +++ b/dns_scripts/dns_add_ns1 @@ -0,0 +1,30 @@ +#! /usr/bin/env bash +# NS1 Add DNS Record + +if [[ -z "$NS1_API_KEY" ]]; then + echo "NS1_API_KEY variable not set" + exit 1 +fi + +api_url="https://api.nsone.net/v1/" +api_key=${NS1_API_KEY:-''} + +domain="$1" +challenge="$2" + +root=$(echo "$domain" | awk -F\. '{print $(NF-1) FS $NF}') +subdomain="_acme-challenge.${domain%}" + +function create { + +curl "${api_url}/zones/${root}/${subdomain}/TXT" -X DELETE \ + --header "X-NSONE-Key: $api_key" + +curl "${api_url}/zones/${root}/${subdomain}/TXT" -X PUT \ + --header "X-NSONE-Key: $api_key" \ + --header "Content-Type: application/json" \ + --data "{ \"zone\": \"${root}\", \"domain\": \"${subdomain}\", \"type\": \"TXT\", \"answers\": [ { \"answer\": [ \"${challenge}\" ] } ] }" + +} + +create $root $subdomain diff --git a/dns_scripts/dns_del_ns1 b/dns_scripts/dns_del_ns1 new file mode 100644 index 0000000..2e2e824 --- /dev/null +++ b/dns_scripts/dns_del_ns1 @@ -0,0 +1,26 @@ +#! /usr/bin/env bash +# NS1 Add DNS Record + +if [[ -z "$NS1_API_KEY" ]]; then + echo "NS1_API_KEY variable not set" + exit 1 +fi + +api_url="https://api.nsone.net/v1/" +api_key=${NS1_API_KEY:-''} + +domain="$1" +challenge="$2" + +root=$(echo "$domain" | awk -F\. '{print $(NF-1) FS $NF}') +subdomain="_acme-challenge.${domain%}" + +function delete { + +curl "${api_url}/zones/${root}/${subdomain}/TXT" -X DELETE \ + --header "X-NSONE-Key: $api_key" + +} + +delete $root $subdomain +