プロセルピナ
Top Internet
Mail
Private
Proxy
Capture
Device
Download Config
and
Words
Online
Help
Online
Home
[BACK]
Top > FileDownload > Macro > Ex: Command > AntiAd > Static Local Redirection

 

  Ex:AntiAdコマンド
  スタティック・ローカルリダイレクション (Static Local Redirection)

Macro Top | Variables | Constants | Commands | Ex-Commands  


 

【はじめに】 「HTTP ローカルリダイレクション」とは


「スタティック・ローカルリダイレクション」は、 「HTTP ローカルリダイレクション」の一種です。
「HTTP ローカルリダイレクション」は、 クライアント(Webブラウザなど)からの Httpリクエストを ローカルファイルにリダイレクト(振り替え)する機能です。

HTTP ローカルリダイレクション
 

書式 (登録と削除)


  Ex:AntiAd: (Parameters)  

Parameters
mode= : string, コマンドモード
  Redir-Reg : HTTP ローカルリダイレクションの登録
  Redir-Del : HTTP ローカルリダイレクションの登録を解除

dir= : string, 文字列 static を固定的に指定。
targetHost= : string, HTTPローカルリダイレクションのターゲットホスト (書式)
CallbackMacro= : string, URL→ローカルパス変換パターン (書式)
O:result= : var-string, コマンド実行結果 (Optional)
O:waitId= : var-string, Ex:InputForm.Waitコマンドで指定する応答待ちID
SubInfo= : string, (未使用、指定不要)

ここでは、スタティック・ローカルリダイレクション情報の 登録(Redir-Reg) と 削除(Redir-Del) について記述しています。 HTTP ローカルリダイレクションの開始については Redir-ONモード を、 HTTP ローカルリダイレクションの停止については Redir-OFFモード を参照してください。

プライベートプロキシに対し、 Redir-RegモードでURLの変換パターンを登録し、 Redir-ONモードで機能を有効にすると、 それ以降のHTTPリクエストで HTTPローカルリダイレクション の対象かどうかのチェックが開始されます。
既にローカルリダイレクションが有効だった場合は Redir-Regモードで登録した時点で開始されます。

Redir-OFFモードで無効を指定すると、 HTTPローカルリダイレクションは停止されますが、 Redir-Regモードで登録した内容は保持されるので(※消すこともできます)、再び Redir-ONモードで機能オンを通知すると、 以前の登録情報でHTTPローカルリダイレクションが再開されます。

 

スタティック・ローカルリダイレクションの登録


スタティック・ローカルリダイレクションの登録には、 mode=dir=targetHost=CallbackMacro=O:result=O:waitId= の6つのパラメータを指定します。

mode= には Redir-Reg の文字列を指定します。

dir= には static の文字列を指定します。

targetHost= には、スタティック・ローカルリダイレクションの対象とするホストを指定します。書式は targetHost= の指定 を参照してください。

CallbackMacro= には、URLの変換パターンを指定します。

O:result= には、コマンド処理結果を設定する文字列変数を指定します。処理結果は OK: または NG: の3文字で開始される文字列で設定されます。
オプションですが、できるだけ指定し、結果を判定するようにします。

O:waitId= には Ex:InputForm.WaitコマンドwaitId= に指定する応答待ちIDが設定されます。

Ex:AntiAd: mode="Redir-Reg"の使用例

上記は Ex:AntiAdコマンドのRedir-Regモード で、 .example.com のパターンに一致するホストに対して スタティック・ローカルリダイレクションを登録する例です。
対象外のホストには全く影響を与えませんが、対象のホストはリダイレクトされます。
この例では /static/3/3/33/ で開始されるURLパスは デスクトップフォルダ に振り替えられます。例えば、
  http://aaa.www.example.com/static/3/3/33/aaa/bbb.jpg?1234
へのアクセスは、ホストが一致することと(後方一致)、URLパス部が /static/3/3/33/ で開始されることからリダイレクト対象と判定され、デスクトップの aaaフォルダにある bbb.jpg のファイルが応答されます。
URLの ? 記号以降は無視されます。

デスクトップに振り替え対象となるファイル(aaaフォルダにある bbb.jpg)が無い場合、 ローカルリダイレクションが無かったものとして扱われ、 インターネット上の
  http://aaa.www.example.com/static/3/3/33/aaa/bbb.jpg?1234
にアクセスします。
つまり、リダイレクトしたいものだけファイルを用意すればよいことになります。

予め、ローカルリダイレクションに使用するファイルは、HTTPヘッダを含む形式に編集しておく必要があります。
ローカルリダイレクトで使用されるローカルファイルは、 その全体がクライアント側(Webブラウザ側)に送られる応答内容の全てとして扱われるので、 HTTPヘッダも含んだものでなければなりません。
例えば、Jpegファイルなら、最低でも次の2行と、それに続く空行の3行が、 実際のjpeg画像データの前に必要です。

  HTTP/1.1 200 OK
  Content-Type: image/jpg

(※ Content-Length:ヘッダを加える必要があることもあります)

HTTPヘッダを含んだ形でデータを準備する手間が必要ですが、 これにより、 クライアント側での処理で必要になってくるヘッダを、含ませておくことができるようになります。
例えばHttp-Cookieの値などです。
また、404 Not Found で応答を用意することも可能です。

 

変換パターンの指定と書式


URLパスの変換パターンは CallbackMacro= のパラメータに指定します (アクティヴ・ローカルリダイレクションの場合に コールバックマクロを指定するパラメータでもあります)。

変換パターンの書式は、
  (前方一致パターン) ♐»» (変換後のローカルパス)
になります。
♐»»記号 と、 »記号 2つの、合計3文字です。

targetHost= に指定したパターンで、 ローカルリダイレクション対象ホストと判定された場合でも、 変換パターンに一致しなければローカルリダイレクトされません。
対象ホストの全てでローカルリダイレクトさせる場合は、書式の (前方一致パターン) の部分に
  /
の1文字を指定します。例えば次のようになります。
  targetHost="/♐»»C:\Work\files\"
ここで、targetHost="example.com" だったとすると、 http://example.com/Images/aaa.jpg へのアクセスは C:\Work\files\Images/aaa.jpg に、 http://example.com/ へのアクセスは C:\Work\files\index.html にリダイレクトされます。
(URLが / で終端する場合は末尾に index.html を自動的に補完します)

 

スタティック・ローカルリダイレクションの削除


スタティック・ローカルリダイレクションの登録削除には、 mode=targetHost=O:result=O:waitId= の4つのパラメータを指定します。

mode= には Redir-Del の文字列を指定します。

targetHost= には、
Redir-RegモードのtargetHost=で指定したものを指定します。

O:result= には、コマンド処理結果を設定する文字列変数を指定します。処理結果は OK: または NG: の3文字で開始される文字列で設定されます。
オプションですが、できるだけ指定し、結果を判定するようにします。

O:waitId= には Ex:InputForm.WaitコマンドwaitId= に指定する応答待ちIDが設定されます。

 

具体的なサンプル


macroフォルダに、具体的なサンプル firefoxPersonasRedirect_02.txt があります。
このマクロは、 firefoxのテーマ(スキン)を、スタティック・ローカルリダイレクションで デスクトップの画像で設定する例です。

このマクロの実行には マクロファイルを指定して実行 から行うのが便利です。
パラメータは reg の3文字を指定します(input[0])。

(macroフォルダから 『プロセルピナ』Viewへの ドラッグ&ドロップによる起動ではパラメータを指定できないので、このマクロでは使用できません)

マクロは起動されると、 デスクトップの画像 tbox.jpg から、クライアント側応答用ファイル tbox-groovy_blue.jpg を、 同じくデスクトップの画像 stbar.jpg から stbar-groovy_blue.jpg を作成します。
tbox.jpg や stbar.jpg が無い場合はそれらの適当なダミーを先に作成します。

マクロが正常に終了したら、
  http://www.getpersonas.com/ja/persona/33/
にアクセスし、「このPersonaを適用」をクリックします。
登録されたスタティック・ローカルリダイレクションにより、URLが
  http://getpersonas-cdn.mozilla.net/static/3/3/33/
で開始されるときはデスクトップのローカルファイルが使用されます。

※ tbox.jpg や stbar.jpg を独自に用意するときは、次のサイズで作成しておきます。
  tbox.jpg (ブラウザ上部の背景画像) サイズ: 3000 x 200 (画像は右上を基準に配置)
  stbar.jpg (ブラウザ下部の背景画像) サイズ: 3000 x 100 (画像は左下を基準に配置)

一度設定されたfirefoxのテーマを設定しなおすには、
必要に応じて tbox.jpg と stbar.jpg を編集し、
マクロfirefoxPersonasRedirect_02.txtをregパラメータで実行し、
firefoxに一度、他のテーマを設定して、
設定しなおしたいテーマを削除し、
firefoxのブラウザキャッシュをクリアしてから、
再度、
  http://www.getpersonas.com/ja/persona/33/
にアクセスして「このPersonaを適用」をクリックしてください。

firefoxへのテーマ設定が完了すると、ローカルリダイレクションは不要になるので、マクロ firefoxPersonasRedirect_02.txt をパラメータ del の3文字を指定(input[0]) して実行し、 ローカルリダイレクションを停止&削除します。
このマクロの実行も マクロファイルを指定して実行 から行います。

マクロ firefoxPersonasRedirect_02.txt


[BACK]
プロセルピナ