SPAM対策講座 nntpProxy編

NetNewsにおけるSPAMは、SPAM対策講座で書いたとおり基本的に手動で取り除くしかないのが現状であり、 フィルタ機能を備えたニュースリーダも限られています。
また、Outlook Expressのように、フィルタをかけても、一覧から見えなくなるだけで、グループごとマークして 「すべてダウンロード」でダウンロードすると、結局SPAMもダウンロードされてしまったりと、ニュースリーダの フィルタ機能の性能にも限界があるようです。

そこで、ニュースリーダが記事を取り込む段階で、あらかじめSPAMを取り除いてしまおうというのがここで紹介する「nntpProxy」です。
nntpProxyは名前のとおり、NetNewsのプロトコル「NNTP」を中継するプロキシサーバですが、SPAMを取り除くためのフィルタ機能を 備えています。

接続の仕組み

図1を見てください。これが通常の場合の接続です。

図1:通常の接続

ニュースリーダはニュースサーバに接続して記事を取り込みます。
ニュースリーダはサーバにある記事すべてを取り込むので通常の記事のほか、SPAMなどまったく不要の記事まで取り寄せてしまいます。

これに対してnntpProxyを利用した場合、図2のようにサーバに接続して実際に記事を取り込むのはnntpProxyで、ニュースリーダは nntpProxyが一度取り込んでSPAMを除外した記事だけを取り込みます。

図2:nntpProxy経由での接続

nntpProxyは、設定されたフィルタにしたがって記事一覧データ(XOVER)からSPAMを除外してニュースリーダに渡すわけです。

導入編

nntpProxyは、このページのダウンロードコーナーよりダウンロードできます。 nntpProxyの配布ファイルは自己解凍インストーラになっており、ダウンロードしたファイルを実行すれば自動的にインストーラが立ち上がります。
インストールが完了すれば、スタートメニューからnntpProxyを選んで実行するだけです。

デフォルトでは、起動するとタスクトレイに入るようになっています。 タスクトレイのアイコンを右クリックして、「モニタを表示」を選択してください。

図3:接続モニタ

このウィンドウは、接続しているクライアント(ニュースリーダ)の状態を見るためのものです。
現在はニュースリーダが接続していないので、何も表示されていません。

さて、第1段階はあなたのニュースリーダをnntpProxy経由で接続するよう設定することです。

もし、メニューの「オプション」-「ニュースリーダの設定」のなかに、あなたが現在使用しているニュースリーダがあれば設定は簡単です。 あなたのニュースリーダの名前を選べば、設定するアカウントを聞いてくるはずです。

残念ながらメニューの中に使用しているニュースリーダがなかった場合は、手動で変更することになります。
まず、あなたのニュースリーダの、サーバに関する設定を開いてください。 大体のニュースリーダは次のような設定内容になっていると思います。
(当然、名称はソフトによってそれぞれ違います。適宜読み替えましょう。)

例)Bekkoame大宮のニュースサーバへの接続設定
ニュースサーバnews.omiya.bekkoame.ne.jp
ポート番号119
ユーザ認証の使用使用しない
ユーザID(なし)
パスワード(なし)

Bekkoameのニュースサーバはユーザ認証が必要ないので、ユーザ認証は使わない設定になっています。
多くのプロバイダではユーザ認証をしていないと思うので、サーバのアドレスだけ読みかえれば問題ないと思います。

さて、nntpProxy経由でサーバに接続するためには、ニュースリーダの接続先をnntpProxyにしなければならないわけですが、 そうすると本来のニュースサーバの接続先が指定できなくなってしまいます。そこで、nntpProxyではユーザ認証と同じ手順で接続先を指定するようになっています。
上記の例をnntpproxy経由での接続に変更すると、下のようになります。

例)Bekkoame大宮のニュースサーバへの接続設定(nntpProxy経由)
ニュースサーバlocalhost
ポート番号119
ユーザ認証の使用使用する
ユーザIDnews.omiya.bekkoame.ne.jp
パスワード(なし)

「localhost」というアドレスは、特別な名前で自分自身を指すものです。もしうまくつながらない場合は かわりに「127.0.0.1」というアドレスを入力してみてください。

もし、有料サーバ等を利用していて接続するサーバにユーザ認証が必要な場合もあります。
例)NewsFreak(有料サーバ)への接続設定
ニュースサーバ210.146.4.7
ポート番号119
ユーザ認証の使用使用する
ユーザIDartin
パスワード********

これをnntpProxy経由にするとこうなります。

例)NewsFreak(有料サーバ)への接続設定(nntpProxy経由)
ニュースサーバlocalhost
ポート番号119
ユーザ認証の使用使用する
ユーザIDartin@210.146.4.7
パスワード********

Bekkoameの例と違うところはユーザIDの指定です。
サーバのユーザ認証用IDは接続先の前に書き、区切りとして「@」をはさみます。
これで矛盾なくサーバに接続でき、しかもユーザ認証が利用できます。

設定が完了したら、とりあえずちゃんとサーバに接続できるかどうか確認してください。
フィルタを設定する前に接続できるかどうか確認しておかないと、記事が表示されない場合などに、 設定が悪いのか甘すぎるフィルタが悪いのかの判断がつかなくなります。

設定の変更が完了したら、サーバのグループリストをリセットしてください。
nntpProxyはフィルタされた記事のために「nntpproxy.filtered」というローカルグループを 作成しています。これを購読リストに加えてください。

注意点:
nntpProxyを通して記事一覧を取り寄せた場合、ニュースリーダからはサーバの反応が悪いように見える場合があります。
ニュースリーダのタイムアウトの設定はできるだけ長めに取ってください。

いよいよ実践

さぁ、設定も完了し、後はフィルタを設定するだけです。
フィルタとは何かや、上手なフィルタのかけ方については、「SPAM対策講座」の 方を読んでいただくとして、ここではnntpProxy特有の機能について説明していきます。

今回のサンプルケースとして、alt.binaries.pictures.erotica.bondage(以下abpeb)というSMもの中心のグループを 例にとっていきたいと思います。

まず、メニューの「オプション」-「フィルタの編集」を選択します。

図4:フィルタの編集

導入したばかりでは、何も設定されていないと思いますが、上の画面では私が設定した条件が4つほどあります。

基本的には、Outlook Expressのフィルタの設定方法に似ていて、サブジェクト、差出人に指定する単語は、スペースで区切ります。
nntpProxyに特有なのは、フィルタのタイプが4種類あることです。
それぞれの動作は

マークを挿入
記事一覧に表示されるサブジェクトに「[---PROXY FILTERED---]」というマークを挿入します。
フィルタアウト
記事一覧から削除して「nntpproxy.filtered」というローカルグループに記事を移動します。
対象から除外
フィルタ対象から除外します。つまり上の2つに当てはまる記事でも、この除外条件に当てはまる記事はフィルタ対象からはずされます。
強制フィルタアウト
除外条件に当てはまる記事でも、強制的にフィルタ対象にします。動作は「フィルタアウト」と同じです。

それぞれのフィルタの優先順位は下に行くほど高くなりますから、「マークを挿入」と「フィルタアウト」の両方に当てはまる記事があった場合には 「フィルタアウト」が行われます。

では、説明はこれぐらいにして、実際にフィルタの編集をしてみましょう。 まず、今回のサンプルケースのabpebについて考えます。 abpebは、altのエロ画像系ではかなり古いほうで、それだけ有名です。当然SPAMもかなり多く、非常に見にくいグループになってしまっています。
しかし、そんなグループの投稿者たちは自衛手段を考えていて、記事のサブジェクトに「ABPEB」というグループの省略名を付加しています。
こうすることで、SPAMかそうでないかを見分けやすくしているわけです。
しかし、せっかくの見分け方法も、Outlook Expressのように「非表示専用」のフィルタでは活かせません。
ここで役立つのがnntpProxyの「対象から除外」機能です。

早速、このフィルタを追加してみましょう。

うまく設定できたでしょうか?

さて、ここで考えてみましょう。 除外条件を指定しても、フィルタされる記事がなければ意味がありません。 しかし、いろいろ条件を指定していくのも面倒なので、いっそのことすべての記事をフィルタ対象にしてしまいましょう。
すべての記事をフィルタ対象にするには「差出人」の欄に「@」を指定して「フィルタアウト」にします。「差出人」は投稿者のメールアドレスも含まれるので、 「@」を指定するということはメールアドレスを設定している記事、つまりすべての記事が対象になります。
すべての記事をフィルタ対象にするということは、対象から除外するフィルタが大きい意味を持ってきます。 上に書いたグループの省略名は、投稿者がつけてくれなければ意味がありません。
まず除外条件に指定できる内容を考えて整理してみましょう。

  1. グループの省略名
  2. グループに関する単語
  3. 常連投稿者の名前
  4. シリーズなどのファイル名
があげられそうです。
先ほどのグループの省略名は誰でも共通ですが、単語は設定する人の手腕にかかってきます。
また、常連投稿者の名前は少しずつ変化していくので、常に設定を見直しつづける必要があります。
ファイル名は、有名なシリーズならばいいですが、それ以外はあまり有効な手段にはなりません。

しかし、うまく設定していけば、SPAMがほとんどないグループに早変わりします。
要は、いかにそのグループの記事の特徴について理解しているかがポイントとなるでしょう。

フィルタアウトされた記事は…?

フィルタアウトは、記事一覧から消えてしまいますが、決して2度と見れなくなってしまうわけではありません。
nntpProxyがフィルタで削除した記事は「nntpproxy.filtered」というローカルグループに移動されています。
もしまだグループリストのリセットをしていない場合はグループのリストをリセットして、「nntpproxy.filetred」という グループを購読してください。
ニュースリーダで「nntpproxy.filtered」というグループを購読すれば、フィルタアウトされた記事の一覧が見られます。
ここで記事を選択すれば記事のダウンロードもできます。

効果の高さは腕次第

nntpProxyの機能はフィルタの細かい設定ができ、それにしたがってフィルタできることですが、 設定の内容まで作ってくれるわけではありません。
いかにSPAMをフィルタし本来の記事だけを残すかは、設定するあなたの腕次第です。
効率のよいフィルタを設定するためには、しばらく試行錯誤をする必要があるかもしれません。
フィルタに失敗しても、フィルタアウトされた記事が見られなくなるわけではありませんから、 いろいろ試してより効率のよいフィルタ設定を作っていってください。

nntpProxy
種別シェアウェア
価格3000円
試用期間30日
機能制限同時接続クライアントが2に制限
ダウンロードダウンロードコーナーより可能