マックで使う Dynamic DNS その2 「超手抜き Dynamic DNS 更新法」で AppleScript によるダイナミック DNS の更新方法を解説したが、URL Access を利用できない古いシステムソフトウェアを使っている人々の哀しみの唄が聞こえてきたので、漢字 Talk 7.5.5 + OpenTransport 1.1.2 以上でも(たぶん)動作するちょいと手抜き汎用 Dynamic DNS Client ユーティリティを開発した。
REALbasic を用いて作られたアプリケーション(一部、CodeWarrior C/C++ によるプラグイン使用)。 特定の書式で HTTP リクエストを送ると IP アドレスが更新できるダイナミック DNS サービスでの更新作業を自動化できる。 ■使用方法 SDDNSC アプリケーションを起動すると次のようなウィンドウが表示されるので、必要事項を記入して [更新実行] ボタンを押すだけ。 後は、そのまま放っとけばだいたい指定時間毎に自動的に更新作業を行ってくれる。 「超手抜き Dynamic DNS 更新法」の記事で言うところの、更新用書式を「ホストドメイン:」、「ポート:」、「パスデータ:」の各要素に分けて、それぞれの欄に記入する。 認証が必要なページにアクセスする場合は、[BASIC 認証を使用] をチェックし「ユーザー名:」と「パスワード:」も記入する。 このように分かち書きするのは、作者の手抜きのたまものである。(まじめに URL を解析するコードを省いたのね) サーバーからのレスポンスデータは、「状況レポート」ウィンドウに表示されるので、うまくいってるかどうかはあなた自身が目視で確認する(手抜きプログラムゆえ、文句は言わぬこと)。 エラーでも次の定期更新タイミングまで SDDNSC は何もしない(^^;。 SDDNSC v4 からは [高度な設定...] ボタンが付いた。 これを押すと HTTP リクエストを送る際に、GET メソッドではなく、POST メソッドを使う設定や、ヘッダーフィールドのカスタマイズができるダイアログが表示される。 SDDNSC v3 では、IP アドレスが変わったかどうかを検知する機能が付いた。 「Lookup ホスト名:」に書かれたホスト名に対する IP アドレスを DNS で引き、それを自機に割り当てられているアドレスもしくはルーターの設定ページから得られるアドレスと比較して、違っていれば Dynamic DNS サービスへ更新要求を送る。 [ルーター等にアドレスを問い合わせて比較] を選んだ場合、「ホストドメイン:」、「ポート:」、「パスデータ:」及び認証の設定にしたがって HTTP リクエストを発行し、レスポンスデータから IP アドレス(らしきもの)が書かれた部分を探し出し、比較のためのアドレスとする。 ルーターの設定用 Web ページにアクセスすることを意図した機能だが、別にルーターではなく、アクセスしてきたホストの IP アドレスを返すサービスを使っても良い。 「ヒント:」には、HTTP レスポンスから IP アドレス(らしきもの)を探すためのヒントとなる文字列を指定する。 これを入力しておくとレスポンスデータ中で最初に指定文字列が出現する直後の位置から検索を始める。 IP アドレスの変更を検知する場合「Dynamic DNS 更新設定」ウィンドウの更新周期は長めにしておくと良い。(IP アドレスがお変わりなくとも、更新周期がくれば更新動作を行う) 「Dynamic DNS 更新設定」ウィンドウ、「IP アドレス変更検知設定」ウィンドウ、「高度な設定」ダイアログいずれも設定内容を変更したら、必ず [*実行] ボタンを押すこと。(押さないと変更内容は適用されない) [*実行] ボタンを押すまでは、[戻す] ボタンで各設定欄の内容を直前の設定に戻すこともできる。(v5 からは、option キーを押しながら [*実行] ボタンを押すことで、HTTP リクエストなどネットワークアクセスを発生させずに設定内容の記憶させることもできる) ※「ホストドメイン」にスキーム "http:" や "/" を書いてはいけない。 「ポート」欄は記入しなければ 80 番が使われる。 「パスデータ」は "/" から始める。 入力された項目の妥当性については、一切知らんぷりなので間違いの無いように。 ■免責事項 このソフトウェアを使用もしくは使用できないことによって生じたいかなる損害についても、筆者は一切責任を持たないので自己責任で使用してもらいたい。 これは訳知りの人のためのソフトなので「設定方法を教えてください」なんちゅうメールは御遠慮願いたい。(そういう人は親切丁寧なクライアントソフトを選ぼう) (2002/2/6-2002/3/10) ■サービス別設定例 サービス別設定例のページも作ってみた。 → SDDNSC マニュアル設定編 (2002/2/8) ダウンロードした状態そのままのアプリケーション・メモリ必要条件の設定では、メモリ不足でクラッシュする(特に 68k 版)場合があるようなので、使用環境に応じて適当に割り当てを増やして欲しい。 (2002/3/18) 株式会社ラトルズから刊行された「全部フリーソフトで作る自宅サーバー for Mac OS X」で SDDNSC の使い方が9ページにわたって解説されている(このページより分かりやすい(^^;)。 (2003/3/10) DNS 問い合わせプラグインのバグを取り除く等の改良を加えた SDDNSC v6 を公開。 (2003/3/24) SDDNSC v7 を「黄昏のクラシックMac OS」のコーナーで公開。 (2005/1/15) [イカモノ堂目次へ] Copyright 2002-2005 TAKAHASHI,Ryoji |