22 lines
659 B
Bash
Executable File
22 lines
659 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# Required env vars
|
|
# CLOUDFLARE_ZONE="xxx"
|
|
# CLOUDFLARE_DNS_RECORD_ID="xxx"
|
|
# 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 {
|
|
IPADDR=$(curl -s checkip.amazonaws.com)
|
|
echo $IPADDR
|
|
|
|
curl -X PATCH "https://api.cloudflare.com/client/v4/zones/$CLOUDFLARE_ZONE/dns_records/$CLOUDFLARE_DNS_RECORD_ID" \
|
|
-H "X-Auth-Email: $CLOUDFLARE_EMAIL" \
|
|
-H "X-Auth-Key: $CLOUDFLARE_KEY" \
|
|
-H "Content-Type: application/json" \
|
|
--data "{\"content\":\"$IPADDR\"}"
|
|
}
|
|
|
|
updateIp |