Vsevolod Stakhov 0f0717ee7a [Fix] Core: Implement logic to find some bad characters in URLs 19 hours ago
.circleci Sync lua coverage with .drone.yml 2 months ago
.github [Minor] Update ussue template 5 months ago
centos [Rework] Slashing: Distinguish lualibdir, pluginsdir and sharedir 3 weeks ago
clang-plugin Remove unused function 2 months ago
conf [Rules] Add VIOLATED_DIRECT_SPF composite 1 day ago
contrib [Minor] Core: Pass server name when doing DNS request 3 weeks ago
debian [Rework] Slashing: Distinguish lualibdir, pluginsdir and sharedir 3 weeks ago
doc [Doc] Further fixes to doxydown 1 month ago
docker Retrieve GPG via keyserver in Dockerfile 10 months ago
freebsd Revert "Disable reload command in rc scripts" 2 years ago
interface [WebUI] Notify user if uploaded data was not learned 3 weeks ago
lualib [Minor] Core: Allow to pass flags to squeezed rules 1 week ago
rules [Rules] Fix the case when there are no received headers 1 day ago
src [Fix] Core: Implement logic to find some bad characters in URLs 19 hours ago
test [Test] Write test name to queue id 2 days ago
utils [Minor] Fix rspamd_stats so it passes Perl::Critic tests 3 months ago
.drone.yml Don't print summary line 2 months ago
.eslintrc.json [WebUI] Add history rows per page control 2 months ago
.gitignore [Minor] Reformat Perl scripts 3 months ago
.hgtags Added tag 0.6.7 for changeset f14508f80e52 5 years ago
.luacheckrc [Minor] Pet luacheck 3 weeks ago
.tidyallrc [Minor] Reformat Pod documents 3 months ago
AUTHORS.md Update AUTHORS.md 1 month ago
CMakeLists.txt [Rework] Another paths rework 3 weeks ago
CONTRIBUTIONS.md Add notice in the contributions file 2 years ago
ChangeLog Release 1.8.3 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 2 years ago
LICENSE.md [Minor] Proper license format 3 months ago
README.md Update README.md 3 months ago
config.h.in [Rework] Slashing: Distinguish lualibdir, pluginsdir and sharedir 3 weeks ago
dist.sh Use mktemp when available 3 years ago
lua_style.md [Minor] Doc: Add Lua style guide 3 weeks ago
package.json [Minor] Fix issues in lua http 2 months ago
rspamd.service [Minor] Require network-online target as well 10 months ago
uncrustify.cfg Add uncrustify source. 4 years ago
uncrustify.sh 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: https://rspamd.com/doc/tutorials/writing_rules.html


Please read CONTRIBUTIONS.md 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 LICENSE.md file for details