= Trac Spam Filtering = [[PageOutline(2-3)]] A plugin is being developed that will allow different ways to reject contributions that contain spam. This plugin requires the forthcoming Trac release [milestone:0.10]. It currently needs at least [3180], which has the necessary hooks for spam filtering to work. Current state: highly experimental and mostly untested :-P == Supported Filtering Strategies == === Regular Expressions === The [source:sandbox/spam-filter/tracspamfilter/filters/regex.py regex] filter reads a list of regular expressions from a wiki page named “BadContent”, each regular expression being on a separate line inside the first code block on the page, using the [http://docs.python.org/lib/re-syntax.html Python syntax] for regular expressions. If any of those regular expressions matches the submitted content, the submission will be rejected. === IP Blacklisting === The [source:sandbox/spam-filter/tracspamfilter/filters/ip_blacklist.py ip_blacklist] filter uses the third-party Python library [http://www.dnspython.org/ dnspython] to make DNS requests to a configurable list of IP blacklist servers. === Akismet === The [source:sandbox/spam-filter/tracspamfilter/filters/akismet.py akismet] filter uses the [http://akismet.com/ Akismet] web service to check content for possible spam. The use of this filter requires a [http://www.wordpress.com Wordpress] API key. === Bayes === ''TODO'' == Get the Plugin == The SpamFilter plugin is currently only available through Subversion: {{{ svn co http://svn.edgewall.com/repos/trac/sandbox/spam-filter }}} You can browse the source [source:sandbox/spam-filter here]. See TracPlugins for instructions on building and installing plugins. ---- See also: TracPlugins, PluginList