привожу copy-paste письма, отправленного в лист bayesit@nobat.
Version 0.5.7
[https://www.ritlabs.com/download/bayesit/bayesit057.rar]
- the filter always used "enhanced judjing" and doesn't look at the appropriate option's flag
+ black/white lists filtering (with the same syntaxis as K9 filter uses) (see http://keir.net/k9_lists.html for details)
Note that b/w filtering may need a PCRE.dll library (if you use "match" keyword in the lists). This library
is included into distribution, and also you can find it at www.pcre.org. Place this library into the
same dir where TheBat.exe is located.
С этой версии начинаем тестировать чёрно-белые списки фильтрации.
Синтаксис списков такой же, как у фильтра K9. Ниже приведено краткое описание.
Правило в любом списке представляет собой строку вида:
Subject nocase contains :university diploma
В общем случае правило состоит из ключевого слова (в данном случае - Subject),
за которым может следовать несколько модификаторов, затем стоит двоеточие, сразу
же за которым следует искомая строка.
Ключевые слова используются для задания области поиска искомой фразы. Всего их 6.
Any - поиск во всём письме, включая заголовки. Используется по умолчанию, если
в правиле не задано ни одно ключевое слово
Header - поиск в RFC-заголовках письма.
Subject - поиск в поле "Тема"
From - поиск в поле "От"
To - поиск в поле "Кому"
Cc - поиск в поле "Копия"
Bcc - поиск в поле "Скрытая копия"
Body - поиск в теле письма. Заголовки не исследуются.
Ключевые слова Any, Header и Body производят поиск в "сырых" данных, никак не
пытаясь их декодировать.
Остальные ключевые слова производят поиск в полях, преобразованных к их
окончательному виду, т.е. если в "сыром" письме поле Subject выглядит как
"=?KOI8-R?Q?=F3=D4=D2=C1=CE=CE=CF?=", то при поиске по ключевому слову Subject
оно будет декодированно в "Странно", и поиск будет производится в декодированной
строке.
Модификаторы ключевых слов используются для задания способа поиска искомой
фразы. Фильтр поддерживает следующие модификаторы:
Contains - поиск фразы ведётся в любом месте области поиска. Этот модификатор
используется по умолчанию.
Equals - фраза должна в точности совпадать с областью поиска.
Starts - область поиска должна начинаться с искомой фразы.
Ends - область поиска должна заканчиваться искомой фразой.
Matches - искомая фраза представляет собой регулярное выражение, и область
поиска должна удовлетворять этому выражению.
Case - проверяется совпадение фразы с учётом регистра символов.
Nocase - проверяется совпадение фразы без учёта регистра символов. Этот
модификатор используется по умолчанию.
Not - инвертирует условия поиска.
Несколько примеров:
Here are some examples.
Any nocase contains:sildenafil
находит слово sildenafil в любом месте письма, не заботясь о регистре слова. Это
же правило можно записать иначе:
Any :sildenafil
и просто
:sildenafil
- поскольку ключевое слово "Any" и модификаторы Nocase и Contains используются
по умолчанию и потому могут быть опущены.
Body case :CLICK HERE
находит фразу "CLICK HERE" если она присутствует в теле письма в заглавном
регистре. Учтите, что поиск длинных фраз может не сработать, если фраза в письме
разделена переносом каретки или HTML-комментарием.
From :<big@boss.com>
находит фразу <big@boss.com> если она присутствует в поле "От"
Header :X-YahooFilteredBulk
находит фразу X-YahooFilteredBulk если она присутствует в заголовках письма,
независимо от регистра символов.
Subject :а
находит одиночную букву "а", независимо от регистра, в поле "Тема".
Header case :FROM: "Microsoft
находит фразу "FROM: "Microsoft" в любом месте заголовков письма, но только в
том случае, если она совпадает по регистру букв.
Subject :
(после двоеточия следуют 5 пробелов) - находит 5 пробелов в поле "тема", что
часто является признаком спама.
Header case not contains :To:
удовлетворяет письму, у которого в заголовках нет слова "To:" с совпадением
регистра.
Наконец, любая строка, начинающаяся с диеза (#) расценивается как комментарий.
При этом строка комментария, непосредственно предшествующая какому-либо правилу,
считается его именем и будет выведена в файл журнала в случае успешной
фильтрации какого-либо письма при помощи указанного правила.
# Это правило "белого" списка для приёма всех писем от Фреда
From :fred@hotmail.com
Регулярные выражения
Фильтрация по чёрно-белым спискам поддерживает регулярные выражения в
модификаторе match при помощи внешней библиотеки PCRE. Перед тем, как
воспользоваться данным модификатором вам необходимо скачать библиотеку PCRE и
поместить файл pcre.dll в ту же папку, где расположен thebat.exe (в будущем
можно будет задавать другой путь к библиотеке). Найти данную библиотеку можно в
дистрибутиве фильтра, а также скачать по адресу:
http://gnuwin32.sourceforge.net/packages/pcre.htm
После копирования библиотеки в нужное место перезапустите The Bat! Если ваш
чёрный/белый список использует правила с модификатором match, то bayesit
попытается загрузить pcre и скомпилировать регулярное выражение. при этом в
журнале фильтра вы увидите соответствующие записи. Там же можно найти
диагностические сообщения об ошибках загрузки библиотеки, либо о синтаксических
ошибках в ваших регулярных выражениях.
--------------------------------------------------------------------------------
Примеры правил с использованием регулярных выражений:
# Fake Microsoft attachments
Any nocase matches ?s)From:[\s]*[\S]*\@microsoft.com\r\n.*\[Attachment\!
# Xanax
Any nocase matches :x.{0,2}[a@].{0,2}n.{0,2}[a@].{0,2}x
Any nocase matches :[a@].{0,2}x.{0,2}[a@].{0,2}n.{0,2}x
# Cialis
Any nocase matches :c.{0,2}[\|li1н\!].{0,2}[a@].{0,2}[\|li1н\!].{0,2}[\|li1н\!].{0,2}s
# P*nis
Any nocase matches [\W_]{0,2}[e3][\W_]{0,2}[n][\W_]{0,2}[\|li1н\!][\W_]{0,2}[s5]
# Viagra
Any nocase matches :v.{0,2}[\|li1н\!].{0,2}[a@].{0,2}g.{0,2}r.{0,2}[a@]
# Common executable attachments
Body nocase matches :\[Attachment!(exe|bat|cmd|pif|scr|com):
Более подробное описание работы с регулярными выражениями можно найти в справке
The Bat!
Файлы с чёрными/белыми списками нужно поместить в рабочую папку фильтра, с
именами blacklist.txt и whitelist.txt соответственно. При работе наивысший
приоритет имеют записи из "белого" списка, затем письмо проверяется по чёрному
списку, и в последнюю очередь обрабатывается "родным" алгоритмом Байеса.
В данной версии плагина недоступно редактирование списков через меню плагина. В
случае необходимости файлы со списками нужно выправить в "блокноте", сохранить,
а затем перезапустить The Bat! В будущем редактирование списков будет возможно
напрямую из The Bat!