1
0
mirror of https://github.com/kremalicious/dotfiles.git synced 2024-11-22 01:37:14 +01:00

script tweaks

This commit is contained in:
Matthias Kretschmann 2021-02-16 22:43:18 +01:00
parent 599dc8ab40
commit 371b9f1749
Signed by: m
GPG Key ID: 606EEEF3C479A91F

View File

@ -1,5 +1,8 @@
#!/usr/bin/env bash #!/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 # Required env vars
# CLOUDFLARE_ZONE="xxx" # CLOUDFLARE_ZONE="xxx"
# CLOUDFLARE_DNS_RECORD_ID_A="xxx" # CLOUDFLARE_DNS_RECORD_ID_A="xxx"
@ -7,30 +10,35 @@
# CLOUDFLARE_EMAIL="xxx" # CLOUDFLARE_EMAIL="xxx"
# CLOUDFLARE_KEY="xxx" # CLOUDFLARE_KEY="xxx"
# Update Cloudflare DNS record with current detected public IP function updateIpv4 {
# https://api.cloudflare.com/#dns-records-for-a-zone-patch-dns-record # IPv4 A record
function updateIp { # 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 curl -X PATCH "https://api.cloudflare.com/client/v4/zones/$CLOUDFLARE_ZONE/dns_records/$CLOUDFLARE_DNS_RECORD_ID_A" \
# https://unix.stackexchange.com/a/81699/125382 -H "X-Auth-Email: $CLOUDFLARE_EMAIL" \
IPADDRv4=$(dig @resolver4.opendns.com myip.opendns.com +short) -H "X-Auth-Key: $CLOUDFLARE_KEY" \
echo "Public IPv4: $IPADDRv4" -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\"}" --data "{\"content\":\"$IPADDRv4\"}"
}
function updateIpv6 {
# IPv6 AAAA record # IPv6 AAAA record
IPADDRv6=$(dig @resolver1.ipv6-sandbox.opendns.com AAAA myip.opendns.com +short -6) IPADDRv6=$(dig @resolver1.ipv6-sandbox.opendns.com AAAA myip.opendns.com +short -6)
echo "-----------------------------------------"
echo "Public IPv6: $IPADDRv6" echo "Public IPv6: $IPADDRv6"
echo "-----------------------------------------"
curl -X PATCH "https://api.cloudflare.com/client/v4/zones/$CLOUDFLARE_ZONE/dns_records/$CLOUDFLARE_DNS_RECORD_ID_AAAA" \ 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-Email: $CLOUDFLARE_EMAIL" \
-H "X-Auth-Key: $CLOUDFLARE_KEY" \ -H "X-Auth-Key: $CLOUDFLARE_KEY" \
-H "Content-Type: application/json" \ -H "Content-Type: application/json" \
--data "{\"content\":\"$IPADDRv6\"}" --data "{\"content\":\"$IPADDRv6\"}"
} }
updateIp # Let's roll
updateIpv4
updateIpv6