Proxomitron はもう何度かその区画を通ってきたので、以下のような質問をなんども浴びせられることとなりました。驚くことに、私のサイキックの友達は恐ろしく正確な予言をしていて、カヤックに乗り遅れることはめったにないようでした。電話代は高いですが、その価値はあります。それでもまだ、これから質問されそうな答えがあります...
- Proxomitron は起動しましたが、私のブラウザはそれを使ってくれません。何もフィルタされないんです。どうして?
- IE5 とか IE6 を使っていて、プロクシはセットしました。それでもまだうまくいかないんです??!
- ブラウザが動かなくなっちゃったんですけど、どうしたらいい?
- Proxomitron をコンピュータの起動時に自動的にスタートさせることはできますか?
- 見ているウェブページで JavaScript のエラーが出るんですけど、どうして?
- 特定のフィルタを使っていると、一部のウェブページがちゃんと表示されないんですけど、どうして?
- どうすればフィルタされていない元のウェブページを見ることができますか?
- いくつかのルールが私のブラウザでは動かないのはなぜ?
- Proxomitron を使っていると Hotmail で警告が表示されるのはなぜ?
- Proxomitron を使っていると、Outlook で Hotmail を使うときに問題が生じます。
- 特定のサイトで自動的に Proxomitron をバイパスさせることはできますか?
- 同時にいくつまでフィルタを使うことができますか?
- netstat やファイアウォールで見ると、開いたままになってる接続があるみたいなんですけど?
- どうして REMOTE_ADDR とか REMOTE_HOST とか HTTP_FORWARDED をフィルタできないの?
Proxomitron は起動しましたが、私のブラウザはそれを使ってくれません。何もフィルタされないんです。どうして?
まず、ブラウザが Proxomitron を使うように設定する必要があります。そのためには、ブラウザのプロクシ設定を使います ― 詳細は インストールの仕方 を参照してください。
また、Proxomitron を初めて使う際には、ページをリロードするかブラウザのキャッシュをクリアしないと変更が反映されません。
IE5 とか IE6 を使っていて、プロクシはセットしました。それでもまだうまくいかないんです??!
IE5 以降では、正しくセットする場所がわかりにくくなっています。IE では現在、ダイアルアップに加えて、LAN (Local Area Network) 接続で別々にプロクシ設定があります。DSL かケーブルモデムを使っていないのであれば、おそらく LAN 設定を使うことはないでしょう(また、DSL などを使っている場合でも、設定に使う擬似的なダイアルアップエントリがあることが多いでしょう)。まず、LAN ボタンの上にあるリストボックスからあなたが使用している ISP を選び、「設定」をクリックします。ここで、プロクシをセットすることができるでしょう。これでうまくいかなかった場合にだけ(またはダイアルアップエントリが一つもなかった場合にだけ)、LAN の設定ボタンを試してください。
ブラウザが動かなくなっちゃったんですけど、どうしたらいい?
一度ブラウザが Proxomitron を使うように設定した後は、正しく動作するためには両方のプログラムが起動している必要があります。もう Proxomitron を使わないという場合には、ブラウザで HTTP プロクシを使わないように設定を戻してください。インストールの仕方 も参照してください。
Proxomitron をコンピュータの起動時に自動的にスタートさせることはできますか?
はい! "Proxomitron.exe" へのショートカットを作成して、それをスタートアップフォルダに入れればいいのです。同様にしてどんなプログラムでも自動的に起動させられます。ショートカットを入れるのであって、間違ってプログラム本体のコピーを入れてしまったりしないよう気をつけてください。
見ているウェブページで JavaScript のエラーが出るんですけど、どうして?
Internet Explorer のバージョン 3.x をお使いですか? このバージョンでは、Proxomitron が使用しているいくつかの JavaScript トリックをサポートしていないようです。ところで、Netscape にはこのような問題はないようですよ ;-)。
また、フィルタが、元々のスクリプトが想定していないような形で変更を加えてしまうために、エラーを引き起こすこともあります(たとえば、本来開いているはずのウィンドウを閉じてしまうなど)。Proxomitron のルールはユーザーに意識させずに動くようデザインされていますが、それがあらゆる状況で可能なわけではなりません。解決法は、"Suppress all JavaScript errors" フィルタを有効にすることです ― そうすれば、ブラウザはエラーが起きても無視するようになります。Proxomitron の干渉がなくても、スクリプトはよくエラーを起こすので、このフィルタは常用するのに適しています。残念ながら、IE 3.x でこの問題に対処する方法はないようです。また、新しいバージョンの IE では「ツール >> インターネットオプション >> 詳細設定」から JavaScript のエラーを無効にできるようです。
特定のフィルタを使っていると、一部のウェブページがちゃんと表示されないんですけど、どうして?
ウェブページをフィルタしていると、ページがきちんと表示されるために必要な機能を削除してしまう可能性があります ― 特に、JavaScript ベースのフィルタではそうです。また、ろくでもない HTML デザインの結果として、実際にポップアップウィンドウやダイナミック HTML を必要としているようなページもあります。一番簡単な解決法は、バイパスモードにしてブラウザをリロードすることです。
もう少し積極的な対処をするなら、ログウィンドウを開いてください。ログウィンドウにはそのページでどのフィルタが使われたか表示されますので、どれが問題を引き起こしているのか調べる役に立つでしょう。どれかわかったら、その不愉快なページを該当するフィルタの URL マッチに入れて除外しましょう。こんな感じに... (^www.dont.filter.me.com)
どうすればフィルタされていない元のウェブページを見ることができますか?
単に、Proxomitron の bypass ボタンを押して、ブラウザを リロード すればよいです。
これはアニメーション GIF をリロードしないことに注意してください ― そのためには完全なリロードを「強制」する必要があります。Netscape では SHIFT を押しながらリロードし、IE 4.x では CTRL を押しながら F5 を押します(IE 3.x ではこれをする方法はないようです??!)。
いくつかのルールが私のブラウザでは動かないのはなぜ?
どのブラウザをお使いですか? Proxomitron はどのブラウザでも使うことができますが、一部のアイテムは(特に JavaScript は)ブラウザによって異なっているようです。デフォルトのルールセットは、Netscape と IE 4.x 用にデザインされています ― また特別な IE 3.x 用のセットもあります。もしあなたが別のブラウザを使っているならば、いくつかのルールは動かすために調整する必要があるかもしれません ― この良いところは、誰でも変更することができるということです! もしなにか非互換性の問題を発見したら、どうか 教えてください。
Proxomitron を使っていると Hotmail で警告が表示されるのはなぜ?
Proxomitron は自分がどのブラウザであるか隠すことができるので、Hotmail や Netscape Netcenter のようなお節介なサイトが文句を言ってくることがあります(これは、あなたが承認されているブラウザを使っていないと考えるためです)。Hotmail では、(^*hotmail.msn.com) を "User-Agent" ヘッダフィルタの URL マッチに記述しておくことで、回避することができます。他のサイトでは、"Hide browser version/identity from JS" や "Kill nosey JavaScript" などのウェブフィルタも除外する必要があるかもしれません。
同様に、彼らが期待しているブラウザを使っていると思わせておくために、偽の User-Agent を送ることも可能です(実際には Opera を使っているのに、IE5 を偽装するなど)。
Proxomitron を使っていると、Outlook で Hotmail を使うときに問題が生じます。
残念ながら、Outlook は通常の HTTP を使っておらず、また IE とは独立したプロクシを設定することもできないようです。一つの対処法は、IE のプロクシ設定に戻って、「次で始まるアドレスにはプロキシを使用しない」の欄に *hotmail*;*services.msn*. を追加することです。
特定のサイトで自動的に Proxomitron をバイパスさせることはできますか?
はい! そのサイトを "BypassList" ブロックファイル に追加すればよいのです。Proxomitron を完全にバイパスしなければならないようなごく一部のケースでは、ブラウザのプロクシ設定の中で、プロクシを使わないサイトを記述することができます。ここにフィルタしたくないサイトを記述しておけば、Proxomitron が使われることはありません。
同時にいくつまでフィルタを使うことができますか?
Proxomitron には使えるフィルタ数の制限はありません(これはあなたのマシンのメモリにのみ制限されます)。しかし、遅いシステムであまりにも多くのフィルタを同時に使った場合には、速度の低下を招くことがあります。一般的には、もし 486 かそれよりも遅い PC を使っている場合には速度の低下に気が付くでしょう。その場合、ここにいくつかコツがあるのでご覧ください:
- ウェブフィルタが一番 CPU タイムを使います ― GIF とヘッダフィルタはほとんど使いません。
- アクティブになっていないフィルタはほとんど CPU タイムを使いません。必要なフィルタだけ有効にしてください。
- ウェブフィルタで URL マッチを使用すれば、すべてのページですべてのフィルタが有効になるわけではなくなるので、CPU ロードを減らすことができるでしょう。
- 複雑なフィルタを作る際には、bounds マッチを使用して、バイト制限をフィルタが効く範囲でできる限り小さく設定してください。
- 他人が作成したフィルタを追加する場合には注意してください ― あるべき姿に正しくデザインされていないフィルタは、たった一つで速度を低下させる可能性もあります。そのようなフィルタを使う場合は、他のフィルタを追加する前に必ず試験運転させた方がいいでしょう。さもなくば、問題が起こったときに容疑者を見つけ出すのが困難になります。
- 高速のインターネット接続では(DSL やケーブルモデムなど)、増加したデータ量に対応するためにより速い CPU が必要です。単位時間あたりに Proxomitron が処理するデータ量が増加するのですから、これは避けられません。
通常のダイアルアップ接続では、Pentium 120 で大量のフィルタを有効にしても速度が低下することはないでしょうし、Pentium 160 ならほとんどのブロードバンド接続に対応できるでしょう。最近の CPU なら、これはほとんど問題になりません。
netstat やファイアウォールで見ると、開いたままになってる接続があるみたいなんですけど?
Proxomitron は persistent connections(持続的接続) をサポートするようになりましたが、これはいくつかの(最大8個の)接続を同じサーバへのリクエストがあったときのためにオープンしたままにしておきます。これは HTTP/1.1 で推奨されていて、全体のスピードを向上させる効果があります(新しい接続を作成する場合には多少のオーバーヘッドが生じるためです)。これはオープンされてはいますが、再度利用されるか、以下のうちのどれかが発生するまではアクティブではありません...
- リモートサーバ、またはプロクシが接続をクローズした場合
- 新しい接続に置き換えられた場合
- その接続で予期しないデータが受信された場合
- Proxomitron の abort ボタンが押された場合(これはすべての接続を切断します)
ブラウザを閉じたにもかかわらず、どうして接続が開いたままなのかとよく聞かれるのですが、これはリンゴと未公認のトッポジージョ伝記を混ぜるようなものです。プロクシからウェブサーバに対する接続は、プロクシとブラウザとの接続とは独立しています。実際のところ、通常はプロクシはブラウザが接続を開いているか閉じているか知らずに、常に新しい接続を受け入れられるように備えなければならないのです。
"Connection: close" を受信、送信両方の HTTP ヘッダで送れば、持続的接続を避けることができますが、接続に関する具体的な問題を抱えているのでないならば、やめたほうがいいでしょう。これはとくにセキュリティを向上させるわけでもありませんし、パフォーマンスに影響が出るだけです。とくに、「オープンコネクション」と「オープンポート」を混同しないようにしてください。
どうして REMOTE_ADDR とか REMOTE_HOST とか HTTP_FORWARDED をフィルタできないの?
ああ、ウェブサーバの環境テストページを見てるんですね! これが一体どこから来るものなのか、理解する助けになるかもしれません。 まず、"HTTP_" で始まるものだけが、HTTP ヘッダとして発生したものです。その他のものは、別のところから来ているのです...
REMOTE_ADDR は、TCP/IP 接続自体が使用する IP アドレスです。これは必要な情報です。これで、あなたのコンピュータをネット上にある他の幾多のマシンと区別しているのです。本当の IP アドレスがわからなければ、ウェブサーバはページをあなたに送ることができません。リモートプロクシ(他のホスト上で稼働しているもの)経由だとこれが変化するというのは、単にサーバがプロクシに情報を送り、今度はそのプロクシからあなたに送っているからなのです。この場合では、IP アドレスはリモートプロクシのものが表示されるでしょう。Proxomitron はあなたのマシン上で動いていますし、その IP アドレスはあなたの IP アドレスと同一なのですから、Proxomitron がそれを変更することはできないのです。
REMOTE_HOST はあなたの IP アドレスを「逆引き」したものです。これはウェブサーバが IP アドレスの接続を受けて、DNS システムに対してそれにどんなホスト名が割り当てられているかを訊ねるものです。通常はあなたの ISP の DNS サーバがそれに答えます。あなたが自分で DNS サーバを走らせていて、その IP に対する権限があるのでなければ、この情報はあなたの PC から送られるわけではありませんから、フィルタすることはできません。
HTTP_VIA, HTTP_FORWARDED, and HTTP_X_FORWARDED_FOR これは名前が示すとおり、実は HTTP ヘッダなのです。問題は、これはあなたのブラウザが追加したものではなくて、中間にあるプロクシサーバが追加したものだということです。通常、接続の「鎖」は以下のようになっています...
+--------------------+ +--------------+ +------------+ |Browser->Proxomitron|-->| Remote Proxy |-->| Web Server | +--------------------+ +--------------+ +------------+ (Your PC) (Proxy host) (Web host)
これらのヘッダはリモートプロクシによって、Proxomitron を離れた 後で 付け加えられたものですから、これをフィルタすることはできません。しかし、自分でこのヘッダを付け加えることで、一部の自動スクリプトを混乱させることは可能かもしれません。しかし、一応述べておきますが、デフォルトでは、これらのヘッダはほとんどのウェブサーバのログには残されません。
Return to main index