山田偽研

CCB

概要

Proxyの採集・検査・診断・照会を行うツールです.

このソフトには以下のような特徴があります.

  • どのようなサイト??からでも「正規表現」と「プラグイン」を駆使してProxyを採集します.
  • Proxyの生存チェックはもちろん「応答時間」や「サイズ(ゴミデータの付着)」も検査できます.
  • 接続時に個人情報漏洩がないかを診断します.
  • Proxyの国籍や所有者情報を照会します.
  • 強力な検索機能で迅速に所望のProxyだけをリストアップすることができます.

備考

ダウンロード

CCB.gif CCB_070b_WIN_NET451.zip Ver.0.70b .NET 4.5.1版 2017年6月11日
  CCB_070b_WIN_NET35.zip 同上 .NET 3.5版 2017年6月11日
  CCB マニュアル - - 2017年6月11日

実行に必要な実行環境

CCBを実行するためには,下記の実行環境が必要です.

.NET Framework

このソフトを利用するためには,事前にMicrosoft .NET Framework 4.5.1もしくは3.5をインストールしておく必要があります.ご自分の環境に合わせたパッケージを以下のリンクから取得してください.

改造履歴

Ver.0.70b

  • 難読化された「CyberSyndrome」からのProxy採集を手助けするプラグイン「CyberPunkt」を作成しました.
  • 「オプション設定|採集|日時」の経過時間「ago」の書式を変更しました.
  • 検査ターゲットから応答しなくなったURLを削除して,新たに幾つか追加しました.

Ver.0.69b

  • 検索バーの検索テキスト入力欄で検索オプションをコンテキストメニューを用いて挿入する場合の規則をSQDN v0.87bと同じになるように統一しました.

Ver.0.68b

  • メインウィンドウのツールバーのターゲットコンボボックスを廃止しました.その代わり,オプション設定ダイアログに編集欄を設けました.
  • 「サイズ計測できなかったターゲットを自動的に削除する」オプションを追加しました.
  • 上述の如く設定項目が増えたので,オプション設定ダイアログのレイアウトを一部変更しました.というか,以前の状態に戻しました.
  • ターゲットコンボボックスを廃止したので,個別ターゲットを選択しての検査モードも同時に廃止します.これからは全てのターゲットを使った検査のみになります.
  • 前バージョンで,採集とターゲットサイズ計測の成功/失敗数はステータスバーの「接続数カラム」に表示することに変更しましたが,以前の「メッセージエリア」に戻します.
  • バッチジョブモードでは,進行状況を成否に関わらずログファイルに記録することにしました.
  • バッチジョブモードのコマンドライン引数に「採集先を設定する」オプションを追加しました.
  • 起動後,初回の検査は問題なく終了するが,2回目以降の検査が2回終了動作をしてしまうバグを修正しました.
  • 全項目を選択解除と選択反転が検査後にしか使えなかったバグを修正しました.
  • ターゲット登録サイトを追加&削除しました.

Ver.0.67b

  • 検査から除外するフィルタ機能を追加しました.
  • 採集の雛形で使うグループ名に「アドポU」「アドレスU」「ポートU」を追加しました.これらはURLエンコードされた文字列をデコードして読み込むために使います.この結果,「Proxz.com」からの採集はプラグイン(ProxzAddress.dll)を使う必要がなくなりました.
  • ターゲットサイズ計測に関するソケットパラメータは,今まで検査コマンドなどのそれを流用していましたが,横着せず個別に設定できるようにしました.
  • オプション設定で扱うパラメータの数が増えたので,レイアウトを整理統合しました.
  • 採集とターゲットサイズ計測の成功/失敗数表示は,ステータスバーの「メッセージエリア」ではなく「接続数カラム」で行うことことにしました.

Ver.0.66b

  • 起動時にコマンドライン引数をセットすると,「自動操縦→結果を保存→CCBを終了」のシークエンスを行うバッチジョブモードを導入しました.
  • 「自動操縦」コマンドを「採集→検査」と「採集→検査→診断」の2種類にしました.
  • 「診断」コマンドを「検査項目(成功項目)を診断」と「選択項目を診断」の2種類にしました.
  • 2種類の「検査」コマンドをドロップダウンボタン/メニューに収納しました.
  • ツールバーボタンやコンテキストメニューから明示的に「リストを読み込む」コマンドを追加しました.
  • 従来からあるファイルのドラッグ&ドロップによる「リストを読み込む」コマンドは,実行時の修飾キーの有無で「上書き」と「追加」モードを選ぶことができるようにしました.
  • 各種コマンドの追加に伴い,コンテキストメニューのレイアウトを変更しました.
  • 「採集先のインポート」の各モードと動作が,一般的な意味と異なっていたので修正しました.
  • 今まで,作者がユーザーの初期設定パラメータを強制置換するトリガーがCCBだけ独特だったので,iCBM3等と同じやり方に統一しました.
  • コマンド名やキャプションやメッセージをわかりやくかつ簡潔になるように心がけて改良しました.

Ver.0.65b2

  • ビルドオプションを最適化しました.
  • "ProxyHttpPort.dll"は.NET 3.5版でも.NET 4.5.1版と同じ"Microsoft.ScriptControl"を使ったコードに切り替えました.

Ver.0.65b

  • 今回から.NET Framework 4.5.1でビルドすることにしました.混乱を避けるために,従来の.NET 3.5でビルドしたパッケージも念の為に置いておきます.この公開で問題が発生しなければ,他のソフトウェアも随時.NET 4.5.1でビルドしていきたいと考えています.
  • 採集プラグイン"ProxyHttpPort.dll"の中で,JavaScriptの数式を評価する目的で"Microsoft.JScript.Vsa.VsaEngine"ライブラリを使用してきましたが,.NET 4以降ではこのライブラリは古いので使うべきではないとのことです.そこで,同等の機能を扱うことができるCOMライブラリの"Microsoft.ScriptControl"に乗り換えて,プラグインコードを書き直しました.
  • 診断コマンドの中で,iCBM3と同じ"ConvertToPlainText"メソッド(HTMLテキストを平文テキストに変換)を流用していますが,診断くんの種別文字を抜き出すためだけに,この恐竜のようなメソッドをコールするのは無駄以外のなにものでもありません.そこで,ちょっと雑だけど必要最小限の変換ができる簡易版メソッドに置き換えることにしました.
  • 上記のメソッド置き換えに伴い,診断コマンドの「改行コードを除去」オプションを廃止しました.

Ver.0.64b 差し替え版 その3

Ver.0.64b 差し替え版 その2

Ver.0.64b 差し替え版

  • CyberSyndrome」のサイトリニューアルに伴い,採集先アドレスが変更されたので修正しました.採集パターンは修正の必要はありません.

Ver.0.64b

  • 最近,CCBの検索アルゴリズムをiCBM3TMNに移植したのですが,その時に改善したコードやシークエンスを元のCCBにフィードバックしました.
  • 検索の比較式において,「種別」と「取得」は文字列の比較ではなく,それぞれの性質に則した比較を行うように改良しました.
  • リスト項目の各種フラグは,Tagオブジェクトに直接隠すのではなく,専用クラスに格納するように改良しました.
  • ツールバーやステータスバーやコンテキストメニューでの「検査・診断・失敗・待機」項目の並びを変更しました.
  • 「ターゲットを削除」と「検索テキストを削除」コマンドは各コンボボックス内のコンテキストメニューから実行することにしました.
  • 「検索強調解除」コマンドは「リセット」ボタンやメニューに統合することにしました.
  • 検索コンボボックスのコンテキストメニューから「検索オプションを挿入」コマンドを実行できるようにしました.
  • ターゲットを選択すると,そのサイズをステータスバーに表示するようにしました.
  • 「サイズ測定失敗したターゲットを削除する」機能を,ターゲットコンボボックスのコンテキストメニューに追加しました.
  • 「検査をリセット」や「診断をリセット」コマンドは,該当項目がなければメニューを有効にしないことにしました.
  • ターゲットや検索テキストのコンボボックスのコントロールの幅とは独立にドロップダウン幅も初期設定から設定できるようにしました.
  • 「シャッフル」を実行すると,「検索強調」がリセットされてしまうバグを修正しました.
  • 「採集」や「全削除」を実行しても,「検索強調解除」コマンドが無効にならないバグを修正しました.

Ver.0.63b

  • 採集先のインポート/エクスポート機能に様々な読み書きモードを追加しました.
  • ある条件下では,項目上下移動がうまく動作しないバグを修正しました.
  • IpSpider.com」が早くも御臨終されたようなので,採集先リストから削除しました.
    • (21:18追記) あれ,まだ生きてた! ま,あまり活きの良い串が拾える所でもないので,このまま成仏してもらいましょう.

Ver.0.62b 差し替え版

  • CyberSyndrome」のProxyリスト書式が変更されたので,採集パターンを修正しました.

Ver.0.62b

  • "]]>"を含む語句を初期設定(CDATAセクション)に書き込めない大ポカを修正しました.AREで既に認識&対処済みだったにも関わらず,他ソフトウェアに同等のケアをしていませんでした.お恥ずかしい.
  • Proxy list dot net」が夜逃げしたようなので,採集先リストから削除しました.

Ver.0.61b

  • IpSpider.com」を採集先に追加しました.
  • gzipとdeflate形式のHTTP圧縮データを受信できるようにしました.圧縮データを返してくるサーバに関しては,心なしかスピードアップしたような気がします.
  • リスト選択イベントの処理をOnSelectedIndexChnagedからOnMouseUpとOnKeyUpを使う方法に移行しました.これにより不必要なイベントをスキップする手間が大幅に軽減されました.
  • 「ターゲット削除」,「検索テキスト削除」,「検索強調解除」ボタンを復活させました.前回廃止したときにキーコンビネーション操作に変更したのですが,軽快だけど忘れると使い物にならないという不満があったわけです.なので,恥ずかしながら復活の運びとなりました.
  • ファイルによるターゲット追加コマンドを廃止しました.
  • ターゲット追加やキーワード検索を実行すると意味なくBeep音が鳴るバグを修正しました.
  • こっそりとデバッグ用HTMLレコーダー機能を削除しました.
  • 「オプション設定|採集,種別」のパラメータ編集をTMNiCBM3と同じ方法に変更しました.

Ver.0.60b

  • ゲッタープロキシ」を採集先に追加しました.また,更新頻度や鮮度が低下したサイトは削除せずにレギュラーメンバーから外しています.
  • お亡くなりになった照会先を削除して,新しいサーバーをいくつか追加しました.
  • ターゲットサイズが他に比べて大きくなったので「Google」を削除しました.
  • 採集先のインポート&エクスポート機能を追加しました.
  • ダイアログボックスのイベントハンドラーを整理しました.

Ver.0.59b

  • iCBM3SQDNTMNと同様にターゲットプラットフォームを「x86」に変更してビルドしました.
  • PAC形式の保存コマンドにおいて,「ページごとにProxyをランダムに使用する」もしくは「リストの一番上のProxyのみを使用する」かを選択できるようにしました.
  • 設定ファイルを読み込むときに例外が発生した場合は強制終了することにしました.
  • MY-PROXY」のページ構成が変わったため採集できなくなったのでパラメータを修正しました.

Ver.0.58b

  • コマンド失敗時のメッセージ表示方法を変更しました.例えば,Proxy採集がまったくできなかった原因が,アクセス失敗によるものか否かを判断することができます.
  • Proxy採集の時のリストインスタンスの生成方法を変更しました.
  • 共通雛型から取得日時が読み込まれた時,有効期限チェックをしていなかったバグを修正しました.
  • デバッグ用に採集や診断コマンドで読み込まれるHTMLソースを記録する隠し機能を追加しました.コントロールキーを押しながらそれぞれのコマンドを実行すると,終了時にクリップボードへ記録内容を書き込みます.
  • ProxyForest」から採集するためのプラグイン「ForestMatrix」を作成しました.実はプラグインがなくてもProxyアドレス&ポートだけならば採集可能なのですが,国籍・種別・取得日時も取り込むには少し工夫が必要なためプラグインを作成しました.

Ver.0.57b

  • 採集の雛型の定義方法を整理しました.個別,共通,定数の3種類の定義を階層的に記述することができます.
  • 日時書式に新しい表記法"ago"を追加しました.取得日時が現在日時からの差で表されている場合に使います.
  • 上記の仕様変更に伴いオプション設定ダイアログのレイアウトを変更しました.
  • 「オプション設定|種別」の配色に関するGUIを少し変更しました.
  • 「オプション設定|種別」に「Socks」というカテゴリーを追加しました.
  • Whoisコマンドを複数のサイトから選択して実行できるようにしました.
  • Windows7環境で「中止」コマンドと「Timeout」イベントが迅速に反映されるように工夫しました.
  • Proxz.com」は詳細リストから採集することにしました.それに伴い詳細リストに対応する新しいプラグインを作成しています.
  • Sockslist.net」, 「MY-PROXY」を採集先に追加しました.ただし,採集先をあんまり増やしても,無駄に時間を費やすだけなので,これらは控えメンバーとして登録します.
  • Proxy list dot net」はProxyの鮮度や匿名性が以前に比べて悪くなったため,「MRP Proxylist」はProxyの公開が不定期になったため,採集先のレギュラーメンバーから外すことにしました.削除したわけではありません.控えメンバーとして登録は残してあります.

Ver.0.56b

  • 今までツールチップに纏めて記録していた採集先,検査ターゲット,診断結果を独立したリストカラムに表示することにしました.
  • 上記の仕様変更に伴い,検査と診断は別々のリセットコマンドを用意することにしました.
  • 照会コマンドを使いにくくしました.これからはひとつずつブラウザに表示することにします.
  • 項目のロック機能を廃止しました.
  • ターゲット登録&削除ボタンを廃止しました.これからは同機能をキーコマンドで実現します.
  • 検索テキスト削除&検索強調解除ボタンを廃止しました.これからは同機能をキーコマンドで実現します.
  • 実行状態も検索式として記述できるようにしました.
  • 検索オプションをiCBM3などと同じ書式に統一しました.
  • 採集や診断の正規表現パラメータにも検索オプションを付加できるようにしました.
  • ブラウザへ採集先URLを表示するコマンドで,今までドメインURLを渡していましたが,これからは先頭の採集URLを渡すことにします.
  • 検査項目などの数と連動してツールバーボタンやコンテキストメニューの状態を変更するようにしました.
  • ネット接続数に関する表示も検査項目などのラベル群と統合しました.
  • 検査項目などのラベル群をクリックすると該当項目を選択するようにしました.
  • 失敗項目アイコンを変更しました.
  • iCBM3などに倣ってシングルユーザーモードのフォルダ名に"single"という名称を使えるようにしました.
  • 空の文字列を検索ワードとして容認してしてしまうバグを修正しました.
  • SamAir」と「NNTime Proxy lists」を採集先から削除,「Proxyhttp.net」を復活させました.
  • Proxyhttp.netからの採集をサポートするために新しいプラグイン「Proxyhttp.dll」を作成しました.
  • いくつかのターゲットを入れ替えました.

Ver.0.55b

  • 同じ採集先に対して同時接続を認めるか否かを選択できるようにしました.
  • 今まで,採集中に起きたエラーは「なにもProxyが採集できない」場合以外は握りつぶしてきましたが,これからはちゃんと表示することにします.それに伴い,採集中のメッセージ表示を詳細にしました.
  • メニュータイトルの「〜をコピー」や「〜を削除」と言った述語をできるだけ省略することにしました.
  • 採集先から「CyberSyndromeのSquid」とProxyhttp.netを削除しました.

Ver.0.54b

  • ローカルURLへのアクセスも受け付けるようにしました.ほとんど必要ないとは思うけど..
  • .NET の通信ソケットは非常に厳格でレスポンスの書式がちょっとでも規定から外れると「ServerResponseViolation」というエラーが発生します.しかし,それでは融通が効かなすぎるので,少し条件を緩めるおまじないを「CCB.exe.config」に施しました.
  • 各種コマンド実行中に「中止」を手動実行したとき,条件によっては自爆してしまうバグを修正しました.

Ver.0.53b

  • 初回と再試行の接続インスタンスがコンフリクトを起こして,IAsyncResultの返り先が行方不明になるため,ソケットがすごく不安定になる問題を解消しました.

Ver.0.52b2

  • タイムアウト用のタイマーが正常に動作しないバグを修正しました.

Ver.0.52b

  • 通信ソケットを完全非同期化しました.
  • 「採集」と「ターゲット長の測定」も複数同時アクセスを実現しました.ただし,採集先サーバに同一IPから同時にいくつも接続を行うとBANされる可能性もあるので,ひとつの採集先は従来通りシーケンシャルにアクセスしています.
  • 非同期化したことで,全体的同期が必要な「詳細なエラーログを記録する」コマンドを実行できなくなったので廃止します.
  • ソケットに関する設定は,今まで「検査」コマンドに関しては可変でしたが,その他のコマンドに関しては固定あるいは「検査」コマンドの値を流用することになっていました.今回からはコマンドごと独立なパラメータ設定ができるようにしました.
  • 「検査」「診断」「照会」コマンドの「失敗項目をスキップする」スイッチは,デフォルト値を反転して使うことが殆どあり得ないので,スイッチを廃止して値を固定することにしました.
  • 「診断」「照会」コマンドを失敗したとき,今までは有無を言わせずエラーアイコンを表示していましたが,すでに「検査」が成功している場合にそれをエラーにするのは変なので,これからはコマンド実行前の状態にロールバックすることにしました.
  • 「検査」「診断」「照会」で再試行を行った場合,その回数を結果欄に表示するようにしました.
  • 検索コマンドを全面的に書きなおしました.iCBM3SQDNなどで培った技術を導入しています.カラムごとに異なるキーワードを与えて,それらを組み合わせて検索することができます.
  • 「検索強調を解除」コマンドのアイコンを変更しました.
  • 「検索句を削除」コマンドを追加しました.
  • 初期設定ファイルの色に関する表記をSQDNと同じ方法に変更しました.
  • 再試行で「検査」が成功した場合,試行前のエラーメッセージが残るバグを修正しました.
  • Proxyhttp.netProxz.comNNTime Proxy lists の採集パターンは,今までの連番形式による採集では無駄なアクセスが多かったので,参照形式に書き換えました.

Ver.0.51b

  • 一部の環境でSystem.Web.dllライブラリーが参照できないために発生する「採集エラー」を防ぐため,開発環境を.NET3.5 + VS2008にダウングレードしました.
  • 「診断」や「照会」コマンドで起こる「キャプチャ失敗エラー」を低減するために以下の改良を施しました.
    • 文字エンコードを明示的に定義しておく.
    • エラーになった項目に再試行を仕掛けてみる.
  • 詳しいエラーメッセージをファイルに記録する機能を追加しました.
  • 新バージョンリリース時にユーザーの古い設定を使ってほしくない場合,作者側が強権発動して初期設定を全部リセットする機能を新設しました.
  • 中止スレッドのインスタンスの寿命が中途半端なところで尽きないように修正しました.
  • ウィンドウタイトルに採集コマンドを実行した日時を併記するのは廃止しました..
  • 更新される当ての無さそうな採集先をリストから外しました.
  • ターゲットFlicker.comのファビコンサイズが,他のターゲットと比べて異様にでかくなってしまったのでリストから外しました.
  • ターゲットDelicious.comのアドレスを修正しました.
  • 照会のWhoisサーバーの検索クエリー書式が変更されたので修正しました.

Ver.0.50b

  • ウィンドウ下部の「情報パネル」を廃止しました.「情報パネル」に表示していた内容は,アイテムごとのツールチップで表示することになります.因みにこのツールチップはタイマーを使わない独自仕様のものなので,消えないうちにあわてて文章を読まなければならないなんてことはありません.
  • 前回,正規表現関連の表記をすべてインスタンス化した際,誤って「診断」と「照会」のためのクリッピングパターンの検索条件から「Singleline」を削除してしまいキャプチャができなくなっていたバグを修正しました.
  • 「診断」と「照会」のためのクリッピングパターンの表記法を,「採集」のパターンと同様に「名前つきグループ」で表すことにしました.
  • 「診断」や「照会」コマンドでキャプチャ失敗した場合,今まではその旨を情報パネルに記録するのみでしたが,これからはエラーとみなすことにしました.
  • 「採集」コマンドに「既定値」というオプションを追加しました.例えば,「種別が事前にわかっている」場合や「このページ内のProxyはすべて同一国籍」の場合などに,パラメータの初期値に既定値をセットすることができます.
  • 「オプション設定|採集」や「オプション設定|種別」でパラメータを編集した際,内部的にはちゃんと書き換わっているのですが,リストに内容がなかなか反映されないため不安になることがあります.そこで,編集されたことがすぐにわかるように,リストにリアルタイムで結果が反映されるように工夫しました.
  • プラグインインターフェースを一部変更しました.下記の新採集先のひとつに対応するためです.
  • 新採集先を3サイト(Proxyhttp.netProxz.comXROXY Proxy Lists (RSS))追加しました.更に,前の2つのサイトは暗号化されているため,それらを復号するプラグインを新たに作成しました.
  • XROXY Proxy Lists (RSS)の取得日時がUNIXタイプの整数表記なので,「日時書式」に「unix」オプションを用意して対応するようにしました.

Ver.0.49b

  • 静的に記述していた正規表現をすべてインスタンス化しました.原理的には採集が少し早くなるはずですが,たぶん殆ど影響はないでしょう.
  • 採集時にパターンなし(平文)でパラメータをキャプチャする場合に限って,取得日時を書式付でキャプチャすることができないという構造的欠陥を修正しました.今まで,この欠陥にまったく気づいていませんでした.お恥ずかしい.
  • 検査前にProxyなしでターゲットサイズを測定するとき,レスポンスのContentLengthが使えない場合は,実際にダウンロードして計る最終手段も念のため用意しておくことにしました.たぶん,使われることはないでしょうが.
  • グループ名の内部での参照の仕方を修正しました.今までは,.NETのビルトインメソッドの存在を知らずに自前のグループ名リストアップメソッドを使っていましたが,実は一発でグループ名をリストアップできるメソッドがあるんですね.知らなかった...
  • 採集先URLを連番形式で指定した場合,サイトが404(Not Found)であっても最後までチェックをしようとするのは不合理なので,途中でループからブレークする仕組みを導入しました.
  • ステータスバーに表示される採集先サイトのアドレスに&を含む場合,ニーモニックとして表示されてしまう不具合(マイクロソフトの変な仕様というか,バグでしょ,これ)に対して,まったく対処していなかった「へま」を修正しました.
  • 新採集先を2サイト(XROXY Proxy Listscooleasy.com)追加しました.

Ver.0.48b

Ver.0.47b

  • リストの保存形式を初期設定に記憶するようにしました.
  • DDDay.Com」からの採集において,種別が定義されていない場合や書式が崩れている場合を想定していなかったので,対応可能なパターンに書き換えました.
  • 「検査」コマンドの結果ステータスコードが,5xx系列のエラーメッセージの場合文字化けしてしまう不思議な現象が発生しました.(もしかしたら,気づかなかっただけで以前から起こっていたかもしれませんが..)何故,そのようなことが起こるのか全く見当もつきません.というわけで,仕方がないので当面は「簡略化したエラーメッセージ」を出力することにしています.
  • マルチユーザーモードを追加しました.
  • ステータスバーのメッセージの「中止修理中」という恥ずかしいタイプミスを修正しました.なんで,こんな初歩的なミスをずっと気づかずにいたのだろう.

Ver.0.46b

  • Windows 7では,.NET内蔵の方法でリスト整列を続けると整列方向アイコンの表示が乱れる(あらぬアイコンが表示されてしまう)バグが発生します.そこで,内蔵コマンドを諦め,WindowsAPIを使うことにしました.
  • Windows 7では,XPで問題なく綺麗だったレイアウトが崩れることが多々あります.各OSのテーマごとに設定されたデフォルトフォントの表示サイズが微妙に異なるため歪みが生じるのでしょう.そこで,テーマの雰囲気を壊してしまうのであまりやりたくないのですが,明示的にフォントを指定することでレイアウト崩れを防ぐことにしました.
  • 複数行選択したとき,ステータスバーの項目数表示が追従していなかったバグを修正しました.

Ver.0.45b

  • Proxy採集で「名前付きグループの正規表現」を使用することによって,「パターン」と「対応関係」をまとめて記述できるようにしました.
  • 今まで,各種コマンドの結果は情報パネルに上書きするため,前に実行したコマンドの結果は消去されていましたが,追加記録する方式に変更しました.
  • 上述の通り,追加記録する方法に変更したので,情報パネルの記述フォーマットを若干変更しています.
  • HTTP接続ソケットのヘッダとリファラの設定は,静的コードをやめてインスタンス化しました.だから,どうだってことはないのですが..
  • リスト項目選択のイベントは,SelectedIndexChangedでなくItemSelectionChangedで受けるようにしました.
  • ターゲットサイズ測定方法を少し工夫して,スピードアップを計りました.
  • 「全項目をリセット」コマンドを実行したあと,情報パネルの内容がクリアされないバグを修正しました.

Ver.0.44b

  • ターゲットサイズの測定は,起動後最初の「検査」コマンド実行時のみ行うことにしました.2回目以降の「検査」コマンドでは,初回に記憶した値を使用します.
  • 検査対象の項目数が少ない場合,すべてのターゲットサイズを測定するのは無駄なので,必要最小限の測定で済むように工夫しました.
  • 特定ターゲットによる検査の場合でも,すべてのターゲットサイズを測定するのは明らかに無意味なので改善しました.
  • 検査コマンドは,検査可能な項目が存在しない場合でも,とりあえずターゲットサイズの測定は実行する仕様になっていました.しかし,これは明らかに無駄です.そこで,ターゲットサイズ測定前に検査可能項目が存在するか否かを見極めて,シーケンスの続行を決めることにしました.
  • 今までサイズ測定できなかったターゲットは,有無を言わせずターゲット配列から葬っていましたが,その時間帯にたまたま接続できなかっただけというケースもあるので,この仕様はあまりにも強引です.そこで,当該ターゲットを配列には残すけど検査には使用しないという仕様に変更します.特定ターゲットによる検査についても,配列に残してコマンドを中断する仕様に変更します.
  • 「オプション設定|文法チェック」ボタンを廃止しました.その代わり,ダイアログを閉じるとき自動的にチェックを行います.チェックで文法ミスが見つかった場合はその場所(テキストボックス)の背景色をハイライトして知らせます.
  • 「オプション設定|検査|遅延時間」と「オプション設定|検査|サイズチェック」の設定を廃止しました.今後,前者は遅延時間なし,後者は必ずサイズチェックを行う仕様に固定します.
  • 「オプション設定|リスト|取得日時がN日以上経過した項目は登録しない」は,設定が2段階になっていて面倒なので,ひとつのパラメータにまとめました.
  • LST形式ファイルの書式を変更してファイルサイズのスリム化を図りました.そのため,旧書式のファイルを読み込めなくなります.ご了承ください.
  • ツールバーのドッキング位置を記憶するようにしました.
  • 検索関連の項目を独立したツールバーにしました.
  • 初期設定ファイルの読み込みをiCBM3などと同様にXmlTextReaderからDOM形式にしました.
  • エラーメッセージを充実させました.
  • 内部の変数名がゴチャゴチャしてきたので整理しました.
  • 採集先に「DDDay.Com」を追加しました.
  • 国籍辞書(cctld.TXT)に「AP=Asia Pacific(アジア太平洋連合)」を追加しました.
  • ターゲットのいくつかを新しくて堅牢なウェブサービスのファビコンと入れ替えました.

Ver.0.43b

  • 取得日時に関する表記を「年月日時分秒」に変更しました.

Ver.0.42b2

  • 昨日の「サイズ計測ができなかったターゲットをリストから自動的に削除する仕組み」で,リストが空になった場合は「検査」コマンドに進まず実行を停止するようにしました.

Ver.0.42b

  • 「検査」コマンド前にターゲットのサイズ計測を行うとき,ひとつでもエラーが起こると実行を全て止めてしまう仕様は,あまりにも厳格で融通が利かないので改良しました.新仕様では,サイズが計測できなかったターゲットはリストから削除して,とにかく残りのターゲットで「検査」を実行するようにしました.
  • 上記の仕様変更に伴い,「検査」コマンド前に必ず全てのターゲットのサイズ計測を行う必要性があります.そのため,手動でターゲットサイズをクリアする「ターゲットサイズをリセット」コマンドは意味が無くなったので廃止しました.

Ver.0.41b

  • NNTime Proxy listsの仕様変更に伴い,採集パターンを修正して,SamAirPortプラグインを使うことにしました.
  • NNTime Proxy listsでは,Proxyの取得日時が「年月日」と「時分秒」に分かれて記述されています.今までは「年月日」のみをキャプチャして「時分秒」部分は無視していましたが,両方を取り込んで正確な取得日時を得ることができるようにしました.

Ver.0.40b2

  • デバッグ出力用の"エラー数"メッセージが,ステータスバーにそのまま表示されていた凡ミスを修正しました.
  • 通信関係の冗長なコードを整理しました.

Ver.0.40b

  • 今まで,「検査」コマンドのターゲットサイズチェックは,決め打ちした最小値より大きな値であるかを判定基準としていましたが,この方法は小さいサイズのターゲットをエラーとみなしてしまう欠点がありました.そこで,事前にターゲットサイズの真値を計測しておき,検査ではその値に一致する場合のみ成功と見なすリジッドな基準で判定することにしました.これに伴い,「オプション設定」の関連項目の統廃合を行っています.
  • 上記の「ターゲットサイズの真値計測」は,「検査」コマンドのたびに行われるのは鬱陶しいので,一度計測した結果は保存して再利用する仕様にしています.もちろん,計測結果をリセットして再計測を行うオプションも用意しています.
  • 今まで,「採集」コマンドでウェブページにアクセスする際,文字列エンコードはASCII(ANSI)形式に決め打ちしていました.PROXYアドレスを取り込むだけならば,これで何の問題もないのですが,例えば,NNTime Proxy listsでは国籍の都市名「Sao Paulo(サン・パウロ)」などが正しく読み込めず文字化けしてしまいます.そこで,iCBM3と同じアルゴリズムを使って,HTMLヘッダからエンコードを自動決定することにしました.
  • 「診断」「照会」コマンドも,「採集」と同様にエンコードを自動決定することにしました.そのため,オプション設定の「エンコード」パラメータは不用となります.
  • Proxy list dot nethack72.2ch.netには,かなり古い取得日時項目もリストアップされていますが,PROXYというのはナマモノですので,古い項目を取り込んでも生きている可能性は少なく,チェックすること自体無駄なことになります.そこで,「取得日時がN日経過した項目は採集しない」というフィルタを設けました.
  • 「検査」コマンドで検査接続したターゲットアドレスを情報パネルに記録するようにしました.
  • 「ターゲットのレスポンスヘッダを情報パネルに表示」コマンドは廃止しました.
  • 「ターゲットを削除」ボタンは,メニューが「*すべてのターゲット」の場合は無効とすることにしました.
  • コマンド実行中はCCBを終了できないことにしました.
  • デバッグ用に,「採集」コマンドで読み込んだHTMLテキストを保存する隠しフラグを用意しました.
  • 上述の如くターゲット周辺の仕様が大幅変更になったのを機に.ターゲットを総入れ替えしました.過去,ターゲットとしてウェブページのHTMLやRSSなどいろいろ試行錯誤してきましたが,サイズ計測ができなかったり,サイズが時々刻々変化したりと言った欠点が多々ありました.今回,新しいターゲットとして採用したファビコンは,上記の欠点が希な例外を除きまったくありません.更に,サイズが小さいので,「検査」コマンドを迅速に実行できると言う副次的利点もあります.

Ver.0.39b

  • 前回,手抜きで簡略化した「アイテムの状態数カウンタ」が不評だったので,きちんと作り直して復活させました.検査・診断・照会・失敗・接続待機ごとのカウンタを用意しました.
  • ツールバーの検査コマンドボタンのツールチップが,他コマンドと非対称な表現だったので統一しました.
  • 検索強調の状態を保存して,次回起動時に再現するようにしました.
  • 検査・診断・照会コマンドを実行しようとして,チェックすべきアイテムが存在しない場合でも,終了メッセージを表示することにしました.

Ver.0.38b

  • 下部テキストボックスの名称を「出力パネル」から「情報パネル」に変更しました.
  • 「診断」「照会」コマンドも「検査」コマンドと同様に連続して行うことができるようにしました.ただし,診断・照会のウェブサービスに過度の負担をかけないようにするため,同時接続数は1に固定しています.
  • 情報パネルがアイテム個別に利用できるようになった副産物として,ユーザーがメモを書き込むことができます.
  • 「診断」「照会」コマンドの仕様を拡張したので,ステータスバーの「検査成否項目数表示」を拡張して,全コマンド共通のカウンターを設けました.
  • 「検査」コマンドと検査に成功したアイテムのアイコンを変更しました.
  • 「検査」「診断」「照会」コマンド実行で,失敗項目も対象とするか否かを選択できるようにしました.
  • 「選択」コマンド群に「診断項目を選択」「照会項目を選択」を新たに追加ました.
  • 「コピー」コマンド群から「応答をコピー」「サイズをコピー」「種別をコピー」「国籍をコピー」「取得をコピー」「結果をコピー」を廃止して,「全カラムをコピー」と「情報をコピー」追加しました.
  • 「保存」コマンド群から「出力テキストを保存」を廃止して,「診断項目を保存」「照会項目を保存」を追加しました.
  • 「キーワード検索」にの選択肢に「情報」を追加しました.
  • LSTファイルのフォーマットを変更しました.旧出力パネルを保存するファイル(CCB.OUT)を廃止しました.
  • 選択項目の「検査」「診断」「照会」コマンドを実行中に,選択を解除してもスケジュールを記憶している仕様に変更しました.
  • 上下カーソルキーでアイテム選択を移動したとき,項目数表示が追従して更新されないバグを修正しました.
  • 2アイテムを選択して「コピー」コマンドを実行した場合に限り,改行コードが挿入されないバグを修正しました.
  • サンプルプラグインのソースファイルを配布パッケージに添付することにしました.

Ver.0.37b

  • .NET Frameworkのバージョンを3.5に引き上げてリビルドしました.
  • 「採集先をウェブブラウザで表示」コマンドを実行すると,正常に動作しているにもかかわらずエラーメッセージが表示されてしまうバグを修正しました.おかしいな〜,以前修正したはずなんだけど..

Ver.0.36b

  • SamAir」のProxyポート部分がJavaScriptを使わない平文表記に変更されました.でも,ソースを良く見ると暗号化に使う変数宣言の残骸が残っていたりするので,もしかしたらすぐ元に戻る可能性があると推理できます.そこで,平文にも暗号文にも対応できるようプラグインと読み込みパターン(正規表現)に細工を施しました.もちろん,新たな難読化や書式に変更されたらお手上げですけど..
  • SamAir」の採集URLを参照形式にしました.
  • リストの「結果」カラムの整列は,結果のカテゴリー(成功・失敗・待機・ロック)ごとに行うようにしました.
  • 「採集」の中で使われるいろいろなディレイタイムを初期設定ファイルに保存するようにしました.
  • 「採集」コマンドで,「取得日時」が定義されている採集先のあとに,「取得日時」が定義されていない採集先が並んでいる場合,定義されていない採集先の「取得日時」が定義されている採集先のそれにつられてしまうバグを修正しました.
  • MRP Proxylist」と「ProxyCemetery」の採集URLの正規表現の文法ミスを修正しました.修正前の状態でも偶々問題ありませんでしたが,気持ち悪かったので..

Ver.0.35b

  • SamAir」からの採集で,ポート部分の表記がJavaScriptによって暗号化(難読化?)されたので,それに対応するためプラグイン「SamAirPort.dll」を新たに導入しました.
  • プラグイン「SamAirPort.dll」では,各ページごと事前にパラメータを読み込む必要があるので,プラグインインターフェース(PluginInterface.dll)の仕様を変更しました.

Ver.0.34b

  • Proxy採集したアドレスなどのパラメータが何らかのシーケンスで暗号化やスクイーズされている場合,それを復元するためのメソッドを今まではプログラム本体に埋め込んでいましたが,「プラグイン」として分離しました..NET開発環境をお持ちならば,ユーザーが自由にプラグインを自作することもできます.
  • プラグイン化に伴い,「オプション設定|採集|対応関係」でユーザーが自由に命名した「識別子」を使うことができるようにしました.
  • 構成ファイルが増えてごちゃごちゃしてきたので,初期設定などのファイル配置を整理しました.
  • オプション設定で正規表現などの文法チェックを行った際,エラーの場合だけ警告音が鳴るのは寂しいので,成功の場合もチャイムが鳴るようにしました.
  • 出力パネルの内容を自動読み込み・保存するようにしました.只のロード&セーブだけじゃ芸がないので,指定行数(1000)を超えないFIFOバッファとして働くように細工しています.
  • なんだか,しっくり来なかった「検索強調解除」コマンドのアイコンを変更しました.
  • テキスト形式のProxyファイルをドラッグ&ドロップしたときや,クリップボードからProxyをペーストしたときは,「取得日時」に現在日時をスタンプすることにしました.
  • Proxyファイルをドラッグ&ドロップしたときは,ウィンドウタイトルを更新しない仕様に変更しました.
  • Proxy採集で「種別」が定義されていない場合,「種別データベース」で共通種別をスキャンするのは無意味なので,スキップするようにしました.
  • 平文テキストからProxy採集を行う場合,希にゴミを拾ってしまうバグを修正しました.
  • Digital Cyber Softhack72.2ch.netを採集先に追加(復活)しました.正直,後者はまともな串がほとんどありませんが..

Ver.0.33b

  • クリップボードテキストからリストにProxyをペーストするコマンドを追加しました.
  • ドラッグ&ドロップでProxyリストファイルを登録するときは,「オプション設定|リスト|アイテムを追加登録する」オプションの値に関係なく,必ず追加登録する仕様にしました.
  • 「オプション設定|検査|ターゲットサイズ」オプションに「なにがなんでも..」というオプションを追加しました.この選択肢が選ばれた場合,まずレスポンスヘッダのContentLengthパラメータをチェックし,パラメータが無い場合はダウンロードしてでもターゲットサイズをなにがなんでも取得します.
  • 「採集先」と「ターゲット」のコンボボックス幅を初期設定ファイルで定義できるようにしました.
  • 「採集先」と「ターゲット」のリンクラベルが無効の時は,ツールチップを表示しないことにしました.
  • 初期設定ファイルのパラメータ順列がゴチャゴチャしてきたので整理しました.そのため,バージョンアップしてお使いの方は,一部パラメータが強制的に初期化されてしまいます.ご了承ください.
  • 新機能追加や仕様変更に伴い,使わなくなったメソッドやプロパティを掃除しました.
  • 検査ターゲットを総入れ替えしました.

Ver.0.32b

  • 検索履歴はキーワードとカラムをペアで保存することにしました.
  • 「診断」や「照会」コマンドの結果を平文変換するメソッドが不完全だったので,iCBM3に搭載している同機能のエンジンを移植しました.また,文中に含まれる「改行コード」を除去するか否かを選択するオプションも追加しました.
  • 出力パネルのテキスト末尾が改行コードでなかった場合,出力が乱れる可能性があるので,そのような場合は自動的に改行を挿入するようにしました.
  • オプション設定の「採集」や「種別」の各項目は,「更新」ボタンを押さないとリストに書き込まれない仕様にしてました.しかし,ボタンを押し忘れると有無を言わさず編集内容を破棄してしまうのは,あまりにも忍びないので,「更新」ボタンを廃止して,選択が遷移するとき自動的に保存する仕様にしました.
  • オプション設定の「正規表現に関する文法確認」は,各タブごとに配置していましたが,ひとつのボタンに統一しました.
  • 検索やパターン表記で文法チェックを行ったときの警告用背景色を初期設定ファイルで定義できるようにしました.
  • 検索を連続して行うと,結果がおかしなことになっていくバグを修正しました.
  • キーワードが空でも検索が実行できてしまうバグを修正しました.
  • シャッフル後は選択が解除されているにもかかわらず,ツールバーボタンやステータスバーの状態が更新されていないバグを修正しました.
  • 「選択項目を保存」や「成功項目を保存」などのコマンドが,真逆の動作つまり「選択項目以外を保存」や「成功項目以外を保存」になっていたバグを修正しました.掲示板で指摘されてはじめて気がつきました.お恥ずかしい..

Ver.0.31b

  • WhoisサーバーにProxyの所在情報などを問い合わせるコマンド名を,「詳細」から「照会」に変更しました.こっちの方が,意味的に据わりが良いでしょ.
  • 「診断」と「照会」コマンドの結果を見るために,いちいちウェブブラウザを起動するのは鬱陶しいので,下部に「出力パネル」を設けて,そこに表示することにしました.その際,取得した結果の一部分をクリッピング&平文変換して表示しています.あ〜,スッキリ!
  • 上記の仕様変更に伴い,「出力パネル」の内容を保存するコマンドを新設しました.
  • 「ターゲット」コンボボックス横のラベルをクリックすると,選択Proxyを経由してターゲットにアクセスしたときのHTTPレスポンスヘッダを「出力パネル」に表示する機能を新設しました.Proxyを選択していないときは,生でアクセスしたときのレスポンスヘッダを表示します.今まであった,「ターゲットをブラウザで表示」などと言うどうでも良い機能は廃止です.
  • 「採集先」のURLを「連番形式」で記述するとき,終了ページの番号が不定な場合は記述を省略すると,自動的に最後のページまでアクセスをする仕組みを導入しました.
  • 「検索」キーワードは今まで正規表現のみ許されていましたが,例えばIPアドレスを入力しようとすると「127\.0\.0\.1」のようなトンデモなく面倒な事態に陥ります.そこで,通常表現をデフォルトとし,正規表現は「re:キーワード」のように記述する仕様に変更しました.
  • 通常表現の「検索」で,ワイルドカード「*」を利用できるようにしました.
  • CyberSyndromeの認証IDは,必要ならば,採集URLに直接表記することにしました.その結果,「オプション設定|検査|Cyber Syndrome 認証ID」を廃止しました.そもそも,なんでこのオプションを「検査」のカテゴリーにしていたんだろう?不思議だ...
  • 「採集」後に,「全項目をシャッフル」するオプションを追加しました.
  • 「検査」コマンドのオプションに,「接続を維持する(KeepAlive)」を追加しました.
  • 「検査」コマンドのオプションに,「最小サイズ」を追加しました.「ターゲットサイズ」を取得するモードで,サイズが「最小サイズ」以下だった場合は,検査失敗とみなします.
  • ウィンドウタイトルに「採集を行った日時」を表示することにしました.採集先の名称表示は廃止です.
  • ウィンドウをリサイズしたとき,リスト表示がちらつくので「ダブルバッファ化」で対処しました.
  • 「検査」コマンドの応答時間測定は,今までの古臭いやり方をやめて,Stopwatch クラス (System.Diagnostics)で行うことにしました.
  • 「シャッフル」コマンドの混ざり具合が甘かったので,少しアルゴリズムを変更しました.
  • 「採集先」のURLを「参照形式」で記述している場合,採集先サーバーは生きているがProxyが全く蓄積されていないと,参照先ラベルをクリックしてブラウザ表示させようとすると自爆してしまうバグが見つかりました.こういう状況が起こった場合,どうしようもないので仕様を変更して,ラベルをクリックすると採集先のトップページを表示することにしました.
  • 前回,ネット接続のチューニングを行った結果,「検査接続(選択項目)」が正常に終了しない,もしくは中止できないバグが生まれてしまったので退治しました.これは,かなり致命的なバグでした.すんまへんです.

Ver.0.30b

  • 今まで,作者の手抜きのせいで,「採集先」を追加・削除するには,初期設定ファイルを直接編集しなければいけなかったのですが,オプション設定ダイアログで操作できるようにしました.また,これに便乗して,編集の手助けとなる便利な仕掛けや新機能をいくつか導入しました.
    • 編集時に,正規表現の文法ミスが見つかった場合は,アラートでお知らせします.
    • キャプチャ文字列とパラメータの対応関係を,数字列ではなく文字列で表現することにしました.これなら,一目で理解できます.
    • 今まで,「全てのサーバーから採集」を選択した場合,有無を言わさず登録された全てのサーバーから採集を行っていました.しかし,登録は外したくないが,一部のサーバーだけで充分な場合もあります.そこで,ダイアログ編集画面でチェックしたサーバーのみを対象とする機能を設けました.
    • 採集先ごとにバラバラな書式の「取得日時」を統一フォーマットに変換するため,それぞれの「日時書式」を明示的に設定することにしました.
    • 更に,採集先のタイムゾーンが判っている場合,ローカルタイム(日本)との時差を補正する機能を設けました.
  • 「採集先」と同様に「種別の配色」も,オプション設定ダイアログで操作できるようにしました.こちらにも,新機能をいくつか導入しました.
    • 採集先ごとにバラバラな「種別」名を統一表記に変換する仕組みを導入しました.これにより,リスト上で種別による検索や整列がやりやすくなります.
    • 種別データベースに合致しないパラメータにも,統一名称と色を与える仕組みを導入しました.
  • CyberSyndromeなどの採集先では,国籍を「カントリーコードやトップレベルドメイン」で記述しています.しかし,このような略号表記は,よほど慣れていないと「ナンノコッチャ」状態です.そこで,採集時に略号から正式名称への辞書変換をする機能を導入しました.
  • 「検査」コマンドで計測されるターゲットサイズは,独立したカラムに表示することにしました.また,それに伴い,リストの表示フォーマットをいろいろ変更しました.
  • 「検査」コマンドのターゲットサイズ取得方法を,「ヘッダから取得」・「ダウンロードして計測」の2つから選択できるようにしました.
  • 「検索」コマンドを,ダイアログでなくツールバーから実行するようにしました.
  • 「応答時間」や「ターゲットサイズ」に関する検索で,キーワードを例えば"> 値"のように入力すると,値の大小関係を判断する算術式検索を行います.これは便利です.
  • 「コピー」コマンドは,アドレスやポート以外のカラム全てについても行えるようにしました.
  • 「全項目をシャッフル」コマンドを追加しました.同じ系列のProxyにアクセスが集中しないようにするため使うと便利です.まぁ,気休め程度ですが..
  • 「採集先」と「ターゲット」のリンクラベルに下線を表示しないようにしました.「教えて君.netの紹介記事」を見て,「あ,しもた!」とはじめて気がつきました.うちでは,常に「インターネットオプション」で「下線オフ」にしているもので.いやはや..また,「採集先」と「ターゲット」のメニューの選択に連動して,ラベル状態が遷移するようにもしました.
  • そのほかにも,いろいろとレイアウトやアイコンを弄くりました.
  • 「検査」コマンドを途中で中止しようとするとき,ソケットの状態によっては時間がかかる場合があります.一見,アプリが固まってしまったのかと心配になることがあるので,「中止処理中です...」というメッセージを表示するようにしました.
  • 初期設定ファイルの読み込みシーケンスを変更しました.「default.XML」は必要ない限りなるべく読み込まないことにしました.
  • 配列の操作が古い.NET1.x時代の作法のままだったので,今風のジェネリックコレクションによる方法に全て変更しました.
  • 「検査」コマンド終了時に,ソケットインスタンスが正常に廃棄されない場合があるバグを修正しました.バグフィックスに便乗して,ネットアクセス関連のチューニングを地味に行ってます.
  • 「検査」コマンド実行中,アイテムがスクロールされると「色」が剥げてしまうバグを修正しました.これって,.NET自体のバグなのかな〜?
  • 「検査」コマンド実行中,本来はオミットされていなければならないのに,Wクリックで「診断」コマンドが実行できてしまうバグを修正しました.
  • 「診断」コマンドを実行したとき,正常な動作しているにも関わらずエラーメッセージが表示されるバグを修正しました.
  • 「採集」コマンドが終了して,結果がリストに表示されるとき,一瞬だけリストがクリアされるのが,透けて見えてしまうバグを修正しました.
  • 取得したパラメータの途中に改行を含んでいた場合,LSTとTXT形式の保存が乱れてしまい,正常に読み込めなくなるバグを修正しました.
  • Windows XPのビジュアルスタイルが「Luna」の場合,オプション設定ダイアログの背景色がおかしなことになっていたバグを修正しました.普段,「Luna」を使っていないので,まったく気がついてませんでした.お恥ずかしい.
  • steganos」,「ProxyForest」,「Proxy4Free」を採集先から外しました.これらを外した理由は特にありません.
  • FREE PROXY LIST」,「NNTime」,「SamAir」,「MRP Proxylist」を新たな採集先として登録しました.後者3つのサイトは,JavaScriptを使った小細工や難読化が鬱陶しくて,以前登録から外した経緯があります.ところが,久しぶりに覗いてみたら,通常表示や簡単な小細工に戻っていたので復活させました.ただし,この状態が長続きするとは思えないので,また駄目になったら悪あがきせず諦めましょう.

Ver.0.29b

  • CyberSyndromeの各採集先アドレスがリンク切れになっていたので修正しました.
  • 採集先 Proxy Server, Free Proxy Listはお亡くなりになったご様子なので登録から外しました.
  • Proxy list dot netsteganosProxyCemeteryProxyForestを新たな採集先として登録しました.
  • 上記の新採集先のうちProxyCemeteryProxyForestは,前回のリリースノート((2008.03.30) CCB Ver.0.28b 差し替え版)に記したとおり,Proxyアドレス表示がJavascriptになったため対応できないと,一度登録から外した経緯があります.しかし,よくよく眺めてみると,それほど複雑なことをやっているわけでもないので再チャレンジすることにしました.ただし,サイト側がアルゴリズムを変更してしまったら対応できなくなります.ご了承ください.
  • ツールバーの「選択項目の詳細」ボタンや,「採集先」・「ターゲット」ラベルにより,何かしらのURLをデフォルトブラウザに表示させる動作は,.NETの仕様変更(SP1)のため,正常に動作しているにも関わらすエラーとみなされるようになってしましました.そこで,無理やりエラーを無視して,動作を続けるように修正しました.

Ver.0.28b

  • 「自動実行」コマンドを新設しました.「Proxyリスト採集」と「検査接続」を連続して自動実行することができます.
  • 「Proxyリスト採集」の際,「種別」や「国籍」にたまに混入するHTMLコードや空白が除去しきれていなかった問題を解消しました.
  • 参照形式のURL表記から「Proxyリスト採集」を行う場合,ベースURL自身を採集URLに含ませるオプションを追加しました.参照形式のページの場合,往々にして,そのページへのリンクが含まれないことがあります.このオプションは,そのような問題を解消するために導入しました.
  • 連続して「Proxyリスト採集」を行う場合,遅延時間をアクセスの間に挿入することにしました.後述する「新規サーバ」から採集を行う場合,連続アクセスを行うと,接続が蹴られるケースがあったためです.従来から登録されているサーバへの接続では,別段必要ないのですが,まぁサーバにやさしくするという意味で悪いことではないので,一律に挿入しています.
  • 「検査接続」コマンドのボタンやメニューを,対象が「全項目」と「選択項目」の場合に分けました.今まで「全項目」の検査を行いたい場合,項目が選択されていると,一々選択を解除せねばならなかった面倒が解消されます.
  • リスト上でバラバラに選択した項目を,リスト最上部に浮き上がらせる「選択項目を浮上」コマンドを新設しました.コレは便利です.
  • 検索テキストボックスを廃止し,検索ボタンをクリックすると,ダイアログを表示して,そこから検索実行することにしました.また,不評だったカラム修飾子を廃止して,コンボボックスから検索カラムを選択する方式に変更しました.また,英大小文字を区別するか否かの設定もできます.
  • 検索に一致した項目は,リスト最上部に浮上させ「太字強調」することにしました.これで,検索結果が見やすくなります.もちろん,「太字強調解除」ボタンも併せて新設しました.
  • 「〜項目を選択」コマンドについても,同様にリスト最上部に浮上させる仕様にしました.
  • 「リセット」コマンドは,今までロックも一緒に解除していましたが,独立した「アンロック」コマンドを新設し,アンロックで解除されない限り,リセットは行えない仕様としました.
  • 「削除・リセット・ロック」に,全項目を対象としたコマンドを追加した.
  • 「保存」コマンドの選択肢を充実しました.
  • 「削除・リセット・ロック・選択・コピー・保存」のコマンド群を,ドロップダウンボタンに纏めました.
  • コンテキストメニューのコマンド群を,カテゴリーごとに纏めて,階層化しました.
  • ツールバーでコマンドを実行したら,自動的にリストへフォーカスを移動することにしました.
  • 「項目を上(下)へ移動」コマンドで,選択項目が必ず見える状態に保つため,欄外に出そうになったら,リストをスクロールすることにしました.
  • 「オプション設定|リスト|採集は追加登録する」スイッチがオフの場合,ロックされている項目があっても,削除から保護されていなかったバグを修正しました.
  • Hack72 最近のお宝サーバが死んでしまったようなので,採集先から廃棄しました.代わってNNTime Proxy listsProxy Server, Free Proxy Listを新規登録しました.
  • ツールバー・コンテキストメニューのアイコンを刷新しました.

Ver.0.27b

  • MRP ProxyListは取得できるページの数が時々刻々変化するのですが,今までは予め多めに設定したページを読み込むことで対処していました.しかし,このやり方だと無駄が多かったり,逆に決め打ちしたページ数より多かった場合に取りこぼしが起きたりします.そこで,不定数のページにも対応できる「参照形式」のURLを設定できるようにしました.最初に「参照ページ」を読み込んで,Proxyリストのページをピックアップし,そこから逐次Proxyを採集する仕組みです.
  • 今までは,Proxy取得日時をウィンドウタイトルに表示していましたが,アイテムひとつひとつにセットすることにしました.古いリストをマージしたときや,MRP ProxyListProxy4Freeのように古い日時のProxyが混在している場合に,分類作業が容易になります.因みに,採集先ごとに日時の書式が異なりますが,整列は統一した内部表現に変換して行いますので問題ありません.
    リストに新しいカラムが増えたことで,LST形式ファイルの書式が変わります.過去の書式ファイルは読み込めなくなります.ご了承ください.
  • ProxyCemeteryを採集先に追加しました.ただ,名前から判るとおり「墓場」なので,使えるProxyは少ないかもしれません.
  • 第1ツールバーに「検索」機能を追加しました.今時のリスト系アプリの検索と言えば,「インクリメンタルサーチ」なんでしょうが,面倒なので「ヒットアイテムを選択」するだけです.まぁ,なんて手抜きなんざましょ.
  • 初期設定のHTTP接続に関するパラメータに「KeepAlive」を追加しました.
  • リストカラム表示枠からはみ出したら,ツールチップで全内容を表示するようにしました.アレ〜? こんなの未だにやってなかったんだ.
  • 使い道があまりないので,CCL形式の読み込み・保存を廃止しました.
  • 全てのコマンドを実行したら,ステータスバーにその名称を表示するようにしました.

Ver.0.26b2

  • 「重複削除」コマンド&機能が動作していなかったバグを修正しました.

Ver.0.26b

  • 採集のアルゴリズムを刷新しました.今までは新しい採集先を追加したり,採集先の書式が大幅に変更されると,ソースコードレベルで調整をしなくてはいけませんでしたが,これからは初期設定を書き換えるだけで殆どの採集先に対応します.あ,もちろん例外は必ずあると思います.弱気..
  • 採集先から,Samairを廃止,MRP ProxyListHack72 最近のお宝を追加しました.また,Anonymity CheckerProxy4FreePublic Proxy Serversの3サイトは,内容が似たり寄ったりなのでProxy4Freeのみに絞りました.
  • Proxyの種別ごとにアイテムを彩色する機能について,今までは色が固定されていましたが,ユーザーが任意の色を設定できるようにしました.また,設定数の制限もなくしました.
  • Proxyの詳細情報をWhoisサーバーに照会する「詳細」コマンドを新設しました.
  • アドレスとポートを分けて表示することにしました.これに伴い,コピーコマンドは,「アドレス&ポート」,「アドレスのみ」,「ポートのみ」の3種類を使い分けることができます..
  • 検査コマンドで,ステータスバーに表示される「成功数」と「失敗数」は独立した表示欄にしました.
  • 「オプション設定|リストパラメータ|成功項目のみ〜」スイッチを廃止しました.その代わり,「保存」コマンドのファイルダイアログ上から,成功項目のみか否かの選択を行えるようにしました.
  • 「オプション設定|リストパラメータ|前回終了時の〜」スイッチを廃止しました.
  • 「更新日時」とともに「採集先」もタイトル表示することにしました.
  • 更新日時が取得できなかったり,すべての採集先からProxyを取得する場合は,内部時計の現在時を更新日時として採用することにしました.
  • 「保留」を「ロック」コマンドに変更しました.項目が保留されるとともに,削除からも保護されるようになります.
  • コンテキストメニューに「選択を反転」コマンドを追加しました.
  • 「コピー」コマンドにおいて,選択項目数が1つの場合でも改行が挿入されていたバグを修正しました.

Ver.0.25b

  • iCBM3 Ver.0.78bの「なんちゃって非同期化」のアルゴリズムをCCBにも採用しました.これで,スレッド中止がすぐに適用されます.
  • Proxy採集の時にも,「オプション設定-検査パラメータ」の「Referer」と「UserAgent」を適用するようにしました.まぁ,気休めですが.
  • オプション設定の数値入力部分を,テキストボックスから昇降数値コントロールに置き換えました.
  • オプション設定の背景装飾などをすべて取り去りました.(iCBM3のときはダイエット成功したのに,CCBでは変化なし.なんでやねん.
  • BEEP音をAPIコールではなく.NET 2.0ビルトインコマンドで再生するようにしました.
  • ステータスバーの背景色がビジュアルスタイルと同期していなかったバグを修正しました.

Ver.0.24b

  • iCBM3 Ver.0.76bの改造履歴に記した通り,ビルド方法に問題があったので,こちらも同じ修正を施しました.

Ver.0.23b

  • Proxyの種別ごと文字色にバリエーションをつけるようにしました.
  • 種別のソートは今まで単純な文字列比較方式でしたが,上記のバリエーションとシンクロしたソートを行うようにしました.1サーバのみからProxyを取得しているだけならばこの機能のご利益はまったくありませんが,複数サーバからの取得を行った際に威力がわかると思います.
  • ソートを行ったとき,カラムヘッダに整列方向アイコンを表示するようにしました.余談ですが,.NET 2.0になってやっとビルトインコマンド(プロパティ)だけでカラムヘッダにアイコンを表示できるようになりました.
  • カラム幅とカラム表示順を記憶して,次回起動時に再現できるようにしました.
  • LSTファイルのフォーマットを変更しました.Ver.0.22bまでのファイルは読み込めなくなります.ご了承ください.
  • Anonymity CheckerProxy4Freeからリストをキャプチャするための正規表現がイマイチ曖昧だったため,ゴミを拾ってしまう不具合があった問題を修正しました.
  • 例えば上記のようにゴミを拾ったリストをLSTファイルとして保存して,再度読み込もうとしたときCCBが自爆してしまうバグを修正しました.なるべく,正常なリストは生かすために,ゴミ部分周辺だけをスキップするアルゴリズムにしています.
  • 中止ボタンで処理を中断しようとすると,中止されるまでの間,CCB全体が固まってしまう不具合を修正しました.
  • 全サーバからProxyリストを採集した場合,更新日時がSamairで取得した値になってしまうバグを修正しました.

Ver.0.22b

  • .NET 2.0 仕様にバージョンアップしました.
  • .NET 2.0 で厳格になったマルチスレッドでのお作法から逸脱していたコードを全面的に書き直しました.
  • .NET 2.0 から導入されたToolStrip・StatusStrip・ContextMenuStripを採用して,ユーザーインターフェースを一新しました.
  • 初期設定フォーマットを大幅に変更しました.
  • iCBM3と同じように,初期設定ファイルが存在しない場合や新しく増えたパラメータの既定値をデフォルトファイル(default.XML)から読み込むようにしました.
  • Proxy採集の時のパターンマッチングを完全に正規表現のみで行うことにしました.今まで,速度面でクエスチョンマークを感じていたため,導入を躊躇っていたのですが,案外使えるみたいなので実装した次第です.固定観念って良くないですね...
  • CyberSyndromeのユーザー認証IDを自動取得する機能を廃止しました.さすがに,「首相の名前は?」なんて問題形式になったら,答えることはできません.

Ver.0.21b

  • ネット接続を伴う処理でエラーが起こった後,ツールバーのボタンが反応しなくなるバグを修正しました.
  • Anonimity Checker, Public Proxy Servers, Proxy4FreeからのProxy採集の際に,更新日時が上手く拾えなかったり,幾つかのリストを溢してしまうバグを修正しました.
  • 長らく放置プレー状態だったProxyz.comが新鮮なProxyを公開するようになったので,初期設定データを新アドレスに変更しました.また,更新日時も取得(一番最初のProxyの更新日時)するようにしました.
  • CyberSyndrome系列のアドレスが変更されたので,初期設定データのアドレスを変更しました.
  • 最近のCyberSundromeは,ど〜も自動で不定期にランダムなIDとPWを発行しているようです.それも,かなり頻繁に.いちいち,ブラウザでIDを確認して,オプション設定に入力するのは面倒なので,認証に失敗した場合はトップページから自動的にIDとPWを拾ってリトライする仕掛けにしました.便利です.でも,トップページの書式が変更されたら,元の木阿弥です.さぁ,いつまでもつか...

Ver.0.20b2

  • オプション設定の[終了時にリストを保存する]は,保存コマンド関連のオプションと混同しやすいので,[前回終了時の状態を復元する]というキャプションに改めました.
  • [前回終了時の状態を復元する]ときに,何も作業をしなかった場合,更新日時を保存しわすれていたバグを修正しました.

Ver.0.20b

  • iCBM3 Ver.0.35bと同様に,いくつかのクラスを整理統合して,静的モジュール化しました.例によって,この改造による省メモリー効果はまったくありません.
  • CyberSyndromeの匿名&非匿名Proxyの公開アドレスを変更しました.アンダーバーの入るアドレスは,一時的なものだろうと放置していたのですが,ケッコウ長い間続いてるので遅まきながら対応します.とか言ってると,また変更になったりして.
  • Steganosのリスト先頭部に余計な会社案内が入るようになったので,スキップするようにしました.
  • http://www.samair.ru/ の更新日時の表記法が変更になったので対応しました.また,今後のことも考えて,更新日時取り出しキーワードを初期設定に保存するようにして,ユーザーサイドでも対応できるようにしました.

Ver.0.19b

  • CyberSyndromeの認証IDをセットするのに,いちいち初期設定(CCB.XML)を編集するのは,やっぱり面倒なので,オプション設定ダイアログから設定できるようにしました.(IDとパスには例によってプリセットされていませんので,各自設定してください.)

Ver.0.18b

  • CyberSyndromeのProxy採集などで,BASIC認証が上手く行われていないバグを修正しました.Proxy検査のターゲットのBAISC認証についても,同様の症状が予想されるので修正しておきました.まったくもって,基本中の基本でバグってましたね.お恥ずかしい..
    注) 配布パッケージに,CyberSyndromeのIDとパスはプリセットしてませんので,各自設定してください.設定方法は,READMEを参照してください.

Ver.0.17b

  • www.samair.ruとwww.digitalcybersoft.comからのProxyリスト取得について,桁揃えの変更があっても対応できるように,桁位置追尾機能を追加しました.(HTMLタグを使わないで,こういう平文で書かれたテキストから要素を切り出すのが,意外に面倒なんですよね.まったく...

Ver.0.16b

  • 採集URLを新たにふたつ追加しました.また,[*全てのURLから採集]するバッチコマンドを新たに設けました.
  • 複数のターゲットを順繰りに検査アクセスできるようにしました.特定のターゲットにあまり負荷をかけないためにも,この方が良いかと思います.
  • 検査アクセスのリクエストヘッダへ,"Accept-Language"などのパラメータを追加できるようにしました.
  • 検査アクセスのソケット開始時に,ディレイを咬ますことができるようにしました.
  • Proxy採集後,自動的に重複Proxyを削除するフラグを設けました.
  • アプリ終了時に,作業内容を保存して,次の起動時に持ち越すことができるフラグを設けました.
  • .NETが提供するネット関連のエラーメッセージは,冗長な上にナニ言ってんだかわからない事が多いので,慣れ親しんだHTTPエラーコード表記に変更しました.うん,スッキリした.
  • 初期設定ファイルのフォーマットを一新しました.新方式では,採集サイトを自由に追加・削除できます.とは言っても,汎用HTMLパーサを使っているわけではないので,追加できるURLは限られますが..
  • ウィンドウタイトルに表示する[更新日時]をできるだけ正確に取得するようにしました.逆に,更新日時が不明確なサイトに関しては,無理に取得せず[不明]とすることにしました.
  • 検査アクセスの際,リストからフォーカスが離れていたら,たとえ項目が選択されていても,全項目を検査対象とするように仕様変更しました.

以上の改良のいくつかについては,P氏よりサジェスチョンを頂いて導入したものです.あらためて,お礼を申し上げます.

Ver.0.15b

  • 「Digital Cyber Soft」のProxy取得URLが変更されてたので修正しました.
  • オプション設定で,数値入力すべき入力欄は,数値しか入力できないように,小細工を施しました.

Ver.0.14b

  • ブラウザ用プロクシ自動設定ファイル(PAC)を保存するオプションを追加しました.IE系&Mozilla系ブラウザに対応しています.本当は,レジストリをガシガシイジッてプロクシをセットするのが王道なんでしょうけど,めんどくさいのでやめました.
  • バージョンアップなどで,初期設定ファイルのフォーマットを変更したとき,XMLファイルがクローズされなくて,アプリ終了時に初期設定の保存に失敗してしまうバグを修正しました.

Ver.0.13b

  • 検査アクセスの際に,HTTPレスポンスヘッダからContent-Lengthパラメータ(ファイル長)を取得できるようにしました.ちゃんと,ターゲットアクセスに成功しているかを,更に厳しくチェックするのに便利かも.(ま,リダイレクション禁止スイッチがあるので必要ないかな..)

Ver.0.12b

  • 公開バージョン.