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 c52e22c7ce
Merge pull request #3115 from citrin/fix-lua-url-doc
7 hours ago
.circleci Sync lua coverage with .drone.yml 1 year ago
.github Create FUNDING.yml 4 months ago
centos [Conf] Introduce maps.d directories 1 month ago
clang-plugin [Minor] Fix clang plugin functions on OSX 1 day ago
conf ARC signing instead of DKIM signing. 1 week ago
contrib [Rework] Require CMake 3.9 to work, remove manual lto crap 1 week ago
debian [Minor] Fix debian dependencies 4 months ago
doc [Minor] Add missing doc 1 week ago
docker Dockerfile: use buster 3 months ago
freebsd Revert "Disable reload command in rc scripts" 3 years ago
interface [WebUI] Update D3Evolution to 1.1.1 2 weeks ago
lualib [Feature] Support uuencoding 8 hours ago
rules [Feature] Support segwit BTC addresses, fix LTC verification 9 hours ago
src Merge pull request #3115 from citrin/fix-lua-url-doc 7 hours ago
test [Test] Fix neural tests 1 day ago
utils [Minor] Another log format fix for 2.0 2 weeks ago
.drone.yml Default stack size should be enough for build without ASAN 13 hours ago
.eslintrc.json [Test] Reorder ESLint rules 1 month ago
.gitignore [Minor] Improve gitignore 1 month ago
.hgtags Added tag 0.6.7 for changeset f14508f80e52 5 years ago
.luacheckrc [Minor] Try use math.tanh if available 5 months ago
.stylelintrc.json [Test] Add stylelint checks for CSS 6 months ago
.tidyallrc [Minor] Remove tidy checks as they are crap 3 months ago Update 10 months ago
CMakeLists.txt [Rework] Require CMake 3.9 to work, remove manual lto crap 1 week ago [Minor] Update CONTRIBUTING 6 months ago
ChangeLog Release 2.0 1 week 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 1 year ago
PVS-Studio.cmake [Fix] Fix various issues found by PVS Studio 7 months ago [Minor] Update README 6 months ago [Rework] Rework initialisation to reduce static leaks count 3 weeks ago Use mktemp when available 3 years ago [Minor] Doc: Add Lua style guide 10 months ago
package.json [Test] Remove obsolete eslintIgnore 1 month 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