lafe @ ウィキ
Proxydomo
最終更新:
Bot(ページ名リンク)
-
view
Proxydomo

最新バージョンダウンロード
https://github.com/amate/Proxydomo/releases/latest
https://github.com/amate/Proxydomo/releases/latest
■はじめに
このソフトはローカルで動くプロクシフィルタリングソフトです
作成にあたりオープンソースのProximodoを使って作られています。
このソフトはローカルで動くプロクシフィルタリングソフトです
作成にあたりオープンソースのProximodoを使って作られています。
windows10 64bitで動作を確認
たぶん xp / vista / 7 / 8.1 でも動くはず
たぶん xp / vista / 7 / 8.1 でも動くはず
■使い方
起動して 127.0.0.1:6060(プロクシポートに表示されてる数値)をプロクシとして指定すると
プロクシフィルタとして機能します。
詳しい使い方は Proxomitron などを参考にしてください。
起動して 127.0.0.1:6060(プロクシポートに表示されてる数値)をプロクシとして指定すると
プロクシフィルタとして機能します。
詳しい使い方は Proxomitron などを参考にしてください。
$LSTの指定方法は listsフォルダ以下にあるテキストから拡張子を消したものです
※例: lists\Kill.txt -> $LST(Kill)
※例: lists\Kill.txt -> $LST(Kill)
■Windowsストアアプリで利用する場合
Windowsストアアプリはセキュリティ上の理由でループバックアドレス(127.0.0.1)へのアクセスが許可されていません
ストアアプリからProxydomoへの接続を許可するためには Windows ストア アプリをループバック(localhost)に接続する を参考に
Windows 8 AppContainer Loopback Utility などを利用して明示的にアクセスを許可してください
Windowsストアアプリはセキュリティ上の理由でループバックアドレス(127.0.0.1)へのアクセスが許可されていません
ストアアプリからProxydomoへの接続を許可するためには Windows ストア アプリをループバック(localhost)に接続する を参考に
Windows 8 AppContainer Loopback Utility などを利用して明示的にアクセスを許可してください
■Proxomitronからフィルタを移行するとき
Proxomitronの"HTML Webページ・フィルタ"で、フィルタリストをマウスドラッグで一気に選択した後、
右クリック->"フィルタをクリップボードへエクスポート"した後、
Proxydomoのフィルタ管理ウィンドウで"クリップボードからインポート"を実行すれば、フィルタを一括でインポートできます
"HTTPヘッダ・フィルタ"も同様に移行できます
Proxomitronの"HTML Webページ・フィルタ"で、フィルタリストをマウスドラッグで一気に選択した後、
右クリック->"フィルタをクリップボードへエクスポート"した後、
Proxydomoのフィルタ管理ウィンドウで"クリップボードからインポート"を実行すれば、フィルタを一括でインポートできます
"HTTPヘッダ・フィルタ"も同様に移行できます
ブロックリストは"[%aa][%ab][%ac]"などのエンコードがされている場合、元の文字列にデコードして、ファイルの文字コードをUTF8として保存してください
一部実装していないコマンド、仕様変更があるので一度 詳細 に目を通してください
■既知のバグ
- 一部実装していないコマンドがあります($ADDLSTBOXなど)
- SSLフィルタリング有効時、SSLを通さないWebSocketを切断してしまう
- Content-Encoding: sdch なページを解凍できない
- 一部のdeflate圧縮されたページを解凍できない 例:deflate-http (AKA zlib format)
- Chromium系列のブラウザでSSLフィルタリングが利用できない
■免責
作者(原著者&改変者)は、このソフトによって生じた如何なる損害にも、
修正や更新も、責任を負わないこととします。
使用にあたっては、自己責任でお願いします。
作者(原著者&改変者)は、このソフトによって生じた如何なる損害にも、
修正や更新も、責任を負わないこととします。
使用にあたっては、自己責任でお願いします。
■著作権表示
Copyright (C) 2004 Antony BOUCHER
Copyright (C) 2013-2018 amate
Copyright (C) 2004 Antony BOUCHER
Copyright (C) 2013-2018 amate
画像の一部に「VS2010ImageLibrary」の一部を使用しています。
■更新履歴
v1.109
- http://local.ptron/ へのアクセスができなくなっていたバグを修正 #62
- http://local.ptron/blocklistinfo/ へのアクセスでCPUを過度に消費してしまうバグを修正 #63
- http://local.ptron への$JUMPが$RDIR相当になっていたのを再修正 #60
v1.108
- local.ptronへの$JUMPが$RDIR相当になっていたのを修正 #60
- 受信ヘッダフィルターで$TYPEが使えなくなっていたのを修正 #58
あまりテストしていないので、今の環境で安定しているなら更新を保留した方がいいかもしれない
v1.107
- local.ptronへのリクエスト時、ファイルの拡張子から正確なContent-Typeを返すようにした
- local.ptronで日本語のファイルをリクエストされても返せるようにした
v1.106
- Content-Typeは受信ヘッダフィルターで処理されたものを見るようにした
- wolfSSLのバージョンを v3.15.3へ更新
v1.105
- クリップボードからフィルターのインポート時にインポート元のテキストが規定のフォーマットでないと正常にインポートできなかったのを修正
- クリップボードからフィルターのインポート時にクリップボード内のテキストとしてunicodeを優先するようにした #54
v1.104
- ブロックリストの例外指定に対応
- ICUをv60に更新
v1.103
- 楕円曲線暗号をサポートしたサイトに繋がらないことがあるのを修正 #52
- ブラウザとProxydomo間も非同期で接続を行うようにした
- ログウィンドウのフォントを指定できるようにした
※settings.iniに追加する
[LogViewWindowFont] lfFaceName=Consolas pointSize=9
v1.102
- wolfSSLをv3.12.0へ更新
- サイトへの接続を非同期で行うように変更 (サイトへの接続中は切断が効かなかったのを修正) #50
v1.101
- 最新のSDKを入れた環境でビルドが通らないのを修正
- RecentURLとConnection Monitorのカラム幅と位置を記憶するようにした
- フィルター編集ウィンドウとフィルターテストウィンドウのフォントを指定できるようにした
※settings.iniに追加する
[FilterEditWindowFont] lfFaceName=Consolas pointSize=9 [FilterTestWindowFont] lfFaceName=Consolas pointSize=9
- RecentURLのLengthのソートが機能していなかったのを修正
- RecentURLのセル右ダブルクリックしたとき、ログが存在しないのに表示を切り替えていたのを修正
- Content-Encoding: identity なページをフィルタリングできなかったのを修正
v1.100
- boostのバージョンを1.64に上げた
- ウェブフィルターデバッグでのhtmlハイライトをgoogle-code-prettifyを使ったものへ変更
- サーバー側から送られてくる証明書が大きいと切断されるのを修正 #47
v1.99
- IPv6に対応
- ローカル変数を実装('_'(アンダースコア)から始まる変数の寿命はグローバルではなくローカルになります)
例:$SET(_A=\1)
ローカル変数もグローバル変数と同じく、代入時に変数が展開されます
ローカル変数もグローバル変数と同じく、代入時に変数が展開されます
v1.98
- 発行するサーバー証明書にsubjectAltName拡張を追加するようにした #43 #44
v1.97
- local.ptronからのレスポンスヘッダも受信ヘッダフィルターにかけるようにした #39
v1.96
- Visual Studio 2017でビルドするようにした
- Content-Encoding: br を解凍できるようになった #36 #38
v1.95
- サーバーから送られてくる証明書にルートCAが含まれていると接続できないことがあるのを修正
v1.94
- wolfSSLのバージョンを3.10.0へ上げた
- AboutでwolfSSLのバージョンを確認できるようにした
- info.logがカレントディレクトリに作成されてしまうのを修正
- オプションからログの出力レベルを変更できるようにした
- 起動時にinfo.logを消すようにした
v1.93
- 置換コマンド"$DTM"を実装
- 受信ヘッダフィルダーでヘッダ名にURLがあるフィルターが存在すると受信ヘッダーにURLが付加されてしまうのを修正
v1.92
- サーバーから送られてくるContent-Typeに空白が含まれているとバイパスされてしまうのを修正
v1.91
- フィルター管理ウィンドウでスペースキーによってチェックを切り替えたとき、内部データに反映されないバグを修正
- リクエストが続いてる間にフィルターリストの内容が変化した場合、リクエストが利用するフィルターリストが更新されるのではなく追加されてしまっていたのを修正
v1.90
- フィルターテストウィンドウに"設定"を追加、URL・fileTypeを設定可能にした
- フィルター管理ウィンドウに絞り込み用のエディットボックスを追加 #34
v1.89
- adblock形式のフィルタで一部マッチ時にログにマッチ表示が出なかったのを修正
- オプションに"ブロックリストの利用統計を保存する"を追加
※上記オプションの有効時に http://local.ptron/blocklistinfo/ を開くことによってブロックリスト内のパターンのマッチ回数が表示できます
- local.ptron/./html以下にあるフォルダ名 にアクセスすると 0byteのファイルをダウンロードしてしまうのを修正
- local.ptron/./html以下にあるフォルダ名 にアクセスしたときは、そのフォルダ内にある index.html を返すようにした
v1.88
- ログウィンドウで、すべてのHTTPイベントのチェックを外すと すべてのログにURLが表示されなくなるのを修正
- AdblockPlus形式のリストで"||"のあとドメイン形式以外の文字列があるとマッチしないバグを修正
- RecentURLに local.ptronへのリクエストや、"\k"で接続を切ったURLが表示されないのを修正
- RecentURLで、"\k"で接続を切ったURLは赤く表示するようにした
- RecentURLで、Lengthを bytes,KB,MB,GB で表示するようにした
- RecentURLで、URLを右ボタンダブルクリックで、そのURLでのログを表示するようにした
- 受信ヘッダフィルタでリダイレクトしたときRecentURLにURLが追加されないのを修正
v1.87
- フィルターの内容や有効/無効が変化したときに、次のリクエストから変更を適用するようにした
- AdblockPlus形式のリストで要素非表示ルールに対応
※
$ELEMENTHIDINGCSS コマンドを追加、置換テキストでのみ使えます
$ELEMENTHIDINGCSS(リスト名) とすることによって、リストからURLにマッチするCSSセレクタを集め
$ELEMENTHIDINGCSS コマンドを追加、置換テキストでのみ使えます
$ELEMENTHIDINGCSS(リスト名) とすることによって、リストからURLにマッチするCSSセレクタを集め
<style>集めたCSSセレクタ{ display:none !important; }</style>
上の文字列を返します
[Patterns] Name = "element hiding" Version = "" Author = "" Comment = "" Active = TRUE Multi = FALSE URL = "" Bounds = "" Limit = 128 Match = "(^(^< / head >))" Replace = "$ELEMENTHIDINGCSS(リスト名)"
このようなフィルターを作成して利用してください
v1.86
- AdblockPlus形式のリストを読み込めるようにした
※
1. AdblockPlus形式のリストとして読み込む場合はブロックリストの一行目が
[Adblock Plus
で始まっている必要があります
1. AdblockPlus形式のリストとして読み込む場合はブロックリストの一行目が
[Adblock Plus
で始まっている必要があります
2. 要素非表示ルール(##を含む行)については非対応です
3. typeオプション($)については、script,image,xmlhttprequest,third-party,domain のみ対応していますが
script,imageはフィルタ種別が受信ヘッダの場合でのみ機能します(レスポンスヘッダのContent-Typeを見る必要があるため)
third-partyについては、URLとRefererのドメイン名を見て判定しているため、リストに
||example.com^$third-party
などがあった場合、他のドメインのページから http://example.com/ へ飛ぼうとした場合にマッチしてしまいますが
フィルタ種別が受信ヘッダの場合は特別にContent-Typeが"text/html"のときのみ$third-partyがマッチしないようにしています
script,imageはフィルタ種別が受信ヘッダの場合でのみ機能します(レスポンスヘッダのContent-Typeを見る必要があるため)
third-partyについては、URLとRefererのドメイン名を見て判定しているため、リストに
||example.com^$third-party
などがあった場合、他のドメインのページから http://example.com/ へ飛ぼうとした場合にマッチしてしまいますが
フィルタ種別が受信ヘッダの場合は特別にContent-Typeが"text/html"のときのみ$third-partyがマッチしないようにしています
4. WebページフィルタにもAdblockPlus形式のリストを使えますが、その場合$LSTは暗黙的に * で囲まれていることに注意してください
$LST(adblockplus)は *$LST(adblockplus)* と書かれているのと同じことになります
$LST(adblockplus)は *$LST(adblockplus)* と書かれているのと同じことになります
5. WebページフィルタにAdblockPlus形式のリストを利用した場合、typeオプションはマッチした文字列ではなく、ページ自身のURL、Content-Typeを利用してマッチ判定されます(typeオプションが含まれた行は期待した動作はしないでしょう)
v1.85
- 認証エラー時にダイアログを表示していたのをブラウザ内に情報を表示するようにし、各種操作を行えるようにした(ダイアログ形式がいい場合は、".\html\certificate_error.html"を削除してください)
v1.84
- フィルター編集ウィンドウを開いたままProxydomoを終了させると強制終了するバグを修正
- boostのバージョンを1.60.0へ上げた
- CONNECTリクエストで送信ヘッダフィルターで$FILTER(false)された場合はバイパス扱いするようにした #32
v1.83
- フィルター編集ウィンドウでマッチングパターンと置換するテキストの間にカーソルがあるとカーソル形状を変化させるようにした
- フィルター編集ウィンドウでヘッダ名のテキスト入力エリア以上に文字を書き込めなかったのを修正 #32
- $UESCでデコードする文字に小文字が含まれているとデコードできなかったのを修正
v1.82
- リクエストヘッダの数が1つでフィルターによって値を空にした場合、強制終了するバグを修正
v1.81
- httpsでページ接続時にクライアントからGETリクエストのパスにhttps:// から始まるフルパスが書かれていると接続できないバグを修正
- プリコンパイルヘッダにいくつか追加
v1.80.1
- 接続が多数ある状態で接続リストを開こうとするとデッドロックするバグを修正
- バイパス状態時にタスクトレイアイコンを変更するようにした
- ログウィンドウは別スレッドでメッセージループするようにした
- ページ内やヘッダ指定の文字コードに"UNICODE"と書かれているとページを正常にデコードできないのを修正
- ログウィンドウを閉じると開けないバグを修正
v1.79
- 後ろの'がタイミングによってマッチしないことがあるのを修正
- listsフォルダへAllowSSLServerHostList.txtを追加 (SSL接続を常に許可するホスト名を書きます) #31
- wolfSSLをv3.8.0へ更新
v1.78
- CONNECTリクエスト時に判定に使うURLにポート番号を書かずに最後に"/"をつけるように変更 #30
- 接続リストでのidle判定がおかしかったのを修正
v1.77
- httpsでの接続時、$SETPROXYが効いてないのを修正
- URLコマンドの"src."を実装
v1.76
- 接続モニター表示時に通信すると強制終了することがあるのを修正
v1.75
- 接続モニターで表示上接続が残ったままになるバグを修正 #29
- 接続制限をなくした #26
- WTLはnugetから取ってくるようにした
v1.74
- エクスプローラー再起動時に、タスクトレイアイコンを登録しなおすようにした
- URLコマンドの"https."を実装
v1.73
- $TSTで取り込んだ変数が大文字小文字に区別されていたのを修正
$SETを使って変数に代入した文字列も$TSTで使えますが
$SET(0=\1)$TST(\0)とした場合、$TST(\0)は"\1"という文字列にマッチします(変数の展開はされません)
$SET(0=\1)$TST(\0)とした場合、$TST(\0)は"\1"という文字列にマッチします(変数の展開はされません)
v1.72
- ブロックリストで7行目以内にメタキャラクタが存在した場合でも固定プレフィックス形式として処理してしまうバグを修正
v1.71
- ブロックリストに"(pattern)host.com/"などがあったとき、前方の(pattern)に\0-9などが入っていると強制終了する可能性があるのを修正
- SSLフィルター有効時でもバイパスボタンが押されているときやBypass.txtにマッチするURLならトンネリングするように変更
- パイパス有効時の効果範囲を接続単位からリクエスト単位に変更
v1.70
- ブロックリストに"(pattern)host.com/"などがあったとき、前方の(pattern)が全体一致ではなく前方一致でもマッチしてしまうバグを修正
- "(^a)\0"は"(^a)(*)\0"扱いにするようにした (proxomitron互換に)
※wgetはCA証明書生成時にRSA1024bit privateKeyで生成すればいけるっぽいが
そもそも"Transfer-Encoding: chunked"に対応してないのでプロクシ通す意味ないというか
バイナリをダウンロードするんならいいんだけど…
そもそも"Transfer-Encoding: chunked"に対応してないのでプロクシ通す意味ないというか
バイナリをダウンロードするんならいいんだけど…
v1.69
- \wの後ろの検索表現が')'、'&'、'|'の場合、後ろを見ないマッチングをするようにした
v1.68
- (a&b)\0-9で\0-9にa,bのうち最長マッチの結果ではなくbのマッチが代入されてしまうのを修正 #27
※bの中で\0-9と同じ変数を使用するとうまくいかないだろう
v1.67
- ログウィンドウの各種文字色/背景色を設定できるようにした
※GUIはついていません、settings.iniを編集することで設定を読み込みます
例:
[LogWindow]
COLOR_BACKGROUND=000000
COLOR_DEFAULT=FFFFFF
COLOR_FILTER=00FFFF
COLOR_REQUEST=FF00FF
COLOR_RESPONSE=00FF00
COLOR_PROXY=FFFFFF
例:
[LogWindow]
COLOR_BACKGROUND=000000
COLOR_DEFAULT=FFFFFF
COLOR_FILTER=00FFFF
COLOR_REQUEST=FF00FF
COLOR_RESPONSE=00FF00
COLOR_PROXY=FFFFFF
- ログを停止した状態でログウィンドウを閉じて再度開いたときにログを停止が効かないバグを修正
- <start>/<end>が機能していなかったバグを修正
v1.66
- サーバーから送られてくる上位の複数の証明書がおかしいとき、セキュリティの警告ダイアログが出るのを修正
- 証明書ストアの開放し忘れを修正
v1.65
- 置換テキストでの$RDIR、$JUMPがログに表示されていなかったのを修正
- CONNECTリクエストでの接続先は$RDIRで書き換えられないように修正
- httpsのページで$RDIRを使って別のホストのURLを読み込めなかったのを修正 #23
v1.64
- フィルタをクリップボードからインポートするとき、マッチングテキストの行の先頭、末尾に"が存在すると消えてしまうバグを修正
- 証明書エラーで"ASN no signer error to confirm failure"が原因でセキュリティの警告ダイアログが表示されたとき、"OSからルート証明書の取得を試みる"ボタンを表示するようにした
- セキュリティの警告ダイアログに表示されるホスト名に実際に接続しようとしているホスト名を表示するようにした
- RC4暗号、HC128暗号を無効にした
- wolfsslを v3.6.6へ更新
- wolfssl v3.6.6でRSA暗号が無効になっていたのを修正 #20
v1.63
- ビルド環境をVisualStudio2015へ移行
- Readme.txtを更新(ビルド方法の詳細を追加)
- $TYPEに"plain"を指定できるようにした(デフォルトではWebフィルターが適用されない)
- ログウィンドウでログ選択のコンボボックスにURLを表示するようにした
- ログウィンドウでのPostデータ表示でContent-Typeが"application/x-www-form-urlencoded"以外のときも空のPostデータを表示していたのを修正
- ログウィンドウでContent-Typeが"text/xml"のときもPostデータ表示するようにした
v1.61
- マッチングルールに$URLなどを使うとまれにマッチしないことがあるのを修正
- 接続リストを閉じるときデッドロックすることがあるのを修正
- リスト再読み込み時に読み込み成功行数をログに表示するようにした
- wolfssl-3.6.0へ更新
v1.60
- $LSTのマッチ時に空の文字列を渡すとマッチしないバグを修正
- フィルターテストウィンドウで送信/受信フィルターのマッチングパターンのテスト時にテスト文字列が空だとテスト結果に(マッチしませんでした)と返してしまうのを修正
- 送信/受信フィルターのマッチングパターンにある$LSTもマッチ時にログに出力するようにした
- SSLフィルターでホスト名の長さが64文字以上だとブラウザにセキュリティの警告ダイアログが表示されることがあるのを修正
v1.59
- 文字コード判別時Converterの取得に失敗する可能性があるのを修正
- "(a&b)&&c"で"c"の判定時"b"のマッチ結果を使用してしまうバグを修正
- 起動時タスクトレイにアイコンが登録されないバグを修正 #17
v1.58
- 接続モニター表示時にデータ競合が起こる可能性があるのを修正
- 接続モニターを非表示にしてもう一度表示すると前のデータが残ってしまうバグを修正
- メインダイアログのLogボタン右クリックで接続モニターを表示するようにした
- lists\PriorityCharset.txtを追加(Proxydomo側の文字コード判定の優先順位を変更できるようにした。詳しくはPriorityCharset.txtを参照)
v1.57
- フィルター分析時に毎回エディットボックスからテキストを取得していたのをなしに修正
- "\0-9"の後マッチングパターンがあるフィルターを高速化
- サーバー側が送ってくるCA証明書がおかしいとき、"ASN sig error, confirm failure"の警告が出るのを修正
- icuライブラリをv55へ更新
- 設定の読み込みに失敗したときエラーダイアログを出すようにした
- $LSTの後のマッチングパターンがマッチしなくてもログにマッチの表示が出る可能性があるのを修正
- 接続モニターを追加
- ログウィンドウでの"Postデータ"表示を追加
- ログウィンドウで化けた文字が表示されることがあるのを修正
- Webフォントのダウンロード時の"Content-Type"が"text/html"だとフォントの内容を壊してしまうバグを修正 #16
v1.56
- listsのサブフォルダも監視するようにした
- listsのサブフォルダ以下のファイルもブロックリストとして利用できるようにした
- "(a*|b&&c|\0)E"で"&&"の前のマッチに"E"まで含まれてしまうバグを修正
- $SET(0=\0)のように変数を入れ子にすると強制終了するバグを修正
- ISO-8859-1の文字列をクリップボードからインポートするとき文字が欠落するバグを修正
- $TSTを使うと強制終了するバグを修正
- $ADDLSTを実装
- ブロックリストの"LOGFILE"設定を見るようにした
- 置換テキストでの"\d"を実装
- フィルタテストウィンドウの親をメインダイアログに変更
- listsフォルダ以下のフォルダ名の先頭に"#"が付いたフォルダは読み込みから除外するようにした
v1.55
- 特定の環境でダウンロード速度が遅くなることがあるのを修正 #14
- "このPCからの接続のみ許可する"オプションを追加
- データの送信中に接続を切ろうとしたり終了しようとしても終了しないバグを修正
- サーバーから送られてくるルートCA証明書がおかしいとき"ASN no signer error to confirm failure"の警告が出るのを修正
v1.54
- SSLFilterで長いホスト名に接続しようとすると強制終了するバグを修正
- CA証明書生成時に鍵を選択できるようにした #12
v1.53
- CA証明書生成時にECC256bit鍵を生成するようにした
- ブラウザに吐くサーバー証明書の署名にSHA256ECDSAを使うようにした
- SSLのページから$JUMPコマンドを使用しても機能しないバグを修正
v1.52
- 楕円曲線暗号のみに対応したSSLのサイトを開けないバグを修正 #10
- TLS1.2を実装していないブラウザでSSLFilterを利用できなかったのを修正 #9
- CA証明書生成時2048bitRSA鍵を生成するようにした
- SSLFilterでブラウザに吐くサーバーの証明書の署名にSHA256を使うようにした #8
- "閉じるボタンでタスクトレイに入る"オプションを実装 #11
v1.51
- SHA384で署名された証明書を検証できないバグを修正
- Aboutで文字列が見切れているのを修正 #3
- フィルタ編集ウィンドウでマッチングパターンと置換テキストのエディットボックスに水平スクロールバーを付けた #7
- 2G以上のファイルをDLできなかったのを修正
v1.50
- SSL/TLSのライブラリをGnuTLSからwolfSSLへ変更
- "切断"を実装 #5
- ダイアログのフォントにMS Shell Dlgを使うように変更(日本語表示ならMeiryo UIを使うようにした) #3
- 英語UIの翻訳を修正 #4
- ブロックリストに"*(.aaa.com/|.bbb.com/)"などを入れると強制終了するバグを修正
ブロックリストは
*.aaa.com/
*.bbb.com/
と並べたほうが早いです
v1.49
- ブロックリストのマッチ時ログに出力表示される行数が1行ずれていたのを修正
- SSLSessionTicketを無効にしてしまっていたのを修正
- 言語ファイルのtypoを修正 #1 thx!!
- chromeでgoogleのページが開けないのを修正(Content-Encodingにsdchが入ってるとページが解凍できないのでバイパスするようにした)
バイパスを回避したいなら以下のフィルタを入れること
[HTTP headers]
Key = "Accept-Encoding: Chrome accept-encodeing sdch delete"
In = FALSE
Out = TRUE
Active = TRUE
Multi = FALSE
URL = ""
Bounds = ""
Limit = 256
Match = "gzip, deflate, sdch"
Replace = "gzip, deflate"
v1.48
- フィルター編集ウィンドウとフィルターテストウィンドウでCtrl+Aが効かないのを修正
- 接続数の上限を200に上げた
- 言語ファイルのtypoを修正 #1 thx!
v1.47
- 置換テキストの\r\nを無視するようにした
- 64bit版でのスレッドプールの実装の利用のやめをやめにした(ブラウザ側の問題だった)
- 言語環境がJapanese/English以外の環境でUIが化けるのを修正(デフォルトEnglish選択がバグっていたのを修正)
- Proxyサーバー側の待ちループをselectで待つようにした(少し応答が早くなった)
- GnuTLSのバージョンを3.3.19に上げた
- SSL接続でのExportRSA暗号を使用しないようにした
v1.46
- 置換テキストの改行を出力時、無視するようにした
- 64bit版でのスレッドプール実装の利用をやめにした
v1.45
- https://local.ptron/ へのファイルリクエスト時、ファイルのサイズが大きいと最後まで送信されないバグを修正
- 翻訳ファイルの番号被りを修正
- 64bit版でしばらく接続がなかった後のリクエストが著しく遅くなることがあるのを修正
v1.44
- UIに英語版を追加(※オプションから変更できます)
- フィルタテストでマッチングパターンなどがおかしかったとき、理由を表示するようにした
- ログウィンドウで"アクティブな接続ログのみ残す"を削除
v1.43
- $RDIRでURLコマンドを含むリダイレクトが実行されたとき、URLコマンドが機能しないバグを修正
v1.42
- フィルター編集ウィンドウでフィルター上の右クリックメニューで"フィルターを編集する"を選択してもフィルター編集ウィンドウが表示されないバグを再修正
- 64bit版はスレッドプールを使用するようにした
- ブロックリストで字下げされた複数行の検索表現を一つとしてみなすようにした
- ブロックリストにBOMがついてると最初の行に記述された検索表現がマッチしないバグを修正
- SSLフィルタリング有効時、起動後初めてSSLのページに接続しに行ったときに強制終了することがあるのを修正
v1.41
- フィルター編集ウィンドウでフィルター上の右クリックメニューで"フィルターを編集する"を選択してもフィルター編集ウィンドウが表示されないバグを修正
- $LSTがマッチしたときログウィンドウにリストの何行目がマッチしたか表示するようにした(ヘッダフィルターでのURL、WebフィルターでのContentTextマッチングでのみ)
v1.40
- ポート番号が書かれたURLをリクエストされた時、httpでポートが80、httpsでポートが443の場合、リクエストヘッダのHostにポートを書かないようにした
v1.39
- フィルター編集ウィンドウでマッチングパターンと置換テキストの間のスプリッターを移動できるようにした
- フィルターテストウィンドウで上下のエディットボックスの間のスプリッターを移動できるようにした
- メインダイアログに"バイパス"を追加
v1.38
- "[]","\s","\w"などで無関係の文字がマッチしてしまうバグを修正
- フィルター編集ウィンドウの上限バイト数をチェックするようにした
v1.37
- $USEPROXY、$SETPROXYを実装した($SETPROXYはproxomitronの仕様と違い、オプションのRemote HTTP Proxyリスト内の文字列に完全一致する必要があります)
- メインダイアログに"リモートプロクシを使用"のチェックボックスを追加
- 送信/受信ヘッダフィルタのテストでURLパターンが空だと強制終了するバグを修正
- 置換テキストでの$ALERTを実装
- BypassMatcherを起動時に生成するようにした
- システムトレイの右クリックメニューに"リモートプロクシを使用"を追加
v1.36
- '*'のマッチでテストする文字列の最後の1文字を消費しないバグを修正
- $LSTでURLハッシュ形式のマッチを行う時、先頭のワイルドカードのマッチングに不適切な文字列を与えてしまうバグを修正
- フィルタ管理ウィンドウでフィルタやフォルダ名を名無しにできなくした
- フィルタ管理ウィンドウでRootフォルダでも右クリックメニューを表示するようにした
- フィルタ管理ウィンドウでダブルクリックでフィルタ編集ウィンドウを開くのをアイコンとラベル部分に限定した
- フィルタ管理ウィンドウでフォルダの間にドロップできなかったのを修正
- フィルタ管理ウィンドウでRootが選択状態で"フォルダ作成"を実行すると強制終了するバグを修正
v1.35
- ブロックリストで"(abc|def)google.com/"などの先頭にカッコのあるフィルタを追加すると強制終了するバグを修正(報告thx!)
- ブロックリストで"*google.com/"など(ワイルドカードの直後 '.'が続かない文字列)のフィルタが"*.google.com/"と解釈されてしまうバグを修正
- ブロックリストを再読み込みした時、リスト内のマッチングパターンに異常が見つかったときログウィンドウに表示するようにした
- ブロックリストの最後の1行を読み込めていなかったのを修正
filter.xmlはxmlで書かれていて、xml内では文字列に「<」や「"」などが使えないので内部で&lt;などに置換して保存しています。化けているわけではありません
v1.34
- フィルタ管理ウィンドウでRootにチェックボックスがついてるのを無くした
- フィルタ管理ウィンドウでアイテム上での右クリックメニューを追加
- フィルタ管理ウィンドウでアイテムをフォルダにドラッグした時、フォルダを開くのを遅らせるようにした
- フィルタ管理ウィンドウでフォルダ内のフィルターをクリップボードへエクスポートできるようにした(フォルダ構造はエクポートされません)
- フィルタ管理ウィンドウでWebフィルタとヘッダフィルタとでアイコンを変えるようにした
v1.33
- JISコードのページが化けるのを修正
- リリース時のログ出力レベルをwarningまで引き下げ
- メインウィンドウのログボタンを押した回数だけ表示されるログが増えるバグを修正
- $LOGでログの内容が表示されないのを修正
- $LOGで"!"ログウィンドウ表示、R=赤 W=黒 w=グレー B=青 G=緑 Y=黄 V=バイオレット C=シアンでの色表示に対応
- $ALERTを実装
v1.32
- タスクトレイアイコンの右クリックメニューにいろいろ追加
- 受信ヘッダフィルターで$FILTER(true)を行ってもWebページフィルターが有効にならないバグを修正
- Webフィルターデバッグ時、出力するhtmlタグの順序がおかしくなることがあるのを修正
- 初めて検知したページ内文字コードがキャッシュ内に存在しないとき強制終了することがあるのを修正
v1.31
- SSLフィルタリングでSSL3.0を使わないようにした(SSL v3 POODLE対策)
- SSLのページから$RDIRなどでリダイレクトできないバグを修正
- ページの文字コード判定の優先度の閾値を上げた
- gnutlsを3.3.9に更新
v1.30
- zlibを1.2.8に更新
- deflateで圧縮されたページが解凍できないバグを修正
- httpsの接続で、フィルタに利用するURLに"example.com:443"のようにポート番号が書かれるのを書かれないようにした
- httpsでフィルタによって"\k"などで接続が切られようとするときに接続が切られないバグを修正
- https://hotmail.co.jp などで証明書エラーが出るのを対処したつもり
- SSLフィルタリング有効時、強制終了することがあるのを修正
- ページの文字コード判定時、ページから推定された文字コードの信頼度が一定以上なら、ページ内の文字コード指定より推定された文字コードを優先するようにした(Proxydomoの誤判定でページが化けるのを修正)
v1.29
- SSLフィルタリング有効時、https://local.ptron/ファイル名 で htmlフォルダ内のファイルを返せるようにした
- local.ptronで.icoファイルを返すとき、ちゃんとしたContent-Typeを返すようにした
- Webページフィルタ無効かつウェブフィルターデバッグ有効時、受信ヘッダから"Content-Encoding"を削除していなかったのを修正
- ウェブフィルターデバッグで、サーバーから受け取った生のヘッダとフィルタリングを通したヘッダを同時に表示するようにした
- httpsのページをウェブフィルターデバッグにかけたとき、ブラウザに警告が表示されるのを修正
v1.28
- x64版でレスポンスに"Transfer-Encoding: chunked"が送られてくるとき、チャンクサイズの末尾に0~9,A~F以外の文字があるとチャンクサイズを誤認識してしまうバグを修正
- Webフィルターデバッグ有効時、"304 Not Modified"が帰ってこないようにした
v1.27
- x32版のGnuTLSをver3.2.17に更新
- httpsで無効なホストに接続しようとするとスレッドが終了しないバグを修正
- 上の状態で終了させたとき、プロセスが残ってしまうバグを修正
- "HTTP/1.1 101 Switching Protocols"をバイパス処理できていなかったのを修正
- httpsでのファイルアップロード時にCPU使用率が極端に上がってしまうのを修正
v1.26
- SSL/TLS接続をフィルタリングできるようになった
- オプションダイアログを追加
- 接続数の最大値を100に上げた
- プログラム全体の最適化有効時にurlprefixがバグるのを修正
- HEADのレスポンスで"Transfer-Encoding: chunked"が返されると接続しっぱなしになるバグを修正
※SSLフィルタリングについてはSSLフィルタリングを参照
v1.25
- icuがmsvcr100.dllに依存していたのを修正(起動にvs2010 C++ランタイムライブラリが必要だったのを必要なしにした)
- icuのバージョンを53.1に上げた
- boostのバージョンを1.56.0に上げた
v1.24
- local.ptron へのリクエストで正常なレスポンスを返せていなかったのを修正
- ウェブフィルターデバッグ有効時、<head>~</head>内に"<meta charset="ページの文字コード">"を埋め込むようにした(ウェブフィルターデバッグ時にページが文字化けするのを修正)
v1.23
- ログウィンドウで個別のリクエストについて表示できるようにした
- ログの文字列を右端で折り返すようにした
- local.ptronからswf/jsonファイルへのリクエストがきたとき正常なContent-Typeを返すようにした
- vbscriptをデフォルトでウェブフィルターにかけないようにした
- $TYPEに json, xml を指定できるようにした(例$TYPE(json))これらはデフォルトではフィルターされません
- 稀に"502 bad gateway"が表示されるのを修正(何度かリトライするようにした)
やっとflvplayer_wrapperが使えた、以下のフィルタが必要
NicoVideo Back to HARAJUKU (out) 2014/01/19
NicoVideo: Set flvplayer_wrapper 100916
NicoFlvplayerWrapper2 Redirect custom 071011 (both)
URL: Redirect wrapper
NicoVideo Back to HARAJUKU (out) 2014/01/19
NicoVideo: Set flvplayer_wrapper 100916
NicoFlvplayerWrapper2 Redirect custom 071011 (both)
URL: Redirect wrapper
[HTTP headers]
Key = "URL: Nico: player_version.xml redirect"
In = FALSE
Out = TRUE
Active = TRUE
Multi = FALSE
URL = ""
Bounds = ""
Limit = 256
Match = "http://www.nicovideo.jp/swf/(player_version.xml*)\2"
Replace = "$RDIR(http://www.nicovideo.jp/swf/player/\2)"
html フォルダ直下に flvplayer_wrapper.swf
html\nico_wrapper フォルダ以下に nicoplayer.swf などの旧式プレイヤーが必要
html\nico_wrapper フォルダ以下に nicoplayer.swf などの旧式プレイヤーが必要
v1.22
- 文字コードの判別でページ内のmetaタグで指定された文字コードを優先するようにした
- ページ内文字コードの検索を少しだけ高速化
- '&&'が正常に機能していなかったのを修正
- (a(b)\0)\1などの入れ子のキャプチャが正常に機能していなかったのを修正
- $ESCでascii文字以外も%uXXXXの形式でエンコードするようにした
- $UESCで%uXXXX形式をデコードできるようにした
v1.21
- フィルターテスト ウィンドウのテキストエディタのリミットを3MByteまで増加させた
- フィルターテストの分析結果の処理速度で小数点3桁以下は切り捨てるようにした
- リストをハッシュ化して持つようにした(固定プレフィックス形式、URLハッシュ形式)
※ハッシュに関しては
こちら
を参照してください
2500行ほどあるリストを使用したフィルタで最大20倍ほど早くなりました
2500行ほどあるリストを使用したフィルタで最大20倍ほど早くなりました
- ページのレスポンスヘッダに書いてある文字コードをicuで変換できない場合、ページ内から推定した文字コードを使って変換するようにした
- ログウィンドウのウェブフィルターデバッグのチェックボックスが効いていなかったのを修正
- ウェブフィルターのデバッグとバイパスの同時指定時にバイパスが無視されるバグを修正
ver 1.20
- local.ptronでhtmlフォルダに置いたバイナリファイルにリクエストが来たとき、ファイルの途中までしか送信されないバグを修正
ver 1.19
- フィルター管理ウィンドウで各種ボタンにアイコンを追加した
- フィルター管理ウィンドウで行った変更はすぐに保存するようにした
- 文字クラス化([])で '[' の後で ']' が出てこずにパターンを最後まで消費してしまうと無限ループするバグを修正
- 64bitバイナリを作成できるようにした
- フィルター管理ウィンドウで同じフォルダ内でフィルターを上に移動しても位置が保存されないバグを修正
- 最適化を最大限掛けるようにした
ver 1.18
- まれに強制終了するバグを修正(文字コード判別エンジンを使いまわしていたのが原因、これで完全解決なはず)
ver 1.17
- Content-Typeが空の場合にウェブフィルターを適用していたのを修正(この修正でまれに強制終了するバグが治ったかも)
- ウェブページの末尾数バイトがブラウザ側に送られないことがあるバグを修正
ver 1.16
- レスポンスヘッダの"Content-Type"が"charset=none"となるとき、ブラウザ側でページが表示されなくなるバグを修正
ver 1.15
- ブラウザから同じポートに複数リクエストされたとき、サーバーとの接続が切れているとブラウザ側にデータを送信しないバグを修正(たまに白紙なページが表示されることがあるのを修正)
- 複数のURLコマンドを組み合わせた時におかしくなるのを修正
ver 1.14
- サイトからデータの受信が終わったあとに、ブラウザと接続が繋がったままになることがあるのを修正
- 検索ツリーのスレッドセーフでない部分を全部修正(まれに強制終了するバグが治ったかもしれない)
- ヘッダフィルタの置換で \0 などを使うとまずい問題を修正
- icuライブラリのアップデート(icu**50.dllはすべて削除してください)
ver 1.13
- 圧縮されたページで最初のチャンクが小さいと文字コードの自動判別に失敗して文字化けするバグを修正
ver 1.11
- windows終了時にproxydomoの表示状態が保存されないのを修正
- ブラウザからHEADリクエストされると接続がタイウアウトするまで切れないのを修正
- サーバーから304レスポンスコードなどが返されたときにボディにゴミがついてるとブラウザにレスポンスコードを送れないバグを修正
ver 1.10
- ログにRecentURLs機能を追加した(最近アクセスしに行ったURLを表示します)
右クリックでURLをコピー、ダブルクリックでURLを開きます
- '\w'が後ろを見ない検索になっていたのを修正
- '\d'の仕様を変更(0-9の数値にマッチ->0-9の連続した数値にマッチ)
ver 1.9
- Content-Lengthを送ってこないサーバーだとブラウザ側が途中までのデータしか読み込めないバグを修正
- Matchが複数行あるフィルターを正常にインポートできないバグを修正
ver 1.8
- フィルターに食わせるデータのバッファが足りないと$INESTがマッチしないバグを修正
- ウェブフィルターデバッグ時、フィルター名が化けて表示されるのを修正
- まれにURLコマンドが実行できないバグを修正
- 複数のURLコマンドを組み合わせるとBad Gatewayとなるバグを修正
- フィルター管理でフォルダを作って管理できるようにした
※フィルターにチェックがついていても、親フォルダにチェックがついていないとフィルターは動作しないので注意してください。
※Root左のチェックは飾りです
※Root左のチェックは飾りです
- フィルターをクリップボードヘエクスポートする機能を付けた
ver 1.7
- フィルタ名に日本語が使われているとログ表示が化けるバグを修正
- マッチングルールに"\d"を追加
※ 数字の 0-9 にマッチします
- "\x"を復活させた
※proxomitronとは違って自分では設定できません。プログラム起動時に16文字のランダムな文字列が設定されます
- URLコマンドを復活させた
※アドレスバーから直接は無理なので、下記のURLにあるフィルタなどを使ってください
各キーを押したまま読み込むと各URLCommandを使用(BでBypass等
※ 仕様が変わったので"dbug.."などは"dbug."に変更してください( ".." を "."にする)
各キーを押したまま読み込むと各URLCommandを使用(BでBypass等
※ 仕様が変わったので"dbug.."などは"dbug."に変更してください( ".." を "."にする)
ver 1.6
- ページの文字コードに合わせてマッチングパターンの文字コードを変えるようにした(実際は逆だが)
※マッチングパターンで普通に日本語が使えるようになった
※注意1: だいぶ内部を変えたのでマッチしないフィルタが出るかもしれません
※注意2: リストにも日本語が使えますが UTF-8として読み込みますので、日本語を使う場合リストファイルの文字コードを変えてください
※注意1: だいぶ内部を変えたのでマッチしないフィルタが出るかもしれません
※注意2: リストにも日本語が使えますが UTF-8として読み込みますので、日本語を使う場合リストファイルの文字コードを変えてください
- filter.json -> filter.xml に変更
ver 1.5
- フィルタテストの分析結果で、平均時間と処理速度が正しくなかったのを修正
- マッチングパターンの"(~)\#"などが正常に動作していなかったバグを修正
- 大きいファイルのダウンロード時などCPUとメモリ使用率が極端に大きくなっていたのを修正
ver 1.4
- ログを停止したりログウィンドウを閉じるときデッドロックするバグを修正
- あらかじめ検索木を作っておくことで高速化した
ver 1.3
- リストの更新を検知して自動で再読み込みするようにした
ver 1.2
- $JUMPや$RDIRで飛んだ時ログに表示するようにした
- ホストに複数IPが設定されていて、Connectに失敗したとき順番に試すようにした
- サイトへの接続に失敗したとき、ブラウザがサイズ0のファイルをDLするバグを修正
- メインフレームにアクティブな接続数を表示するようにした
- メインフレーム終了時、接続中のリクエストがあった場合に確認ダイアログを出すようにした
- バイパスリストに対応(.\list\Bypass.txt を編集することによってフィルターを適用しないURLを指定できます)
- すべての接続が完了していない状態で終了するとたまに強制終了するバグを修正
ver 1.1
- gzipで圧縮されたページが途中で切れるバグを修正
- Aboutダイアログにバージョンを表示するようにした
- 初回起動からの終了時アプリケーションが強制終了するバグを修正
- フィルター対象のContent-Type以外にも"Transfer-Encoding: chunked"を付けてしまっていたのを修正
- ログウィンドウを強化
- URLパターンもテストできるようにした
- フィルターイベントもログに表示できるようにした
- 使えるコマンドが増えた
ver 1.0 初版