Une alternative à SpamAssassin qui parle spamd

Spam Scanner répond au protocole spamdLe démon de SpamAssassin. Son protocole est parlé par spamc, Exim, Haraka et d’autres clients SpamAssassin. de SpamAssassin : les logiciels écrits pour SpamAssassin l’utilisent donc sans modification, qu’il s’agisse de spamc, de la condition spam d’Exim, du plugin spamassassin de Haraka ou d’autres.

Le mettre à la place#

Shell
sudo systemctl disable --now spamd       # or spamassassin
npm install --global spamscanner
spamscanner spamd --port 783 --auth
Shell
spamc -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-* headers

Il répond à CHECK, SYMBOLS, REPORT, REPORT_IFSPAM, PROCESS, HEADERS, PING et, avec --allow-tell, à TELL pour l’apprentissage. Les tests de bout en bout du projet utilisent le propre spamc de SpamAssassin contre lui.

Ce qui ne change pas#

  • Les en-têtes : X-Spam-Flag, X-Spam-Score, X-Spam-Level et X-Spam-Status au format de SpamAssassin ; les règles Sieve, procmail et de logiciel de messagerie existantes continuent donc de fonctionner.
  • Un score avec un seuil de 5, composé de tests nommés dotés de points : BAYES_99, RBL_ZEN, SPF_FAIL, DKIM_PASS, etc.
  • Les scores de chaque test sont modifiables par nom de test.

Ce qui diffère#

  • Langues. Les mots sont segmentés selon les règles Unicode : le chinois, le japonais et le thaï sont lus comme des mots et non comme une seule longue chaîne, et les déguisements comme les caractères invisibles ou les lettres cyrilliques dans des mots latins sont d’abord neutralisés.
  • Hameçonnage. Les domaines sosies, les liens trompeurs et les noms de marque dans les noms d’affichage sont vérifiés sans règles supplémentaires.
  • Les pièces jointes sont identifiées par leurs octets : un exécutable renommé en .pdf reste un exécutable.
  • Modèles de langage. Les cas limites peuvent être confiés à un modèle local via OllamaUn programme qui télécharge et exécute des modèles de langage ouverts sur votre propre machine, avec une API HTTP. ou à un modèle hébergé.
  • Node.js. Un seul npm install, ou un binaire autonome ; aucun module Perl ni aucune mise à jour de règles à gérer.

Spam Scanner n’exécute pas les fichiers de règles de SpamAssassin, et le format de sa base bayésienne lui est propre : entraînez-le à partir du même courrier avec spamscanner train.

Exim#

Text
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

Exim, Haraka, Dovecot et procmail

Modifier cette page sur GitHub · Markdown ·