Un'alternativa a SpamAssassin che parla il protocollo spamd

Spam Scanner risponde al protocollo spamdIl demone di SpamAssassin. Il suo protocollo è usato da spamc, Exim, Haraka e altri client SpamAssassin. di SpamAssassin, quindi il software scritto per SpamAssassin lo usa senza modifiche: spamc, la condizione spam di Exim, il plugin spamassassin di Haraka e altri.

Sostituirlo#

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

Risponde a CHECK, SYMBOLS, REPORT, REPORT_IFSPAM, PROCESS, HEADERS, PING e, con --allow-tell, a TELL per l'apprendimento. I test end-to-end del progetto lo verificano con lo spamc di SpamAssassin.

Cosa resta uguale#

  • Le intestazioni: X-Spam-Flag, X-Spam-Score, X-Spam-Level e X-Spam-Status nel formato di SpamAssassin, quindi le regole esistenti di Sieve, procmail e dei client di posta continuano a funzionare.
  • Un punteggio con soglia 5, composto da test con nome e punti: BAYES_99, RBL_ZEN, SPF_FAIL, DKIM_PASS e così via.
  • I punteggi dei singoli test si possono modificare in base al nome del test.

Cosa cambia#

  • Lingue. Le parole vengono segmentate con le regole Unicode, quindi cinese, giapponese e thailandese vengono letti come parole e non come una lunga stringa, e camuffamenti come caratteri invisibili o lettere cirilliche in parole latine vengono annullati prima.
  • Phishing. Domini sosia, link ingannevoli e nomi di marchi nei nomi visualizzati vengono controllati senza regole aggiuntive.
  • Allegati: vengono identificati dai loro byte, e un eseguibile rinominato in .pdf resta un eseguibile.
  • Modelli linguistici. I casi dubbi possono passare a un modello locale tramite OllamaUn programma che scarica ed esegue modelli linguistici aperti sulla tua macchina, con un'API HTTP. o a uno in hosting.
  • Node.js. Un solo npm install, oppure un binario autonomo; nessun modulo Perl o aggiornamento delle regole da gestire.

Spam Scanner non esegue i file di regole di SpamAssassin, e il formato del suo database bayesiano è proprio: addestralo sulla stessa posta con 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 e procmail

Modifica questa pagina su GitHub · Markdown ·