После двух лет разработки и четырёх лет с момента прошлого значительного выпуска представлен (https://blogs.apache.org/foundation/entry/the_apache_softwar... релиз платформы для организации фильтрации спама - SpamAssassin 3.4.0 (http://spamassassin.apache.org). Код SpamAssassin написан на языке Perl и распространяется в рамках лицензии Apache. SpamAssassin является одним из самых эффективных и широкоиспользуемых платформ для фильтрации спама. По данным январской статистики загрузки обновлений правил фильтрации спама пакет используется на более чем миллионе почтовых серверов.Наряду с http-сервером Apache, SpamAssassin включен изданием eWeek в список 11 технологий Apache, которые изменили компьютерные системы за последние 10 лет.
В SpamAssassin реализован комплексный подход в принятии решения о блокировании: сообщение подвергается ряду проверок (контекстный анализ, черные и белые списки DNSBL, обучаемые байесовские классификаторы, проверка по сигнатурам, аутентификация отправителя по SPF и DKIM и т.п.). После оценки сообщения разными методами, накапливается определенный весовой коэффициент. Если вычисленный коэффициент превышает определенный порог - сообщение блокируется или помечается как спам. Поддерживаются средства автоматического обновления правил фильтрации. Пакет может использоваться как на клиентских, так и на серверных системах.Особенности нового выпуска:
- Реализация поддержки IPv6;
- Улучшение технологии блокирования с использованием проверки по черным спискам через DNS (DNSBL);
- Реализация высокомасштабируемых вероятностных байесовских фильтров (http://ru.wikipedia.org/wiki/%D0%91%D0%B... с хранением накопленных статистических данных в БД Redis.
URL: https://blogs.apache.org/foundation/entry/the_apache_softwar...
Новость: http://www.opennet.me/opennews/art.shtml?num=39065
Ну слава богу, я уже думал что проект впал в глубокую стагнацию и давно не развивается.
Неплохо бы уже переписать его на чем-нибудь вменяемом - C++, или хотя бы питоне или PHP. Глядишь и популярность подымется.Основная проблема таких умирающих олдскульных проектов (sendmail, spamassasin, ...) на перле - оно тупо несаппортабельно и очень плохо поддается модификации под собственные нужды.
С PHP получился перебор, без него я бы решил что это всё-таки не троллинг.
> С PHP получился перебор, без него я бы решил что это всё-таки не троллинг.Это всерьез не троллинг, в данном случае PHP подразумевается именно в прямой своей функции - как удобная и гибкая обвязка вокруг различных сишных библиотек :) Прелесть - в читабельности, и отсутствии необходимости постоянно перелинковывать код при отладке.
Да, можно еще на жаве переписать, но у нее рантайм выйдет даже потяжелее. Плюс-таки махровая проприетарь, если каноничная.
PHP, конечно хорош, но лучше обратить внимание на более динамически развивающиеся языки с огромным пулом профессиональных программистов, чтобы нивелировать вклад фанатичных студентиков, например, C#.
> PHP, конечно хорош, но лучше обратить внимание на более динамически развивающиеся языки
> с огромным пулом профессиональных программистов, чтобы нивелировать вклад фанатичных
> студентиков, например, C#.Можно и на C#, на там то же, что и с джавой - нев****нных размеров рантайм, и махровая проприетарь с вендорлоком.
Плюсы всем хороши в данном аспекте, за исключением одного - изменил в одном из макросов/темплейтов в часто юзаемом хедере плюс на минус, и будь добр пересобрать полпроекта.
> PHP, конечно хорош, но лучше обратить внимание на более динамически развивающиеся языки с огромным пулом профессиональных программистов, чтобы нивелировать вклад фанатичных студентиков, например, C#.Это C# как раз формирует субкультуру юношей бледных со взором горящим.
А на PHP просто лабают за бабки.Тем временем, матерые профессионалы вообще с жабы не слезали.
"Матерые профессионалы" используют инструмент под задачи, а не с оглядкой на моду и понты.
> "Матерые профессионалы" используют инструмент под задачи, а не с оглядкой на моду и пoнты.Для этого нужно знать много инструментов. Поэтому навыки владения каждым из них у ваших "профессионалов" будут уступать навыкам реальных профессионалов - очень узких специалистов.
Не они выбирают инструмент под задачи, а их направляют туда, где их навыки востребованы.
Навыки владения, конечно, будут немного уступать, но обычно намного эффективней использовать для вкручивания шурупов всё-таки шуруповерт, которым профессионал владеет на 90%, чем молоток, которым узкий специалист владеет на 100%.
Вы, видимо не поняли, что Вам написали.
В контексте Вашего сообщения: Узкого специалиста по молоткам отправят на работу по забиванию гвоздей
Вы, видимо, не очень видели матёрых профессионалов, и представляете себе какой "утренний развод на работы" PHP-шников первого года обучения.
> Это всерьез не троллинг, в данном случае PHP подразумевается именно в прямой
> своей функции - как удобная и гибкая обвязка вокруг различных сишных
> библиотек :) Прелесть - в читабельности, и отсутствии необходимости постоянно перелинковывать код при отладке.По всем этим параметрам - posix shell подходит гораздо лучше.
Ээээ - это главное преимущество PHP перед Perl ?
> Ээээ - это главное преимущество PHP перед Perl ?Читабельность? Одно из. В принципе почти любой из используемых всерьёз языков имеет это преимущество перед Perl.
Скажи что просто не осилил Perl:))
> Скажи что просто не осилил Perl:))Ну что же поделаешь если подрастающее племя - слабаки?
Кстати - покажите мне реализацию SA __не__ на Перле?
А хрен - это тот редкий случай когда язык был выбран под задачу абсолютно точно!
>Это всерьез не троллинг, в данном случае PHP подразумевается именно в прямой своей функции - как удобная и гибкая обвязка вокруг различных сишных библиотек :)Perl - это не только удобная и гибкая обвязка вокруг различных сишных библиотек, но ещё и большое внимание к совместимости и удобные и быстрые регулярки, на которые половина SpamAssassin'а завязана.
>Прелесть - в читабельности, и отсутствии необходимости постоянно перелинковывать код при отладке.
Освой Perl, читабельность будет такая же. Проблем-то. PHP не сильно читабельнее Perl'а. Лучше уж бидон, который - не вариант, потому что такая же хреновая _платформа_, как и PHP (в каждом релизе что-то устаревает, а модули в массе - говно, за редкими исключениями).
Вместо бидона по читабельности, и в качестве альтернативы голому C++, можно предложить lua. Читабелен, быстр и модули повменяемее.
Был бы для Lua еще CPAN.
> Был бы для Lua еще CPAN.Этого, уж извините, нет. Это отдельное культурное явление, которое не удалось воспроизвести ни Python'у, ни PHP. Есть такой вот каталог: http://luaforge.net/projects/
Ну так и я о чем - свалки есть, а CPAN'a нет. Нигде. Совсем. Мистика какая-то.Ну а так-то luarocks есть.
rspamd
Эх, так и не нашел времени его попробовать. Есть какой-то опыт?
Опыт есть.
Работает, тюнить под себя можно сколько угодно, баги есть, быстрый.
> Опыт есть.
> Работает, тюнить под себя можно сколько угодно, баги есть, быстрый.Смущает наличие багов. Какие встречались? Насколько критичные?
0.6.7 достаточно стабильный.
Корок в продакшене я от него не видел. Правда там оторвана обработка SIGHUP, так что только хардкор, только TERM или KILL.
Плюс ловил баг обработки писем с корявой mime частью (где то в < 0.6.7).Такого что рандомные, постоянные, сегфолты, утечки памяти или что-то подобное - нет.
Автор адекватен, спрашивал о всех проблемах его в IRC, получал ответы :)Видно, что писался rspamd под нужды и требования больших почтовых хостингов e.g. возможность репликации логов обучения bayes, возможность обучения через HTTP bayes, fuzzy, возможность проверки писем через HTTP.
15К писем менеджера на xen контейнере с гигом мозгов и двумя ядрами проверялись наверное около 5 минут
> 0.6.7 достаточно стабильный.
> Корок в продакшене я от него не видел. Правда там оторвана обработка
> SIGHUP, так что только хардкор, только TERM или KILL.
> Плюс ловил баг обработки писем с корявой mime частью (где то в
> < 0.6.7).
> Такого что рандомные, постоянные, сегфолты, утечки памяти или что-то подобное - нет.Это хорошо, спасибо.
> Автор адекватен, спрашивал о всех проблемах его в IRC, получал ответы :)
Автор мне знаком по блогу и статьям в "Системном администраторе", это Всеволод Стахов.
> Видно, что писался rspamd под нужды и требования больших почтовых хостингов e.g.
> возможность репликации логов обучения bayes, возможность обучения через HTTP bayes, fuzzy,
> возможность проверки писем через HTTP.Для Rambler'а делалось, очевидно. Вместе с rmilter.
> 15К писем менеджера на xen контейнере с гигом мозгов и двумя ядрами
> проверялись наверное около 5 минут
Второе предложение доставляет неиллюзорно. Для ясности:
- sendmail написан на Си
- spamassassin очень даже живой проект
- программы на perl кроссплатформенные по определению (тот же spamassassin: Win ,*nix, Mac, ...)
- особенность spamassassin именно в том, что он крайне гибко приспособлен к модификации под собственные нуждыТрудно поверить, что это не троллинг, право же.
> Трудно поверить, что это не троллинг, право же.Ему просто не нравиться что на перл. Это очевидно.
Да никому не нравится, тормоза дикие.
не тратьте свое время. человек просто совсем не в теме.
«C++»!!! — вы издалека хотя бы видели плюсы?? :)На перле оно тянет нагрузки, которые вам, как не имеющему понятия о хай-лоад, и не снились.
Амависы и полиси тоже «перписать на ++»? :) :) :)
Вы рвете мои паттерны: хайлоад и интерпретируемый язык без jit и garbage collector — практически взаимоисключающие понятия.
Ваши паттерны порвала вам акушерка.
Скажите это фейсбуку на пхп =) </троллинг>
> Скажите это фейсбуку на пхп =)Это которые хипхоп запилили, чтобы его в си++ транслировать? Ну да, они доперли что так быстрее :).
А garbage collector-то в ту же кучу с какого свалили?
Он в хайлоаде как раз немножечко вреден, мягко говоря.
Хорошо что в Perl его нет.
хайлоад и с JIT не дружит.
внезапно.
man erlang, man haskell
с обоих нативный код, генерируемый - рвет как грелку, все альтернативы на большинстве целевых/поддерживаемых платформ.
Это смотря какой JIT. С LuaJIT всё более в порядке, в том числе в ngx_lua.
Это с каких пор в erlang нативный код?
По все бенчмаркам, которые я видел, допотопный beam остается далеко позади java/scala.
erlang-hipe не оно?
да уж лет пять как смерджили в апстриме в основную тушку эранга - компилятор бинарников(раньше звалось hi-perf).
вылазьте уж из анабиоза, Пора !!
vm-ка Эрланга - хороша лишь для разработки и отладки.
выкатывается - именно Нативный код.
> Вы рвете мои паттерны: хайлоад и интерпретируемый язык без jit и garbage
> collector — практически взаимоисключающие понятия.не троллинга ради.. научитесь готовить perl и забудьте о моде. вы сейчас его еще предложите на javascript переписать
хайлоад и язык _с_ jit и garbage collector - тоже взаимоисключающие понятия
Расскажите taobao об этом, пусть с Java и LuaJIT быстрей на PHP переходят
> Расскажите taobao об этом, пусть с Java и LuaJIT быстрей на PHP
> переходятМожет еще микрософту рассказать?
Вам показалось, советую проспаться.
> Вы рвете мои паттерны: хайлоад и интерпретируемый язык без jit и garbage
> collector — практически взаимоисключающие понятия.Язык полукомпилируемый, у него унутре - PVM. GC там, к сведению, есть, потому что это язык с автоматическим управлением памятью. На хайлоаде он себя хорошо зарекомендовал потому что на большинство критичных функций есть модули XS, которые написаны на C или C++.
Это с каких пор reference counting стал считаться GC?
> Это с каких пор reference counting стал считаться GC?Кагбэ это один из возможных алгоритмов реализации GC. А что подразумеваете под GC Вы?
> Неплохо бы уже переписать его на чем-нибудь вменяемом - C++, или хотя
> бы питоне или PHP. Глядишь и популярность подымется.
> Основная проблема таких умирающих олдскульных проектов (sendmail, spamassasin, ...) на
> перле - оно тупо несаппортабельно и очень плохо поддается модификации под
> собственные нужды.вы еще на асемблере предложите :D
>> Неплохо бы уже переписать его на чем-нибудь вменяемом - C++, или хотя
>> бы питоне или PHP. Глядишь и популярность подымется.
> вы еще на асемблере предложите :DЛучше на Руби.
Чтоб тормозил посильней и юникод отвалился?
> Чтоб тормозил посильней и юникод отвалился?Нет, что бы дураки успокоились. Юмор это был.
> Неплохо бы уже переписать его на чем-нибудь вменяемом - C++, или хотя
> бы питоне или PHP. Глядишь и популярность подымется.
> Основная проблема таких умирающих олдскульных проектов (sendmail, spamassasin, ...) на
> перле - оно тупо несаппортабельно и очень плохо поддается модификации под
> собственные нужды.ИМХО perl тут никаким боком. а проблема sendmail'a явно в другом.
> ИМХО perl тут никаким боком. а проблема sendmail'a явно в другом.Ну да, про sendmail я тут явно протупил. Но всё остальное без изменений.
остальное - это то, что именно вам просто не нравится perl. Возможно вы даже не писали на нем никогда.
Ах, он оказывается апачевский... то-то он так тормозит.А посоветуйте, нет ли ему нормальных аналогов? Чтобы не тормозили, не пропускали 95% спама, не требовали работы от рута и не срaли логами razar-agent в корень. Это просто феерия какая-то...
> Чтобы не тормозили, не пропускали 95% спама, не требовали работы от рута и не срaли логамиman omgwtf
> Ах, он оказывается апачевский... то-то он так тормозит.Нет, тормозит он не от этого. Математика там густая и в полной оснастке довольно много трафика (правда, есть ручка "не использовать модули, которым нужна сеть"). А апачевский он сравнительно недавно.
> А посоветуйте, нет ли ему нормальных аналогов?
IMHO, нет.
>А апачевский он сравнительно недавно.С 2004-го, судя по википедии. Недавно, по масштабам Вселенной?
Упс. И верно ведь. Какой я старый :(
можно включить голову и читать маны и RFC, до полного просветления
> Он в течение года проходил тестирования на многих крупных почтовых системахВ мемориз.
У меня 12K RCPT фронтэндит. Вообще без напряга. средний траффик 8К msgs/hТак чта ... "ПионЭры! Идите в >|<опу!"(С)ФР
#>>>на многих крупных почтовых системах
> У меня 12K RCPT фронтэндитПостеснялся бы, октЭбрёнок.
> Так чта ... "ПионЭры! Идите в >|<опу!"(С)ФР
>> У меня 12K RCPT фронтэндит
> Постеснялся бы, октЭбрёнок.А - дык ты тот самый Ондрейка который фильтрует весь мэйл траффик для gmail,mail.ru,People Republick of China,Moscow Republic of Russia ... и всё на локалхосте, снимаю шляпу, чё там. Пошел стесняться :-\
А у меня вот сколько есть - столько и есть, всякие мелкие финансы и прочий бусинес. .ca, уж извини больше пока нету ...
Но конечно мой мнение против афффтаритетного мнения одминов локалхостов фильтрующих вышеуказанное - просто овно. Всё - пошёл сливаться в дворники. :)
>> Постеснялся бы, октЭбрёнок.
> А - дык ты тот самый Ондрейка который фильтрует весь мэйлДа, я это он. Сравнил с соседним сервером, 8К/ч это дофига.
Считаю безобразной ошибкой, вякнул фигню.