Edgewall Software

Changes between Version 134 and Version 135 of SpamFilter


Ignore:
Timestamp:
Nov 7, 2023, 6:59:13 PM (6 months ago)
Author:
Dirk Stöcker
Comment:

Update to current state

Legend:

Unmodified
Added
Removed
Modified
  • SpamFilter

    v134 v135  
    33= Trac Spam Filtering
    44
    5 This plugin allows different ways to reject contributions that contain spam. It requires at least Trac release 1.0. The source code for version 0.12 and before isn't updated any more, but is still available.
     5This plugin allows different ways to reject contributions that contain spam. It requires at least Trac release 1.6. The source code for version 1.4 and before isn't updated any more, but is still available.
    66
    77The spamfilter plugin has many options, but most of them are optional. Out of the box the plugin provides basic spam protection. But there are some things which may be helpful in order of importance:
     
    3535=== Regular Expressions
    3636
    37 The [source:plugins/1.0/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 [https://docs.python.org/2/library/re.html Python syntax] for regular expressions.
     37The [source:plugins/trunk/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 [https://docs.python.org/2/library/re.html Python syntax] for regular expressions.
    3838
    3939If any of those regular expressions matches the submitted content, the submission will be rejected.
     
    4141=== Regular Expressions for IP
    4242
    43 The [source:plugins/1.0/spam-filter/tracspamfilter/filters/ip_regex.py ip_regex] filter reads a list of regular expressions from a wiki page named "BadIP", each regular expression being on a separate line inside the first code block on the page, using the [https://docs.python.org/2/library/re.html Python syntax] for regular expressions.
     43The [source:plugins/trunk/spam-filter/tracspamfilter/filters/ip_regex.py ip_regex] filter reads a list of regular expressions from a wiki page named "[wiki:BadIP]", each regular expression being on a separate line inside the first code block on the page, using the [https://docs.python.org/2/library/re.html Python syntax] for regular expressions.
    4444
    4545If any of those regular expressions matches the submitters IP, the submission will be rejected.
     
    4949=== IP Throttling
    5050
    51 The [source:plugins/1.0/spam-filter/tracspamfilter/filters/ip_throttle.py ip_throttle] filter limits the number of posts per hour allowed from a single IP.
     51The [source:plugins/trunk/spam-filter/tracspamfilter/filters/ip_throttle.py ip_throttle] filter limits the number of posts per hour allowed from a single IP.
    5252
    5353The maximum number of posts per hour is configured in [wiki:TracIni trac.ini]:
     
    110110=== !TrapField
    111111
    112 The [source:plugins/1.0/spam-filter/tracspamfilter/filters/trapfield.py TrapField] filter uses a hidden form field to check content for possible spam. If enabled, an additional benefit is usually better performance for some of the external services as well.
     112The [source:plugins/trunk/spam-filter/tracspamfilter/filters/trapfield.py TrapField] filter uses a hidden form field to check content for possible spam. If enabled, an additional benefit is usually better performance for some of the external services as well.
    113113
    114114== Supported External Filtering Strategies
     
    116116=== IP Blacklisting
    117117
    118 The [source:plugins/1.0/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.
     118The [source:plugins/trunk/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.
    119119
    120120See [wikipedia:Comparison_of_DNS_blacklists SpamLinks DNS Lists] for a list of DNS based blacklists. A blacklist usable for this filter must return an IP for listed entries and no IP (NXDOMAIN) for unlisted entries.
     
    124124=== URL Blacklisting
    125125
    126 The [source:plugins/1.0/spam-filter/tracspamfilter/filters/url_blacklist.py url_blacklist] filter uses the third-party Python library [http://www.dnspython.org/ dnspython] to make DNS requests to a configurable list of URL blacklist servers. It checks domains found in the transmitted data.
     126The [source:plugins/trunk/spam-filter/tracspamfilter/filters/url_blacklist.py url_blacklist] filter uses the third-party Python library [http://www.dnspython.org/ dnspython] to make DNS requests to a configurable list of URL blacklist servers. It checks domains found in the transmitted data.
    127127
    128128See [http://mxtoolbox.com/blacklists.aspx SpamLinks URL Lists] for a list of URL based blacklists. A blacklist usable for this filter must return an IP for listed entries and no IP (NXDOMAIN) for unlisted entries.
     
    132132=== Akismet
    133133
    134 The [source:plugins/1.0/spam-filter/tracspamfilter/filters/akismet.py Akismet] filter uses the [http://akismet.com/ Akismet web service] to check content for possible spam.
     134The [source:plugins/trunk/spam-filter/tracspamfilter/filters/akismet.py Akismet] filter uses the [http://akismet.com/ Akismet web service] to check content for possible spam.
    135135
    136136The use of this filter requires a [http://www.wordpress.com Wordpress] API key. The API key is configured in the 'External' administration page.
     
    140140=== !StopForumSpam
    141141
    142 The [source:plugins/1.0/spam-filter/tracspamfilter/filters/stopforumspam.py StopForumSpam] filter uses the [http://stopforumspam.com/ StopForumSpam web service] to check content for possible spam. This services tests IP, username and/or email address.
     142The [source:plugins/trunk/spam-filter/tracspamfilter/filters/stopforumspam.py StopForumSpam] filter uses the [http://stopforumspam.com/ StopForumSpam web service] to check content for possible spam. This services tests IP, username and/or email address.
    143143
    144144Training this filter requires an API key. The API key is configured in the 'External' administration page.
     
    148148=== HTTP:BL
    149149
    150 The [source:plugins/1.0/spam-filter/tracspamfilter/filters/httpbl.py HTTP:BL] filter uses the [http://www.projecthoneypot.org/httpbl.php Project HoneyPot HTTP:BL web service] to check content for possible spam.
     150The [source:plugins/trunk/spam-filter/tracspamfilter/filters/httpbl.py HTTP:BL] filter uses the [http://www.projecthoneypot.org/httpbl.php Project HoneyPot HTTP:BL web service] to check content for possible spam.
    151151
    152152The use of this filter requires a [http://www.projecthoneypot.org/httpbl_configure.php HTTP:BL] API key. The API key is configured in the 'External' administration page.
     
    156156=== !BotScout
    157157
    158 The [source:plugins/1.0/spam-filter/tracspamfilter/filters/botscout.py BotScout] filter uses the [http://botscout.com/ BotScout web service] to check content for possible spam. This services tests IP, username and/or email address.
     158The [source:plugins/trunk/spam-filter/tracspamfilter/filters/botscout.py BotScout] filter uses the [http://botscout.com/ BotScout web service] to check content for possible spam. This services tests IP, username and/or email address.
    159159
    160160Using this filter requires an API key. The API key is configured in the 'External' administration page.
     
    164164=== FSpamList
    165165
    166 The [source:plugins/1.0/spam-filter/tracspamfilter/filters/fspamlist.py FSpamList] filter uses the [http://www.fspamlist.com/ FSpamList web service] to check content for possible spam. This services tests IP, username and/or email address.
     166The [source:plugins/trunk/spam-filter/tracspamfilter/filters/fspamlist.py FSpamList] filter uses the [http://www.fspamlist.com/ FSpamList web service] to check content for possible spam. This services tests IP, username and/or email address.
    167167
    168168Using this filter requires an API key. The API key is configured in the 'External' administration page.
     
    202202* [source:plugins/1.4/spam-filter Browse the source] or download the [browser:plugins/1.4/spam-filter?format=zip zipped source]
    203203
    204 For Trac 1.5.x:
     204For Trac 1.6.x:
    205205* svnurl: `https://svn.edgewall.org/repos/trac/plugins/trunk/spam-filter`
    206206* [source:plugins/trunk/spam-filter Browse the source] or download the [browser:plugins/trunk/spam-filter?format=zip zipped source]
    207207
    208 ''[https://svn.edgewall.org/repos/trac/plugins/1.4/spam-filter/#egg=TracSpamFilter-dev This is a link for setuptools to find the SVN download]''.
     208''[https://svn.edgewall.org/repos/trac/plugins/trunk/spam-filter/#egg=TracSpamFilter-dev This is a link for setuptools to find the SVN download]''.
    209209
    210210== Enabling the Plugin
     
    265265* The modules for IP blacklisting and HTTP:BL require [pypi:dnspython] (v1.8+).
    266266* The !ImageCaptcha requires [pypi:pillow] to work.
    267 * Bayes filtering requires [pypi:spambayes].
     267* Bayes filtering requires [pypi:spambayes] (recent version includes a copy in the plugin itself).
    268268
    269269The packages can be installed using `pip install <packagename>`.