Naoko 4.5 (リリースバージョン)の最終修正点 * 特定の条件下で、304 リプライが持続的接続の同期を失わせる問題を修正しました。  (たとえば、ヘッダがウェブページ中に現れてしまう可能性がありました。) * proxcert.pem を更新しました。 * リストが無限に繰り返すのを防ぐためのチェックを追加しました。 * テクスチャが見つからない場合の、フィルタマージのバグを修正しました。 * POST URL をファイルにリダイレクトした後の問題を修正しました。  (ポストされたデータは、それが使用されなかった場合でも「消費」   されません。) Naoko 4.5 (beta 2003/04/18) の更新点 * .pinfo で表示されるブロックファイルや URL リストを HTML エスケープ  するようにしました。タグが含まれていた場合に問題が起こるのを防ぐため  です。 * 変数は記憶されるようになり、マッチに失敗した場合にリセットされるように  なりました。うまくいけば、マッチングの間にそれを読み出せるようにしつつ、  前のバージョンと同様にふるまわせることができると思います。 * ウェブフィルタが逆の順番でインポートされることはなくなりました。 * オーケー、これが新機能じゃないということはわかっていますが、でもローカル  ファイルに対するリクエストでログウィンドウが溢れかえっているのは事実です。  そこで、それを表示するかどうかのオプションを追加しました。これはデフォルト  では無効になっています。 :-) * 設定ファイルに「PriorityBoost = TRUE/FALSE」フラグを追加しました。これは  実験的なものですが、true にした場合は、メインプログラムは通常のままで、  フィルタリングスレッドの優先度を高めます。これは、ブラウザが自身の優先度  を高めるせいで、Proxomitron に当てられる CPU タイムが足りなくなるような  場合に有効でしょう。またこのために、私は Proxomitron 自身を高い優先度で  走らせることは推奨しません。さもなくばスレッドの優先度が高すぎてしまう  でしょう。もしそうするのであれば、このオプションは無効にした方がいいで  しょう。 * 302 リダイレクトの扱いを少々変更し、Mozilla がより早く処理できるように  しました。(最近の Mozilla は、リダイレクトに HTML が含まれてない場合、  わずかな時間止まってしまうようです) * 設定がロードされる際の、ヘッダフィルタの内部ソートを修正しました。  これでヘッダフィルタが通常よりもやや予想不能な順序で呼ばれるように  なります。:-) それでもなお、ヘッダフィルタが呼ばれる内部的な順番は  「公式に」無定義ということですから、ヘッダフィルタの順序には依存  しない方がいいでしょう。いつの日か、ヘッダについてもウェブフィルタと  同様に、ただソートするのではなく順序を決められるようになるかも  しれません。しかし今のところは、どのような順番で呼ばれるのかは  わからないという前提でいた方がいいでしょう。 * TST マッチは長さを厳密にチェックするようになりました。たとえば、  "foobar" という文字列が与えられた場合、$TST(var=foo???) はマッチ  しますが $TST(var=foo??) はマッチしません。これで値を厳密にテスト  するのが多少簡単になるでしょう。 * $DTM コマンドに "w" を追加し、曜日のチェックができるようになりました。  (これについて素晴らしい意見を述べてくれた ScoJo さんに感謝します。   おかげで、特定の時間や特定の曜日だけに有効になるフィルタを作れる   ようになりました。 :-)  $SET(today=$DTM(w))  $TST(today=(Sat|Sun)) Naoko 4.5 (beta 2003/04/12) の更新点 * http://local.ptron/.pinfo/ をお試しください。いろいろあります ^_^  (見た目は、html フォルダにある Info.css でカスタマイズすることが   できます。) * windows のクリップボード経由でフィルタをインポート/エクスポートできる  ようになりました。ウェブフィルタやヘッダフィルタの上で右クリックすると、  コンテクストメニューからインポート/エクスポートオプションを選ぶことが  できます。  Export を選ぶと選択されたフィルタをクリップボードに書き出し、Import は  クリップボードのテキストからフィルタを読み込みます。フォーマットは  Proxomitron の設定ファイルと同じ形式です。  また、フィルタの併合ダイアログにも、ファイルからではなくクリップボード  から読み込むオプションがあります。設定ファイルにあるすべての設定を  ここからインポートすることができます。テキストだけでなくフィルタの  セクションヘッダが含まれていることを確認してください。 * NT/W2k/XP でログウィンドウにおけるクリップボードの挙動がよくなりました。 * Proxomitron はリクエスト前変数(pre-request variables)を使えるように  なりました。これはどこででも(たとえヘッダでも)セットすることができ、  後からチェックすることができます(たとえば実際の HTML で)。それぞれ  のリクエストで個別にセットするもので、他のページでセットされたもの  とは区別されます。  - 変数をセットするには...    $SET(variable=something)  - 変数をクリアするには...    $SET(variable=)  - 変数の値を取得するには...    $GET(variable)  - 変数の値をテストするには...    $TST(variable=match expression)   または単に...    $TST(variable)   これは変数の値が現在のテキストにマッチするかどうか調べるために   使えます。たとえば...    src="http://$TST(myhost)/"   これは文字通りのマッチであるということに注意してください(大文字と   小文字の違いは除きます)。つまり、変数の値はワイルドカードやその他   の検索表現としては扱われません。  数字の "\1 \2 \# ..." といった変数とは違って、$SET は名前の付いた変数  を呼ばれたその場で展開します(数字の変数では置換テキストで展開します)。  これは、名前の付いた変数の場合は自分自身をセットして展開することが  できるということを意味しています。たとえば... $SET(foo=$GET(foo) more stuff) - "foo" の後ろに追加します $SET(foo=more stuff $GET(foo)) - "foo" の前に追加します $SET(foo=$GET(foo) \1)     - "foo" の後ろに "\1" の値を追加します $SET(foo=$GET(foo)$GET(bar))  - "foo" の後ろに "bar" の値を追加します  また、$TST は古き良き変数の \0 ... \9 でも使うことができ、次のような  面白い技を可能にします... <\1\s * これは次のようなものにはマッチしますが... stuff 次のようなものにはマッチしません... stuff  これを実現するために、Proxomitron が従来行ってきた変数にセットする方法を  大きく変更しなければなりませんでした。このベータでは、予期しない副作用が  出ないかどうか注意してください。特に、マッチの中で同じ変数を複数回使用  している場合には注意してください。Proxomitron は今まで、一度マッチした  変数は再びマッチするまで変更されないということを保証するため、最後の最後  まで変数のセットを待ってきました。現在では、マッチに失敗した場合、過去に  マッチした変数の値が消されてしまう可能性があります。しかし、実際にこれが  問題になるケースはそれほど見あたらないようですし、これはトレードオフの  価値があるのではないかと考えています。  速度に関して:   リストを呼ぶのと同様に、変数をテストする場合には多少スピードに影響が   あります。変数が呼ばれるたびにその名前を調べる必要が生じるので、   これを検索表現の一番最初にはもってこない方がいいでしょう...    遅い例: $TST(name=ayumu|osaka)    良い例: $TST(name=ayumu|osaka)   また、変数が多いほど調べるのに時間がかかるので、ある変数について   完了したことがはっきりしている場合には、次のようにしてクリアした   方が良いでしょう: $SET(foo=) * 繰り返しの回数指定( "[a]+{0,500}" のような)は、範囲が 255 までに  制限されていましたが、65535 まで使えるようになりました。 * エラーメッセージは html フォルダにある "Errors.css" ファイルを  呼ぶようになりましたので、色やフォントをカスタマイズすることが  できます。 * システムトレイのツールチップに設定名が表示されるようになりました。  (リクエストにお答えして ;-) * SSL pass-thru 接続を確立するために使われる CONNECT メソッドを  フィルタすることができるようになりました。これで OpenSSL を使用  しなくても最小限のフィルタリングが可能になりました(基本的な  サイトブロックやバイパスリスト用のホスト名マッチなど)。  また、CONNECT ヘッダがログウィンドウで見られるようになりました。  (これは proxy によって使われるものであって、リモートサイトに   伝えられるものではないということは覚えておいてください) * $WESC が閉じ括弧をエスケープしないバグを修正しました。 * 新しい DOM banner/container killer フィルタを追加しました。 * multi-part (PUSH) の content type はデフォルトではフィルタ  しないようになりました。 * 更新された SSLeay/OpenSSL ライブラリを使用するようになりました。  また、リモートサイト証明書の基本的な正当性チェックを追加しました。  詳細については readme.txt を参照してください。 * テストウィンドウで、マッチが1文字だった場合にフィルタされない  ことがあるバグを修正しました。 * $LOG() コマンドは、ログウィンドウが閉じていた場合にはそれを  開けるようになりました。色を表す文字の前に、"!" を入れてください... $LOG(!GLog Something green) * "read overflow" バグを修正しました (今度は本物になりました ;-) * "Content-Type: Fix MIME types based on URL" フィルタで、"&" が  抜けていたのを修正しました。 * JavaScript フィルタを、 の後に挿入するように  修正しました(IE6 ではこちらの方が良いでしょう)。 * ポップアップフィルタを改良しました。現在は外部ファイルとして  html フォルダにある "WindowOpen.js" を使用します。 * $URL、$RESP、$IHDR、$OHDR、$TST は置換テキストでも使えるように  なりました(値を取り込むのに便利でしょう)。 * 追加された 最新の DOM banner blaster と container killer は  html フォルダにある "DomConKiller.js" を使用します。 * NT/Win2k/XP の環境で、長いコマンドでクラッシュする問題を修正しました。 * ログウィンドウで、長いエントリに関するバグを修正しました。 * 特定のおかしな HTTP ヘッダの取り扱いに関するバグを修正しました。 * SSL ソケットの再利用に関するバグを修正しました(たぶん)。 * \h は、次のような最後にスラッシュのないホスト名にもマッチするように  なりました。  "http://foo.com" * Proxy advanced option はユーザー名だけでパスワードがない場合にも  対応しました。 * 設定ファイルのリロードは、debug フラグをクリアしないようになりました。 Naoko 4.4 の更新点 * KEYCHK コマンドを追加しました。これはフィルタ内でキー押下の組み合わせ  をチェックするのに使うことができます。他のマッチングテストと同じように  働き、フィルタの検索部、もしくは URL マッチで使うことができます。マッチ  が完了すると、KEYCHK はテストされているキーがその瞬間に押されていれば  "matched" を返します。ほとんどのキーは、その「シフトキーの押されてない」  値を用いることでテストすることができます。しかし、特殊なキーもキャラット  シンボル "^" で始めることでテストすることができます.... ^C = CONTROL ^A = ALT ^S = SHIFT ^T = TAB ^F1 = ファンクションキー #1 ^F2 = ファンクションキー #2 ^32 = 仮想キーコード 32 (spacebar) ^65 = 仮想キーコード 65 ("A")  大文字と小文字を区別しないので、"^c" も "^C" も使うことができます。  複数のキーの組み合わせもテストすることができます。たとえば... $KEYCHK(^A^S) = ALT+SHIFT $KEYCHK(^C^F6) = CONTROL+F6 $KEYCHK(^AG) = ALT+G $KEYCHK(^C^A^S) = CONTROL+ALT+SHIFT  キーボードで押すことのできるあらゆる組み合わせで働きます。他の特殊  キーも、もし Windows の仮想キーコードを知っていればテストすることが  できます ― これは 0-255 の数字です。たとえば、^2 はマウスの右ボタン  をテストします。 * ブロックファイルに LOGFILE オプションを追加しました。これをブロック  ファイルの最初に書き加えることで、Proxomitron に対して、その内容を  マッチングテストに使用したり、メモリにロードしたりしないように指示  することになります。これは $ADDLST() を使ってブロックリストをログ  ファイルとして使用する場合に、安全になります。また、これはスピードを  向上させる効果もあります ― 通常 $ADDLST は、ファイルを開き、新しい  エントリを追加し、ファイルを閉じるという動作をします。しかし、LOGFILE  モードでは、ファイルを書き込みの間も開いたまま保持しておくので、大量の  データを効率よく挿入することができます。  このことは、最新のエントリがまだファイルバッファにあって実際のファイルに  書き込まれておらず、ログファイルが使用中になっているような場合に、それを  他のプログラムで読み込もうとする場合には重要になりますので、よく覚えてお  いてください。しかし、設定をリロードしたり、ログを Proxomitron の   "Edit blockfile" オプションから編集したりする場合は、書き込まれていない  データはフラッシュされてログに書き込まれます。ログファイルに ".txt" 以外  の拡張子をつけておいて、その拡張子に対して特別なログビューアを関連づけて  おくことができます。こうしておくと、"Edit blockfile" オプションをログ  ビューアを起動するために使用することができます。 * $FILE(filename) コマンドを追加しました。これを使って、任意のファイルの  内容をフィルタの置換部に挿入することができます。これはウェブフィルタで  使う場合に便利ですが、ヘッダフィルタで使うこともできます(ヘッダはそれ  ぞれ1行である必要があり、サイズで 4K を超えられないということに注意して  ください)。 * $RESP(match) コマンドを追加しました。このコマンドはウェブサーバから  返された応答コードにマッチさせたり、取り込んだりするために使用できます。  通常、これは以下のようになっています... "200 OK" or "404 Not Found" etc.  マッチはリターンコードから直接始まるので、返答における "HTTP/x.x" の  部分は含みません。しかし、コードの後ろにあるメッセージテキストは  マッチに含みます。たとえば、リダイレクトにマッチさせるには "$RESP(302*)"  を使用することができます。これはこの情報をログファイルに記録する場合  にも便利に使えます。 * 存在しないブロックリストにエントリを追加すると、その名前で「一時的」  リストを作成するようになりました。このリストはメモリ上だけに存在し、  全体で使える情報を蓄えておくハッシュ配列のように使うことができます。  このリストはどのメニューにも表示されず、編集することもできないので  注意してください(これはファイルではないからです)。しかしこれは  マッチで呼ぶことができ、他のリストと同じように追加されます。  また、設定をリロードしたり Proxomitron を再起動したりすると全ての  一時的リストはクリアされることも覚えておいてください。情報を長期間  保存したい場合は、通常のファイルベースのリストを使用してください。 * 複数マッチにおける置換バッファは、充分なメモリがある限りいかなる量の  データも挿入できるようになりました(以前までは、これは 32K に限られて  いました)。フィルタをデザインする際には、これにはより多くのメモリが  割り当てられるということに注意してください。これは慎重に使用するように  してください(特に新しい $FILE コマンドを使用する際には)。 * ストールしたファイルハンドルが再使用される場合の問題を修正しました。  ― これは何人かの方がリポートしていた「途中までロードされた」ページ  の問題を修正するでしょう。 * 再使用された接続が、"Use remote proxy" のチェックが外されたにも  関わらずプロクシを使用してしまう問題を修正しました。 * "Read overflow" 警告が不必要にポップアップする問題を修正しました。 * 80 以外のポートで開かれているウェブサーバにアクセスした際に、  ホスト名が正しく解決されない可能性のあるバグを修正しました。 * サーバが "deflate" エンコードされたデータを、通常のヘッダバイト  あり/なし で送ってくるのに対処しました。全てのサーバが同じように  フォーマットするわけではないようです。 * proxcert.pem をまた1年更新しました。これは自己署名された証明書で、  Proxomitron はこれを実験的な SSL フィルタリングに使用しています。  (この機能はデフォルトでは有効になっていません。)  これは実際の正当なサーバ証明書ではありません。 Naoko 4.3 * $ASK(AllowList, DenyList, Prompt msg, item to add [,alternate match])  のコマンドを追加しました。  $ASK() コマンドは、そのサイトで特定のアイテムをフィルタするかどうか、  ユーザに尋ねるプロセスを自動化します。同じことを他の新しいコマンドを  組み合わせてすることもできますが、ASK はそれを一つの小さなパッケージに  まとめました。 * ブロックファイルに、NOAPPEND オプションを追加しました。このフラグが  セットされたブロックファイルは、ASK や ADDLST が呼ばれた際にも新しい  アイテムが追加されません。その場合でもそのアイテムはブロックされますが、  それはそのセッションのみ、もしくはリストがリロードされるまでです。  (どちらが先に来てもです)。  これは、何かを一時的にブロックしたいというような場合に有効に使えます。  私もこれが一種の裏技的な方法であることを認めます。もしもっといいアイデア  が浮かんだら、この方法はやめることになるでしょう。 * $DTM(format) コマンドを追加しました。これは日付、時間、接続情報を  置換テキストに挿入するために使用できます。このコマンドは、簡単な  フォーマット用の文字列を、表示をコントロールするために使用します。  日付をページに挿入したり、$LOG や同様のコマンドで情報を追加したり  するのに使えるでしょう。 * リモート接続と同様に、ローカル接続に対しても persistent connection  (持続的接続)をサポートしました。有効に使うためには、ブラウザで  HTTP/1.1 をプロクシ経由でも使うように設定し、さらにパイプラインを  有効にしてください(もしそれがオプションにある場合は)。また、同時  接続数を6-8個に設定することをおすすめします。これで、Proxomitron は  HTTP/1.1 のほとんどすべての追加機能を実装したことになります。  これが働くためには、Proxomitron は "chunked" エンコードを多用すること  になります。フィルタ後のアイテムサイズを、事前に知ることはできないから  です。これはあまり問題にはならないはずです。しかし、一部のブラウザが、  それほど多くのアイテムが "chunked" になることを想定していないという  ことは考えられます - 特にイメージなどでは。テストでは、Mozilla で  パイプラインを有効にすると、chunked エンコードではランダムに問題が発生  するようです。しかし、Proxomitron 内における扱いに問題があるわけでは  なさそうです(Mozilla におけるパイプラインのサポートは新しく、まだ  少しバグが多いようです)。Opera の場合、これもパイプラインを使いますが、  問題は無いようです。  HTTP/1.0 persistence もサポートされています。しかしながら、Proxomitron は  アイテムの content-length を頻繁に変更しますし、HTTP/1.0 は chunked  エンコードを許していないので、フィルタする場合に持続できる接続は少なく  なるでしょう。  ローカルにおける持続的接続は必要ならばオフにすることができます。また、  その keep-alive の時間はコンフィグダイアログの HTTP タブ内で設定する  ことができます。デフォルトでは、10秒間何も起こらないとローカル接続は  切断されます。新しいローカル接続は非常に速く生成されるので、たいていの  場合はこれで問題ないはずですが、もしかしたらこの値を増やしたいことが  あるかもしれません - 特に、あなたが Proxomitron を LAN 経由で外部から  使用しているような場合には。 * 検索ルーチンに、新しいキャラクタハッシングを追加しました。これは OR で  分けられていて、OR のそれぞれのセクションにおける最初のアイテムが  ワイルドカードでは無いような場合に、非常にスピードを向上させます。  例を見てみましょう... (one|two|(three|four|five)|six) これはハッシュできますが... (one|*two|(three|four|five)|six) これはハッシュできません、そして... ([to]ne|two|(three|four|five)|six) これもダメです。  実際は、それぞれの括弧 (...) はそれぞれ独自のハッシュを持つので、  上記のケースではすべて "(three|four|five)" の部分はハッシュされる  ことになります。同様に、AND や ANDAND と混ざっていても通常は問題  ありません... (one|two|(three|four|five)|six)*(end)&&*whatever* (one|two|((three|four|five)*&*whatever*)|six)  このことは、以下のような複雑なマッチは...(banner blaster より) <(a\s*|i(nput*>|layer*|frame*))  以下のように書くのとスピードの面であまり変わらないことになります... |||  しかし、こちらは読みやすさの点で大きな利点があります。どちらの例でも、  ハッシングはスピードを向上させているのです。これが使われていることには  ほとんど気づかないほどでしょう(願わくは)。覚えておいて欲しいのですが、  最初にワイルドカードを持ってくることは常にスピード低下に繋がりますので、  できる限り避けてください(特にウェブフィルタの bounds チェックでは)。 * $LOG()、$ALERT()、$CONFIRM() マッチングコマンドを追加しました。これを  使うと、メッセージをユーザに送ることができます。$ALERT() は、単にその  テキストを含んだメッセージボックスをポップアップします。$CONFIRM は  はい/いいえ を尋ねるダイアログボックスを表示します。もしユーザが  「いいえ」をクリックした場合、このコマンドが呼ばれたフィルタ内  において、マッチしなかったものとして扱われます。$LOG() は、メッセージを  ログウィンドウに送ります(ログウィンドウが開いている場合)。  ログウィンドウに送る文字列の最初の文字は、表示に使う文字の色を定義して  います...   R=赤 W=白 w=灰色 B=青 G=緑 Y=黄色 V=バイオレット C=シアン  すべてのコマンドはテキストの一文をとり、置換の展開は表示される  前になされます。これらのコマンドはどのタイプのフィルタでも使用でき、  検索部、置換部のどちらでも使用することができます。 * $ADDLST(ListName, Text of line to add) コマンドを追加しました。これを  使うと、フィルタからブロックリストにアイテムを追加することができます。  追加するアイテムは、あらかじめ置換の展開が行われるので、フィルタで  取り込んだテキストを使うことができます。このために、ワイルドカード自身  (その値ではなく)を入れるために「\1」のような文字列を使う場合は、  ダブルエスケープする必要があります。以下のように追加のバックスラッシュを  使ってください: "\\1"、"\\h"、"\\p" * $ADDLSTBOX(ListName, Title, Text to add) コマンドを追加しました。これは  $ADDLST ととてもよく似ていますが、こちらの場合は通常はシステムトレイの  メニューから呼ばれている「add to blockfile」ダイアログを表示します。  "Title" の部分はオプションですが、ここで指定された文字列はダイアログの  タイトルバーに表示されます。このコマンドはアイテムが追加された場合 true  となり、ユーザがキャンセルした場合は false となります。 * $WESC() コマンドを追加しました。これは入力された文字列内のワイルドカード  をすべてエスケープします(最初に置換の展開がなされた後に行われます)。  これは不明のソース(URLのような)からブロックリストに追加する際に、文字  通りマッチしてしまって "+"、"&"、"?" のような文字がマッチングエラーを  引き起こすのを避けるために使用することができます。これは置換部で使用する  ことができますし、$ADDLST() など、すべてのコマンドのインプットとして使用  することができます。 * $LOCK() と $UNLOCK() コマンドを追加しました。これは同時に読み込んでいる  ページでフィルタの動作をシンクロさせるために使えます。特定の瞬間には、  ただ一つのフィルタだけがロックできます。他のフィルタがロックを呼んだ際には、  最初のフィルタの処理が完了するまで待つことになります。これを使うことで、  フィルタの一連の動作をグループ化することができます。 * 検索表現テストウィンドウで、"profile" に時間がかかりすぎる場合には、  中断するようにしました。これは通常1000回反復しますが、非常に複雑な  マッチだったり、大量のテキストにマッチさせたりしている場合は、完了  するまでに時間がかかることがあります。現在は、もし6秒以上かかるような  場合にはそこで中断します。結果は実際に完了した反復の回数で調整されるので、  正確な値が出るようになっています。  この追加されたチェックのせいで、テストにかかる時間は以前のバージョンより  多少増加しています。でも心配しないでください。実際のフィルタ自体が遅く  なっているわけではありません。 * \h が、場合によっては短すぎる文字列にマッチするのを修正しました。 * $RDIR() コマンドの潜在的なバグを修正しました。 * 置換テキストのバッファを動的に増やすようにしました。これは一部のユーザ  が遭遇している、巨大なバイト制限を持ち、複数フィルタのマッチングを許可  した特定フィルタの組み合わせで生じる問題を防ぎます。 * 使いやすくなるように、"Edit Blockfile" オプションに、システムトレイの  メニュー内で専用の場所を設けるようにしました。 * IE が以前持っていたろくでもないキャッシュの問題に対応するために、  "Last-Modified" ヘッダをハックしていましたが、それを廃止しました。  last-modified の日時が更新されていない場合、IE は、サーバが完全に新しい  バージョンを送ってきているにもかかわらず古いキャッシュを使っていました。  ありがたいことに、最近のバージョンでは修正されているようです。 Naoko 4.2 * Windows XP と IE6 では、まだ windows update に問題があります。Proxomitron は  この影響を受ける唯一の proxy というわけではありませんが、私はどこが問題なのか  まだはっきりとはわかっていません。今のところ最も良い解決法は、以下のような  内容を IE のプロキシ設定の「詳細」にある、「次で始まるアドレスにはプロキシを  使用しない」の欄に記述することです。  windowsupdate.microsoft.com; windowsupdate.com  こうされることを、Microsoft は密かに望んでいるのかもしれませんね? ;-) * zlib のバージョンを 1.1.4 に上げました。以前のバージョンには問題が  発見されたためです。 * インストーラーのスクリプトに、プログラムの exe ファイルの上書きが  できないバグがあったので修正しました。 * http://Local.ptron/ は、/html フォルダの下にあるサブフォルダにも  アクセスできるようになりました(以前まではこれは許可されませんでした)。  これで、スクリプトを整理しやすくなると思います。 * JarC さんの助けにより、NT/W2k/XP において、ヘッダフィルタダイアログの  外でチェックボックスを外すとクラッシュするバグを修正しました。 * RDIR コマンドが外部プロクシの設定を無効にしてしまう問題を修正しました。 * GUI のリソースリークを修正しました。 * マッチに \a や \q を使用して、URL に該当する部分がなかった場合のバグを  修正しました。 Naoko 4.1 * "Allow access to the following IP address range" の機能に関する、  潜在的なバグを修正しました。Proxomitron は IP アドレスの範囲を正しく  処理していなかったため、許可していない IP アドレスに対してアクセスを  許可してしまうことがありました。幸運にもこの機能はデフォルトでは無効に  なっていますが、もしこの機能を使用している場合は、可能な限り早く  更新してください。このバグを報告していただき、さらに修正を確認してくれた  Michael Beggs さんに感謝します。 * $SET は変数値をクリアできるようになりました。たとえば、\0 をクリア  するには $SET(0=) のようにしてください。 * localhost の IP アドレスに対する接続エラーは、リトライしないように  なりました。このことは、広告ブロックに host ファイルを使用している  場合に有効でしょう(127.0.0.1 ではなく 0.0.0.0 を使用した方が  いいでしょうけれども)。 * $SET(1=\1) などとして変数値を自分自身にセットした場合に固まってしまう  バグを修正しました。これは今でも許可されたわけではありませんが、今では  きちんと失敗します。 * 注意! $URL() コマンドはプロトコルを含むようになりました(たとえば  "http://")。これを使うことで、プロトコルのチェックをすることができます。  ただし、このコマンドを使っている既存のフィルタは更新する必要があります! * ページの HTML に null が含まれていた場合に、おかしな出力をしていたバグを  修正しました。 * https で、URL の前にスペースがあった場合にクラッシュすることがあった  バグを修正しました(たとえば、"https:// somehost/")。 * セクションヘッダの無いコンフィグファイルをロードする際に、Proxomitron が  固まってしまうバグを修正しました。 * JUMP および RDIR コマンドは、ホストネームの最後にスラッシュが無い場合は  修正するようになりました("http://somewhere.com" のような)。 * 置換スタックにおいて、空の値がスタックの最後に入れられた場合に、特定の  状況で古いデータが出力されるバグを修正しました。 * "counter killer" フィルタのバグを修正しました。 * SSL Pass-Thru モードが、選択されている proxy を使用しないバグを修正しました。 * 正しく対応していないブラケット [...] がパーサを固まらせてしまう事があった  バグを修正しました。 Naoko 4 * 「Add to blocklist」ダイアログに最近使用されたURLを追加した。また、  コンテクストメニューに、「Show URL in browser(ブラウザに表示されて  いる URL を取得)」を追加した。また、ダイアログのサイズも変更できる  ようにした。 * zlib.dll を使用して、 gzip と deflate エンコードをサポートした。  (http://www.gzip.org/zlib/) * webフィルタとヘッダフィルタがオフにされている場合に、GIFがきちんと  フリーズしていなかったのを修正した。 * サンプルとして、さまざまなレベルのフィルタセットを同梱した。 * サンプルのテクスチャを追加した(/Textures フォルダを参照のこと)。 * 新しいポップアップウィンドウ用のフィルタ。 * さまざまなUser-Agent用のフィルタ。 * コンフィグファイル内の、間違った コメントを修正。 * コンフィグファイル内で、フィルタサイズのエラーチェックをするよう  にした。(長い/壊れた行はクラッシュの原因になります)。 * \x という置換コードを追加し、URLプレフィクスを出せるようにした。 * 全てのリダイレクトコマンドは、URLコマンドに加えてプレフィクスが  必須になった(このために \x を使用してください)。 * NEST/INEST コマンドが無限の循環に陥る問題を修正した。 * $AV() および $AVQ() は、クオートの中に改行が入ってもいいようにした。 * 小さなマッチングバグのせいで、いくつかのマッチが、誤ったバイト数に  マッチしたと報告するのを修正(このせいで、$AV と $AVQ コマンドが  きちんとマッチしないことがありました)。 BETA FIVE: * 悪意を持った URL に HTML が含まれていた場合に発生する、潜在的な  JavaScript の問題を修正。Proxomitron のエラーメッセージは URL を  ブラウザに出力しますが、このことがコードの実行を可能にしていました。  これは、JavaScript が、あたかもその URL 上で実行されているかのように  見せかけることを可能にしてしまいます。  (同時に cookie に関する脆弱性にも繋がるかもしれません)  現在は、すべてのテキストが、出力される前に HTML エスケープされます。  (このことを警告してくれた Hiromitsu Takagi さんに感謝します) * $UESC コマンドが全ての栄光を独占してしまわないように、$ESC コマンドが  追加されました。 * NEST と INEST コマンドが内部のマッチをチェックしていなかったバグを  修正しました。 * 入れ忘れていた ViewSrc.css ファイルを追加しました。 * ソースを表示する機能で、フィルタ名がきちんと HTML エスケープされるように  しました。 * ソースを表示する機能を再調整し、また、1行が非常に長い場合には改行する  ようにしました。 BETA FIVE (プレリリース版): * 新しい HTML ヘルプファイル! * explorer がクラッシュした際に、Proxomitron はタスクトレイのアイコンを  再描画するようになりました。 * 置換スタックのサイズを100個に増やしました。 * ソースを表示、およびデバッグ情報を表示する際に、構文に応じて強調表示  する機能を追加しました。Proxomitron の html フォルダにある ViewSrc.css  ファイルを使って、色やフォントをカスタマイズすることができます。これは  非常に単純なことですが(スクリプト内ではおかしなことになったりもしますが)、  ソースがかなり読みやすくなります。 * 特別な http://Local.ptron/ URL を追加しました。これは簡単なウェブサーバ  として働き、Proxomitron の html フォルダ内のファイルにアクセスできるよう  になります。Proxomitron へのアクセスを許可された者だけがこれらのファイル  にアクセスでき、http://file/ の形式を使うよりも安全です( http://file/  では全ファイルにアクセスできるので)。これは他のマシンから Proxomitron  を使用する場合に、画像、スクリプト、スタイルシートなどを読み込むのに使  用できます。(現在は、Proxomitron のエラーメッセージもこの方法をとって  います) * $STOP コマンドを追加(以降のフィルタリングを無効にします)。 * $NEST と $INEST のマッチングコマンドを追加。 * エスケープされていない不正なキャラクタを含んだ URL に対処できるように  なりました。 * "&&" という、範囲を制限してチェックする表現を追加(ドキュメントを参照  してください)。 * 優先順位を変更し、"&" が "|" に優先するようになりました。たぶん  この方がより正しく、また "&&" を使いやすくなると思います( "&&" は "&"  と同じ優先順位です)。しかし、いくつかのフィルタには影響を与えると思い  ます。デフォルトでは、banner blaster の再調整が必要でした(同時に、"&&"  を使うようにも変更されました)。もし以前のバージョンを使用していたならば、  このことを覚えておいてください。  (訳注:いまいち、表現がこれで正しいのか自信がありません。   というのも、 A & B | C   という表現があった場合に、今までは ( A & B ) | C   と等価だったものが、今回から A & ( B | C ) に変更されたように見えるのですが、これをもって「 "&" が "|" に   優先する」とするのは変じゃないかと思うからです。フィルタを書く上   では重要な点なので、一応ここに記しておきます。) * $AV と $AVQ コマンドを追加し、いくつかのフィルタはこのコマンドを使うように  調整されました。 * 特定のマッチングコマンドの解析にバグがあったのを修正しました。 * ヘッダフィルタが、読み込まれる際に適切にソートされなかったのを  修正しました。 * $CTYP コマンドは $TYPE に変更されました(それから、ちゃんと動くようにも  なりました) * ウィンドウの位置決めをする際の問題を修正しました。 BETA FOUR: 新機能 * "Profile" オプションがフィルタテストに追加されました。これによって大まかで  すが、場合によっては有効にフィルタの効率を評価することができます。 * ウェブページフィルタのスピードを向上しました。 * ブロックリスト内の多くのアイテムをインデックス化することができるようになり  ました(大きなリストで処理スピードが向上します)。 * バイパスを部分的に行うために、新しいURLコマンドが追加されました。  bout.. 外へ出ていくヘッダ(outgoing header)のフィルタをバイパスします。  bin..  入ってくるヘッダ(incoming header)のフィルタをバイパスします。  bweb.. ウェブページフィルタをバイパスします。 * "Help" メニューに、作者と連絡を取るための情報をいくつか追加しました。 BETA FOUR: 修正点 * フィルタリストが空のときに Enter を押すとクラッシュする問題を修正。  (新しい "find" オプションを導入した際の、避けられない副産物でした ;-) * ウィンドウサイズを変更する際の、ちらつきを減少しました。 * IP アクセスの範囲において、最初のアドレスがゼロだった場合にセーブされない  バグを修正。 * URL 付きで proxomitron を起動する際の、IEの問題を修正。 BETA THREE: 新機能 * ついにウェブフィルタエディタをリサイズ可能にしました。これでもうこのことを  リクエストする必要はありません。;-) 検索と置換のウィンドウ間を分割するバー  も移動することができます。 * これに関して、ウィンドウサイズも設定ファイルに保存されるようになりました。  ウィンドウサイズを変更しただけでは、プログラムは設定を保存するかどうかの  プロンプトを出さないことに注意してください。セーブのアイコンが灰色になって  いてクリックできないときでも、"File" メニューからはいつでもセーブすることが  できます。 * ヘッダフィルタに "Apply" ボタンが追加されました。今までは、使用される頻度が  ずっと多かったのでウェブフィルタにのみこのボタンがありました。しかしながら  URL コマンドはヘッダフィルタで使用されることが多く、前面にでる機会が増えたの  で追加しました。 * Config の access タブに新しいオプションが追加されました。"Prefix all URL  commands with" です。これは Proxomitron が理解できる URL コマンドに新たな  セキュリティ層を追加するものです。  URL コマンドが実行されるためには、全ての URL はここで指定される文字列で  始まっていなければなりません。これをある種のパスワード機能として使用して  ください。例えば、URL コマンドの "http://file//.." というのはハードディスク  内のローカルファイルを読むために使用することができます。けれども、もしあな  たが Proxomitron に対する他の PC からのアクセスを許可していたとすると、こ  れは深刻なセキュリティ問題を引き起こす可能性があります。"myprefix." という  ようなプレフィクスを指定することで、コマンドは以下のようにしなければ  動作しないようになります。  "http://myprefix.file//filename".  注意:もし URL コマンドが Proxomitron 内部で $RDIR コマンドによって使用さ  れる場合、プレフィクスを追加する必要はありません。このことは、どんなプレ  フィクスを使用しているか知らなくてもフィルタを作成することを可能にします。  フィルタ自身が URL コマンドの使用をコントロールするのであれば安全だと思わ  れます。  この機能のもう一つの使用法は、Opera がドット "." をひとつも含まないホスト  ネームをプロクシに対して送らないという問題に対処することです(これは名前  をローカルのものと見なすので、プロクシが必要ないと判断してしまうために起  こります)。ドットを含んだプレフィクスを指定することで、コマンドは問題な  く実行されるようになります。 * "Find" オプションをフィルタリストに追加しました。フィルタリストは、タイト  ルが Find のボックスに入力した文字列を含むものだけを表示するようになります。  ( 私はこのアイディアをいくつかの有名なニュースリーダーから盗んだことを  認めます ;-)  これは極めて基本的なもので、まだ問題があるかもしれませんが、非常に巨大な  フィルタリストを扱う際の助けになるものだと思います。実際のところ、これは  私がサブフォルダのような GUI を実装するための時間を見つけるまでの応急処置  に過ぎません。 * "Bypass URL" のエディットボックスに、ブロックリストに関するコンテキスト  メニュー(右クリックで表示されるメニュー)を追加しました。 * $UESC() コマンドを全てのノーマル ASCII キャラクタ ("!" から "~" までのす  べて)をアンエスケープするように変更しました。 * 同梱のフィルタがいくつか更新されました。 BETA THREE: 修正点 * ウェブサーバがリクエストに対して不正な応答を返した際にクラッシュする  バグを修正。 * ハードウェアの例外をトラップするためのコードを追加。これは私が、一部の  ユーザが遭遇しているクラッシュの原因を追及する助けになると思われます。 * プロクシ認証において、"basic user:pass" のかわりに "Basic user:pass" を  送るように変更(MS プロクシが大文字小文字を区別するようなので) * 継続コネクションと HEAD リクエストに関する問題を修正。 * コンフィグダイアログにおける "Use SSLeay" チェックボックスのバグを修正。 * コンフィグセクションの "Bypass URL" マッチにリストを使用した際の問題を  修正。実際のところこれはさらに全体的な影響があります。つまり、リスト自  体が存在する前に、フィルタに対してリストの呼び出しを設定することができ  るようになりました。この場合フィルタは同じ名前のリストが設定され次第、  働くようになります。今までこのような場合では、コンフィグがセーブされて  リロードされるか、フィルタが再び解析されるまでは働きませんでした。 BETA TWO: 新機能 * ページをデバッグモードで見るための dbug URL コマンドが追加されました * 複数の URL コマンドを同時に使用できるようになりました - こんな風に... http://src..file//C:/web/somefile.html http://bypass..src..www.somepage.com/ * 角括弧 [...] のマッチを使用する際の、特定のバイト値をチェックする 新オプション。URL スタイルの16進エスケープの値を入れてみてください。 こんな風に...単一のキャラクタの場合は "[%2a]" といったように。また、 値の範囲を調べるためには "[%20-%41]" のように。 BETA TWO: 修正点 * 角括弧の中にエスケープがある際の問題 (例えば "[\n]") * 小文字にセットされる Bounds match * "Minimize Proxomitron to system tray" のオプションが誤ってする SSLeay dll のチェック * 置換用のコマンド(例えば "\q" や "\a")をマッチング表現に置くと クラッシュする問題 * IEで Priority が反転してロックする可能性が修正(されていることを期待)。 IE は他の winsock アプリケーションに対して優位を保つために自身の priority を上げているように思われます。これは自身の入力をそういった 他のアプリケーションに頼るような際にはろくでもない仕様でしょう!