このサイトのドメイン名は [[livedoor domain:http://domain.livedoor.com/]] や [[J-SPEED:http://ddns.j-speed.net/]] のダイナミックDNSサービスを利用させて頂いております。どちらのサービスでも、クイックアップデート(''特定のURLにアクセスすると、アクセス元のIPアドレスからDDNSのIP登録を更新する'')機能が提供されています。これに対応したWSHを作ってみました。
※ 似たような機能をもつソフトでは[[DiCE:http://www.hi-ho.ne.jp/yoshihiro_e/dice/]]がメジャーですね。

#br

*** value domainのDDNS更新ページをHTTPリクエストし、IP更新があった場合、イベントログとメールで通知するスクリプト [#eb2cf7ab]
&ref(ddnsUpdate_20120610.vbs); (5.91KB)
 cscript //B //Nologo ddnsUpdate.vbs {ddns domainname} {ddns password} [hostname]
- 個別ホスト名を指定可能とした
----
&ref(ddnsUpdate_20090904.vbs); (4.94KB)
 cscript //B //Nologo ddnsUpdate.vbs {ddns hostname} {ddns password}
- DDNS情報をコマンドライン引数化
----
&ref(ddnsUpdate_20080328.vbs); (4.63KB)
 cscript //B //Nologo ddnsUpdate.vbs
-タスクスケジューラなどで、10分毎に繰り返し実行することを想定しています。
-- 繰り返し時間間隔は、DDNS設定が反映されるタイムラグを考慮して設定します。
-利用時には、クイックアップデート用のURL、SMTP等、ファイル上部に記載されている各項目の設定をして下さい。
-Microsoft.CDOを用いて、SMTP Auth機能を追加しました。
-- GmailのSMTP Serverにも送信可能です。(一部送信先アドレス制限がある?)
- HTTPレスポンスにはIPアドレス変更情報がないので、DDNS更新前後に nslookup を実行して、IPアドレスの変化を判断しています。

#br

*** livedoor domainのDDNS更新ページをHTTPリクエストし、IP更新があった場合、イベントログとメールで通知するスクリプト [#vd18c8bc]
&ref(ddnsUpdate_1.3_hostname.vbs); (5.56KB)
 cscript //B //Nologo ddnsUpdate_hostname.vbs
-タスクスケジューラなどで、繰り返し実行することを想定しています。
-利用時には、クイックアップデート用のURL、SMTP・POP用の設定をして下さい。
-POP before SMTP対応のために、[[AS-POP3:http://www.as-prj.com/software/as_pop3.php]]を使わせて頂いております。POP before SMTP動作時には、該当DLLの登録が必要です。。(2005/10/04)

- livedoorのDDNS更新ページのレスポンスはASCII TEXTなので、J-Speed版のような文字コード対応は必要なく、一時ファイルの作成も行いません。
- レスポンスだけでは、「IPアドレス変更があったかどうか」判別できないので、DDNS更新前に nslookup を実行して、IPの変化をみています。

#br

*** J-SpeedのDDNS更新ページをHTTPリクエストし、IP更新があった場合、イベントログとメールで通知するスクリプト [#w533b280]
&ref(ddnsUpdate_1.1.vbs); (3.88KB)
 cscript //B //Nologo ddnsUpdate.vbs
-タスクスケジューラなどで、繰り返し実行することを想定しています。
-利用時には、クイックアップデート用のURL、SMTP・POP用の設定をして下さい。
-POP before SMTP対応のために、[[AS-POP3:http://www.as-prj.com/software/as_pop3.php]]を使わせて頂いております。POP before SMTP動作時には、該当DLLの登録が必要です。。(2005/10/04)

-[[Microsoft.XMLHTTP>WSH/HTTPリクエスタ]]でテキストをダウンロードする機能はUTF-8(or UTF-16)にしか対応していないので、苦肉の策としてバイナリダウンロードし、Current_DIRに一時ファイルを生成します。そのため、実行にはCurrent_DIRへの書き込み権限が必要です。
-技術的なキモは、HTTPダウンロードにはMicrosoft.XMLHTTPとADODB.Streamの組み合わせが好いのじゃないか、というところです。

-やっぱり、HTTPサーバからの応答がない場合にフリーズしちゃうのは困るので、タイムアウトの設定を追加しました。(2005/06/25)
--[[MSXML2.ServerXMLHTTP:http://support.microsoft.com/kb/q290761/]]を利用するように変更
--[[setTimeouts:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/html/7e91f3de-d21c-404d-966a-95c148b22e98.asp]]メソッドを追加

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS