DDO更新設定

DDO*1無料サービスの更新方法が変わってから結構経つと思うがあまり利用していなかったので放置しておいた。今までDiCE for Linux*2を使っていて、設定を変えれば対応できると思うが、このぐらい自分でやろう!ただ、IPアドレスDHCPでもらってるけど今まで変わったことないので常駐して更新チェックしたりはしない。
まず更新ページのHTMLを覗く。一部はしょるとこんな。

<form name=dnsupdate action="http://free.ddo.jp/dnsupdate.php" method=get>
  <input type=text name=dn>
  <input type=text name=ip value="xxx.xxx.xxx.xxx">
  <input type=password name=pw>
  <input type=submit value="更新">
</form>

GETは嫌…。サーバ側はGETもPOSTも同じ処理をしてることが多いのでPOSTしちゃおう。Perlでごにょごにょしようと思ってたけど、いつの間にかwgetがPOSTできるようになっていたのでこれを使う。
使い方のページにあるけどIPアドレスは省略できるようだ。

#!/bin/sh
# ddo update script
DOMAIN=xxxx
PASSWD=zzzz
TMPFILE=/tmp/ddotmp
wget --post-data="dn=${DOMAIN}&pw=${PASSWD}" -q -O ${TMPFILE} http://free.ddo.jp/dnsupdate.php
logger -i -p user.info -t ddoupdate `egrep 'SUCCESS|FAIL' ${TMPFILE} | sed 's/<br>//'`

ddoは1ヶ月更新登録しなくても大丈夫だけど、とりあえず週一で実行するため/etc/cron.weeklyにおいとく。
実行結果はてきとーにsyslogへ。

$ tail -1 /var/log/messages
$ Feb 26 21:50:42 localhost ddoupdate[26860]: SUCCESS: xxxx.ddo.jp <= [ xxx.xxx.xxx.xxx ]

おしまい。