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 d2a91c67f9 [Minor] Multimap: Add more debugging 11 hours ago
.circleci Sync lua coverage with .drone.yml 9 months ago
.github Create FUNDING.yml 2 months ago
centos [Rework] Kill 6 days ago
clang-plugin [Minor] Do not stop when cannot parse query string in clang plugin 3 months ago
conf [Rework] Kill 6 days ago
contrib [Minor] Add lua bit library if not luajit 6 days ago
debian [Minor] Fix debian dependencies 2 months ago
doc [Minor] Eliminate lua_fann from targets 1 month ago
docker Dockerfile: use buster 1 month ago
freebsd Revert "Disable reload command in rc scripts" 3 years ago
interface [Minor] WebUI: Use public getSelector() function 2 days ago
lualib [Fix] Lua_mime: Fix reversed extensions map 15 hours ago
rules [Rework] Remove rspamd.classifiers.lua 4 weeks ago
src [Minor] Multimap: Add more debugging 11 hours ago
test [Rework] Drop url tags 1 day ago
utils [Minor] Fix tempfile creation 3 weeks ago
.drone.yml [Test] Add more verbosity 1 month ago
.eslintrc.json [WebUI] Rework scan results display 2 days ago
.gitignore [Minor] Reformat Perl scripts 10 months ago
.hgtags Added tag 0.6.7 for changeset f14508f80e52 5 years ago
.luacheckrc [Minor] Try use math.tanh if available 3 months ago
.stylelintrc.json [Test] Add stylelint checks for CSS 4 months ago
.tidyallrc [Minor] Remove tidy checks as they are crap 1 month ago Update 8 months ago
CMakeLists.txt [Minor] Add lua bit library if not luajit 6 days ago [Minor] Update CONTRIBUTING 4 months ago
ChangeLog [Minor] Add Changelog for 1.9.4 3 months 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 11 months ago
PVS-Studio.cmake [Fix] Fix various issues found by PVS Studio 5 months ago [Minor] Update README 4 months ago [Minor] Minor portability fixes 1 month ago Use mktemp when available 3 years ago [Minor] Doc: Add Lua style guide 8 months ago
package.json [Test] Add stylelint checks for CSS 4 months ago
rspamd.service [Minor] Require network-online target as well 1 year ago
uncrustify.cfg Add uncrustify source. 5 years ago Add uncrustify source. 5 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