Rapid spam filtering system https://rspamd.com/
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 af2642b6bd
[Fix] Handle connection errors with io_uring backend in HTTP client
2 days ago
.claude [Minor] Some more instructions for Claude Code 2 weeks ago
.cursor/rules Merge branch 'master' into vstakhov-aliases-rewamp 2 months ago
.github [CI] Fix cffi-lua install prefix to /usr/lib64 1 week ago
clang-plugin [Rework] Further types conversion (no functional changes) 2 years ago
cmake [Cleanup] Drop tableshape contrib library 4 weeks ago
conf [Fix] Enable aliases plugin by default to restore plus-addressing 2 weeks ago
contrib [Fix] Backport security fixes from libucl 0.9.3 5 days ago
debian [Minor] Unbreak build on focal 3 days ago
doc Modify rspamc doc to clarify that control password can also be passed by path 7 months ago
docker [Minor] Replace Dockerfile with advertisement for image 2 years ago
freebsd [Fix] remove obsolete rspamd-redirector files 3 years ago
interface [Fix] Correct symbols column index in history and scan tables 3 days ago
local.d [Feature] Add URL deep processing architecture 1 month ago
lualib [Feature] Add remove_ar_from option for selective Authentication-Results header removal 6 days ago
rpm [Minor] Use PUC-Rio Lua instead of LuaJIT 1 week ago
rules [Fix] Use ipairs for ordered iteration in header checks 1 week ago
src [Fix] Handle connection errors with io_uring backend in HTTP client 2 days ago
test [Fix] Handle HTTP early server responses during request write 6 days ago
utils [Feature] Add ASAN leak analyzer script 2 months ago
.clang-format [Rework] Use clang-format to unify formatting in all sources 2 years ago
.gitignore [Test] Add comprehensive tests for URL deep processing 4 weeks ago
.luacheckrc [Project] Add classify redis script 2 years ago
.overcommit.yml [Rework] Prioritize CTA URLs in redirector and Lua helpers 1 month ago
.stylelintrc.json [Test] Remove deprecated Stylelint rule 2 years ago
.tidyallrc [Minor] Remove tidy checks as they are crap 6 years ago
AUTHORS.md Update AUTHORS.md 9 months ago
CMakeLists.txt [Minor] Update version 3 days ago
CONTRIBUTING.md [Minor] Some neats 2 years ago
ChangeLog Release 3.14.2 4 days ago
LICENSE.md [Minor] Proper license format 7 years ago
README.md Merge pull request #5000 from spithash/patch-1 2 years ago
blas-config.h.in [Feature] Support BLIS blas library 5 years ago
config.h.in [Feature] Add ED25519 support for DKIM signing with OpenSSL version checks 2 months ago
dist.sh [Minor] Simplify creation of dist tarball that is reproducible 6 years ago
eslint.config.mjs [Test] Update JS linters 2 months ago
lua_style.md Spelling (#4086) 4 years ago
package-lock.json [Test] Update dev dependencies 3 weeks ago
package.json [Test] Update dev dependencies 3 weeks ago
rspamd.service [Minor] Require network-online target as well 8 years ago
set-version.sh [Minor] Update Debian and RPM package versions 6 years ago

README.md

Rspamd

GHA

Introduction

Rspamd is an advanced spam filtering system and email processing framework 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 verdict that might be used by MTA for further processing (e.g. to reject a message, or add a special header indicating spam) along with other information, such as possible DKIM signature or modifications suggested for a message.

Rspamd can act as a Milter allowing direct interaction with popular MTA systems, such as Postfix or Sendmail.

Rspamd is designed to process hundreds of messages per second simultaneously, and provides a number of useful features including a comprehensive Lua API that allows access to messages processing in various aspects as well as asynchronous network API to access external resources, such as DNS, HTTP or even generic TCP/UDP services.

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.

We advice to use packages provided by Rspamd project if available for your OS instead of packages that might be provided by some Linux distributives, as they are usually out of date and does not provide the desired spam filtering quality nor supported by Rspamd project.

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/developers/writing_rules.html

License

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

Contributing

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

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in rspamd by you, as defined in the APACHE 2.0 license, shall be licensed as above, without any additional terms or conditions.

Authors

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

References