#Dynamic DNS Update Script for No-IP DNS behind nat # Set needed variables :local username "felhasználónév" :local password "jelszó" :local host "sajátDnsNevem.no-ip.org" :global previousIP :if ([ :typeof $previousIP ] = "nothing" ) do={ :global previousIP 0.0.0.0 }; # behind nat - get the publoic address using dyndns url http://checkip.dyndns.org /tool fetch mode=http address="checkip.dyndns.org" src-path="/" dst-path="/dyndns.checkip.html" :local result [/file get dyndns.checkip.html contents] /file remove dyndns.checkip.html # parse the current IP result :local resultLen [:len $result] :local startLoc [:find $result ": " -1] :set startLoc ($startLoc + 2) :local endLoc [:find $result "" -1] :local currentIP [:pick $result $startLoc $endLoc] :log info "No-IP DNS: currentIP = $currentIP" :if ($currentIP != $previousIP) do={ :log info "No-IP: Current IP $currentIP is not equal to previous IP, update needed" :set previousIP $currentIP :local url "http://dynupdate.no-ip.com/nic/update\3Fmyip=$currentIP&hostname=$host" :log info "No-IP DNS: Sending update for $host" /tool fetch url=$url user=$username password=$password mode=http dst-path=("no-ip_ddns_update.txt") :log info "No-IP DNS: Host $host updated on No-IP with IP $currentIP" } else={ :log info "No-IP: update not needed " } # end