Giải pháp thay thế SpamAssassin hỗ trợ giao thức spamd
Spam Scanner trả lời theo giao thức spamdDaemon của SpamAssassin. Giao thức của nó được spamc, Exim, Haraka và các client SpamAssassin khác sử dụng. của SpamAssassin, nên phần mềm viết cho SpamAssassin dùng được nó mà không cần thay đổi: spamc, điều kiện spam của Exim, plugin spamassassin của Haraka và các phần mềm khác.
Thay thế vào#
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-* headersNó trả lời CHECK, SYMBOLS, REPORT, REPORT_IFSPAM, PROCESS, HEADERS, PING và, với --allow-tell, cả TELL để học. Các bài kiểm thử đầu cuối của dự án chạy chính spamc của SpamAssassin với nó.
Những gì giữ nguyên#
- Các header:
X-Spam-Flag,X-Spam-Score,X-Spam-LevelvàX-Spam-Statustheo định dạng của SpamAssassin, nên các quy tắc Sieve, procmail và quy tắc của ứng dụng thư hiện có vẫn hoạt động. - Một điểm số với ngưỡng 5, gồm các phép kiểm tra có tên và điểm:
BAYES_99,RBL_ZEN,SPF_FAIL,DKIM_PASSvà các phép khác. - Có thể thay đổi điểm của từng phép kiểm tra theo tên.
Những gì khác biệt#
- Ngôn ngữ. Từ được tách theo quy tắc Unicode, nên tiếng Trung, tiếng Nhật và tiếng Thái được đọc thành từng từ thay vì một chuỗi dài, và các kiểu ngụy trang như ký tự vô hình hoặc chữ Kirin trong từ Latin được hoàn nguyên trước.
- Phishing. Tên miền giả mạo, liên kết lừa đảo và tên thương hiệu trong tên hiển thị được kiểm tra mà không cần thêm quy tắc.
- Tệp đính kèm được nhận diện qua các byte của chúng: một tệp thực thi bị đổi tên thành
.pdfvẫn là tệp thực thi. - Mô hình ngôn ngữ. Các trường hợp sát nút có thể được chuyển cho một mô hình cục bộ qua OllamaMột chương trình tải về và chạy các mô hình ngôn ngữ mở trên máy của bạn, kèm một HTTP API. hoặc một mô hình trên đám mây.
- Node.js. Một lệnh
npm install, hoặc một tệp nhị phân độc lập; không có module Perl hay bản cập nhật quy tắc nào phải quản lý.
Spam Scanner không chạy các tệp quy tắc của SpamAssassin, và định dạng cơ sở dữ liệu Bayes của nó là riêng: hãy huấn luyện nó từ cùng tập thư bằng 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