ポエニーのフィルタ機能

改良ついでに、このフィルタ関連のまじめに実装する。
「フィルタ」という表現よりは、hookが妥当かもしれない。

ポエニーでは、4種類のフィルタを定義する。

1. 捏造ファイルフィルタ

これに登録されたキーは、キー受信時にキーの捏造カウンタをインクリメントする。
ユーザがファイルを選択し「捏造指定」するか、定義ファイルを読み込むことで登録する。
キーの捏造カウンタが0以上の場合は、検索結果で捏造警告付ファイルとして表示される。
捏造ファイルを他ユーザに知らせる目的で使用する。
登録、解除は自由に行える。

2. 無視フィルタ

これに登録されたファイルは、検索結果として表示されなくなる。
定義ファイルを読み込むことで登録するのと、一度ダウンロード完了したファイル、自分で捏造指定したファイルなどが自動で登録される。
このフィルタは、登録した個人の範囲で適用される。
登録、解除は自由に行える。

3. 拡散抑制フィルタ

これに登録された条件のキーを受信すると、そのキーを捨てるためキーの拡散が行われなくなる。
ユーザがファイルを選択し「拡散抑制指定」するか、定義ファイルを読み込むことで登録する。
このフィルタは、登録した個人の範囲で適用されるため、目的を達成するためには多くの協力者が必要になる。
意図せず流失したファイルなど、問題のあるファイルの拡散を抑制する目的で使用する。
登録、解除は自由に行える。

4. ダウンロードフィルタ

これに登録されたキーは、キー受信時にキーの捏造カウンタをデクリメントする。
捏造ファイル情報の捏造を抑制する目的だが、効果があるかは微妙。
ダウンロード登録と同時に登録され、ダウンロード完了すると解除される。
別の案として、ダウンロード登録と同時に登録され、捏造指定されると解除するというのもあるが、ユーザの操作によっては、本物の捏造ファイルを解除してしまう。

今のところ以上ような感じ。

  • 追記

通信プロトコルに関係する捏造カウンタに関しては、基本的にWinnyと同じにしないとダメですが、外に影響を与えないものに関して、好き勝手やる方向。