# Документация Spam Scanner

Spam Scanner — спам-фильтр для Node.js и командной строки с исходным кодом на GitHub. Он читает исходное письмо и определяет, является ли оно спамом, фишингом, мошенничеством или содержит вредоносную программу, на любом языке. Он работает как библиотека, инструмент командной строки, milter для Postfix или Sendmail, контент-фильтр Postfix, совместимый со SpamAssassin сервер spamd, HTTP API или TCP-сервер.

Его разрабатывает [Forward Email](https://forwardemail.net) для собственных почтовых серверов.


## Как оценивается письмо

Каждая проверка добавляет или снимает баллы. Итог определяет сумма:

| Оценка       | Действие | Что делает почтовый сервер         |
| ------------ | -------- | ---------------------------------- |
| Ниже 5       | `accept` | Доставляет письмо                  |
| От 5 до 14,9 | `tag`    | Доставляет его с пометкой «спам»   |
| 15 и выше    | `reject` | Отклоняет его во время SMTP-сессии |

Оба порога можно изменить. В каждом результате перечислены сработавшие тесты с баллами и причиной, поэтому любое решение можно объяснить.

Проверки:

* **Обученный классификатор** читает слова письма в любой письменности, форму его ссылок, отправителя и вложения. Он поставляется обученным на публичных наборах данных и учится на вашей собственной почте. [Как работает классификатор](https://spamscanner.net/ru/docs/how-it-works/#the-classifier)
* **Проверки на фишинг** находят похожие домены (`paypa1.com`, `pаypal.com` с кириллической «а»), ссылки, текст которых показывает один адрес, а цель ведёт на другой, и отображаемые имена, выдающие себя за бренд. [Фишинг](https://spamscanner.net/ru/docs/how-it-works/#phishing)
* **Проверки вложений** находят исполняемые файлы, исполняемые файлы, переименованные в документы, двойные расширения, трюки с письмом справа налево в имени файла, исполняемые файлы внутри ZIP-архивов, макросы Office и активное содержимое PDF. ClamAV может проверять вложения на вирусы. [Вложения](https://spamscanner.net/ru/docs/how-it-works/#attachments)
* **Аутентификация**: SPF, DKIM, DMARC и ARC, если известен IP-адрес клиента. [Аутентификация](https://spamscanner.net/ru/docs/how-it-works/#authentication)
* **Чёрные списки в DNS** для IP-адреса клиента и доменов в ссылках, а также фильтрующие резолверы Cloudflare для известных вредоносных сайтов и сайтов для взрослых. [Чёрные списки](https://spamscanner.net/ru/docs/how-it-works/#blocklists)
* **Правила** для шаблонов, которым классификатору не нужно учиться: тестовая строка GTUBE, темы писем с сексуальным вымогательством, мошеннические счета PayPal, подделка собственного домена и инструкции, скрытые для ИИ-фильтров. [Правила](https://spamscanner.net/ru/docs/scoring/#rules)
* **Языковая модель**, по желанию, даёт второе мнение в спорных случаях: локальная модель через Ollama или любой сервер, совместимый с OpenAI, модель принятия решений, например Clef от Cloudflare, либо Claude, ChatGPT, Gemini и другие. По умолчанию она за один шаг возвращает вероятность каждого вердикта, а не пишет ответ. [Языковые модели](https://spamscanner.net/ru/docs/llm/)


## С чего начать

* [Начало работы](https://spamscanner.net/ru/docs/getting-started/): установка и проверка первого письма.
* [Командная строка](https://spamscanner.net/ru/docs/cli/): все команды и параметры.
* [Postfix и Sendmail](https://spamscanner.net/ru/docs/postfix/): фильтрация почтового сервера через milter или контент-фильтр.
* [Другие почтовые серверы](https://spamscanner.net/ru/docs/mail-servers/): Exim, Haraka, Dovecot, procmail и всё, что может вызвать HTTP API.
* [Обучение](https://spamscanner.net/ru/docs/training/): обучение на вашей собственной почте и измерение результата.
* [Языковые модели](https://spamscanner.net/ru/docs/llm/): решения и генерация, измеренные точность и скорость, модели принятия решений, провайдеры, рекомендуемые открытые модели, приватность и внедрение инструкций (prompt injection).
* [Языки](https://spamscanner.net/ru/docs/languages/): как фильтр читает китайский, арабский, тайский и любую другую письменность.
* [Forward Email](https://spamscanner.net/ru/docs/forward-email/): как его использует Forward Email и как обновиться с версии 5 или 6.
* [Справочник API](https://spamscanner.net/ru/docs/api/) и [тесты и баллы](https://spamscanner.net/ru/docs/scoring/).
* [Безопасность и приватность](https://spamscanner.net/ru/docs/security/): что покидает машину и как это остановить.
