Rarely Asked Questions / あまりない(と思われる)質問と、その回答
残念ながら出来ません。
Proxomitron 使用の問題点、危険性、注意点など教えていただきたい
違います。
あくまで自分のPCに保存するキャッシュを書き換えているだけなので、相手のサーバーのファイルを書き換えてしまう(=Webサイト改ざん)ことはありません。
但し、不正アクセスに使うことも可能ではあります。
しかしそれは、それ専用のソフトやスクリプト、自作ソフトなどでも可能なことです。ブラウザの操作だけで出来る場合もあります。
Proxomitronが不正アクセスをしやすいように作られているなどということは一切ありません。(POSTデータの改変すら単体ではできません)
Proxomitron本体自体に問題はありませんが、フィルタや、それと連動して動くJavaScriptなどに問題(欠陥)や悪意があった場合、ありえます。(フィルタ=アドオン、プラグインと考えてください)
これらのソースは誰にでも読めるので、自分で安全か確認するか、信用できないフィルタは使用しない方が良いと思われます。
まず、ファイル共有ソフトやウイルスとは違うので、PC内のファイルがすべて公開されてしまうなどということは、まずありえません。
(怪しいソフトと連動させまくれば可能ですが… そこまでいくとProxomitronはもう関係ありません)
まず、Proxomitronは規定のアクションかどうかを見ておらず、常にアクション名がopenのもので開くので、openアクションの値を書き換える必要がある。
(これを利用すれば、editなどを規定にして、規定をexplorer用、openをProxomitron用と分けることも可能)
WindowsVista以降は関連付けの高度な編集機能がなくなっているので、FileTypesManで値を弄ると楽だが、(既定)の値の種類がREG_EXPAND_SZからREG_SZになってしまったことがあったので注意
次に、関連付けには優先順位があり、assoc/ftypeで設定した値よりも優先度が高い値があるので、反映されない場合、優先順位が高いものの値を弄る必要がある。(多分FileTypesManでは一番優先度が高いものを弄れる)
「Windowsの関連付けを決めるレジストリの優先順位とassoc ftypeが効かない問題について」から引用
拡張子の関連付け(***は拡張子)
1. HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.***\UserChoiceのProgid
2. HKCU\Software\Classes\.***の(既定)
3. HKLM\SOFTWARE\Classes\.***の(既定) ※assocで変わる値
4. HKCR\.***\OpenWithProgIdsのアルファベット順で一番上のキー
例えばサクラエディタで.txtの関連付けを変更した場合、2が「SakuraEditor_txt」となるため、「assoc .txt」の戻り値を引数に入れた「ftype txtfile=プログラムパス&引数」を変更しても反映されないプログラムがあり(Proxomitronもそう)、「ftype SakuraEditor_txt=プログラムパス&引数」を書き換える必要がある。
残念ながら不可能です
Proxomitron 単体では不可能です。POSTデータを書き換える参照。
POST 元のページのフォーム(<form>、<input> タグなど)を書き換える方法もあります。
バージョン情報に表示される Naoko というのは、少年ナイフのギター・ボーカルの山野直子氏です。
Proxomitron作者がファンだったため、バージョン情報に表示されています。
GNUのこと?
TorはSocksProxyで、ProxomitronはHTTP/HTTPS Proxyで、Proxomitronから直接Torを使うことは出来ないので、
Tor>FreeCapやWideCapなど>Proxomitronとするか、Tor>PrivoxyやPolipoなど>Proxomitronのようにする必要がある。
例
// Dropboxなどにアップロードして、各ブラウザから参照すると便利 function FindProxyForURL(url, host) { /* 使用できる関数 * http://technet.microsoft.com/ja-jp/library/cc817412.aspx * isPlainHostName(host) hostに「.」を含まない場合trueになる * dnsDomainLevels(host) ホスト名に含まれる「.」の数を返す * shExpMatch(host, shexp) hostがshexp(「*.com」などのシェル表現パターン)に一致するか * dnsDomainIs(host, ".company.com") * localHostOrDomainIs(host, "www.company.com") ローカルドメインのURLにのみ実行される(よくわからない…) * isResolvable(host) DNSで名前解決できるか * dnsResolve(host) DNSで名前解決し、ホスト名を数値IPアドレスに変換 * isInNet(host, "192.168.0.0", "255.255.0.0") DNS照会の結果が指定IP&サブネットマスクに一致するか * myIpAddress(host) ブラウザが動作しているホストのIPアドレスを返す(整数とドットの形式) * weekdayRange("WED", "SAT", "GMT") 指定曜日に一致するか */ if (!/^https?:/i.test(url) || isInNet(host, "10.0.0.0", "255.0.0.0") || isInNet(host, "127.0.0.0", "255.0.0.0") || isInNet(host, "169.254.0.0", "255.255.0.0") || isInNet(host, "192.168.0.0", "255.255.0.0") ) return "DIRECT"; // Proxomitron if (/^local\.ptron$/i.test(host) || /^http:\/\/(?:[^\/]+\.|)(?:smilevideo|nicovideo|photozou)\.jp\//i.test(url) ) return "PROXY 127.0.0.1:8080"; return "DIRECT"; }
戻り値はセミコロンで区切り複数Proxyを指定することも可能(左から順番に接続を試す)
ただし置換、挿入した文字がIEのエンコード自動判別を誤認させて文字化けを起こしてしまうことがあるので注意 (参考)。
戻り読みは出来ないので、下記のようにする。
[Patterns] Multi = TRUE Match = "$STOP()(?|)\0banner" Replace = "\0-" Multi = TRUE Match = "(^no)(??)\0banner" Replace = "\0-"
最初のフィルタでファイル先頭と、ファイル先頭から1バイト目に対応。
2つめのフィルタでファイル先頭から2バイト目以降に対応。
無駄なマッチが出るので、Multi=TRUE は必須かも(無限ループ注意)。
完全決めうちのフィルタリングなら出来る場合もあるが、柔軟なフィルタリングは難しい。フィルタリングできないと思った方がいいかも。
理由
打開策