aboutsummaryrefslogtreecommitdiffstats
path: root/doc/why-rspamd.html
diff options
context:
space:
mode:
authorcebka@lenovo-laptop <cebka@lenovo-laptop>2010-02-04 20:58:47 +0300
committercebka@lenovo-laptop <cebka@lenovo-laptop>2010-02-04 20:58:47 +0300
commitf57b47be64858f088fc0406c05d8fed94f5f9477 (patch)
tree92489e4820556d7afb190622aab8bc0b84dccfeb /doc/why-rspamd.html
parentbb5a1a9fb091ae443dd37c497fcf9202649ba95d (diff)
downloadrspamd-f57b47be64858f088fc0406c05d8fed94f5f9477.tar.gz
rspamd-f57b47be64858f088fc0406c05d8fed94f5f9477.zip
* Add a little review of rspamd
* Add local_scan.c from Anton Nekhoroshikh for exim MTA
Diffstat (limited to 'doc/why-rspamd.html')
-rw-r--r--doc/why-rspamd.html392
1 files changed, 392 insertions, 0 deletions
diff --git a/doc/why-rspamd.html b/doc/why-rspamd.html
new file mode 100644
index 000000000..aceb1228c
--- /dev/null
+++ b/doc/why-rspamd.html
@@ -0,0 +1,392 @@
+<html><head><title>&#1060;&#1080;&#1083;&#1100;&#1090;&#1088;&#1072;&#1094;&#1080;&#1103; &#1089;&#1087;&#1072;&#1084;&#1072; &#1087;&#1088;&#1080; &#1087;&#1086;&#1084;&#1086;&#1097;&#1080; &#1089;&#1080;&#1089;&#1090;&#1077;&#1084;&#1099; rspamd.</title>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" >
+</head>
+<body class='pod'>
+<!--
+ generated by Pod::Simple::HTML v3.13,
+ using Pod::Simple::PullParser v3.13,
+ under Perl v5.010000 at Thu Feb 4 17:55:58 2010 GMT.
+
+ If you want to change this HTML document, you probably shouldn't do that
+ by changing it directly. Instead, see about changing the calling options
+ to Pod::Simple::HTML, and/or subclassing Pod::Simple::HTML,
+ then reconverting this document from the Pod source.
+ When in doubt, email the author of Pod::Simple::HTML for advice.
+ See 'perldoc Pod::Simple::HTML' for more info.
+
+-->
+
+<!-- start doc -->
+<a name='___top' class='dummyTopAnchor' ></a>
+
+<h1><a class='u' href='#___top' title='click to go to top of document'
+name="(1060)(1080)(1083)(1100)(1090)(1088)(1072)(1094)(1080)(1103)_(1089)(1087)(1072)(1084)(1072)_(1087)(1088)(1080)_(1087)(1086)(1084)(1086)(1097)(1080)_(1089)(1080)(1089)(1090)(1077)(1084)(1099)_rspamd."
+>&#1060;&#1080;&#1083;&#1100;&#1090;&#1088;&#1072;&#1094;&#1080;&#1103; &#1089;&#1087;&#1072;&#1084;&#1072; &#1087;&#1088;&#1080; &#1087;&#1086;&#1084;&#1086;&#1097;&#1080; &#1089;&#1080;&#1089;&#1090;&#1077;&#1084;&#1099; rspamd.</a></h1>
+
+<h2><a class='u' href='#___top' title='click to go to top of document'
+name="1._(1048)(1089)(1090)(1086)(1088)(1080)(1103)_(1080)_(1087)(1088)(1077)(1076)(1087)(1086)(1089)(1099)(1083)(1082)(1080)_(1089)(1086)(1079)(1076)(1072)(1085)(1080)(1103)."
+>1.
+&#1048;&#1089;&#1090;&#1086;&#1088;&#1080;&#1103; &#1080; &#1087;&#1088;&#1077;&#1076;&#1087;&#1086;&#1089;&#1099;&#1083;&#1082;&#1080; &#1089;&#1086;&#1079;&#1076;&#1072;&#1085;&#1080;&#1103;.</a></h2>
+
+<p>&#1052;&#1099; &#1076;&#1086;&#1083;&#1075;&#1086;&#1077; &#1074;&#1088;&#1077;&#1084;&#1103; &#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1083;&#1080; &#1076;&#1083;&#1103; &#1092;&#1080;&#1083;&#1100;&#1090;&#1088;&#1072;&#1094;&#1080;&#1080; &#1089;&#1087;&#1072;&#1084;&#1072; spamassassin,
+&#1086;&#1076;&#1085;&#1072;&#1082;&#1086;,
+&#1087;&#1088;&#1080; &#1085;&#1072;&#1096;&#1080;&#1093; &#1086;&#1073;&#1098;&#1077;&#1084;&#1072;&#1093; &#1087;&#1086;&#1095;&#1090;&#1086;&#1074;&#1086;&#1075;&#1086; &#1090;&#1088;&#1072;&#1092;&#1080;&#1082;&#1072; (9-10 &#1084;&#1080;&#1083;&#1083;&#1080;&#1086;&#1085;&#1086;&#1074; &#1087;&#1080;&#1089;&#1077;&#1084; &#1074; &#1089;&#1091;&#1090;&#1082;&#1080;) spamassassin &#1085;&#1077; &#1086;&#1073;&#1077;&#1089;&#1087;&#1077;&#1095;&#1080;&#1074;&#1072;&#1083; &#1076;&#1086;&#1089;&#1090;&#1072;&#1090;&#1086;&#1095;&#1085;&#1086;&#1081; &#1087;&#1088;&#1086;&#1080;&#1079;&#1074;&#1086;&#1076;&#1080;&#1090;&#1077;&#1083;&#1100;&#1085;&#1086;&#1089;&#1090;&#1080;.
+&#1055;&#1086;&#1089;&#1083;&#1077; &#1072;&#1085;&#1072;&#1083;&#1080;&#1079;&#1072; &#1080;&#1089;&#1093;&#1086;&#1076;&#1085;&#1086;&#1075;&#1086; &#1082;&#1086;&#1076;&#1072; &#1080; &#1087;&#1088;&#1080;&#1085;&#1094;&#1080;&#1087;&#1086;&#1074; &#1088;&#1072;&#1073;&#1086;&#1090;&#1099; &#1073;&#1099;&#1083;&#1086; &#1074;&#1099;&#1103;&#1074;&#1083;&#1077;&#1085;&#1099; &#1089;&#1083;&#1077;&#1076;&#1091;&#1102;&#1097;&#1080;&#1077; &#34;&#1074;&#1088;&#1086;&#1078;&#1076;&#1077;&#1085;&#1085;&#1099;&#1077;&#34; &#1087;&#1088;&#1086;&#1073;&#1083;&#1077;&#1084;&#1099; SA:</p>
+
+<ul>
+<li>&#1086;&#1073;&#1088;&#1072;&#1073;&#1086;&#1090;&#1082;&#1072; &#1087;&#1080;&#1089;&#1100;&#1084;&#1072; &#1086;&#1089;&#1091;&#1097;&#1077;&#1089;&#1090;&#1074;&#1083;&#1103;&#1077;&#1090;&#1089;&#1103; &#1085;&#1072;&#1073;&#1086;&#1088;&#1086;&#1084; &#1088;&#1077;&#1075;&#1091;&#1083;&#1103;&#1088;&#1085;&#1099;&#1093; &#1074;&#1099;&#1088;&#1072;&#1078;&#1077;&#1085;&#1080;&#1081;,
+&#1086;&#1076;&#1085;&#1072;&#1082;&#1086;,
+&#1082;&#1086;&#1083;&#1080;&#1095;&#1077;&#1089;&#1090;&#1074;&#1086; &#1101;&#1090;&#1080;&#1093; &#1074;&#1099;&#1088;&#1072;&#1078;&#1077;&#1085;&#1080;&#1081; &#1089;&#1083;&#1080;&#1096;&#1082;&#1086;&#1084; &#1074;&#1077;&#1083;&#1080;&#1082;&#1086; &#1080; &#1103;&#1074;&#1083;&#1103;&#1077;&#1090;&#1089;&#1103; &#1082;&#1083;&#1102;&#1095;&#1077;&#1074;&#1099;&#1084; &#1084;&#1086;&#1084;&#1077;&#1085;&#1090;&#1086;&#1084; &#1079;&#1072;&#1076;&#1091;&#1084;&#1095;&#1080;&#1074;&#1086;&#1089;&#1090;&#1080; SA (&#1085;&#1072;&#1087;&#1088;&#1080;&#1084;&#1077;&#1088;,
+&#1076;&#1083;&#1103; &#1080;&#1079;&#1074;&#1083;&#1077;&#1095;&#1077;&#1085;&#1080;&#1103; received &#1079;&#1072;&#1075;&#1086;&#1083;&#1086;&#1074;&#1082;&#1086;&#1074; &#1087;&#1080;&#1089;&#1100;&#1084;&#1072;,
+SA &#1087;&#1088;&#1086;&#1074;&#1077;&#1088;&#1103;&#1077;&#1090; &#1086;&#1085;&#1099;&#1077; &#1085;&#1072; &#1089;&#1086;&#1086;&#1090;&#1074;&#1077;&#1090;&#1089;&#1090;&#1074;&#1080;&#1077; &#1074;&#1089;&#1077;&#1084; &#1077;&#1084;&#1091; &#1080;&#1079;&#1074;&#1077;&#1089;&#1090;&#1085;&#1099;&#1084; MTA,
+&#1086;&#1095;&#1077;&#1074;&#1080;&#1076;&#1085;&#1086;,
+&#1095;&#1090;&#1086; &#1090;&#1072;&#1082;&#1086;&#1077; &#1076;&#1077;&#1081;&#1089;&#1090;&#1074;&#1080;&#1077; &#1085;&#1077; &#1103;&#1074;&#1083;&#1103;&#1077;&#1090;&#1089;&#1103; &#1086;&#1087;&#1090;&#1080;&#1084;&#1072;&#1083;&#1100;&#1085;&#1099;&#1084;);</li>
+
+<li>&#1085;&#1077;&#1090; &#1074;&#1086;&#1079;&#1084;&#1086;&#1078;&#1085;&#1086;&#1089;&#1090;&#1080; &#1103;&#1074;&#1085;&#1086; &#1087;&#1086;&#1083;&#1091;&#1095;&#1080;&#1090;&#1100; ip &#1072;&#1076;&#1088;&#1077;&#1089;,
+&#1089; &#1082;&#1086;&#1090;&#1086;&#1088;&#1086;&#1075;&#1086; &#1085;&#1072;&#1084; &#1086;&#1090;&#1087;&#1088;&#1072;&#1074;&#1080;&#1083;&#1080; &#1087;&#1080;&#1089;&#1100;&#1084;&#1086; (&#1074; SA &#1101;&#1090;&#1086; &#1076;&#1077;&#1083;&#1072;&#1077;&#1090;&#1089;&#1103; &#1087;&#1072;&#1088;&#1089;&#1086;&#1084; received &#1079;&#1072;&#1075;&#1086;&#1083;&#1086;&#1074;&#1082;&#1086;&#1074;,
+&#1095;&#1090;&#1086; &#1103; &#1083;&#1080;&#1095;&#1085;&#1086; &#1085;&#1077; &#1089;&#1095;&#1080;&#1090;&#1072;&#1102; &#1087;&#1088;&#1072;&#1074;&#1080;&#1083;&#1100;&#1085;&#1099;&#1084;,
+&#1072; &#1090;&#1077;&#1084; &#1073;&#1086;&#1083;&#1077;&#1077; &#1086;&#1087;&#1090;&#1080;&#1084;&#1072;&#1083;&#1100;&#1085;&#1099;&#1084; &#1089;&#1087;&#1086;&#1089;&#1086;&#1073;&#1086;&#1084;,
+&#1090;&#1072;&#1082; &#1082;&#1072;&#1082; MTA &#1074;&#1089;&#1077;&#1075;&#1076;&#1072; &#1079;&#1085;&#1072;&#1077;&#1090;,
+&#1086;&#1090;&#1082;&#1091;&#1076;&#1072; &#1077;&#1084;&#1091; &#1087;&#1088;&#1080;&#1096;&#1083;&#1086; &#1076;&#1072;&#1085;&#1085;&#1086;&#1077; &#1087;&#1080;&#1089;&#1100;&#1084;&#1086;)</li>
+
+<li>&#1085;&#1077;&#1090; &#1074;&#1086;&#1079;&#1084;&#1086;&#1078;&#1085;&#1086;&#1089;&#1090;&#1080; &#1087;&#1077;&#1088;&#1077;&#1076;&#1072;&#1095;&#1080; &#1089;&#1087;&#1072;&#1084; &#1092;&#1080;&#1083;&#1100;&#1090;&#1088;&#1091; &#1076;&#1072;&#1085;&#1085;&#1099;&#1093; SMTP &#1076;&#1080;&#1072;&#1083;&#1086;&#1075;&#1072;</li>
+
+<li>MIME &#1087;&#1072;&#1088;&#1089;&#1080;&#1085;&#1075; &#1087;&#1080;&#1089;&#1077;&#1084; &#1086;&#1095;&#1077;&#1085;&#1100; &#1084;&#1077;&#1076;&#1083;&#1077;&#1085;&#1085;&#1099;&#1081;,
+&#1090;&#1072;&#1082; &#1082;&#1072;&#1082; &#1086;&#1087;&#1103;&#1090;&#1100; &#1078;&#1077; &#1089;&#1076;&#1077;&#1083;&#1072;&#1085; &#1085;&#1072; &#1073;&#1072;&#1079;&#1077; &#1088;&#1077;&#1075;&#1091;&#1083;&#1103;&#1088;&#1085;&#1099;&#1093; &#1074;&#1099;&#1088;&#1072;&#1078;&#1077;&#1085;&#1080;&#1081;</li>
+</ul>
+
+<p>&#1042; &#1080;&#1090;&#1086;&#1075;&#1077; &#1084;&#1086;&#1078;&#1085;&#1086; &#1089;&#1082;&#1072;&#1079;&#1072;&#1090;&#1100;,
+&#1095;&#1090;&#1086; &#1086;&#1089;&#1085;&#1086;&#1074;&#1085;&#1072;&#1103; &#1087;&#1088;&#1086;&#1073;&#1083;&#1077;&#1084;&#1072; SA - &#1101;&#1090;&#1086; &#1080;&#1079;&#1083;&#1080;&#1096;&#1085;&#1103;&#1103; &#1091;&#1074;&#1083;&#1077;&#1095;&#1077;&#1085;&#1085;&#1086;&#1089;&#1090;&#1100; &#1072;&#1074;&#1090;&#1086;&#1088;&#1086;&#1074; &#1088;&#1077;&#1075;&#1091;&#1083;&#1103;&#1088;&#1085;&#1099;&#1084;&#1080; &#1074;&#1099;&#1088;&#1072;&#1078;&#1077;&#1085;&#1080;&#1103;&#1084;&#1080; &#1080; &#1086;&#1090;&#1089;&#1091;&#1090;&#1089;&#1090;&#1074;&#1080;&#1077; &#1086;&#1087;&#1090;&#1080;&#1084;&#1080;&#1079;&#1072;&#1094;&#1080;&#1080;.
+&#1042; &#1080;&#1090;&#1086;&#1075;&#1077;,
+&#1074; &#1082;&#1072;&#1095;&#1077;&#1089;&#1090;&#1074;&#1077; &#1073;&#1072;&#1079;&#1086;&#1074;&#1099;&#1093; &#1087;&#1088;&#1080;&#1085;&#1094;&#1080;&#1087;&#1086;&#1074; &#1089;&#1086;&#1079;&#1076;&#1072;&#1085;&#1080;&#1103; rspamd &#1073;&#1099;&#1083;&#1080; &#1087;&#1088;&#1080;&#1085;&#1094;&#1080;&#1087;&#1099; &#1086;&#1087;&#1090;&#1080;&#1084;&#1080;&#1079;&#1072;&#1094;&#1080;&#1080; &#1074;&#1088;&#1077;&#1084;&#1077;&#1085;&#1080; &#1086;&#1073;&#1088;&#1072;&#1073;&#1086;&#1090;&#1082;&#1080; &#1087;&#1080;&#1089;&#1077;&#1084;,
+&#1074; &#1095;&#1080;&#1089;&#1083;&#1077; &#1082;&#1086;&#1090;&#1086;&#1088;&#1099;&#1093;:</p>
+
+<ul>
+<li>&#1087;&#1086;&#1083;&#1085;&#1086;&#1089;&#1090;&#1100;&#1102; &#1072;&#1089;&#1080;&#1085;&#1093;&#1088;&#1086;&#1085;&#1085;&#1072;&#1103; &#1088;&#1072;&#1073;&#1086;&#1090;&#1072; &#1089; &#1089;&#1077;&#1090;&#1100;&#1102; (&#1085;&#1072; &#1073;&#1072;&#1079;&#1077; libevent),
+&#1074; &#1090;&#1086;&#1084; &#1095;&#1080;&#1089;&#1083;&#1077; DNS &#1079;&#1072;&#1087;&#1088;&#1086;&#1089;&#1099; &#1080; &#1088;&#1072;&#1073;&#1086;&#1090;&#1072; &#1089; http</li>
+
+<li>&#1073;&#1099;&#1089;&#1090;&#1088;&#1099;&#1077; &#1084;&#1077;&#1093;&#1072;&#1085;&#1080;&#1079;&#1084;&#1099; &#1074;&#1099;&#1076;&#1077;&#1083;&#1077;&#1085;&#1080;&#1103; &#1087;&#1072;&#1084;&#1103;&#1090;&#1080;</li>
+
+<li>&#1082;&#1086;&#1084;&#1087;&#1080;&#1083;&#1103;&#1094;&#1080;&#1103; &#1074;&#1089;&#1077;&#1093; &#1088;&#1077;&#1075;&#1091;&#1083;&#1103;&#1088;&#1085;&#1099;&#1093; &#1074;&#1099;&#1088;&#1072;&#1078;&#1077;&#1085;&#1080;&#1081; &#1080; &#1074;&#1099;&#1079;&#1086;&#1074; &#1090;&#1086;&#1083;&#1100;&#1082;&#1086; &#1090;&#1077;&#1093; &#1080;&#1079; &#1085;&#1080;&#1093;,
+&#1082;&#1086;&#1090;&#1086;&#1088;&#1099;&#1077; &#1085;&#1072;&#1080;&#1073;&#1086;&#1083;&#1077;&#1077; &#1074;&#1086;&#1079;&#1084;&#1086;&#1078;&#1085;&#1099; (&#1090;&#1086; &#1077;&#1089;&#1090;&#1100;,
+&#1080;&#1084;&#1077;&#1077;&#1090;&#1089;&#1103; &#1084;&#1077;&#1093;&#1072;&#1085;&#1080;&#1079;&#1084; &#1074;&#1077;&#1076;&#1077;&#1085;&#1080;&#1103; &#1089;&#1090;&#1072;&#1090;&#1080;&#1089;&#1090;&#1080;&#1082;&#1080; &#1089;&#1088;&#1072;&#1073;&#1072;&#1090;&#1099;&#1074;&#1072;&#1085;&#1080;&#1103; &#1088;&#1072;&#1079;&#1083;&#1080;&#1095;&#1085;&#1099;&#1093; &#1087;&#1088;&#1072;&#1074;&#1080;&#1083;,
+&#1080; &#1087;&#1088;&#1080; &#1086;&#1073;&#1088;&#1072;&#1073;&#1086;&#1090;&#1082;&#1077; &#1089;&#1083;&#1077;&#1076;&#1091;&#1102;&#1097;&#1077;&#1075;&#1086; &#1087;&#1080;&#1089;&#1100;&#1084;&#1072; &#1091;&#1095;&#1080;&#1090;&#1099;&#1074;&#1072;&#1077;&#1090;&#1089;&#1103; &#1086;&#1073;&#1088;&#1072;&#1073;&#1086;&#1090;&#1082;&#1072; &#1087;&#1088;&#1077;&#1076;&#1099;&#1076;&#1091;&#1097;&#1080;&#1093;,
+&#1095;&#1090;&#1086; &#1087;&#1086;&#1079;&#1074;&#1086;&#1083;&#1103;&#1077;&#1090; &#1084;&#1072;&#1082;&#1089;&#1080;&#1084;&#1072;&#1083;&#1100;&#1085;&#1086; &#1073;&#1099;&#1089;&#1090;&#1088;&#1086; &#1087;&#1088;&#1086;&#1074;&#1077;&#1089;&#1090;&#1080; &#1086;&#1089;&#1085;&#1086;&#1074;&#1085;&#1099;&#1077; &#1090;&#1077;&#1089;&#1090;&#1099;)</li>
+
+<li>&#1088;&#1072;&#1089;&#1096;&#1080;&#1088;&#1103;&#1077;&#1084;&#1072;&#1103; &#1072;&#1088;&#1093;&#1080;&#1090;&#1077;&#1082;&#1090;&#1091;&#1088;&#1072;: &#1074;&#1086;&#1079;&#1084;&#1086;&#1078;&#1085;&#1086;&#1089;&#1090;&#1100; &#1085;&#1072;&#1087;&#1080;&#1089;&#1072;&#1085;&#1080;&#1103; &#1087;&#1083;&#1072;&#1075;&#1080;&#1085;&#1086;&#1074; &#1085;&#1072; &#1089;&#1080;,
+lua,
+&#1074;&#1086;&#1079;&#1084;&#1086;&#1078;&#1085;&#1086;&#1089;&#1090;&#1100; &#1076;&#1086;&#1073;&#1072;&#1074;&#1083;&#1077;&#1085;&#1080;&#1103; &#1085;&#1086;&#1074;&#1099;&#1093; &#1090;&#1080;&#1087;&#1086;&#1074; &#1092;&#1080;&#1083;&#1100;&#1090;&#1088;&#1086;&#1074;,
+&#1088;&#1072;&#1089;&#1096;&#1080;&#1088;&#1077;&#1085;&#1080;&#1081; &#1087;&#1088;&#1086;&#1090;&#1086;&#1082;&#1086;&#1083;&#1072; rspamc,
+&#1074;&#1086;&#1079;&#1084;&#1086;&#1078;&#1085;&#1086;&#1089;&#1090;&#1100; &#1076;&#1086;&#1073;&#1072;&#1074;&#1083;&#1077;&#1085;&#1080;&#1103; &#1085;&#1086;&#1074;&#1099;&#1093; &#1090;&#1080;&#1087;&#1086;&#1074; &#1089;&#1090;&#1072;&#1090;&#1080;&#1089;&#1090;&#1080;&#1095;&#1077;&#1089;&#1082;&#1080;&#1093; &#1072;&#1083;&#1075;&#1086;&#1088;&#1080;&#1090;&#1084;&#1086;&#1074;,
+&#1072;&#1083;&#1075;&#1086;&#1088;&#1080;&#1090;&#1084;&#1086;&#1074; &#1085;&#1086;&#1088;&#1084;&#1072;&#1083;&#1080;&#1079;&#1072;&#1094;&#1080;&#1080; &#1080; &#1087;&#1072;&#1088;&#1089;&#1080;&#1085;&#1075;&#1072; &#1090;&#1077;&#1082;&#1089;&#1090;&#1086;&#1074;</li>
+
+<li>&#1074;&#1086;&#1079;&#1084;&#1086;&#1078;&#1085;&#1086;&#1089;&#1090;&#1100; &#1076;&#1080;&#1085;&#1072;&#1084;&#1080;&#1095;&#1077;&#1089;&#1082;&#1086;&#1081; &#1079;&#1072;&#1075;&#1088;&#1091;&#1079;&#1082;&#1080; &#1088;&#1072;&#1079;&#1083;&#1080;&#1095;&#1085;&#1099;&#1093; &#1085;&#1072;&#1089;&#1090;&#1088;&#1086;&#1077;&#1082;,
+&#1089;&#1087;&#1080;&#1089;&#1082;&#1086;&#1074; ip &#1072;&#1076;&#1088;&#1077;&#1089;&#1086;&#1074; &#1080; &#1087;&#1088;&#1086;&#1095;&#1077;&#1081; &#1080;&#1085;&#1092;&#1086;&#1088;&#1084;&#1072;&#1094;&#1080;&#1080; &#1095;&#1077;&#1088;&#1077;&#1079; HTTP &#1087;&#1088;&#1086;&#1090;&#1086;&#1082;&#1086;&#1083; &#1089; &#1087;&#1086;&#1076;&#1076;&#1077;&#1088;&#1078;&#1082;&#1086;&#1081; &#1076;&#1072;&#1090;&#1099; &#1084;&#1086;&#1076;&#1080;&#1092;&#1080;&#1082;&#1072;&#1094;&#1080;&#1080; &#1090;&#1072;&#1082;&#1080;&#1093; &#1089;&#1087;&#1080;&#1089;&#1082;&#1086;&#1074;</li>
+
+<li>&#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1085;&#1080;&#1077; &#1074;&#1077;&#1079;&#1076;&#1077;,
+&#1075;&#1076;&#1077; &#1074;&#1086;&#1079;&#1084;&#1086;&#1078;&#1085;&#1086;,
+&#1089;&#1087;&#1077;&#1094;&#1080;&#1072;&#1083;&#1080;&#1079;&#1080;&#1088;&#1086;&#1074;&#1072;&#1085;&#1085;&#1099;&#1093; &#1082;&#1086;&#1085;&#1077;&#1095;&#1085;&#1099;&#1093; &#1072;&#1074;&#1090;&#1086;&#1084;&#1072;&#1090;&#1086;&#1074; &#1076;&#1083;&#1103; &#1088;&#1072;&#1079;&#1073;&#1086;&#1088;&#1072; &#1080; &#1072;&#1085;&#1072;&#1083;&#1080;&#1079;&#1072; &#1090;&#1077;&#1082;&#1089;&#1090;&#1086;&#1074;</li>
+
+<li>&#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1085;&#1080;&#1077; &#1073;&#1099;&#1089;&#1090;&#1088;&#1086;&#1075;&#1086; mime &#1087;&#1072;&#1088;&#1089;&#1077;&#1088;&#1072; gmime</li>
+</ul>
+
+<p>&#1042; &#1088;&#1077;&#1079;&#1091;&#1083;&#1100;&#1090;&#1072;&#1090;&#1077; &#1087;&#1077;&#1088;&#1077;&#1093;&#1086;&#1076;&#1072; &#1089; SA &#1085;&#1072; rspamd &#1087;&#1086;&#1089;&#1083;&#1077;&#1076;&#1085;&#1080;&#1081; &#1087;&#1086;&#1082;&#1072;&#1079;&#1072;&#1083; &#1074; &#1089;&#1088;&#1077;&#1076;&#1085;&#1077;&#1084; &#1074; 10 &#1088;&#1072;&#1079; &#1073;&#1086;&#1083;&#1077;&#1077; &#1073;&#1099;&#1089;&#1090;&#1088;&#1091;&#1102; &#1086;&#1073;&#1088;&#1072;&#1073;&#1086;&#1090;&#1082;&#1091; &#1089;&#1086;&#1086;&#1073;&#1097;&#1077;&#1085;&#1080;&#1081;.
+&#1042; &#1076;&#1072;&#1085;&#1085;&#1099;&#1081; &#1084;&#1086;&#1084;&#1077;&#1085;&#1090; rspamd &#1080;&#1084;&#1077;&#1077;&#1090; &#1089;&#1090;&#1072;&#1090;&#1091;&#1089; &#1073;&#1077;&#1090;&#1072; &#1074;&#1077;&#1088;&#1089;&#1080;&#1080;,
+&#1085;&#1086; &#1074;&#1087;&#1086;&#1083;&#1085;&#1077; &#1087;&#1088;&#1080;&#1075;&#1086;&#1076;&#1077;&#1085; &#1076;&#1083;&#1103; &#1088;&#1072;&#1073;&#1086;&#1090;&#1099;.</p>
+
+<h2><a class='u' href='#___top' title='click to go to top of document'
+name="2._(1059)(1089)(1090)(1072)(1085)(1086)(1074)(1082)(1072)_(1080)_(1085)(1072)(1089)(1090)(1088)(1086)(1081)(1082)(1072)_rspamd"
+>2.
+&#1059;&#1089;&#1090;&#1072;&#1085;&#1086;&#1074;&#1082;&#1072; &#1080; &#1085;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1072; rspamd</a></h2>
+
+<p>&#1044;&#1083;&#1103; &#1089;&#1073;&#1086;&#1088;&#1082;&#1080; rspamd &#1074;&#1072;&#1084; &#1087;&#1086;&#1090;&#1088;&#1077;&#1073;&#1091;&#1102;&#1090;&#1089;&#1103;:</p>
+
+<ul>
+<li>libevent <a href="http://www.monkey.org/~provos/libevent/" class="podlinkurl"
+>http://www.monkey.org/~provos/libevent/</a> - &#1073;&#1080;&#1073;&#1083;&#1080;&#1086;&#1090;&#1077;&#1082;&#1072; &#1076;&#1083;&#1103; &#1072;&#1089;&#1080;&#1085;&#1093;&#1088;&#1086;&#1085;&#1085;&#1086;&#1081; &#1086;&#1073;&#1088;&#1072;&#1073;&#1086;&#1090;&#1082;&#1080; &#1089;&#1086;&#1073;&#1099;&#1090;&#1080;&#1081;</li>
+
+<li>glib <a href="http://library.gnome.org/devel/glib/" class="podlinkurl"
+>http://library.gnome.org/devel/glib/</a> - &#1073;&#1080;&#1073;&#1083;&#1080;&#1086;&#1090;&#1077;&#1082;&#1072; &#1086;&#1073;&#1097;&#1077;&#1075;&#1086; &#1085;&#1072;&#1079;&#1085;&#1072;&#1095;&#1077;&#1085;&#1080;&#1103;,
+&#1089;&#1086;&#1076;&#1077;&#1088;&#1078;&#1072;&#1097;&#1072;&#1103; &#1084;&#1085;&#1086;&#1075;&#1080;&#1077; &#1074;&#1077;&#1097;&#1080;,
+&#1086; &#1082;&#1086;&#1090;&#1086;&#1088;&#1099;&#1093; &#1088;&#1072;&#1079;&#1088;&#1072;&#1073;&#1086;&#1090;&#1095;&#1080;&#1082;&#1080; libc,
+&#1091;&#1074;&#1099;,
+&#1079;&#1072;&#1073;&#1099;&#1083;&#1080; (glib &#1085;&#1077; &#1103;&#1074;&#1083;&#1103;&#1077;&#1090;&#1089;&#1103; &#1075;&#1088;&#1072;&#1092;&#1080;&#1095;&#1077;&#1089;&#1082;&#1086;&#1081; &#1073;&#1080;&#1073;&#1083;&#1080;&#1086;&#1090;&#1077;&#1082;&#1086;&#1081;,
+&#1093;&#1086;&#1090;&#1103; &#1080; &#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1091;&#1077;&#1090;&#1089;&#1103;,
+&#1085;&#1072;&#1087;&#1088;&#1080;&#1084;&#1077;&#1088;,
+gtk)</li>
+
+<li>gmime <a href="http://spruce.sourceforge.net/gmime/" class="podlinkurl"
+>http://spruce.sourceforge.net/gmime/</a> - MIME &#1087;&#1072;&#1088;&#1089;&#1077;&#1088; &#1085;&#1072; &#1073;&#1072;&#1079;&#1077; &#1073;&#1080;&#1073;&#1083;&#1080;&#1086;&#1090;&#1077;&#1082;&#1080; glib</li>
+
+<li>lua <a href="http://www.lua.org/" class="podlinkurl"
+>http://www.lua.org/</a> - &#1074;&#1089;&#1090;&#1088;&#1072;&#1080;&#1074;&#1072;&#1077;&#1084;&#1099;&#1081; &#1089;&#1082;&#1088;&#1080;&#1087;&#1090;&#1086;&#1074;&#1099;&#1081; &#1103;&#1079;&#1099;&#1082; (&#1074; &#1087;&#1088;&#1080;&#1085;&#1094;&#1080;&#1087;&#1077;,
+&#1085;&#1072;&#1083;&#1080;&#1095;&#1080;&#1077; lua &#1085;&#1077;&#1086;&#1073;&#1103;&#1079;&#1072;&#1090;&#1077;&#1083;&#1100;&#1085;&#1086;,
+&#1085;&#1086; &#1073;&#1077;&#1079; lua &#1084;&#1085;&#1086;&#1075;&#1080;&#1081; &#1092;&#1091;&#1085;&#1082;&#1094;&#1080;&#1086;&#1085;&#1072;&#1083; rspamd &#1086;&#1089;&#1090;&#1072;&#1085;&#1077;&#1090;&#1089;&#1103; &#1085;&#1077;&#1088;&#1077;&#1072;&#1083;&#1080;&#1079;&#1086;&#1074;&#1072;&#1085;&#1085;&#1099;&#1084;)</li>
+
+<li>perl <a href="http://www.perl.org/" class="podlinkurl"
+>http://www.perl.org/</a> - &#1085;&#1072; &#1087;&#1077;&#1088;&#1083;&#1077; &#1085;&#1072;&#1087;&#1080;&#1089;&#1072;&#1085;,
+&#1085;&#1072;&#1087;&#1088;&#1080;&#1084;&#1077;&#1088;,
+&#1082;&#1086;&#1085;&#1089;&#1086;&#1083;&#1100;&#1085;&#1099;&#1081; &#1082;&#1083;&#1080;&#1077;&#1085;&#1090; rspamc,
+&#1088;&#1072;&#1089;&#1087;&#1086;&#1079;&#1085;&#1072;&#1074;&#1072;&#1090;&#1077;&#1083;&#1100; &#1088;&#1077;&#1076;&#1080;&#1088;&#1077;&#1082;&#1090;&#1086;&#1074; &#1074; URL&#39;&#1103;&#1093;,
+&#1087;&#1086;&#1101;&#1090;&#1086;&#1084;&#1091; &#1085;&#1072;&#1083;&#1080;&#1095;&#1080;&#1077; &#1087;&#1077;&#1088;&#1083;&#1072; &#1074; &#1089;&#1080;&#1089;&#1090;&#1077;&#1084;&#1077; &#1082;&#1088;&#1072;&#1081;&#1085;&#1077; &#1078;&#1077;&#1083;&#1072;&#1090;&#1077;&#1083;&#1100;&#1085;&#1086;</li>
+
+<li>cmake <a href="http://www.cmake.org/" class="podlinkurl"
+>http://www.cmake.org/</a> - &#1089;&#1080;&#1089;&#1090;&#1077;&#1084;&#1072; &#1089;&#1073;&#1086;&#1088;&#1082;&#1080;,
+&#1082;&#1086;&#1090;&#1086;&#1088;&#1072;&#1103; &#1087;&#1086;&#1079;&#1074;&#1086;&#1083;&#1103;&#1077;&#1090; rspamd &#1089;&#1086;&#1073;&#1080;&#1088;&#1072;&#1090;&#1100;&#1089;&#1103; (&#1087;&#1086; &#1082;&#1088;&#1072;&#1081;&#1085;&#1077;&#1081; &#1084;&#1077;&#1088;&#1077;,
+&#1074; &#1090;&#1077;&#1086;&#1088;&#1080;&#1080;) &#1085;&#1072; &#1074;&#1089;&#1077;&#1093; Posix &#1089;&#1086;&#1074;&#1084;&#1077;&#1089;&#1090;&#1080;&#1084;&#1099;&#1093; &#1089;&#1080;&#1089;&#1090;&#1077;&#1084;&#1072;&#1093;.
+&#1048;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1100; &#1089;&#1090;&#1072;&#1085;&#1076;&#1072;&#1088;&#1090;&#1085;&#1099;&#1077; &#1074; &#1076;&#1072;&#1085;&#1085;&#1086;&#1081; &#1089;&#1080;&#1090;&#1091;&#1072;&#1094;&#1080;&#1080; autotools &#1103; &#1085;&#1077; &#1089;&#1090;&#1072;&#1083;,
+&#1090;&#1072;&#1082; &#1082;&#1072;&#1082; &#1089;&#1095;&#1080;&#1090;&#1072;&#1102; &#1080;&#1093; &#1089;&#1072;&#1084;&#1086;&#1081; &#1085;&#1077;&#1091;&#1076;&#1086;&#1073;&#1085;&#1086;&#1081; &#1074; &#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1085;&#1080;&#1080; &#1089;&#1080;&#1089;&#1090;&#1077;&#1084;&#1086;&#1081; &#1089;&#1073;&#1086;&#1088;&#1082;&#1080; &#1080;&#1089;&#1093;&#1086;&#1076;&#1085;&#1080;&#1082;&#1086;&#1074;,
+&#1082;&#1086;&#1090;&#1086;&#1088;&#1091;&#1102; &#1084;&#1086;&#1078;&#1085;&#1086; &#1090;&#1086;&#1083;&#1100;&#1082;&#1086; &#1087;&#1088;&#1080;&#1076;&#1091;&#1084;&#1072;&#1090;&#1100;.</li>
+
+<li>mercurial <a href="http://mercurial.selenic.com/" class="podlinkurl"
+>http://mercurial.selenic.com/</a> - &#1089;&#1080;&#1089;&#1090;&#1077;&#1084;&#1072; &#1091;&#1087;&#1088;&#1072;&#1074;&#1083;&#1077;&#1085;&#1080;&#1103; &#1074;&#1077;&#1088;&#1089;&#1080;&#1103;&#1084;&#1080; (SCM),
+&#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1091;&#1077;&#1084;&#1072;&#1103; &#1076;&#1083;&#1103; &#1088;&#1072;&#1079;&#1088;&#1072;&#1073;&#1086;&#1090;&#1082;&#1080; rspamd.
+&#1058;&#1072;&#1082; &#1082;&#1072;&#1082; &#1074; &#1085;&#1072;&#1089;&#1090;&#1086;&#1103;&#1097;&#1077;&#1077; &#1074;&#1088;&#1077;&#1084;&#1103; rspamd &#1085;&#1072;&#1093;&#1086;&#1076;&#1080;&#1090;&#1089;&#1103; &#1074; &#1089;&#1086;&#1089;&#1090;&#1086;&#1103;&#1085;&#1080;&#1080; &#1073;&#1077;&#1090;&#1072;-&#1074;&#1077;&#1088;&#1089;&#1080;&#1080;,
+&#1090;&#1086; &#1088;&#1077;&#1083;&#1080;&#1079;&#1099; &#1074;&#1099;&#1093;&#1086;&#1076;&#1103;&#1090; &#1085;&#1077;&#1095;&#1072;&#1089;&#1090;&#1086; &#1080; &#1079;&#1072;&#1095;&#1072;&#1089;&#1090;&#1091;&#1102; &#1103;&#1074;&#1083;&#1103;&#1102;&#1090;&#1089;&#1103; &#1084;&#1077;&#1085;&#1077;&#1077; &#1089;&#1090;&#1072;&#1073;&#1080;&#1083;&#1100;&#1085;&#1099;&#1084;&#1080;,
+&#1095;&#1077;&#1084; &#1090;&#1077;&#1082;&#1091;&#1097;&#1072;&#1103; &#1074;&#1077;&#1088;&#1089;&#1080;&#1103; &#1074; &#1088;&#1077;&#1087;&#1086;&#1079;&#1080;&#1090;&#1086;&#1088;&#1080;&#1080;,
+&#1087;&#1086;&#1101;&#1090;&#1086;&#1084;&#1091; &#1076;&#1083;&#1103; &#1091;&#1089;&#1090;&#1072;&#1085;&#1086;&#1074;&#1082;&#1080; rspamd &#1083;&#1091;&#1095;&#1096;&#1077; &#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1100; &#1074;&#1077;&#1088;&#1089;&#1080;&#1102; &#1085;&#1077;&#1087;&#1086;&#1089;&#1088;&#1077;&#1076;&#1089;&#1090;&#1074;&#1077;&#1085;&#1085;&#1086; &#1080;&#1079; &#1088;&#1077;&#1087;&#1086;&#1079;&#1080;&#1090;&#1086;&#1088;&#1080;&#1103;.</li>
+</ul>
+
+<p>&#1055;&#1086;&#1089;&#1083;&#1077; &#1091;&#1089;&#1090;&#1072;&#1085;&#1086;&#1074;&#1082;&#1080; &#1074;&#1089;&#1077;&#1093; &#1090;&#1088;&#1077;&#1073;&#1091;&#1077;&#1084;&#1099;&#1093; &#1087;&#1088;&#1086;&#1075;&#1088;&#1072;&#1084;&#1084; &#1080; &#1073;&#1080;&#1073;&#1083;&#1080;&#1086;&#1090;&#1077;&#1082; &#1084;&#1086;&#1078;&#1085;&#1086; &#1087;&#1088;&#1080;&#1089;&#1090;&#1091;&#1087;&#1080;&#1090;&#1100; &#1085;&#1077;&#1087;&#1086;&#1089;&#1088;&#1077;&#1076;&#1089;&#1090;&#1074;&#1077;&#1085;&#1085;&#1086; &#1082; &#1091;&#1089;&#1090;&#1072;&#1085;&#1086;&#1074;&#1082;&#1077; rspamd.</p>
+
+<dl>
+<dt><a name="1_(1089)(1082)(1072)(1095)(1080)(1074)(1072)(1077)(1084)_(1090)(1077)(1082)(1091)(1097)(1077)(1077)_(1089)(1086)(1089)(1090)(1086)(1103)(1085)(1080)(1077)_(1088)(1077)(1087)(1086)(1079)(1080)(1090)(1086)(1088)(1080)(1103):_$_hg_clone_http://rspamd.hg.sourceforge.net:8000/hgroot/rspamd/rspamd"
+>1 &#1089;&#1082;&#1072;&#1095;&#1080;&#1074;&#1072;&#1077;&#1084; &#1090;&#1077;&#1082;&#1091;&#1097;&#1077;&#1077; &#1089;&#1086;&#1089;&#1090;&#1086;&#1103;&#1085;&#1080;&#1077; &#1088;&#1077;&#1087;&#1086;&#1079;&#1080;&#1090;&#1086;&#1088;&#1080;&#1103;: $ hg clone http://rspamd.hg.sourceforge.net:8000/hgroot/rspamd/rspamd</a></dt>
+
+<dd>
+<dt><a
+>2 &#1082;&#1086;&#1085;&#1092;&#1080;&#1075;&#1091;&#1088;&#1080;&#1088;&#1091;&#1077;&#1084; rspamd: $ cd rspamd &#38;&#38; cmake .
+(&#1087;&#1088;&#1080; &#1085;&#1077;&#1086;&#1073;&#1093;&#1086;&#1076;&#1080;&#1084;&#1086;&#1089;&#1090;&#1080; &#1080;&#1079;&#1084;&#1077;&#1085;&#1080;&#1090;&#1100; &#1087;&#1072;&#1088;&#1072;&#1084;&#1077;&#1090;&#1088;&#1099; &#1084;&#1086;&#1078;&#1085;&#1086; &#1074;&#1085;&#1072;&#1095;&#1072;&#1083;&#1077; &#1074;&#1086;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1100;&#1089;&#1103; &#1082;&#1086;&#1084;&#1072;&#1085;&#1076;&#1086;&#1081; ccmake .)</a></dt>
+
+<dd>
+<dt><a name="3_(1089)(1086)(1073)(1080)(1088)(1072)(1077)(1084):_$_make"
+>3 &#1089;&#1086;&#1073;&#1080;&#1088;&#1072;&#1077;&#1084;: $ make</a></dt>
+
+<dd>
+<dt><a name="4_(1091)(1089)(1090)(1072)(1085)(1072)(1074)(1083)(1080)(1074)(1072)(1077)(1084):_#_make_install"
+>4 &#1091;&#1089;&#1090;&#1072;&#1085;&#1072;&#1074;&#1083;&#1080;&#1074;&#1072;&#1077;&#1084;: # make install</a></dt>
+</dl>
+
+<h3><a class='u' href='#___top' title='click to go to top of document'
+name="(1050)(1086)(1085)(1092)(1080)(1075)(1091)(1088)(1080)(1088)(1086)(1074)(1072)(1085)(1080)(1077)"
+>&#1050;&#1086;&#1085;&#1092;&#1080;&#1075;&#1091;&#1088;&#1080;&#1088;&#1086;&#1074;&#1072;&#1085;&#1080;&#1077;</a></h3>
+
+<p>&#1042; &#1087;&#1088;&#1086;&#1094;&#1077;&#1089;&#1089;&#1077; &#1091;&#1089;&#1090;&#1072;&#1085;&#1086;&#1074;&#1082;&#1080; &#1089;&#1090;&#1072;&#1074;&#1103;&#1090;&#1089;&#1103; &#1082;&#1086;&#1085;&#1092;&#1080;&#1075;&#1091;&#1088;&#1072;&#1094;&#1080;&#1086;&#1085;&#1085;&#1099;&#1077; &#1092;&#1072;&#1081;&#1083;&#1099; &#1087;&#1086; &#1091;&#1084;&#1086;&#1083;&#1095;&#1072;&#1085;&#1080;&#1102; &#1074; &#1082;&#1072;&#1090;&#1072;&#1083;&#1086;&#1075; {PREFIX}/etc.
+&#1055;&#1088;&#1080; &#1101;&#1090;&#1086;&#1084;,
+&#1074; &#1082;&#1072;&#1090;&#1072;&#1083;&#1086;&#1075; etc/rspamd &#1091;&#1089;&#1090;&#1072;&#1085;&#1072;&#1074;&#1083;&#1080;&#1074;&#1072;&#1102;&#1090;&#1089;&#1103; &#1087;&#1088;&#1072;&#1074;&#1080;&#1083;&#1072; &#1087;&#1086; &#1091;&#1084;&#1086;&#1083;&#1095;&#1072;&#1085;&#1080;&#1102; (headers,
+html,
+drugs,
+loto &#1080;.&#1090;.&#1087;.),
+&#1072; &#1074; &#1082;&#1072;&#1090;&#1072;&#1083;&#1086;&#1075; etc/rspamd.conf.sample &#1091;&#1089;&#1090;&#1072;&#1085;&#1072;&#1074;&#1083;&#1080;&#1074;&#1072;&#1077;&#1090;&#1089;&#1103; &#1082;&#1086;&#1085;&#1092;&#1080;&#1075;&#1091;&#1088;&#1072;&#1094;&#1080;&#1086;&#1085;&#1085;&#1099;&#1081; &#1092;&#1072;&#1081;&#1083; &#1087;&#1086; &#1091;&#1084;&#1086;&#1083;&#1095;&#1072;&#1085;&#1080;&#1102;.
+&#1045;&#1075;&#1086; &#1084;&#1086;&#1078;&#1085;&#1086; &#1089;&#1082;&#1086;&#1087;&#1080;&#1088;&#1086;&#1074;&#1072;&#1090;&#1100; &#1074; &#1092;&#1072;&#1081;&#1083; etc/rspamd.conf &#1080; &#1086;&#1090;&#1088;&#1077;&#1076;&#1072;&#1082;&#1090;&#1080;&#1088;&#1086;&#1074;&#1072;&#1090;&#1100; &#1074; &#1089;&#1086;&#1086;&#1090;&#1074;&#1077;&#1090;&#1089;&#1090;&#1074;&#1080;&#1080; &#1089; &#1089;&#1086;&#1073;&#1089;&#1090;&#1074;&#1077;&#1085;&#1085;&#1099;&#1084;&#1080; &#1087;&#1088;&#1077;&#1076;&#1087;&#1086;&#1095;&#1090;&#1077;&#1085;&#1080;&#1103;&#1084;&#1080;.
+&#1050;&#1086;&#1085;&#1092;&#1080;&#1075;&#1091;&#1088;&#1072;&#1094;&#1080;&#1086;&#1085;&#1085;&#1099;&#1081; &#1092;&#1072;&#1081;&#1083; &#1087;&#1086; &#1091;&#1084;&#1086;&#1083;&#1095;&#1072;&#1085;&#1080;&#1102; &#1089;&#1085;&#1072;&#1073;&#1078;&#1077;&#1085; &#1082;&#1086;&#1084;&#1084;&#1077;&#1085;&#1090;&#1072;&#1088;&#1080;&#1103;&#1084;&#1080; &#1082; &#1082;&#1072;&#1078;&#1076;&#1086;&#1081; &#1076;&#1080;&#1088;&#1077;&#1082;&#1090;&#1080;&#1074;&#1077;,
+&#1072; &#1090;&#1072;&#1082;&#1078;&#1077; &#1087;&#1086;&#1076;&#1088;&#1086;&#1073;&#1085;&#1086; &#1086;&#1087;&#1080;&#1089;&#1072;&#1085; &#1074; &#1076;&#1086;&#1082;&#1091;&#1084;&#1077;&#1085;&#1090;&#1072;&#1094;&#1080;&#1080; &#1082; rspamd,
+&#1085;&#1072;&#1093;&#1086;&#1076;&#1103;&#1097;&#1077;&#1081;&#1089;&#1103; &#1074; &#1082;&#1072;&#1090;&#1072;&#1083;&#1086;&#1075;&#1077; &#1080;&#1089;&#1093;&#1086;&#1076;&#1085;&#1080;&#1082;&#1086;&#1074; doc/rspamd.pdf.
+&#1042; &#1076;&#1072;&#1085;&#1085;&#1086;&#1084; &#1078;&#1077; &#1088;&#1091;&#1082;&#1086;&#1074;&#1086;&#1076;&#1089;&#1090;&#1074;&#1077; &#1087;&#1086;&#1076;&#1088;&#1086;&#1073;&#1085;&#1086; &#1080;&#1079;&#1083;&#1086;&#1078;&#1077;&#1085; &#1087;&#1088;&#1080;&#1085;&#1094;&#1080;&#1087; &#1088;&#1072;&#1073;&#1086;&#1090;&#1099; rspamd &#1080; &#1085;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1080; &#1074;&#1089;&#1077;&#1093; &#1084;&#1086;&#1076;&#1091;&#1083;&#1077;&#1081; &#1089;&#1080;&#1089;&#1090;&#1077;&#1084;&#1099;.
+&#1044;&#1083;&#1103; &#1073;&#1072;&#1079;&#1086;&#1074;&#1086;&#1081; &#1088;&#1072;&#1073;&#1086;&#1090;&#1099; &#1076;&#1086;&#1089;&#1090;&#1072;&#1090;&#1086;&#1095;&#1085;&#1086; &#1080;&#1089;&#1087;&#1088;&#1072;&#1074;&#1080;&#1090;&#1100; &#1087;&#1091;&#1090;&#1080; &#1082; &#1092;&#1072;&#1081;&#1083;&#1072;&#1084; &#1083;&#1086;&#1075;&#1086;&#1074;,
+&#1087;&#1080;&#1076;&#1092;&#1072;&#1081;&#1083;&#1091;,
+&#1072; &#1090;&#1072;&#1082;&#1078;&#1077; &#1086;&#1073;&#1088;&#1072;&#1090;&#1080;&#1090;&#1100; &#1074;&#1085;&#1080;&#1084;&#1072;&#1085;&#1080;&#1077; &#1085;&#1072; &#1088;&#1072;&#1079;&#1076;&#1077;&#1083;&#1099; factors &#1080; classifiers.
+&#1054;&#1089;&#1090;&#1072;&#1085;&#1086;&#1074;&#1083;&#1102;&#1089;&#1100; &#1085;&#1072; &#1101;&#1090;&#1086;&#1084; &#1085;&#1077;&#1089;&#1082;&#1086;&#1083;&#1100;&#1082;&#1086; &#1087;&#1086;&#1076;&#1088;&#1086;&#1073;&#1085;&#1077;&#1077;.</p>
+
+<p>&#1042;&#1089;&#1077; &#1076;&#1080;&#1088;&#1077;&#1082;&#1090;&#1080;&#1074;&#1099; rspamd &#1080;&#1084;&#1077;&#1102;&#1090; &#1092;&#1086;&#1088;&#1084;&#1072;&#1090; param = value; &#1075;&#1076;&#1077; &#1089;&#1080;&#1084;&#1074;&#1086;&#1083; &#39;;&#39; &#1103;&#1074;&#1083;&#1103;&#1077;&#1090;&#1089;&#1103; &#1087;&#1088;&#1080;&#1079;&#1085;&#1072;&#1082;&#1086;&#1084; &#1086;&#1082;&#1086;&#1085;&#1095;&#1072;&#1085;&#1080;&#1103; &#1076;&#1080;&#1088;&#1077;&#1082;&#1090;&#1080;&#1074;&#1099;.
+&#1058;&#1072;&#1082;&#1078;&#1077; &#1092;&#1072;&#1081;&#1083; &#1088;&#1072;&#1079;&#1073;&#1080;&#1090; &#1085;&#1072; &#1089;&#1077;&#1082;&#1094;&#1080;&#1080;,
+&#1082;&#1072;&#1078;&#1076;&#1072;&#1103; &#1089;&#1077;&#1082;&#1094;&#1080;&#1103; &#1080;&#1084;&#1077;&#1077;&#1090; &#1080;&#1084;&#1103; (&#1085;&#1072;&#1087;&#1088;&#1080;&#1084;&#1077;&#1088; worker {}) &#1080; &#1074;&#1085;&#1091;&#1090;&#1088;&#1077;&#1085;&#1085;&#1080;&#1077; &#1076;&#1080;&#1088;&#1077;&#1082;&#1090;&#1074;&#1099; &#1074;&#1085;&#1091;&#1090;&#1088;&#1080; &#1092;&#1080;&#1075;&#1091;&#1088;&#1085;&#1099;&#1093; &#1089;&#1082;&#1086;&#1073;&#1086;&#1082;.
+&#1055;&#1086;&#1089;&#1083;&#1077; &#1082;&#1072;&#1078;&#1076;&#1086;&#1081; &#1089;&#1077;&#1082;&#1094;&#1080;&#1080; &#1090;&#1072;&#1082;&#1078;&#1077; &#1086;&#1073;&#1103;&#1079;&#1072;&#1090;&#1077;&#1083;&#1077;&#1085; &#1089;&#1080;&#1084;&#1074;&#1086;&#1083; &#39;;&#39;.
+&#1058;&#1072;&#1082;&#1078;&#1077; &#1082;&#1072;&#1078;&#1076;&#1099;&#1081; &#1084;&#1086;&#1076;&#1091;&#1083;&#1100; &#1080;&#1084;&#1077;&#1077;&#1090; &#1086;&#1089;&#1086;&#1073;&#1099;&#1081; &#1092;&#1086;&#1088;&#1084;&#1072;&#1090; &#1089;&#1077;&#1082;&#1094;&#1080;&#1080;:</p>
+
+<pre>
+.module 'name' {
+ param = value;
+};
+</pre>
+
+
+<p>&#1042;&#1089;&#1077; &#1101;&#1090;&#1086; &#1084;&#1086;&#1078;&#1077;&#1090; &#1087;&#1086;&#1082;&#1072;&#1079;&#1072;&#1090;&#1100;&#1089;&#1103; &#1089;&#1083;&#1086;&#1078;&#1085;&#1099;&#1084; &#1085;&#1072; &#1087;&#1077;&#1088;&#1074;&#1099;&#1081; &#1074;&#1079;&#1075;&#1083;&#1103;&#1076;,
+&#1085;&#1086; &#1101;&#1090;&#1086; &#1087;&#1086;&#1079;&#1074;&#1086;&#1083;&#1103;&#1077;&#1090; &#1083;&#1091;&#1095;&#1096;&#1077; &#1089;&#1090;&#1088;&#1091;&#1082;&#1090;&#1091;&#1088;&#1080;&#1088;&#1086;&#1074;&#1072;&#1090;&#1100; &#1092;&#1072;&#1081;&#1083; &#1080; &#1086;&#1073;&#1083;&#1077;&#1075;&#1095;&#1072;&#1077;&#1090; &#1088;&#1072;&#1089;&#1096;&#1080;&#1088;&#1103;&#1077;&#1084;&#1086;&#1089;&#1090;&#1100; rspamd.
+&#1044;&#1083;&#1103; &#1087;&#1077;&#1088;&#1074;&#1086;&#1085;&#1072;&#1095;&#1072;&#1083;&#1100;&#1085;&#1086;&#1081; &#1085;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1080; &#1076;&#1086;&#1089;&#1090;&#1072;&#1090;&#1086;&#1095;&#1085;&#1086; &#1086;&#1073;&#1088;&#1072;&#1090;&#1080;&#1090;&#1100; &#1074;&#1085;&#1080;&#1084;&#1072;&#1085;&#1080;&#1077; &#1085;&#1072; &#1088;&#1072;&#1079;&#1076;&#1077;&#1083; factors,
+&#1082;&#1086;&#1090;&#1086;&#1088;&#1099;&#1081; &#1086;&#1087;&#1080;&#1089;&#1099;&#1074;&#1072;&#1077;&#1090; &#1074;&#1077;&#1089;&#1072; &#1088;&#1072;&#1079;&#1083;&#1080;&#1095;&#1085;&#1099;&#1093; &#1087;&#1088;&#1072;&#1074;&#1080;&#1083;,
+&#1088;&#1072;&#1079;&#1076;&#1077;&#1083; metric,
+&#1082;&#1086;&#1090;&#1086;&#1088;&#1099;&#1081; &#1086;&#1087;&#1080;&#1089;&#1099;&#1074;&#1072;&#1077;&#1090; &#1084;&#1072;&#1082;&#1089;&#1080;&#1084;&#1072;&#1083;&#1100;&#1085;&#1099;&#1081; &#1074;&#1077;&#1089;,
+&#1095;&#1090;&#1086;&#1073;&#1099; &#1087;&#1080;&#1089;&#1100;&#1084;&#1086; &#1089;&#1095;&#1080;&#1090;&#1072;&#1083;&#1086;&#1089;&#1100; &#1089;&#1087;&#1072;&#1084;&#1086;&#1084;,
+&#1072; &#1090;&#1072;&#1082;&#1078;&#1077; &#1085;&#1072; &#1088;&#1072;&#1079;&#1076;&#1077;&#1083; classifiers.
+&#1056;&#1072;&#1079;&#1076;&#1077;&#1083; classifiers &#1086;&#1073;&#1077;&#1089;&#1087;&#1077;&#1095;&#1080;&#1074;&#1072;&#1077;&#1090; &#1088;&#1072;&#1073;&#1086;&#1090;&#1091; &#1089;&#1090;&#1072;&#1090;&#1080;&#1089;&#1090;&#1080;&#1095;&#1077;&#1089;&#1082;&#1080;&#1093; &#1072;&#1083;&#1075;&#1086;&#1088;&#1080;&#1090;&#1084;&#1086;&#1074;.
+&#1042; rspamd &#1074; &#1085;&#1072;&#1089;&#1090;&#1086;&#1103;&#1097;&#1077;&#1077; &#1074;&#1088;&#1077;&#1084;&#1103; &#1088;&#1077;&#1072;&#1083;&#1080;&#1079;&#1086;&#1074;&#1072;&#1085; &#1072;&#1083;&#1075;&#1086;&#1088;&#1080;&#1090;&#1084; winnow,
+&#1082;&#1086;&#1090;&#1086;&#1088;&#1099;&#1081; &#1088;&#1072;&#1073;&#1086;&#1090;&#1072;&#1077;&#1090; &#1089;&#1083;&#1077;&#1076;&#1091;&#1102;&#1097;&#1080;&#1084; &#1086;&#1073;&#1088;&#1072;&#1079;&#1086;&#1084;:</p>
+
+<dl>
+<dt><a name="1_(1090)(1077)(1082)(1089)(1090)_(1088)(1072)(1079)(1073)(1080)(1074)(1072)(1077)(1090)(1089)(1103)_(1085)(1072)_(1089)(1083)(1086)(1074)(1072),_(1090)(1072)(1082)(1078)(1077)_(1074)(1099)(1076)(1077)(1083)(1103)(1077)(1090)(1089)(1103)_(1086)(1082)(1085)(1086)_(1074)_(1087)(1103)(1090)(1100)_(1089)(1083)(1086)(1074)"
+>1 &#1090;&#1077;&#1082;&#1089;&#1090; &#1088;&#1072;&#1079;&#1073;&#1080;&#1074;&#1072;&#1077;&#1090;&#1089;&#1103; &#1085;&#1072; &#1089;&#1083;&#1086;&#1074;&#1072;,
+&#1090;&#1072;&#1082;&#1078;&#1077; &#1074;&#1099;&#1076;&#1077;&#1083;&#1103;&#1077;&#1090;&#1089;&#1103; &#1086;&#1082;&#1085;&#1086; &#1074; &#1087;&#1103;&#1090;&#1100; &#1089;&#1083;&#1086;&#1074;</a></dt>
+
+<dd>
+<dt><a name="2_(1086)(1082)(1085)(1086)_(1087)(1077)(1088)(1077)(1084)(1077)(1097)(1072)(1077)(1090)(1089)(1103)_(1087)(1086)_(1089)(1083)(1086)(1074)(1072)(1084),_(1087)(1088)(1080)_(1101)(1090)(1086)(1084)_(1074)(1099)(1076)(1077)(1083)(1103)(1102)(1090)(1089)(1103)_(1089)(1083)(1086)(1074)(1086)(1089)(1086)(1095)(1077)(1090)(1072)(1085)(1080)(1103)_(1087)(1086)_(1086)(1087)(1088)(1077)(1076)(1077)(1083)(1077)(1085)(1085)(1086)(1084)(1091)_(1072)(1083)(1075)(1086)(1088)(1080)(1090)(1084)(1091)_(1080)_(1074)(1099)(1095)(1080)(1089)(1083)(1103)(1077)(1090)(1089)(1103)_(1080)(1093)_(1093)(1077)(1096)"
+>2 &#1086;&#1082;&#1085;&#1086; &#1087;&#1077;&#1088;&#1077;&#1084;&#1077;&#1097;&#1072;&#1077;&#1090;&#1089;&#1103; &#1087;&#1086; &#1089;&#1083;&#1086;&#1074;&#1072;&#1084;,
+&#1087;&#1088;&#1080; &#1101;&#1090;&#1086;&#1084; &#1074;&#1099;&#1076;&#1077;&#1083;&#1103;&#1102;&#1090;&#1089;&#1103; &#1089;&#1083;&#1086;&#1074;&#1086;&#1089;&#1086;&#1095;&#1077;&#1090;&#1072;&#1085;&#1080;&#1103; &#1087;&#1086; &#1086;&#1087;&#1088;&#1077;&#1076;&#1077;&#1083;&#1077;&#1085;&#1085;&#1086;&#1084;&#1091; &#1072;&#1083;&#1075;&#1086;&#1088;&#1080;&#1090;&#1084;&#1091; &#1080; &#1074;&#1099;&#1095;&#1080;&#1089;&#1083;&#1103;&#1077;&#1090;&#1089;&#1103; &#1080;&#1093; &#1093;&#1077;&#1096;</a></dt>
+
+<dd>
+<dt><a
+>3 &#1082;&#1072;&#1078;&#1076;&#1099;&#1081; &#1087;&#1086;&#1083;&#1091;&#1095;&#1077;&#1085;&#1085;&#1099;&#1081; &#1090;&#1072;&#1082;&#1080;&#1084; &#1086;&#1073;&#1088;&#1072;&#1079;&#1086;&#1084; &#1093;&#1077;&#1096; &#1087;&#1088;&#1086;&#1074;&#1077;&#1088;&#1103;&#1077;&#1090;&#1089;&#1103; &#1074; &#1092;&#1072;&#1081;&#1083;&#1077; &#1089;&#1090;&#1072;&#1090;&#1080;&#1089;&#1090;&#1080;&#1082;&#1080;,
+&#1074; &#1082;&#1086;&#1090;&#1086;&#1088;&#1086;&#1084; &#1093;&#1088;&#1072;&#1085;&#1103;&#1090;&#1089;&#1103; &#1093;&#1077;&#1096;&#1080; &#1080; &#1080;&#1093; &#1074;&#1077;&#1089;&#1072;,
+&#1077;&#1089;&#1083;&#1080; &#1093;&#1077;&#1096; &#1085;&#1072;&#1081;&#1076;&#1077;&#1085;,
+&#1090;&#1086; &#1077;&#1075;&#1086; &#1074;&#1077;&#1089; &#1076;&#1086;&#1073;&#1072;&#1074;&#1083;&#1103;&#1077;&#1090;&#1089;&#1103; &#1082; &#1089;&#1091;&#1084;&#1084;&#1072;&#1088;&#1085;&#1086;&#1084;&#1091; &#1074;&#1077;&#1089;&#1091; &#1076;&#1072;&#1085;&#1085;&#1086;&#1075;&#1086; &#1092;&#1072;&#1081;&#1083;&#1072;</a></dt>
+
+<dd>
+<dt><a name="4_(1092)(1072)(1081)(1083),_(1085)(1072)(1073)(1088)(1072)(1074)(1096)(1080)(1081)_(1074)_(1089)(1091)(1084)(1084)(1077)_(1073)(1086)(1083)(1100)(1096)(1077)_(1074)(1077)(1089)(1072)_(1089)(1095)(1080)(1090)(1072)(1077)(1090)(1089)(1103)_(1082)(1083)(1072)(1089)(1089)(1086)(1084)_(1087)(1080)(1089)(1100)(1084)(1072)"
+>4 &#1092;&#1072;&#1081;&#1083;,
+&#1085;&#1072;&#1073;&#1088;&#1072;&#1074;&#1096;&#1080;&#1081; &#1074; &#1089;&#1091;&#1084;&#1084;&#1077; &#1073;&#1086;&#1083;&#1100;&#1096;&#1077; &#1074;&#1077;&#1089;&#1072; &#1089;&#1095;&#1080;&#1090;&#1072;&#1077;&#1090;&#1089;&#1103; &#1082;&#1083;&#1072;&#1089;&#1089;&#1086;&#1084; &#1087;&#1080;&#1089;&#1100;&#1084;&#1072;</a></dt>
+</dl>
+
+<p>&#1054;&#1089;&#1085;&#1086;&#1074;&#1085;&#1072;&#1103; &#1080;&#1076;&#1077;&#1103; &#1090;&#1072;&#1082;&#1086;&#1075;&#1086; &#1087;&#1086;&#1076;&#1093;&#1086;&#1076;&#1072; &#1074; &#1086;&#1087;&#1088;&#1077;&#1076;&#1077;&#1083;&#1077;&#1085;&#1080;&#1080; &#1087;&#1086; &#1089;&#1083;&#1086;&#1074;&#1086;&#1089;&#1086;&#1095;&#1077;&#1090;&#1072;&#1085;&#1080;&#1103;&#1084;,
+&#1082; &#1082;&#1072;&#1082;&#1086;&#1084;&#1091; &#1082;&#1083;&#1072;&#1089;&#1089;&#1091; &#1087;&#1088;&#1080;&#1085;&#1072;&#1076;&#1083;&#1077;&#1078;&#1080;&#1090; &#1076;&#1072;&#1085;&#1085;&#1086;&#1077; &#1087;&#1080;&#1089;&#1100;&#1084;&#1086;.
+&#1042; SA &#1076;&#1083;&#1103; &#1101;&#1090;&#1086;&#1081; &#1094;&#1077;&#1083;&#1080; &#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1091;&#1077;&#1090;&#1089;&#1103; &#1074;&#1077;&#1088;&#1086;&#1103;&#1090;&#1085;&#1086;&#1089;&#1090;&#1085;&#1099;&#1081; &#1072;&#1083;&#1075;&#1086;&#1088;&#1080;&#1090;&#1084; bayes,
+&#1082;&#1086;&#1090;&#1086;&#1088;&#1099;&#1081; &#1076;&#1086;&#1089;&#1090;&#1072;&#1090;&#1086;&#1095;&#1085;&#1086; &#1087;&#1086;&#1093;&#1086;&#1078; &#1085;&#1072; &#1074;&#1099;&#1096;&#1077;&#1086;&#1087;&#1080;&#1089;&#1072;&#1085;&#1085;&#1099;&#1081;,
+&#1085;&#1086; &#1089;&#1095;&#1080;&#1090;&#1072;&#1077;&#1090; &#1085;&#1077; &#1074;&#1077;&#1089;&#1072;,
+&#1072; &#1074;&#1077;&#1088;&#1086;&#1103;&#1090;&#1085;&#1086;&#1089;&#1090;&#1080;.
+&#1069;&#1092;&#1092;&#1077;&#1082;&#1090;&#1080;&#1074;&#1085;&#1086;&#1089;&#1090;&#1100; &#1082;&#1072;&#1078;&#1076;&#1086;&#1075;&#1086; &#1080;&#1079; &#1072;&#1083;&#1075;&#1086;&#1088;&#1080;&#1090;&#1084;&#1086;&#1074; &#1087;&#1088;&#1080;&#1084;&#1077;&#1088;&#1085;&#1086; &#1086;&#1076;&#1080;&#1085;&#1072;&#1082;&#1086;&#1074;&#1072; &#1080; &#1079;&#1072;&#1074;&#1080;&#1089;&#1080;&#1090; &#1074; &#1086;&#1089;&#1085;&#1086;&#1074;&#1085;&#1086;&#1084; &#1086;&#1090; &#1101;&#1092;&#1092;&#1077;&#1082;&#1090;&#1080;&#1074;&#1085;&#1086;&#1089;&#1090;&#1080; &#1086;&#1073;&#1091;&#1095;&#1077;&#1085;&#1080;&#1103;.
+&#1054;&#1076;&#1085;&#1072;&#1082;&#1086;,
+&#1074; &#1086;&#1090;&#1083;&#1080;&#1095;&#1080;&#1077; &#1086;&#1090; SA,
+rspamd &#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1091;&#1077;&#1090; &#1085;&#1077; &#1086;&#1090;&#1076;&#1077;&#1083;&#1100;&#1085;&#1099;&#1077; &#1089;&#1083;&#1086;&#1074;&#1072;,
+&#1072; &#1089;&#1083;&#1086;&#1074;&#1086;&#1089;&#1086;&#1095;&#1077;&#1090;&#1072;&#1085;&#1080;&#1103;,
+&#1095;&#1090;&#1086; &#1087;&#1086;&#1074;&#1099;&#1096;&#1072;&#1077;&#1090; &#1077;&#1075;&#1086; &#1101;&#1092;&#1092;&#1077;&#1082;&#1090;&#1080;&#1074;&#1085;&#1086;&#1089;&#1090;&#1100;.
+&#1042; &#1089;&#1077;&#1082;&#1094;&#1080;&#1080; classifiers &#1084;&#1086;&#1078;&#1085;&#1086; &#1091;&#1089;&#1090;&#1072;&#1085;&#1086;&#1074;&#1080;&#1090;&#1100; &#1088;&#1072;&#1079;&#1083;&#1080;&#1095;&#1085;&#1099;&#1077; &#1082;&#1083;&#1072;&#1089;&#1089;&#1099; &#1087;&#1080;&#1089;&#1077;&#1084;,
+&#1072; &#1076;&#1072;&#1083;&#1077;&#1077; &#1074; &#1089;&#1077;&#1082;&#1094;&#1080;&#1080; factors &#1091;&#1082;&#1072;&#1079;&#1072;&#1090;&#1100; &#1080;&#1093; &#1074;&#1077;&#1089; (&#1079;&#1072;&#1076;&#1072;&#1074;,
+&#1085;&#1072;&#1087;&#1088;&#1080;&#1084;&#1077;&#1088;,
+&#1076;&#1083;&#1103; &#1079;&#1072;&#1074;&#1077;&#1076;&#1086;&#1084;&#1086; &#1073;&#1077;&#1079;&#1074;&#1088;&#1077;&#1076;&#1085;&#1099;&#1093; &#1087;&#1080;&#1089;&#1077;&#1084; - ham - &#1086;&#1090;&#1088;&#1080;&#1094;&#1072;&#1090;&#1077;&#1083;&#1100;&#1085;&#1099;&#1081; &#1074;&#1077;&#1089;).
+&#1056;&#1072;&#1079;&#1084;&#1077;&#1088; &#1092;&#1072;&#1081;&#1083;&#1086;&#1074; &#1089;&#1090;&#1072;&#1090;&#1080;&#1089;&#1090;&#1080;&#1082;&#1080; &#1076;&#1086;&#1083;&#1078;&#1077;&#1085; &#1073;&#1099;&#1090;&#1100; &#1088;&#1072;&#1079;&#1091;&#1084;&#1085;&#1086; &#1073;&#1086;&#1083;&#1100;&#1096;&#1080;&#1084; &#1076;&#1083;&#1103; &#1093;&#1088;&#1072;&#1085;&#1077;&#1085;&#1080;&#1103; &#1082;&#1072;&#1082; &#1084;&#1086;&#1078;&#1085;&#1086; &#1073;&#1086;&#1083;&#1100;&#1096;&#1077;&#1075;&#1086; &#1095;&#1080;&#1089;&#1083;&#1072; &#1093;&#1077;&#1096;&#1077;&#1081;.
+&#1054;&#1076;&#1085;&#1072;&#1082;&#1086;,
+&#1085;&#1077;&#1086;&#1073;&#1093;&#1086;&#1076;&#1080;&#1084;&#1086; &#1091;&#1095;&#1080;&#1090;&#1099;&#1074;&#1072;&#1090;&#1100;,
+&#1095;&#1090;&#1086; &#1101;&#1090;&#1080; &#1092;&#1072;&#1081;&#1083;&#1099; &#1094;&#1077;&#1083;&#1080;&#1082;&#1086;&#1084; &#1079;&#1072;&#1075;&#1088;&#1091;&#1078;&#1072;&#1102;&#1090;&#1089;&#1103; &#1074; &#1087;&#1072;&#1084;&#1103;&#1090;&#1100; (&#1093;&#1086;&#1090;&#1103;,
+&#1088;&#1077;&#1072;&#1083;&#1080;&#1079;&#1072;&#1094;&#1080;&#1103; &#1086;&#1090;&#1086;&#1073;&#1088;&#1072;&#1078;&#1077;&#1085;&#1080;&#1103; &#1092;&#1072;&#1081;&#1083;&#1072; &#1074; &#1087;&#1072;&#1084;&#1103;&#1090;&#1080; &#1074; &#1088;&#1072;&#1079;&#1083;&#1080;&#1095;&#1085;&#1099;&#1093; &#1054;&#1057; &#1076;&#1086;&#1087;&#1091;&#1089;&#1082;&#1072;&#1077;&#1090; &#1079;&#1072;&#1075;&#1088;&#1091;&#1079;&#1082;&#1091; &#1080; &#1074;&#1099;&#1075;&#1088;&#1091;&#1079;&#1082;&#1091; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094; &#1101;&#1090;&#1086;&#1075;&#1086; &#1092;&#1072;&#1081;&#1083;&#1072; &#1074; &#1089;&#1074;&#1086;&#1087; &#1089;&#1080;&#1089;&#1090;&#1077;&#1084;&#1099;,
+&#1085;&#1086; &#1101;&#1092;&#1092;&#1077;&#1082;&#1090;&#1080;&#1074;&#1085;&#1086;&#1089;&#1090;&#1100; &#1101;&#1090;&#1086;&#1075;&#1086; &#1076;&#1086;&#1074;&#1086;&#1083;&#1100;&#1085;&#1086; &#1085;&#1080;&#1079;&#1082;&#1072;),
+&#1087;&#1086;&#1101;&#1090;&#1086;&#1084;&#1091; &#1085;&#1077;&#1086;&#1073;&#1093;&#1086;&#1076;&#1080;&#1084;&#1086; &#1089;&#1086;&#1080;&#1079;&#1084;&#1077;&#1088;&#1103;&#1090;&#1100; &#1088;&#1072;&#1079;&#1084;&#1077;&#1088; &#1086;&#1087;&#1077;&#1088;&#1072;&#1090;&#1080;&#1074;&#1085;&#1086;&#1081; &#1087;&#1072;&#1084;&#1103;&#1090;&#1080; &#1080; &#1092;&#1072;&#1081;&#1083;&#1086;&#1074; &#1089;&#1090;&#1072;&#1090;&#1080;&#1089;&#1090;&#1080;&#1082;&#1080;.</p>
+
+<h2><a class='u' href='#___top' title='click to go to top of document'
+name="4._(1055)(1086)(1076)(1082)(1083)(1102)(1095)(1077)(1085)(1080)(1077)_(1080)_(1087)(1088)(1086)(1074)(1077)(1088)(1082)(1072)_(1088)(1072)(1073)(1086)(1090)(1086)(1089)(1087)(1086)(1089)(1086)(1073)(1085)(1086)(1089)(1090)(1080)_rspamd"
+>4.
+&#1055;&#1086;&#1076;&#1082;&#1083;&#1102;&#1095;&#1077;&#1085;&#1080;&#1077; &#1080; &#1087;&#1088;&#1086;&#1074;&#1077;&#1088;&#1082;&#1072; &#1088;&#1072;&#1073;&#1086;&#1090;&#1086;&#1089;&#1087;&#1086;&#1089;&#1086;&#1073;&#1085;&#1086;&#1089;&#1090;&#1080; rspamd</a></h2>
+
+<p>&#1044;&#1083;&#1103; &#1087;&#1088;&#1086;&#1074;&#1077;&#1088;&#1082;&#1080; &#1088;&#1072;&#1073;&#1086;&#1090;&#1099; &#1089;&#1080;&#1089;&#1090;&#1077;&#1084;&#1099; rspamd &#1087;&#1088;&#1086;&#1097;&#1077; &#1074;&#1089;&#1077;&#1075;&#1086; &#1074;&#1086;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1100;&#1089;&#1103; &#1082;&#1086;&#1084;&#1072;&#1085;&#1076;&#1086;&#1081; rspamc:</p>
+
+<pre>
+hostname:~> rspamc stat
+Do rspamc command stat
+Messages scanned: 1234040
+Messages learned: 59151
+Connections count: 1176623
+Control connections count: 59152
+Pools allocated: 2530714
+Pools freed: 2530699
+Bytes allocated: 66991793394
+Memory chunks allocated: 6453232
+Shared chunks allocated: 3
+Chunks freed: 6453090
+Oversized chunks: 468849
+Statfile: WINNOW_HAM (version 69); length: 100.0 MB; free blocks: 4563488; total blocks: 6553581; free: 69.63%
+Statfile: WINNOW_SPAM (version 36383); length: 100.0 MB; free blocks: 760504; total blocks: 6553581; free: 11.60%
+</pre>
+
+
+<p>&#1042; &#1076;&#1072;&#1085;&#1085;&#1086;&#1084; &#1089;&#1083;&#1091;&#1095;&#1072;&#1077; &#1074;&#1099;&#1074;&#1086;&#1076;&#1080;&#1090;&#1089;&#1103; &#1086;&#1073;&#1097;&#1072;&#1103; &#1089;&#1090;&#1072;&#1090;&#1080;&#1089;&#1090;&#1080;&#1082;&#1072;.
+&#1058;&#1072;&#1082;&#1086;&#1075;&#1086; &#1078;&#1077; &#1101;&#1092;&#1092;&#1077;&#1082;&#1090;&#1072; &#1084;&#1086;&#1078;&#1085;&#1086; &#1076;&#1086;&#1089;&#1090;&#1080;&#1075;&#1085;&#1091;&#1090;&#1100; &#1082;&#1086;&#1084;&#1072;&#1085;&#1076;&#1086;&#1081; telnet &#1085;&#1072; &#1087;&#1086;&#1088;&#1090; &#1087;&#1088;&#1086;&#1094;&#1077;&#1089;&#1089;&#1072; controller (&#1086;&#1085; &#1086;&#1087;&#1080;&#1089;&#1072;&#1085; &#1074; &#1082;&#1086;&#1085;&#1092;&#1080;&#1075;&#1091;&#1088;&#1072;&#1094;&#1080;&#1086;&#1085;&#1085;&#1086;&#1084; &#1092;&#1072;&#1081;&#1083;&#1077; &#1074; &#1089;&#1077;&#1082;&#1094;&#1080;&#1080; worker,
+type &#1091; &#1082;&#1086;&#1090;&#1086;&#1088;&#1086;&#1075;&#1086; controller).
+&#1055;&#1086; &#1091;&#1084;&#1086;&#1083;&#1095;&#1072;&#1085;&#1080;&#1102; &#1101;&#1090;&#1086; &#1087;&#1086;&#1088;&#1090; 11334 &#1085;&#1072; &#1072;&#1076;&#1088;&#1077;&#1089;&#1077; 127.0.0.1.
+&#1056;&#1072;&#1073;&#1086;&#1090;&#1091; &#1087;&#1088;&#1072;&#1074;&#1080;&#1083; &#1080; &#1089;&#1090;&#1072;&#1090;&#1080;&#1089;&#1090;&#1080;&#1082;&#1080; &#1084;&#1086;&#1078;&#1085;&#1086; &#1090;&#1072;&#1082;&#1078;&#1077; &#1087;&#1088;&#1086;&#1074;&#1077;&#1088;&#1080;&#1090;&#1100; &#1087;&#1086; &#1082;&#1086;&#1084;&#1072;&#1085;&#1076;&#1077; rspamc:</p>
+
+<pre>
+~> rspamc symbols /tmp/mailman.eml
+Processing /tmp/mailman.eml
+Process file: /tmp/mailman.eml
+Sending 4950 bytes...
+RSPAMD/1.1 0 OK
+Metric: default; False; -3.35 / 10.00 / 0.00
+Symbol: WINNOW_HAM; 5.00
+Symbol: RECEIVED_RBL; pbl.spamhaus.org,insecure-bl.rambler.ru
+Urls:
+</pre>
+
+
+<p>&#1042; &#1076;&#1072;&#1085;&#1085;&#1086;&#1084; &#1089;&#1083;&#1091;&#1095;&#1072;&#1077; &#1087;&#1086;&#1082;&#1072;&#1079;&#1099;&#1074;&#1072;&#1102;&#1090;&#1089;&#1103; &#1073;&#1072;&#1083;&#1083;&#1099;,
+&#1085;&#1072;&#1073;&#1088;&#1072;&#1085;&#1085;&#1099;&#1077; &#1087;&#1080;&#1089;&#1100;&#1084;&#1086;&#1084;,
+&#1072; &#1090;&#1072;&#1082;&#1078;&#1077; &#1076;&#1086;&#1087;&#1086;&#1083;&#1085;&#1080;&#1090;&#1077;&#1083;&#1100;&#1085;&#1072;&#1103; &#1080;&#1085;&#1092;&#1086;&#1088;&#1084;&#1072;&#1094;&#1080;&#1103;.
+&#1055;&#1086;&#1076;&#1088;&#1086;&#1073;&#1085;&#1077;&#1077; &#1086; &#1087;&#1088;&#1086;&#1090;&#1086;&#1082;&#1086;&#1083;&#1077; rspamc &#1074; &#1076;&#1086;&#1082;&#1091;&#1084;&#1077;&#1085;&#1090;&#1072;&#1094;&#1080;&#1080; (doc/rspamd.pdf).
+&#1044;&#1083;&#1103; &#1087;&#1086;&#1076;&#1082;&#1083;&#1102;&#1095;&#1077;&#1085;&#1080;&#1103; rspamd &#1082; MTA &#1083;&#1091;&#1095;&#1096;&#1077; &#1074;&#1089;&#1077;&#1075;&#1086; &#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1100; milter,
+&#1077;&#1089;&#1083;&#1080; &#1074;&#1072;&#1096; MTA postfix &#1080;&#1083;&#1080; sendmail.
+&#1042; &#1082;&#1072;&#1095;&#1077;&#1089;&#1090;&#1074;&#1077; milter&#39;&#1072; &#1084;&#1086;&#1078;&#1085;&#1086; &#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1100;,
+&#1085;&#1072;&#1087;&#1088;&#1080;&#1084;&#1077;&#1088;,
+rmilter: <a href="https://www.milter.org/milter/71/" class="podlinkurl"
+>https://www.milter.org/milter/71/</a>.
+&#1054; &#1085;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1077; postfix + rmilter &#1084;&#1085;&#1086;&#1081; &#1073;&#1099;&#1083;&#1072; &#1085;&#1072;&#1087;&#1080;&#1089;&#1072;&#1085;&#1072; &#1089;&#1083;&#1077;&#1076;&#1091;&#1102;&#1097;&#1072;&#1103; &#1079;&#1072;&#1084;&#1077;&#1090;&#1082;&#1072;: <a href="http://cebka.pp.ru/blog/2009/02/-nginxpostfixrmilter.html" class="podlinkurl"
+>http://cebka.pp.ru/blog/2009/02/-nginxpostfixrmilter.html</a> &#1044;&#1083;&#1103; MTA exim &#1084;&#1086;&#1078;&#1085;&#1086; &#1074;&#1086;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1100;&#1089;&#1103; &#1092;&#1072;&#1081;&#1083;&#1086;&#1084; local_scan.c &#1074; &#1082;&#1072;&#1090;&#1072;&#1083;&#1086;&#1075;&#1077; contrib/exim.
+&#1048;&#1085;&#1089;&#1090;&#1088;&#1091;&#1082;&#1094;&#1080;&#1080; &#1087;&#1086; &#1077;&#1075;&#1086; &#1091;&#1089;&#1090;&#1072;&#1085;&#1086;&#1074;&#1082;&#1077; &#1086;&#1087;&#1080;&#1089;&#1072;&#1085;&#1099; &#1074; &#1089;&#1072;&#1084;&#1086;&#1084; &#1092;&#1072;&#1081;&#1083;&#1077;,
+&#1086;&#1076;&#1085;&#1072;&#1082;&#1086;,
+&#1101;&#1090;&#1086; &#1090;&#1088;&#1077;&#1073;&#1091;&#1077;&#1090; &#1087;&#1077;&#1088;&#1077;&#1089;&#1073;&#1086;&#1088;&#1082;&#1080; MTA.
+&#1058;&#1072;&#1082;&#1078;&#1077; rspamd &#34;&#1087;&#1086;&#1085;&#1080;&#1084;&#1072;&#1077;&#1090;&#34; &#1087;&#1088;&#1086;&#1090;&#1086;&#1082;&#1086;&#1083; SA,
+&#1087;&#1086;&#1101;&#1090;&#1086;&#1084;&#1091; &#1076;&#1083;&#1103; &#1087;&#1086;&#1076;&#1082;&#1083;&#1102;&#1095;&#1077;&#1085;&#1080;&#1103; rspamd &#1084;&#1086;&#1078;&#1085;&#1086; &#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1100; &#1090;&#1077; &#1078;&#1077; &#1089;&#1088;&#1077;&#1076;&#1089;&#1090;&#1074;&#1072;,
+&#1095;&#1090;&#1086; &#1080; &#1076;&#1083;&#1103; &#1087;&#1086;&#1076;&#1082;&#1083;&#1102;&#1095;&#1077;&#1085;&#1080;&#1103; &#1082; MTA SA.</p>
+
+<p>&#1055;&#1086;&#1076;&#1088;&#1086;&#1073;&#1085;&#1077;&#1077; &#1086; &#1082;&#1086;&#1084;&#1072;&#1085;&#1076;&#1072;&#1093; rspamc &#1080; &#1087;&#1088;&#1086;&#1090;&#1086;&#1082;&#1086;&#1083;&#1077; rspamc &#1085;&#1072;&#1087;&#1080;&#1089;&#1072;&#1085;&#1086; &#1086;&#1087;&#1103;&#1090;&#1100; &#1078;&#1077; &#1074; &#1076;&#1086;&#1082;&#1091;&#1084;&#1077;&#1085;&#1090;&#1072;&#1094;&#1080;&#1080;.</p>
+
+<h2><a class='u' href='#___top' title='click to go to top of document'
+name="5._(1054)(1073)(1091)(1095)(1077)(1085)(1080)(1077)_rspamd"
+>5.
+&#1054;&#1073;&#1091;&#1095;&#1077;&#1085;&#1080;&#1077; rspamd</a></h2>
+
+<p>&#1055;&#1088;&#1086;&#1094;&#1077;&#1089;&#1089; &#1086;&#1073;&#1091;&#1095;&#1077;&#1085;&#1080;&#1103; &#1074;&#1072;&#1078;&#1077;&#1085; &#1076;&#1083;&#1103; &#1082;&#1086;&#1088;&#1088;&#1077;&#1082;&#1090;&#1085;&#1086;&#1081; &#1088;&#1072;&#1073;&#1086;&#1090;&#1099; &#1089;&#1090;&#1072;&#1090;&#1080;&#1089;&#1090;&#1080;&#1082;&#1080;.
+&#1044;&#1083;&#1103; &#1086;&#1073;&#1091;&#1095;&#1077;&#1085;&#1080;&#1103; &#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1091;&#1077;&#1090;&#1089;&#1103; &#1082;&#1086;&#1084;&#1072;&#1085;&#1076;&#1072; rspamc learn.
+&#1044;&#1083;&#1103; &#1091;&#1082;&#1072;&#1079;&#1072;&#1085;&#1080;&#1103; &#1092;&#1072;&#1081;&#1083;&#1072; (&#1082;&#1083;&#1072;&#1089;&#1089;&#1072;) &#1087;&#1080;&#1089;&#1100;&#1084;&#1072; &#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1091;&#1077;&#1090;&#1089;&#1103; &#1082;&#1083;&#1102;&#1095; -s.
+&#1055;&#1088;&#1080;&#1084;&#1077;&#1088; &#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1085;&#1080;&#1103;:</p>
+
+<pre>
+~> rspamc -s WINNOW_HAM learn /tmp/mailman.eml
+Processing /tmp/mailman.eml
+Process file: /tmp/mailman.eml
+Do rspamc command learn
+Sending 4950 bytes...
+Learn succeed. Sum weight: 128.48
+</pre>
+
+
+<p>&#1042; &#1082;&#1072;&#1095;&#1077;&#1089;&#1090;&#1074;&#1077; &#1087;&#1072;&#1088;&#1072;&#1084;&#1077;&#1090;&#1088;&#1086;&#1074; &#1084;&#1086;&#1078;&#1085;&#1086; &#1091;&#1082;&#1072;&#1079;&#1099;&#1074;&#1072;&#1090;&#1100; &#1085;&#1077;&#1089;&#1082;&#1086;&#1083;&#1100;&#1082;&#1086; &#1092;&#1072;&#1081;&#1083;&#1086;&#1074;,
+&#1094;&#1077;&#1083;&#1099;&#1077; &#1082;&#1072;&#1090;&#1072;&#1083;&#1086;&#1075;&#1080;,
+&#1072; &#1090;&#1072;&#1082;&#1078;&#1077; imap &#1087;&#1072;&#1087;&#1082;&#1080;:</p>
+
+<pre>
+~> rspamc -s WINNOW_SPAM learn imaps:user:cebka:password::host:somehost.rambler.ru:mbox:abuse.spam
+Processing imaps:user:cebka:password::host:mailsupport.rambler.ru:mbox:abuse.spam
+Enter IMAP password:
+Process imap: host: somehost.rambler.ru, mbox: abuse.spam
+Do rspamc command learn
+Sending 382650 bytes...
+Learn succeed. Sum weight: 1850.24
+<skipped>
+</pre>
+
+
+<p>&#1055;&#1088;&#1080; &#1086;&#1073;&#1091;&#1095;&#1077;&#1085;&#1080;&#1080; &#1085;&#1077;&#1086;&#1073;&#1093;&#1086;&#1076;&#1080;&#1084;&#1086; &#1091;&#1095;&#1080;&#1090;&#1099;&#1074;&#1072;&#1090;&#1100;,
+&#1095;&#1090;&#1086;&#1073;&#1099; &#1082;&#1086;&#1083;&#1080;&#1095;&#1077;&#1089;&#1090;&#1074;&#1086; spam &#1080; ham &#1087;&#1080;&#1089;&#1077;&#1084; &#1073;&#1099;&#1083;&#1086; &#1087;&#1088;&#1080;&#1084;&#1077;&#1088;&#1085;&#1086; &#1088;&#1072;&#1074;&#1085;&#1099;&#1084;.
+&#1042;&#1077;&#1089; &#1087;&#1086;&#1082;&#1072;&#1079;&#1099;&#1074;&#1072;&#1077;&#1090; &#1089;&#1091;&#1084;&#1084;&#1072;&#1088;&#1085;&#1099;&#1081; &#1074;&#1077;&#1089; &#1089;&#1083;&#1086;&#1074;&#1086;&#1089;&#1086;&#1095;&#1077;&#1090;&#1072;&#1085;&#1080;&#1081; &#1090;&#1077;&#1082;&#1089;&#1090;&#1072;,
+&#1082;&#1086;&#1090;&#1086;&#1088;&#1099;&#1081; &#1073;&#1099;&#1083; &#1076;&#1086; &#1086;&#1073;&#1091;&#1095;&#1077;&#1085;&#1080;&#1103; &#1076;&#1072;&#1085;&#1085;&#1099;&#1084; &#1087;&#1080;&#1089;&#1100;&#1084;&#1086;&#1084; (&#1090;&#1086; &#1077;&#1089;&#1090;&#1100;,
+&#1090;&#1086;,
+&#1085;&#1072;&#1089;&#1082;&#1086;&#1083;&#1100;&#1082;&#1086; &#1074;&#1077;&#1083;&#1080;&#1082;&#1072; &#1074;&#1077;&#1088;&#1086;&#1103;&#1090;&#1085;&#1086;&#1089;&#1090;&#1100; &#1087;&#1088;&#1080;&#1085;&#1072;&#1076;&#1083;&#1077;&#1078;&#1085;&#1086;&#1089;&#1090;&#1080; &#1076;&#1072;&#1085;&#1085;&#1086;&#1075;&#1086; &#1087;&#1080;&#1089;&#1100;&#1084;&#1072; &#1082; &#1101;&#1090;&#1086;&#1084;&#1091; &#1082;&#1083;&#1072;&#1089;&#1089;&#1091;).
+&#1055;&#1088;&#1080; &#1086;&#1073;&#1085;&#1072;&#1088;&#1091;&#1078;&#1077;&#1085;&#1080;&#1080; &#1085;&#1077;&#1074;&#1077;&#1088;&#1085;&#1099;&#1093; &#1089;&#1088;&#1072;&#1073;&#1072;&#1090;&#1099;&#1074;&#1072;&#1085;&#1080;&#1081; &#1089;&#1090;&#1072;&#1090;&#1080;&#1089;&#1090;&#1080;&#1082;&#1080; &#1084;&#1086;&#1078;&#1085;&#1086; &#1085;&#1077;&#1089;&#1082;&#1086;&#1083;&#1100;&#1082;&#1086; &#1088;&#1072;&#1079; &#1087;&#1088;&#1080;&#1084;&#1077;&#1085;&#1080;&#1090;&#1100; learn &#1082; &#1079;&#1072;&#1076;&#1072;&#1085;&#1085;&#1086;&#1084;&#1091; &#1087;&#1080;&#1089;&#1100;&#1084;&#1091;,
+&#1087;&#1088;&#1086;&#1074;&#1077;&#1088;&#1103;&#1103; &#1077;&#1075;&#1086; &#1089;&#1091;&#1084;&#1084;&#1072;&#1088;&#1085;&#1099;&#1081; &#1074;&#1077;&#1089;.</p>
+
+<h2><a class='u' href='#___top' title='click to go to top of document'
+name="6._(1055)(1086)(1076)(1076)(1077)(1088)(1078)(1082)(1072)_(1080)_(1076)(1072)(1083)(1100)(1085)(1077)(1081)(1096)(1080)(1077)_(1076)(1077)(1081)(1089)(1090)(1074)(1080)(1103)"
+>6.
+&#1055;&#1086;&#1076;&#1076;&#1077;&#1088;&#1078;&#1082;&#1072; &#1080; &#1076;&#1072;&#1083;&#1100;&#1085;&#1077;&#1081;&#1096;&#1080;&#1077; &#1076;&#1077;&#1081;&#1089;&#1090;&#1074;&#1080;&#1103;</a></h2>
+
+<p>&#1045;&#1089;&#1083;&#1080; &#1074;&#1099; &#1088;&#1077;&#1096;&#1080;&#1083;&#1080; &#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1100; rspamd &#1076;&#1083;&#1103; &#1086;&#1073;&#1088;&#1072;&#1073;&#1086;&#1090;&#1082;&#1080; &#1074;&#1072;&#1096;&#1077;&#1081; &#1087;&#1086;&#1095;&#1090;&#1099;,
+&#1090;&#1086; &#1083;&#1091;&#1095;&#1096;&#1080;&#1084; &#1080;&#1089;&#1090;&#1086;&#1095;&#1085;&#1080;&#1082;&#1086;&#1084; &#1080;&#1085;&#1092;&#1086;&#1088;&#1084;&#1072;&#1094;&#1080;&#1080; &#1073;&#1091;&#1076;&#1077;&#1090; &#1103;&#1074;&#1083;&#1103;&#1090;&#1100;&#1089;&#1103; &#1076;&#1086;&#1082;&#1091;&#1084;&#1077;&#1085;&#1090;&#1072;&#1094;&#1080;&#1103; &#1082; rspamd,
+&#1072; &#1090;&#1072;&#1082;&#1078;&#1077; &#1087;&#1088;&#1080;&#1084;&#1077;&#1088;&#1099; lua &#1087;&#1083;&#1072;&#1075;&#1080;&#1085;&#1086;&#1074;: etc/plugins/lua.
+&#1062;&#1077;&#1083;&#1100;&#1102; &#1078;&#1077; &#1076;&#1072;&#1085;&#1085;&#1086;&#1081; &#1089;&#1090;&#1072;&#1090;&#1100;&#1080; &#1103;&#1074;&#1083;&#1103;&#1077;&#1090;&#1089;&#1103; &#1086;&#1079;&#1085;&#1072;&#1082;&#1086;&#1084;&#1083;&#1077;&#1085;&#1080;&#1077; &#1089; &#1086;&#1089;&#1085;&#1086;&#1074;&#1085;&#1099;&#1084;&#1080; &#1087;&#1088;&#1080;&#1077;&#1084;&#1072;&#1084;&#1080; &#1087;&#1086; &#1091;&#1089;&#1090;&#1072;&#1085;&#1086;&#1074;&#1082;&#1077;,
+&#1082;&#1086;&#1085;&#1092;&#1080;&#1075;&#1091;&#1088;&#1080;&#1088;&#1086;&#1074;&#1072;&#1085;&#1080;&#1102; &#1080; &#1086;&#1073;&#1091;&#1095;&#1077;&#1085;&#1080;&#1102; rspamd,
+&#1072; &#1090;&#1072;&#1082;&#1078;&#1077; &#1086;&#1087;&#1080;&#1089;&#1072;&#1085;&#1080;&#1077; &#1087;&#1088;&#1077;&#1080;&#1084;&#1091;&#1097;&#1077;&#1089;&#1090;&#1074; rspamd &#1087;&#1086; &#1089;&#1088;&#1072;&#1074;&#1085;&#1077;&#1085;&#1080;&#1102; &#1089; SA.
+&#1045;&#1089;&#1083;&#1080; &#1085;&#1072; &#1083;&#1102;&#1073;&#1086;&#1084; &#1101;&#1090;&#1072;&#1087;&#1077; &#1088;&#1072;&#1073;&#1086;&#1090;&#1099; &#1089; rspamd &#1091; &#1074;&#1072;&#1089; &#1074;&#1086;&#1079;&#1085;&#1080;&#1082;&#1072;&#1077;&#1090; &#1087;&#1088;&#1086;&#1073;&#1083;&#1077;&#1084;&#1072;,
+&#1090;&#1086; &#1084;&#1086;&#1078;&#1085;&#1086; &#1086; &#1085;&#1077;&#1081; &#1089;&#1086;&#1086;&#1073;&#1097;&#1080;&#1090;&#1100; &#1084;&#1085;&#1077;: <b>vsevolod@highsecure.ru</b> &#1080;&#1083;&#1080; &#1078;&#1077; &#1074; &#1089;&#1087;&#1080;&#1089;&#1086;&#1082; &#1088;&#1072;&#1089;&#1089;&#1099;&#1083;&#1082;&#1080; rspamd &#1085;&#1072; sourceforge (&#1072;&#1085;&#1075;&#1083;&#1086;&#1075;&#1086;&#1074;&#1086;&#1088;&#1103;&#1097;&#1080;&#1081;): <b>rspamd-devel@lists.sourceforge.net</b>.
+&#1057;&#1072;&#1084;&#1072; &#1089;&#1080;&#1089;&#1090;&#1077;&#1084;&#1072; rspamd &#1085;&#1072;&#1093;&#1086;&#1076;&#1080;&#1090;&#1089;&#1103; &#1074; &#1089;&#1086;&#1089;&#1090;&#1086;&#1103;&#1085;&#1080;&#1080; &#1073;&#1077;&#1090;&#1072;-&#1074;&#1077;&#1088;&#1089;&#1080;&#1080;,
+&#1087;&#1086;&#1101;&#1090;&#1086;&#1084;&#1091; &#1074;&#1072;&#1096;&#1072; &#1087;&#1086;&#1084;&#1086;&#1097;&#1100; &#1074; &#1090;&#1077;&#1089;&#1090;&#1080;&#1088;&#1086;&#1074;&#1072;&#1085;&#1080;&#1080; &#1080; &#1079;&#1072;&#1087;&#1088;&#1086;&#1089;&#1099; &#1092;&#1091;&#1085;&#1082;&#1094;&#1080;&#1086;&#1085;&#1072;&#1083;&#1100;&#1085;&#1086;&#1089;&#1090;&#1080; &#1073;&#1091;&#1076;&#1091;&#1090; &#1085;&#1077;&#1086;&#1094;&#1077;&#1085;&#1080;&#1084;&#1099; &#1074; &#1088;&#1072;&#1079;&#1074;&#1080;&#1090;&#1080;&#1080; rspamd.</p>
+
+<!-- end doc -->
+
+</body></html>