機能・制限・不具合4.44.5May4.5June338+7+8
有難屋アイコン
文字クラスの大文字小文字区別
URL コマンドをドット単体で
URL コマンドのプリフィックス仕様変更
テクスチャを使用しない
ファイルを開く時に:を|に変換しない
GIF ファイルに Web ページフィルタ
制限:「GIF アニメーションを止める」無効×
制限:リモートプロキシ使用不可時の動作×
制限:未知のエンコーディングでバイパス××××××
不具合:gzip を展開前に処理×××××
不具合:二重起動クラッシュ××××××
不具合:Ctrl+V でクラッシュ×××××
不具合:領域指定と \# の不具合××××××
不具合:https:ページをOutヘッダフィルタで処理すると変なことがある×××××
不具合:リクエスト消失×××××
不具合:$TYPE() の不正確マッチ××
不具合:Content-Type: 無しでエラー×
不具合:「設定フィルタの併合」の動作が逆×
不具合:$FILE() の相対パス×
不具合:RWIN 32768 固定××
不具合:dbug. でのファイルサイズ××××
不具合:通知領域アイコン右クリック××××
不具合:ローカルファイルの Last-Modified:×××××
機能・制限・不具合4.44.5May4.5June338+7+8

このページは各バージョンの違いを参考にさせていただいております。

ダウンロードURL Edit

※4.5May、4.5June はフルセットの英語版が配布されているので、日本語化したい場合は同じページの「日本語化パッチ」を適用する。
※4.5June338、4.5June+5 以上は Proxomitron.exe 本体のみなので、4.5June に上書きする。

有難屋アイコン Edit

通知領域に表示される Proxomitron のアイコンを、有難屋さん作成の画像に差し替えたもの。
ダウンロードURL 参照。

文字クラスの大文字小文字区別 Edit

該当バージョン: 4.5June338 4.5June+3以上
該当しないバージョン: 4.4 4.5May 4.5June 4.5June+2以下

文字クラス中の %HH で半角英字の大文字小文字が区別出来る。

パターン文字(文字コード)結果
[%61]a (0x61)マッチする
[%61]A (0x41)マッチしない
[%81][%61]∥ (Shift_JIS 0x8161)マッチする
[%81][%61]、 (Shift_JIS 0x8141)マッチしない

4.5June など未対応のバージョンでは、上記の表は全てがマッチしてしまう。

なおマルチバイト文字には 「今見ている1バイトが、実は直前の2バイト文字の2バイト目かも知れない」 という問題があるため、この機能を用いたとしても誤爆を完全に防ぐことは難しい。

URL コマンドをドット単体で Edit

該当バージョン: 4.5June+5以上
該当しないバージョン: 4.4 4.5May 4.5June 4.5June338 4.5June+4以下

※4.5June+5~6 はこの変更によって動作に支障が出ているので、4.5June+7 以上 推奨。

URL コマンドの末尾は本来 // または .. だが、IE7 以上では .. がエラーになるため ブラウザに同一ドメイン上のページとして認識させる方法がなくなった。

そこで、URL コマンドを . だけでも使えるようにしてある。
例: http://dbug.whois.jp/

URLゾーンドメインIE7
http://dbug//whois.jp/イントラネットdbug
http://dbug..http//whois.jp/インターネットdbug..http不可
http://dbug.http//whois.jp/インターネットdbug.http
http://dbug..whois.jp/インターネットdbug..whois.jp不可
http://dbug.whois.jp/インターネットdbug.whois.jp

注意:
.. や // と違い、同じ名称のサブドメインが存在して誤認する可能性が でてくるので、プリフィックスの設定が必須となる。

プリフィックスを設定していないと、朝鮮日報のウェブサイトの画像や file.[user-id].blog.shinobi.jp といったアドレスが表示できない。
(プリフィックスがないと、URL コマンドなのかサイト側のサブドメインなのか区別がつかない)

ただし単に先頭だけにプリフィックス(以下の例では XYZ)をつけると

http://XYZbweb.src.example.com/

という URL で src. が URL コマンドなのかサブドメインなのか区別がつかない。
このため 4.5June+7 以上では二つ目以降の URL コマンドにもプリフィックスが必要な仕様に変わった。

http://XYZbweb.XYZsrc.file.example.com/

これなら XYZbweb. と XYZsrc. が URL コマンドで、file. はサブドメインだと判別できる。

この点で、4.5June+5~6 ではなく 4.5June+7 以上 の使用が推奨される。
詳しくは URL コマンドのプリフィックス仕様変更 を参照。

URL コマンドのプリフィックス Edit

該当バージョン: 4.5June+7以上
該当しないバージョン: 4.4 4.5May 4.5June 4.5June338 4.5June+6以下

これは、URL コマンドをドット単体で の機能に伴う変更。

a)
複数の URL コマンドを使う場合、プリフィックスをそれぞれの URL コマンドに 記述しなければ解釈されない。

例:(プリフィックスが XYZ の場合)
いままで http://XYZbweb..src..www.example.com/
 ↓
4.5June+7以上 http://XYZbweb..XYZsrc..www.example.com/

注意:
URL コマンドを使うフィルタや、ブックマークレットを使っている場合は書き換えが必要となる。

これまでは file// 使用時でも、$URL() などにはプリフィックスが含まれまていなかったが、 4.5June+7 の場合はプリフィックスが含まれる。
file// 以外の URL コマンドのプリフィックスは、これまで通り消える。

b)
プリフィックス設定時、サブドメイン名が偶然 URL コマンドと一致しても無視しない。

c)
http. と https. で設定してあるプリフィックスが記述されていない場合は、解釈しない。

テクスチャを使用しない Edit

該当バージョン: 4.5June+7以上
該当しないバージョン: 4.4 4.5May 4.5June 4.5June338 4.5June+6以下

設定ファイル読み込み失敗時のデフォルト設定を「テクスチャを使用しない」に変更。

ファイルを開く時に : を | に変換しない Edit

該当バージョン: 4.5June+8以上
該当しないバージョン: 4.4 4.5May 4.5June 4.5June338 4.5June+7以下

Proxomitron のウィンドウにファイルを D&D ドロップするとブラウザで開く機能 について、ドライブ名の : を | に変換しない(IE7 対策)。

例:
いままで http://file//C|/dir/file.html
 ↓
4.5June+8以上 http://file//C:/dir/file.html

GIF ファイルに Web ページフィルタ Edit

該当バージョン: 4.5June338 4.5June+1以上
該当しないバージョン: 4.4 4.5May 4.5June

「GIF アニメーションを止める」のチェックが外れている時に、 Content-Type: image/gif に対して $FILTER(true) を実行すると、 Web ページフィルタが有効になる。
(逆に、GIF アニメーションを止めるために $FILTER(true) を使うことは出来ない)

「GIF アニメーションを止める」にチェックを入れると GIF アニメーションは止まるが、 当然 Web ページフィルタは作用しない。
従って、ブラウザークラッシャー対策として全てのファイルに $FILTER(true) を使う場合は 「GIF アニメーションを止める」のチェックは外しておく。

なお、「Web ページ・フィルタ」のチェックが外れている場合は、 「GIF アニメーションを止める」にチェックが入っていても GIF アニメーションは止まらないらしい。

制限:「GIF アニメーションを止める」無効 Edit

該当バージョン: 4.5June338 4.5June+1~6
該当しないバージョン: 4.4 4.5May 4.5June 4.5June+7以上

症状:
メイン画面の「GIF アニメーションを止める」にチェックを入れても、 GIF アニメーションが止まらない。

これは、Content-Type: image/gif のデータに(ブラウザクラッシャー対策として) Web ページフィルタを適用できるようにするための細工。
4.5June+7 以上では挙動が変更された (GIF ファイルに Web ページフィルタ を参照)。

制限:リモートプロキシ使用不可時の動作 Edit

該当バージョン: 4.5May
該当しないバージョン: 4.4 4.5June 4.5June338 4.5June+1以上

症状:
リモートプロキシを使う設定の時、全てのプロキシが使用できないことが分かると、 勝手に直接接続に切り替えて通信してしまう。

制限:未知のエンコーディングでバイパス Edit

該当バージョン: 4.4 4.5May 4.5June 4.5June338 4.5June+1以上

症状:
$TYPE(oth) 以外のデータ(text/html など)に対し Web ページフィルタを実行しようとした際、 サーバからのレスポンスヘッダに Proxomitron が対応していない Content-Encoding: ヘッダが含まれていると、 圧縮データの展開やフィルタリングを行わず、そのままブラウザに渡してしまう。
(未知のエンコーディングなら圧縮データの展開はそもそも無理)

対応しているエンコーディング: gzip deflate(実際には *deflate* *gzip* でマッチ)= 対応していないエンコーディング: 上記以外全て(compress identity など)

※$FILTER(true) を使うと、圧縮データの展開は行わずに、Web ページフィルタの実行のみ行う。

対策:
強制バイパス状態になってしまうので、Content-Encoding: (in) が *(gzip|deflate) にマッチしない場合、ヘッダ自体を削除した方が良いかも知れない (値が空でも Content-Encoding: ヘッダ自体が残っていると該当してしまう)

対策フィルタ

不具合:gzip を展開前に処理 Edit

該当バージョン: 4.5May 4.5June 4.5June338 4.5June+1以上
該当しないバージョン: 4.4

症状:
Content-Encoding: gzip で $TYPE(oth) のデータに対し、$FILTER(true) を使用して Web ページフィルタを実行させると、 gzip 展開前の圧縮データが処理対象となってしまう。

ただし、URL コマンドの dbug. や src. を使用した場合は、gzip 展開後の平文が処理される。

なお、$TYPE(oth) 以外、すなわち Content-Type: が以下のいずれかの場合は正しく動作する (gzip 展開後の平文が処理される)。

対策:

不具合:二重起動クラッシュ Edit

該当バージョン: 4.4 4.5May 4.5June 4.5June338 4.5June+1以上

症状:
以下のダイアログを開いている時に、更に Proxomitron を実行(二重起動)すると エラーが発生し強制終了する。

該当するダイアログは以下の通り。

なお、存在しない設定ファイルを読み込ませようとした場合はクラッシュしないようである。

また、以下の手順でもエラーが発生し強制終了する。

  1. 上記ダイアログを開く。
  2. 通知領域の Proxomitron アイコンを右クリックし、メニューを表示する。
  3. この時点では、「設定ファイルの読み込み」はグレーアウトして選択出来ない。
  4. 「ブロックファイルに追加」または「ブロックファイルの編集」内のメニューを適当に実行する。
  5. 通知領域のアイコンを右クリックし、再度メニューを表示する。
  6. 「設定ファイルの読み込み」のグレーアウトが解除され、選択出来るようになっている。
  7. 「設定ファイルの読み込み」内に表示されている設定ファイルをクリックする。

発生条件からすると、二重起動そのものではなく、ダイアログを開いたままで 設定ファイルを読み込む動作に問題があると思われる。

参考:

不具合:Ctrl+V でクラッシュ Edit

該当バージョン: 4.5May 4.5June 4.5June338 4.5June+1以上
該当しないバージョン: 4.4

症状:
HTML Web ページ・フィルタを開き、リスト内にフォーカスがある状態で Ctrl+V キーを押すと、エラーが発生し強制終了する。

検索欄やボタンにフォーカスがある状態なら問題ない。

不具合:領域指定と \# の不具合 Edit

該当バージョン: 4.4 4.5May 4.5June 4.5June338 4.5June+1以上

Bounds か & か && と \# を組み合わせて使用すると、場合によってはバグが発生する(testでも実際のマッチでも発生する)

症状と対策はリンク先参照。

不具合:https:ページをOutヘッダフィルタで処理すると変なことがある Edit

該当バージョン: 4.5May 4.5June 4.5June338 4.5June+1以上
該当しないバージョン: 不明(未確認)

症状と対策はリンク先参照。
https: ページを HTTP header filter (out) で処理時、検索対象(URL)の path/querystring 部分に何にもマッチせず path/querystring 部分を消費しなかった場合、バグが発生する

不具合:リクエスト消失 Edit

該当バージョン: 4.5May 4.5June 4.5June338 4.5June+1以上
該当しないバージョン: 4.4

症状:
ブラウザからサーバへのリクエストを受け取っても、サーバにリクエストを送信しないことがある。 バイパス時でも発生。

ログウインドウを見ると +++GET 1+++ の直後に +++CLOSE 1+++ があり、+++RESP 1+++ が無いためサーバからのレスポンスを受け取っていないことが分かる。

リンクやボタンをクリックしても反応が無い場合は、この不具合の可能性がある (リロードすれば表示される)。

不具合:$TYPE() の不正確マッチ Edit

該当バージョン: 4.5May 4.5June
該当しないバージョン: 4.4 4.5June338 4.5June+1以上

症状:
$TYPE() において、Content-Type: の値の該当部分の「最後の一文字を削ったもの」にマッチしてしまう。

例えば、$TYPE(css) は本来

$IHDR(Content-Type: text/css*)

とほぼ同じ意味になるが、4.5May 4.5June では

$IHDR(Content-Type: text/cs*)

として解釈されてしまう。

修正内容:
4.5June338 や 4.5June+1 以上では最後の一文字を削らずに、厳密に比較する。

対策:
4.5May や 4.5June を使う場合は、$IHDR(Content-Type: ) を併用する。

不具合:Content-Type: 無しでエラー Edit

該当バージョン: 4.5May
該当しないバージョン: 4.4 4.5June 4.5June338 4.5June+1以上

症状:
サーバからのレスポンスヘッダに Content-Type: が存在しない通信において、 $FILTER(true) を使うと以下のようなエラーダイアログが表示される。

ProxomiTron Application Error
Exception [C0000005] raised in...
ConnectRemote::(HF)

不具合:「設定フィルタの併合」の動作が逆 Edit

該当バージョン: 4.5May
該当しないバージョン: 4.4 4.5June 4.5June338 4.5June+1以上

症状:
メイン画面のファイル→「設定フィルタの併合」を実行すると、 選択した他の設定ファイルに現在の設定ファイルが併合されてしまう。

不具合:$FILE() の相対パス Edit

該当バージョン: 4.5May
該当しないバージョン: 4.4 4.5June 4.5June338 4.5June+1以上

症状:
$FILE() が相対パスに対応していない。

相対パスで書いた $FILE(html\\abc.js) はエラーとなるが、
絶対パスで書いた $FILE(C:\\program files\\proxomitron\\html\\abc.js) は動く。

不具合:RWIN 32768 固定 Edit

該当バージョン: 4.4 4.5May 4.5June 4.5June+3以下
該当しないバージョン: 4.5June338 4.5June+4以上

症状:
Windows XP SP2 以上では、レジストリで RWIN のサイズを変更していても 32768 に固定されてしまう。
これにより、Proxomitron の通信速度が遅くなる。

修正内容:
4.5June338 や 4.5June+4 以上ではレジストリの設定が反映される。

参考:

(ちなみに、4.5June+4~8 の FarEastPatch.txt の 65536 は誤記。)

不具合:dbug. でのファイルサイズ Edit

該当バージョン: 4.4 4.5May 4.5June 4.5June338 4.5June+3以下
該当しないバージョン: 4.5June+4以上

症状:
URL コマンド dbug. で、キャラクタデバイスなどサイズを得ることが出来ないファイルを表示したとき、 Content-Length: が 4294967295 になってしまう。

修正内容:
4.5June+4 以上では 0 として表示される。

ただし、代わりに 4GB 以上のファイルを表示した時、0 になる。
根本的な修正になっていないが、4GB 以上だと Content-Length: の表示以外にも 全体的にまともに扱えないと思われるので、4GB 以上のファイルは扱えないという仕様となっている。

不具合:通知領域アイコン右クリック Edit

該当バージョン: 4.4 4.5May 4.5June 4.5June338 4.5June+6以下
該当しないバージョン: 4.5June+7以上

症状:
通知領域のアイコンを右クリックすると、Proxomitron のメニューとエクスプローラのメニューが 同時に表示されてしまうことがある。

修正内容:
4.5June+7 以上ではメニューの表示タイミングをマウスアップに変更したため、 同時に表示されることはなくなった。

不具合:ローカルファイルの Last-Modified: Edit

該当バージョン: 4.4 4.5May 4.5June 4.5June338 4.5June+7以下
該当しないバージョン: 4.5June+8以上

症状:
ローカルファイル(http://file//~ と http://local.ptron/~)の Last-Modified: が9時間前の値になっている。

なお FAT ファイルシステム上のファイルはずれないと思われる。

修正内容:
4.5June+8 以上では正しい日時を返す。
ただし、FAT ファイルシステム上のファイルは逆にずれるようになったと思われる。

例: 更新日時 2009年11月26日 07:42:08(JST)のファイルの場合
いままで Last-Modified: Wed, 25 Nov 2009 13:42:08 GMT
 ↓
4.5June+8以上 Last-Modified: Wed, 25 Nov 2009 22:42:08 GMT


複製名前変更