Logo

Armand.nz

Home / About / Linkedin / Github

Update Google Dynamic DNS

#DDNS #DNS #Google Domains |


#!/bin/bash
### Google Domains provides an API to update a DNS "Syntheitc record". This script
### updates a record with the script-runner's public IP, as resolved using a DNS
### lookup.
###
### Google Dynamic DNS: https://support.google.com/domains/answer/6147083
### Synthetic Records: https://support.google.com/domains/answer/6069273
### 
### Save script as /usr/local/bin/google-domains-dynamic-dns-update-example.com.sh
### Set up cron to run that script periodically so your dynamic hostname is always kept up to date
### .e.g
### 0 * * * * /usr/local/bin/google-domains-dynamic-dns-update-example.com.sh

USERNAME=""
PASSWORD=""
HOSTNAME="yoursubdomain.yourdomain.here"
 
# Resolve current public IP
IP=$( dig +short myip.opendns.com @resolver1.opendns.com )
# Update Google DNS Record
URL="https://${USERNAME}:${PASSWORD}@domains.google.com/nic/update?hostname=${HOSTNAME}&myip=${IP}"
curl -s $URL```
comments powered byDisqus

Copyright © Armand