my own dyndns

4 June 2010

Ich will natürlich nicht dauernd updates an dyndns schicken, aber einen dynamischen Hostnamen für meinen Laptop und mein Handy hätte ich trotzdem gerne. Deshalb habe ich heute ein Script geschrieben, dass alle meine Devices per wget holen, sobald sie eine IP haben (Schliesslich hab ich ein Telefon mit /etc/network/if-up.d/). Das Script ruft dann nsupdate(1) auf, und schon wird die neue IP in die entsprechende Zone eingetragen. Leicht und super.

<?
$user="nonexistant.kluenter.de";
$ip="A 127.0.0.1";
$ip=escapeshellcmd ($_SERVER['REMOTE_ADDR']);
if (substr_count($ip,":") > 0
    && substr_count($ip,".") == 0) {
    $ip="AAAA ".$ip;
} else {
    $ip="A ".$ip;
}
$user=escapeshellcmd ($_SERVER['REMOTE_USER']);
$deletestring="printf 'server 127.0.0.1\nupdate delete ".$user."\nsend\n'|nsupdate";
$updatestring="printf 'server 127.0.0.1\nupdate add ".$user." 10 ".$ip."\nsend\n'|nsupdate";
exec($deletestring);
exec($updatestring);
?>
Die IP fuer <? print $user; ?> wurde ge&auml;ndert auf: <? print $ip; ?>

Und wo ich grade dabei war habe ich meinem Telefon auch gleich noch gesagt, dass es ein Script runterladen und ausführen soll, sobald es online ist. Da kann ich dann ein “rm -rf /” reinschreiben sobald ich es verloren habe. Ich hoffe nur, dass passiert nie. Und wenn mir jemand meinen Server aufmacht, muss ich das Script auf meinem Telefon schnell deaktivieren. Sonst ist das auch gleich mit geowned.

»

TrackBack URI