NobGit
public nobgit read

NobMail

Based on mailcow: dockerized

Languages

Repository composition by tracked source files.

PHP
PHP 49% JavaScript 35% HTML 9% CSS 4% Shell 2% Python 1% Lua 0% Perl 0% Ruby 0% SCSS 0%
Create file Wiki Documentation
Clone
https://nobgit.com/orgs/nobgit/nobmail.git
ssh://[email protected]:2222/orgs/nobgit/nobmail.git

Commit

[Rspamd] Add local fuzzy worker

d8f86ae4
AndrĂ© <[email protected]> 8 years ago
data/conf/rspamd/dynmaps/settings.php          | 23 +++++++++++++++++
 data/conf/rspamd/local.d/fuzzy_check.conf      | 34 ++++++++++++++++++++++++++
 data/conf/rspamd/local.d/fuzzy_group.conf      | 14 +++++++++++
 data/conf/rspamd/local.d/rspamd.conf.local     | 15 ++++++++++++
 data/conf/rspamd/local.d/statistics_group.conf |  4 +--
 5 files changed, 88 insertions(+), 2 deletions(-)
 create mode 100644 data/conf/rspamd/local.d/fuzzy_check.conf
 create mode 100644 data/conf/rspamd/local.d/fuzzy_group.conf

Diff

diff --git a/data/conf/rspamd/dynmaps/settings.php b/data/conf/rspamd/dynmaps/settings.php
index a1a515ec..5f83da81 100644
--- a/data/conf/rspamd/dynmaps/settings.php
+++ b/data/conf/rspamd/dynmaps/settings.php
@@ -321,6 +321,29 @@ while ($row = array_shift($rows)) {
 <?php
 }
 
+/*
+// Start traps
+*/
+
+?>
+  traps {
+<?php
+  foreach (ucl_rcpts('spam@localhost', 'mailbox') as $rcpt) {
+?>
+    rcpt = <?=json_encode($rcpt, JSON_UNESCAPED_SLASHES);?>;
+<?php
+  }
+  foreach (ucl_rcpts('ham@localhost', 'mailbox') as $rcpt) {
+?>
+    rcpt = <?=json_encode($rcpt, JSON_UNESCAPED_SLASHES);?>;
+<?php
+  }
+?>
+    priority = 9;
+    want_spam = yes;
+  }
+
+<?php
 // Start additional content
 
 $stmt = $pdo->query("SELECT `id`, `content` FROM `settingsmap` WHERE `active` = '1'");
diff --git a/data/conf/rspamd/local.d/fuzzy_check.conf b/data/conf/rspamd/local.d/fuzzy_check.conf
new file mode 100644
index 00000000..9635adb9
--- /dev/null
+++ b/data/conf/rspamd/local.d/fuzzy_check.conf
@@ -0,0 +1,34 @@
+rule "local" {
+    # Fuzzy storage server list
+    servers = "localhost:11445";
+    # Default symbol for unknown flags
+    symbol = "LOCAL_FUZZY_UNKNOWN";
+    # Additional mime types to store/check
+    mime_types = ["application/*"];
+    # Hash weight threshold for all maps
+    max_score = 20.0;
+    # Whether we can learn this storage
+    read_only = no;
+    # Ignore unknown flags
+    skip_unknown = yes;
+    # Hash generation algorithm
+    algorithm = "mumhash";
+
+    # Map flags to symbols
+    fuzzy_map = {
+        LOCAL_FUZZY_DENIED {
+            max_score = 20.0;
+            flag = 11;
+        }
+        LOCAL_FUZZY_PROB {
+            max_score = 10.0;
+            flag = 12;
+        }
+        LOCAL_FUZZY_WHITE {
+            max_score = 2.0;
+            flag = 13;
+        }
+    }
+}
+
+
diff --git a/data/conf/rspamd/local.d/fuzzy_group.conf b/data/conf/rspamd/local.d/fuzzy_group.conf
new file mode 100644
index 00000000..abf6e6cf
--- /dev/null
+++ b/data/conf/rspamd/local.d/fuzzy_group.conf
@@ -0,0 +1,14 @@
+symbols = {
+    "LOCAL_FUZZY_UNKNOWN" {
+        weight = 2.0;
+    }
+    "LOCAL_FUZZY_DENIED" {
+        weight = 12.0;
+    }
+    "LOCAL_FUZZY_PROB" {
+        weight = 5.0;
+    }
+    "LOCAL_FUZZY_WHITE" {
+        weight = -3.0;
+    }
+}
diff --git a/data/conf/rspamd/local.d/rspamd.conf.local b/data/conf/rspamd/local.d/rspamd.conf.local
index 9f2f8f1d..0662c47d 100644
--- a/data/conf/rspamd/local.d/rspamd.conf.local
+++ b/data/conf/rspamd/local.d/rspamd.conf.local
@@ -1 +1,16 @@
 # rspamd.conf.local
+
+worker "fuzzy" {
+  # Socket to listen on (UDP and TCP from rspamd 1.3)
+  bind_socket = "*:11445";
+  allow_update = ["127.0.0.1", "::1"];
+  # Number of processes to serve this storage (useful for read scaling)
+  count = 2;
+  # Backend ("sqlite" or "redis" - default "sqlite")
+  backend = "redis";
+  # Hashes storage time (3 months)
+  expire = 90d;
+  # Synchronize updates to the storage each minute
+  sync = 1min;
+}
+
diff --git a/data/conf/rspamd/local.d/statistics_group.conf b/data/conf/rspamd/local.d/statistics_group.conf
index 74e84421..160c65fa 100644
--- a/data/conf/rspamd/local.d/statistics_group.conf
+++ b/data/conf/rspamd/local.d/statistics_group.conf
@@ -1,10 +1,10 @@
 symbols = {
     "BAYES_SPAM" {
-        weight = 7.5;
+        weight = 8.5;
         description = "Message probably spam, probability: ";
     }
     "BAYES_HAM" {
-        weight = -2.5;
+        weight = -12.5;
         description = "Message probably ham, probability: ";
     }
 }