Google Dynamic DNS update script
Posted: Tue Jan 27, 2015 9:00 pm
This script was adapted from the script that updates entryDNS. tested on routerOS 6.x
# Variables
:local GoogleDNSUsername "xxx"
:local GOogleDNSPassword "xxx"
:local hostName "xxx"
:local GoogleDNSForceUpdate false
:local currentIP ""
:global previousIP
# Script
/tool fetch url="http://myip.dnsomatic.com/" mode=http dst-path="publicip.txt"
:set currentIP [/file get "publicip.txt" contents]
/file remove "publicip.txt"
:if ([:typeof $previousIP] = "nothing") do={ :set previousIP "" }
:if ($currentIP != $previousIP) do={
:set GoogleDNSForceUpdate true
:set previousIP $currentIP
}
:if ($GoogleDNSForceUpdate) do={
:do {
/tool fetch url="https://$GoogleDNSUsername:$GOogleDNSPa ... $currentIP" mode=https keep-result=no
:log info ("GoogleDNS Updated: current IP = $currentIP")
} on-error={
:log error ("GoogleDNS: Failed Updating")
}
}
# Variables
:local GoogleDNSUsername "xxx"
:local GOogleDNSPassword "xxx"
:local hostName "xxx"
:local GoogleDNSForceUpdate false
:local currentIP ""
:global previousIP
# Script
/tool fetch url="http://myip.dnsomatic.com/" mode=http dst-path="publicip.txt"
:set currentIP [/file get "publicip.txt" contents]
/file remove "publicip.txt"
:if ([:typeof $previousIP] = "nothing") do={ :set previousIP "" }
:if ($currentIP != $previousIP) do={
:set GoogleDNSForceUpdate true
:set previousIP $currentIP
}
:if ($GoogleDNSForceUpdate) do={
:do {
/tool fetch url="https://$GoogleDNSUsername:$GOogleDNSPa ... $currentIP" mode=https keep-result=no
:log info ("GoogleDNS Updated: current IP = $currentIP")
} on-error={
:log error ("GoogleDNS: Failed Updating")
}
}