From 371b9f1749f7060671eee664388ff2bd7357cc3d Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Tue, 16 Feb 2021 22:43:18 +0100 Subject: [PATCH] script tweaks --- bin/cloudflare-dyndns.sh | 46 +++++++++++++++++++++++----------------- 1 file changed, 27 insertions(+), 19 deletions(-) diff --git a/bin/cloudflare-dyndns.sh b/bin/cloudflare-dyndns.sh index b813da2..a198343 100755 --- a/bin/cloudflare-dyndns.sh +++ b/bin/cloudflare-dyndns.sh @@ -1,5 +1,8 @@ #!/usr/bin/env bash - +# +# Update Cloudflare DNS record with current detected public IP +# https://api.cloudflare.com/#dns-records-for-a-zone-patch-dns-record +# # Required env vars # CLOUDFLARE_ZONE="xxx" # CLOUDFLARE_DNS_RECORD_ID_A="xxx" @@ -7,30 +10,35 @@ # CLOUDFLARE_EMAIL="xxx" # CLOUDFLARE_KEY="xxx" -# Update Cloudflare DNS record with current detected public IP -# https://api.cloudflare.com/#dns-records-for-a-zone-patch-dns-record - function updateIp { +function updateIpv4 { + # IPv4 A record + # https://unix.stackexchange.com/a/81699/125382 + IPADDRv4=$(dig @resolver4.opendns.com myip.opendns.com +short) + echo "-----------------------------------------" + echo "Public IPv4: $IPADDRv4" + echo "-----------------------------------------" - # IPv4 A record - # https://unix.stackexchange.com/a/81699/125382 - IPADDRv4=$(dig @resolver4.opendns.com myip.opendns.com +short) - echo "Public IPv4: $IPADDRv4" - - curl -X PATCH "https://api.cloudflare.com/client/v4/zones/$CLOUDFLARE_ZONE/dns_records/$CLOUDFLARE_DNS_RECORD_ID_A" \ - -H "X-Auth-Email: $CLOUDFLARE_EMAIL" \ - -H "X-Auth-Key: $CLOUDFLARE_KEY" \ - -H "Content-Type: application/json" \ + curl -X PATCH "https://api.cloudflare.com/client/v4/zones/$CLOUDFLARE_ZONE/dns_records/$CLOUDFLARE_DNS_RECORD_ID_A" \ + -H "X-Auth-Email: $CLOUDFLARE_EMAIL" \ + -H "X-Auth-Key: $CLOUDFLARE_KEY" \ + -H "Content-Type: application/json" \ --data "{\"content\":\"$IPADDRv4\"}" +} +function updateIpv6 { # IPv6 AAAA record IPADDRv6=$(dig @resolver1.ipv6-sandbox.opendns.com AAAA myip.opendns.com +short -6) + echo "-----------------------------------------" echo "Public IPv6: $IPADDRv6" + echo "-----------------------------------------" curl -X PATCH "https://api.cloudflare.com/client/v4/zones/$CLOUDFLARE_ZONE/dns_records/$CLOUDFLARE_DNS_RECORD_ID_AAAA" \ - -H "X-Auth-Email: $CLOUDFLARE_EMAIL" \ - -H "X-Auth-Key: $CLOUDFLARE_KEY" \ - -H "Content-Type: application/json" \ - --data "{\"content\":\"$IPADDRv6\"}" - } + -H "X-Auth-Email: $CLOUDFLARE_EMAIL" \ + -H "X-Auth-Key: $CLOUDFLARE_KEY" \ + -H "Content-Type: application/json" \ + --data "{\"content\":\"$IPADDRv6\"}" +} - updateIp \ No newline at end of file +# Let's roll +updateIpv4 +updateIpv6 \ No newline at end of file