'secret', 'host2' => 'secret2', ); $zone = "dyn.domain.com"; # the dynamic DNS zone $dnsserver = "localhost"; # authorative DNS server for the zone above # CONFIGURATION ENDS --------------------------------------------------------- $ip = $_SERVER['REMOTE_ADDR']; $host = $_GET['host']; $pass = $_GET['pass']; $tmpfile = trim(`mktemp /tmp/nsupdate.XXXXXX`); if ((!$host) or (!$pass) or (!($hosts[$host] == $pass))) { echo "FAILED"; exit; } $oldip = trim(`host $host.$zone | cut -d ' ' -f 4`); if ($ip == $oldip) { echo "UNCHANGED"; exit; } echo "$ip - $oldip"; $nsucmd = "server $dnsserver zone $zone update delete $host.$zone A update add $host.$zone 3600 A $ip send "; $fp = fopen($tmpfile, 'w'); fwrite($fp, $nsucmd); fclose($fp); `/usr/bin/nsupdate $tmpfile`; unlink($tmpfile); echo "OK"; ?>