0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-06-02 18:18:56 +02:00

add an example spamfilter configuration file (probably shouldn't be used on actual networks of course)

This commit is contained in:
William Pitcock 2016-06-26 01:22:30 -05:00
parent 6645bd9d5e
commit 355f78b248
2 changed files with 97 additions and 1 deletions

View file

@ -8,7 +8,7 @@ localstatedir = @localstatedir@
# Local to the etc Makefile
CONFS = ircd.conf.example reference.conf
CONFS = ircd.conf.example reference.conf spamfilter.conf.example
install-mkdirs:
-@if test ! -d $(DESTDIR)$(sysconfdir); then \

View file

@ -0,0 +1,96 @@
/*
* charybdis: an advanced ircd.
* spamfilter.conf.example: An example extensions/spamfilter configuration
*
* Copyright (C) 2016 Jason Volk <jason@zemos.net>
*/
loadmodule "extensions/spamfilter";
loadmodule "extensions/spamfilter_nicks";
loadmodule "extensions/spamfilter_expr";
/* The spamfiler block contains general configuration lines for spamfilter.so,
*/
spamfilter {
/* This message is sent when any spam filter is triggered. The variables ${network-name}
* and ${admin-email} are substituted for your configured values. */
reject_reason = "Spam is off-topic on ${network-name}. If this is an error, please contact ${admin-email}";
};
/* The spamfiler_expr block contains general configuration for spamfilter_expr.so
* Note: If you change these settings and rehash, they may not be applied to existing
* expressions. You may have to reload the module.
*/
spamfilter_expr {
/* Maximum number of regular expressions allowed */
limit = 1024;
/* List of PCRE2 compile options added by default to all expressions.
* See PCRE2_COMPILE(3) for a complete list. You omit the PCRE2_ prefix for this list. */
compile_opts = caseless;
/* List of PCRE2 match (execution) options added by default to all expressions.
* See PCRE2_MATCH(3) for a complete list. You omit the PCRE2_ prefix for this list. */
match_opts = noteol, notbol;
/* List of PCRE2 JIT options added by default to all expressions.
* See PCRE2JIT(3) and PCRE2API(3) for details.
* You omit the PCRE2_JIT_ prefix for this list. */
jit_opts = complete;
/*
* You ought to know what you're doing with these.
*/
match_limit = 512;
recursion_limit = 512;
parens_nest_limit = 32;
/* The starting size of the allocated JIT stack. */
jit_stack_size = 262144;
/* The maximum size of the allocated JIT stack.
* (This may take precedence over previous options as the limiting recursion factor) */
jit_stack_max_size = 393216;
};
/* spamexpr blocks allow expressions to be configured offline.
* There may be multiple spamexpr blocks, each must have a pattern.
*/
spamexpr {
/* The regular expression pattern string. You will have to double-escape
* any backslash to have a single backslash in the expression, thus triple-escape
* any backslash to have an escape in the expression string itself! */
pattern = "foobar.+\\s";
/* Compile options specific to this pattern. This is or'ed with the compile_opts
* specified in the general spamfilter_expr block. The rules are the same. */
compile_opts = caseless;
};
spamexpr {
pattern = "foo.*bar";
};
/*
* The spamfiler_nicks block contains general configuration for spamfilter_nicks.so
*/
spamfilter_nicks {
/* Number of nicknames in a message to trigger the nickspam filter. */
limit = 5;
/* Minimum length of a word considered a nickname candidate. */
nicklen_min = 4;
/* Size in bytes for the nickname bloom filter. */
bloom_size = 65536;
/* Number of hashing bits for the bloom filter (try log2 of the bloom_size unless you know better). */
bloom_bits = 16;
/* Time interval for when the bloom filter is flushed to prevent false positives. */
bloom_refresh = 5 minutes;
};