You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Vsevolod Stakhov 961cc0e022 [Minor] Grrr, fix cmake arguments 7 hours ago
.circleci Sync lua coverage with .drone.yml 8 months ago
.github Create FUNDING.yml 3 days ago
centos [Rework] Slashing: Distinguish lualibdir, pluginsdir and sharedir 6 months ago
clang-plugin [Minor] Do not stop when cannot parse query string in clang plugin 1 month ago
conf [Rules] Rework LEAKED_PASSWORD_SCAM rule one more time 1 week ago
contrib [Minor] Fix various crap 3 days ago
debian [Minor] Fix debian dependencies 3 days ago
doc [Doc] Support available versions in doxydown 1 week ago
docker Retrieve GPG via keyserver in Dockerfile 1 year ago
freebsd Revert "Disable reload command in rc scripts" 2 years ago
interface [Minor] WebUI: Remove hyperlink from logo 1 week ago
lualib [Minor] Fix unique to work with iterators, add tests 1 day ago
rules [Rules] Rework LEAKED_PASSWORD_SCAM rule one more time 1 week ago
src [Minor] Settings: Another fix of settings application 7 hours ago
test [Fix] Settings: Fix settings check flags 9 hours ago
utils [Project] First refactoring step libevent->libev 3 days ago
.drone.yml [Minor] Fix pipeline 4 days ago
.eslintrc.json [WebUI] Add history rows per page control 8 months ago
.gitignore [Minor] Reformat Perl scripts 8 months ago
.hgtags Added tag 0.6.7 for changeset f14508f80e52 5 years ago
.luacheckrc [Minor] Try use math.tanh if available 1 month ago
.stylelintrc.json [Test] Add stylelint checks for CSS 2 months ago
.tidyallrc [Test] Enable Perl::Critic 11 hours ago Update 6 months ago
CMakeLists.txt [Minor] Grrr, fix cmake arguments 7 hours ago [Minor] Update CONTRIBUTING 2 months ago
ChangeLog [Minor] Add Changelog for 1.9.4 1 month ago
FindArch.cmake Hyperscan is available for x86_64 only so far 3 years ago
FindRagel.cmake [Minor] Add a simple received parser benchmark routine 3 years ago [Minor] Proper license format 9 months ago
PVS-Studio.cmake [Fix] Fix various issues found by PVS Studio 3 months ago [Minor] Update README 2 months ago [Project] Remove libfann, gd and other unsupported stuff 3 days ago Use mktemp when available 3 years ago [Minor] Doc: Add Lua style guide 6 months ago
package.json [Test] Add stylelint checks for CSS 2 months ago
rspamd.service [Minor] Require network-online target as well 1 year ago
uncrustify.cfg Add uncrustify source. 4 years ago Add uncrustify source. 4 years ago




Rspamd is an advanced spam filtering system that allows evaluation of messages by a number of rules including regular expressions, statistical analysis and custom services such as URL black lists. Each message is analysed by Rspamd and given a spam score.

According to this spam score and the user’s settings, Rspamd recommends an action for the MTA to apply to the message, for example, to pass, reject or add a header. Rspamd is designed to process hundreds of messages per second simultaneously, and provides a number of useful features.

Getting Started

A good starting point to study how to install and configure Rspamd is the quick start guide.

Rspamd is packaged for the major Linux distributions, and is also available via FreeBSD ports, NetBSD pkgsrc and OpenBSD ports.

You can also watch some videos about Rspamd.

Spam filtering features

Rspamd is shipped with various spam filtering modules and features enabled just out of the box. The full list of built-in modules could be found in the Rspamd documentation.

If that is not enough, Rspamd provides an extensive Lua API to write your own rules and plugins:


Please read for details on the process for submitting pull requests to us.


See also the list of contributors who participated in this project.


This project is licensed under the Apache 2.0 License - see the file for details