これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなど、複数の無料オンライン ワークステーションのいずれかを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド qsf です。
プログラム:
NAME
qsf - クイックスパムフィルター
SYNOPSIS
フィルタリング: キューエスエフ [-snrAtav] [-d DB] [-g DB]
[-L LVL] [-S サブジェクト] [-H マーク] [-Q NUM]
[-X NUM]
トレーニング: キューエスエフ -T SPAM 非スパム [マックスラウンズ] [-d DB]
再訓練: キューエスエフ -[分|分] [-d DB] [-w 重量] [-ayN]
データベース: キューエスエフ -[p|D|R|O] [-d DB]
データベースのマージ: キューエスエフ -E その他DB [-d DB]
許可リスト クエリ: キューエスエフ -e Eメール [-m|-M|-t] [-d DB] [-g DB]
拒否リスト クエリ: キューエスエフ -y -e Eメール [-m -m|-M -M|-t] [-d DB] [-g DB]
ヘルプ: キューエスエフ -[h|V]
DESCRIPTION
キューエスエフ 標準入力で単一の電子メールを読み取り、デフォルトで標準出力に出力します。
メールがスパムと判断された場合、追加のヘッダー (「X-Spam: YES」) が追加され、
オプションで、件名の先頭に「[SPAM]」を追加することもできます。
キューエスエフ で使用することを意図しています プロメール(1) レシピ、次のようなルールセット:
:0 わーふ
| | qsf -ra
:0 時間:
* X スパム: はい
$HOME/メール/スパム
サンプルを含むその他の例については、 プロメール(1)レシピはこちらをご覧ください 例 以下のセクションをご覧ください。
トレーニング
前 キューエスエフ 適切に使用するには、トレーニングが必要です。 良いトレーニング方法 キューエスエフ にある
すべてのメールのコピーを XNUMX つのフォルダー (スパム用と非スパム用に XNUMX つずつ) に収集します。
これが完了したら、次のようにトレーニング関数を使用できます。
qsf -aT スパムフォルダー 非スパムフォルダー
これにより、次で使用できるデータベースが生成されます。 キューエスエフ 電子メールが受信されたかどうかを推測する
未来はスパムかどうか。 この最初のトレーニングの実行には時間がかかる場合がありますが、
一度だけ実行する必要があります。
マークするには メッセージ as スパムにパイプして、 キューエスエフ --マーク-スパム or -m ("としてマークする
spam") オプション。これにより、それに応じてデータベースが更新され、電子メールが破棄されます。
マークするには メッセージ as 非スパムにパイプして、 キューエスエフ --マーク-非スパム or -M ("マーク
as non-spam") オプション。繰り返しますが、これは電子メールを破棄します。
メッセージのタグ付けが間違っている場合は、単に次の宛先に送信してください: キューエスエフ 反対のタイプとして、つまり
誤ってスパムとしてタグ付けされている場合は、パイプしてください キューエスエフ --マーク-非スパム -- 重量 = 2 それを追加する
通常の XNUMX 倍の重み付けで、データベースの非スパム側に送信します。
OPTIONS
当学校区の キューエスエフ オプションを以下に示します。
-NS、 -データベース [タイプ:]ファイル
FILE スパム/非スパム データベースとして。 デフォルトは使用することです /var/lib/qsfdb そして、
それが利用できないか、読み取り専用の場合、 $HOME/.qsfdb. このオプションは、
システム全体のデータベースがあるが、それを使用したくない場合に便利です -
ここで独自のものを指定すると、デフォルトが上書きされます。
ファイル名の前に タイプ、形式の btree:$HOME/.qsfdbじゃあこれ
データベースの種類を指定します FILE のようなものです リスト, ツリー, gdbm, sqlite
すぐ。 の出力を確認してください キューエスエフ -V 利用可能なデータベース バックエンドを確認します。
デフォルトでは、タイプを自動検出するか、ファイルがまだ存在しない場合は、
リスト。 ご了承ください タイプ 大文字と小文字は区別されません。
-NS、 - グローバル [タイプ:]ファイル
FILE 代わりに、デフォルトのグローバルデータベースとして /var/lib/qsfdb. あなたも
でデータベースを指定する -d、この「グローバル」データベースは読み取り専用で使用されます
で指定された読み取り/書き込みデータベースと組み合わせたモード -dを選択します。 -g オプション
XNUMX 回目に使用して XNUMX 番目のデータベースを指定できます。
読み取り専用モード。 繰り返しますが、ファイル名にはオプションで接頭辞を付けることができます。 タイプ which
データベースの種類を指定します。
-NS、 --プレーンマップ FILE
すべてのデータベース トークンのハッシュされていない対応するトークンへのマッピングを維持します。 FILE,
XNUMX 行に XNUMX つのトークン。 これは、コンテンツを一覧表示できるようにする場合に役立ちます。
後日、データベースのメールアドレスのリストを取得するなど
あなたの許可リスト。 このオプションを使用すると遅くなる場合があることに注意してください キューエスエフ ダウン、エントリのみ
このオプションがアクティブなときにデータベースに書き込まれたデータは、次の場所に保存されます FILE.
-s、 - 主題
スパムであることが判明した電子メールの件名を書き直して、「[SPAM]」を追加します
行の始まり。
-NS、 --件名マーカー SUBJECT
「[SPAM]」を追加する代わりに、 SUBJECT メールの件名に
スパムであることが判明しました。 示す -s.
-NS、 --ヘッダーマーカー マーク
X-Spam ヘッダーを「YES」に設定する代わりに、 マーク 電子メールが
スパムであること。 これは、電子メール クライアントがすべてのヘッダーのみを検索できる場合に役立ちます。
XNUMX つの特定のヘッダーではなく文字列です (そのため、"YES" を検索すると、より多くのヘッダーに一致する可能性があります
の出力だけでなく キューエスエフ).
-NS、 -ヘッダーなし
メッセージに X-Spam ヘッダーを追加しないでください。
-NS、 --評価を追加
の「スパム性」の評価である追加ヘッダー X-Spam-Rating を挿入します。
0 から 100 までのメッセージ。 90 以上はスパムとしてカウントされ、90 未満はスパムとしてカウントされません
スパムと見なされます。 と組み合わせると -t、その後、評価 (0-100) が出力されます。
独自の標準出力。
-NS、 - アスタリスク
0 ~ 20 を含む追加ヘッダー X-Spam-Level を挿入します
アスタリスク (*)、スパム評価に応じて。
-NS、 - テスト
メッセージを標準出力に渡す代わりに、何も出力せず、0 で終了します。
メッセージがスパムでない場合は終了し、メッセージがスパムの場合は 1 を終了します。 と組み合わせると -r,
次に、スパム評価が標準出力に出力されます。
-a、 --許可リスト
許可リストを有効にします。 これにより、メッセージの
「From:」および「Return-Path:」ヘッダーをリストと照合してチェックします。 どちらかなら
一致する場合、そのメッセージは常に非スパムとして扱われます。
トークンデータベースは言う。 再訓練フラグで指定すると、 -a -m (スパムとしてマーク)
許可リストからそのアドレスを削除し、メッセージを次のようにマークします
スパム、および -a -M (非スパムとしてマーク)は、そのアドレスも許可リストに追加します
メッセージを非スパムとしてマークします。 アイデアは、すべての友達を追加することです
許可リストに追加すると、メッセージがスパムとしてマークされることはありません。
-y、 --拒否リスト
拒否リストを有効にします。 これにより、メッセージの
「From:」および「Return-Path:」ヘッダーは、XNUMX 番目のリストと照合してチェックされます。 いずれかの場合
XNUMX つが一致した場合、そのメッセージは常にスパムとして扱われます。 トレーニングは
と同じように -aただし、指定する必要があります -m or -M を XNUMX 回変更します。
allow-list の代わりに deny-list を使用し、逆の構文を使用します。 -y -m -m (としてマークする
spam) はそのアドレスを拒否リストに追加しますが、 -y -M -M (非スパムとしてマーク)
そのアドレスを拒否リストから削除します。 この二重仕様は、
通常の再トレーニング プロセスでは、拒否リストに触れることはありません。 拒否リストは
自動的に生成されるのではなく、慎重に維持されます。
通常、拒否リストを使用する必要はありません。
-L、 - レベル、 - しきい値 LEVEL
電子メールが送信される前に到達する必要があるスパム スコアリングのしきい値レベルを変更します。
スパムに分類されます。 デフォルトは 90 です。
-NS、 --min-tokens NUM
以上の場合にのみスコアを与える NUM トークンがメッセージ内にある場合 - それ以外の場合は、
メッセージは非スパムと見なされ、いかなる方法でも変更されません。 デフォルト
は 0 です。このオプションは、非常に短いメッセージが送信されている場合に役立ちます。
よく分類を間違えます。
-e、 - Eメール、 --メールのみ Eメール
電子メール アドレスの許可リスト エントリを照会または更新する Eメール. 他にない
オプションの場合、これは単純に「YES」を出力します Eメール 許可リストにある場合、または「いいえ」の場合
ではありません。 と -t、何も出力しませんが、次の場合は 0 (成功) で終了します。 Eメール is
そうでない場合は 1 (失敗)。 とともに -m (マーク-スパム) オプション、任意
の以前の許可リスト エントリ Eメール 削除されます。 最後に、 -M (マーク-
非スパム) オプション、 Eメール まだ許可リストにない場合は、許可リストに追加されます。
If Eメール ただの言葉です MSG 単独で、電子メールは標準から読み取られます
入力すると、"From:" および "Return-Path:" ヘッダーで指定された電子メール アドレスが
利用される。
使い方 -e 自動的にスイッチオン -a.
も指定すると -y、次に拒否リストが操作されます。 覚えておいてください -m
-M 拒否リストで逆になります。
フォームのメールアドレスを指定する場合 @ドメイン (@ の前に何もない)、その後
全体 ドメイン 許可または拒否リストになります。
-v、 -詳細
追加する X-QSF-情報 エラーメッセージを含む、フィルタリングされた電子メールへのヘッダー
該当する場合など。 特定 -v 冗長性を高めるために複数回。
-NS、 - 訓練 SPAM 非スパム [マックスラウンド]
XNUMX つの mbox フォルダーを使用してデータベースをトレーニングする SPAM 非スパム、それぞれをテストすることによって
メッセージが各フォルダに格納され、メッセージが送信されるたびにデータベースが更新されます
誤分類。 これは数回行われ、実行に時間がかかる場合があります。 特定
-a (許可リスト) フラグですべての送信者を 非スパム フォルダーを許可する-
トレーニング プロセスの副作用として挙げます。 もしも マックスラウンズ 指定された、トレーニング
結果がまだ十分でない場合、このラウンド数の後に終了します。 の
デフォルトは最大 200 ラウンドです。
-NS、 --マーク-スパム
メッセージを標準出力に渡す代わりに、その内容をスパムとしてマークする
それに応じてデータベースを更新します。 許可リスト (-a) が有効になっている場合、
メッセージの「From:」および「Return-Path:」アドレスは許可リストから削除されます。 もしも
拒否リスト (-y) が有効で、指定する -m XNUMX 回、メッセージのアドレスは
代わりに拒否リストに追加されました。
-NS、 --マーク-非スパム
メッセージを標準出力に渡す代わりに、その内容を非
スパムし、それに応じてデータベースを更新します。 許可リスト (-a) が有効になっている場合、
メッセージの「From:」および「Return-Path:」アドレスが許可リストに追加されます (
-a 上記のオプション)。 拒否リスト (-y) が有効で、指定する -M 二回、
代わりに、メッセージのアドレスが拒否リストから削除されます。
-w、 - 重さ 重量
スパムまたは非スパムとしてマークする場合、次の重み付けでデータベースを更新します。 重量
デフォルトの 1 ではなくトークンごと。
スパムとして誤って検出されたメッセージは、非スパムとしてマークする必要があります
エラーを打ち消すために、2 の重み付け、つまり通常の重み付けの XNUMX 倍を使用します。
-NS、 - ごみ [ファイル]
データベースの内容を、プラットフォームに依存しないテキスト ファイルとしてダンプします。
アーカイブ、別のマシンへの転送など。 データは stdout または
与えられた中に FILE.
-NS、 - 戻す [ファイル]
stdin のテキスト ファイルからデータベースを最初から再構築します。 もし FILE 与えられる、
データは標準入力からではなく、そこから読み取られます。
-O、 -トークン
フィルタリングする代わりに、メッセージから読み取ったトークンのリストを出力します。
標準入力と、各トークンが見つかった回数。 これだけです
使いたい場合に便利 キューエスエフ 別のフィルタリングで使用するための一般的なトークナイザーとして
パッケージ。
-E、 - マージ その他DB
をマージ その他DB データベースを現在のデータベースに追加します。 これは、次の場合に役立ちます。
たとえば、あるユーザーのメールボックスを取得して、システム全体のメールボックスにマージしたい
(これは、ルートとして、 キューエスエフ -d /var/lib/qsfdb -E /ホーム/ユーザー/.qsfdb
そして削除します /ホーム/ユーザー/.qsfdb).
-NS、 - 基準 SPAM 非スパム [マックスラウンド]
XNUMX つの mbox フォルダーを使用してトレーニング プロセスをベンチマークする SPAM 非スパムに直接影響を与えます。健全とされるのは
一時データベースは、最初の 75% のメッセージを使用して作成およびトレーニングされます。
次に、各フォルダーの内容全体をテストして、いくつあるかを確認します。
偽陽性と偽陰性が発生します。 いくつかのタイミング情報も
表示されます。
これは、システムに最適なバックエンドを決定するために使用できます。 使用する -d 選択する
バックエンド、例えば キューエスエフ -B スパム 非スパム -d GDBM - これにより、一時データベースが作成されます
これは後で削除されます。
これに対する例外は、MySQL バックエンドです。ここでは、完全なデータベース仕様が
を指定する必要があります (-d MySQL:データベース=db;ホスト=localhost;...) とデータベース テーブル
与えられたものは、事前にワイプされたり、後で削除されたりすることはありません。
屈折計と同様に、この類の検証は官能評価と並行して行うべきです。一般的に、抽出が進むにつれて高温になる抽出方法は、抽出が成功する確率が低い傾向にあります。 -T、もし マックスラウンズ が指定されている場合、トレーニングは決して行われません。
このラウンド数; デフォルトは 200 です。
-NS、 - 助けて
標準出力に使用法メッセージを出力し、正常に終了します。
-V、 - バージョン
利用可能なデータベース バックエンドのリストを含むバージョン情報を
標準出力し、正常に終了します。
廃止 OPTIONS
次のオプションは、古いバイナリ ツリー データベース バックエンドまたは古い
バージョン 1.1.0 で導入された新しいフォーマットにアップグレードされていないデータベース。
-NS、 --自動プルーンなし
スパムまたは非スパムとしてマークする場合、データベースを自動的にプルーニングしないでください。 いつもの
データベースは 500 マークごとに削除されます。 あなたがむしろ望むなら - プルーン 手動で
つかいます -N 自動プルーニングを無効にします。
-NS、 - プルーン
データベースから冗長なエントリを削除し、少しクリーンアップします。 これは
を数回呼び出した後、自動的に実行されます --マーク-スパム or --マーク-非スパム、および
とのトレーニング - 訓練 トレーニングに多数のラウンドが必要な場合は、
使用する必要はほとんどありません - プルーン 使用していない限り、手動で -N /
--自動プルーンなし.
-NS、 --プルーンマックス NUM
データベースがプルーニングされているときは、 NUM エントリが考慮されます
除去。 これは、CPU とメモリのリソースが乗っ取られるのを防ぐためです。 の
デフォルトは 100,000 ですが、状況によっては (プルーニングに時間がかかりすぎる場合)
long) このオプションを使用して、より管理しやすい数に減らすことができます。
onworks.net サービスを使用してオンラインで qsf を使用する