:global ddnscncuser "XXX"
:global ddnscncpass "XXX"
:global ddnscnchost "XXXXX"
:global ddnscncip
:global ddnscncipfn
:global ddnscncinterface "pppoe-out1"
:global ddnscnclastip [:tostr [:resolve $ddnscnchost] ]
:if ([ :typeof $ddnscnclastip ] = nil ) do={ :global ddnscnclastip "0" }
:global ddnscncsystem ("mt-" . [/system package get system version] )
:global int
:global ddnscncipfn [ /ip address get [/ip address find interface=$ddnscncinterface ] address ]
:global ddnscncip [:pick $ddnscncipfn 0 [:find $ddnscncipfn "/" ] ]
:if ([ :typeof $ddnscncip ] = nil ) do={
:log info ("DDNS: No ip address present on " . $ddnscncinterface .", please check.")
} else={
:if ($ddnscncip != $ddnscnclastip) do={
:log info "ddnscnc: Sending UPDATE!"
:log info [ :put [/tool dns-update name=$ddnscnchost address=$ddnscncip key-name=$ddnscncuser key=$ddnscncpass ] ]
:global ddnscnclastip $ddnscncip
} else={
:log info "DDNS: No update required."
}
}