月別アーカイブ: 2022年2月

BkBsfilWrapper

Becky! でスパムフィルタを実現するためのプラグイン。
公開されてからかなり経過してるのと、フィルタのコアとなる bsfilter を最新(とはいえ、こちらもかなり前)のものを使おうとするとインストールの際に Ruby もインストールする必要があるなど、若干クセがあるので、備忘録がてら記事にした次第。

同じ bsfilter ライブラリを利用したプラグインとして、bkbsfilter なるものも以前あったようだが、こちらはサイトが閉鎖された模様。
おそらく現在で bsfilter を利用した Becky! プラグインの唯一なものではないかと。

インストール手順などは上記プラグイン配布元の解説があるので、そちらを参照の事。

上記サイトとは別に bsfilter、さらに bsfilter の最新版を利用する場合は Ruby もインストールする必要あり。

上記サイトから最新版をダウンロードすればよいかと。

Ruby のインストール手順については、別途ググってインストール。
ただしインストールの際は、Ruby 2系を使用すること、最新バージョンの Ruby 3系は不可。

Ruby 2系を使うこと、Ruby 3系だと正しく動作しない

bsfilter 自体が 2系時代(しかも初期)に作成されたもの。
そして Ruby は2系 ⇒ 3系になった際にサポートされなくなった機能(仕様? 文法?)があるようで、それらが影響しているのかはわからないが、bsfilter スクリプトが途中でエラー終了してしまう。

これらは Becky! に bkbsfilter プラグイン導入後して動作させると、受信時の動作が明らかにスローダウンするうえ、フィルターに一切引っかからないなど挙動が起こすので容易に分かる。
もしこの挙動が確認されたら、Ruby のバージョンを疑うこと。

ちなみに Ruby 3系と2系を同一マシンにインストールしても問題なさそう。
BkBsfilWrapper 上で使用する Ruby は、プラグインの設定内でプログラムパスを直接指定する設定する。そのため環境変数 Path の影響を受けないように実装されている。

もし開発環境としてRuby 3系を利用している場合は、別ディレクトリに Ruby 2系をインストールすれば同居可能。
(同居については、この記事の主体ではないので省略。2系⇔3系の切替方法や Path の変更方法など色々調べたうえで、自己責任で。)

Ruby 2系のバージョン

執筆時点での Ruby 2系のバージョンは最新版の 2.7.5 を利用しているが、今のところ動作に問題はなさそう。