Alternatif SpamAssassin yang memakai protokol spamd
Spam Scanner menjawab protokol spamdDaemon SpamAssassin. Protokolnya digunakan oleh spamc, Exim, Haraka, dan klien SpamAssassin lainnya. milik SpamAssassin, sehingga perangkat lunak yang ditulis untuk SpamAssassin dapat memakainya tanpa perubahan: spamc, kondisi spam di Exim, plugin spamassassin di Haraka, dan lainnya.
Ganti dengan Spam Scanner#
sudo systemctl disable --now spamd # or spamassassin
npm install --global spamscanner
spamscanner spamd --port 783 --authspamc -c < message.eml # prints the score, exits 1 for spam
spamc -R < message.eml # the report, one line per test
spamc < message.eml # the message with X-Spam-* headersSpam Scanner menjawab CHECK, SYMBOLS, REPORT, REPORT_IFSPAM, PROCESS, HEADERS, PING, dan, dengan --allow-tell, TELL untuk pembelajaran. Tes end-to-end proyek ini menjalankan spamc milik SpamAssassin sendiri terhadapnya.
Yang tetap sama#
- Header:
X-Spam-Flag,X-Spam-Score,X-Spam-Level, danX-Spam-Statusdalam format SpamAssassin, sehingga aturan Sieve, procmail, dan klien email yang sudah ada tetap berfungsi. - Skor dengan ambang batas 5, tersusun dari tes bernama dengan poin:
BAYES_99,RBL_ZEN,SPF_FAIL,DKIM_PASS, dan seterusnya. - Skor per tes dapat diubah berdasarkan nama tes.
Yang berbeda#
- Bahasa. Kata-kata disegmentasi dengan aturan Unicode, sehingga bahasa Tionghoa, Jepang, dan Thai dibaca sebagai kata, bukan satu string panjang, dan penyamaran seperti karakter tak terlihat atau huruf Sirilik dalam kata Latin dibongkar terlebih dahulu.
- Phishing. Domain tiruan, tautan menipu, dan nama merek di nama tampilan diperiksa tanpa aturan tambahan.
- Lampiran dikenali dari byte-nya: file executable yang diganti namanya menjadi
.pdftetaplah file executable. - Model bahasa. Kasus yang meragukan dapat diteruskan ke model lokal melalui OllamaProgram yang mengunduh dan menjalankan model bahasa terbuka di mesin Anda sendiri, dengan HTTP API. atau ke model yang di-hosting.
- Node.js. Satu
npm install, atau binary mandiri; tidak ada modul Perl atau pembaruan aturan yang perlu dikelola.
Spam Scanner tidak menjalankan file aturan SpamAssassin, dan format basis data Bayes-nya berbeda: latih dari email yang sama dengan spamscanner train.
Exim#
spamd_address = 127.0.0.1 783
# in the DATA ACL
warn spam = nobody:true
add_header = X-Spam-Score: $spam_score
defer spam = nobody:true
condition = ${if >={$spam_score_int}{150}}
message = Message rejected as spam