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 b4ed7bffe6
[Fix] Use math.floor for Lua 5.4 integer division compatibility
2 weeks 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 2 weeks ago
clang-plugin [Rework] Further types conversion (no functional changes) 2 years ago
cmake [Cleanup] Drop tableshape contrib library 1 month ago
conf [Fix] Enable aliases plugin by default to restore plus-addressing 2 weeks ago
contrib [Fix] Use userdata __gc for UCL objects in all Lua versions 2 weeks ago
debian [Minor] debian: allow skipping ASAN build 2 weeks 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] Update D3 libs: bug fixes & validation 3 weeks ago
local.d [Feature] Add URL deep processing architecture 1 month ago
lualib [Fix] Improve loadstring error handling for Lua 5.4 compatibility 2 weeks ago
rpm [Minor] Use gcc toolset at EL10 3 weeks ago
rules [Fix] Enable aliases plugin by default to restore plus-addressing 2 weeks ago
src [Fix] Improve loadstring error handling for Lua 5.4 compatibility 2 weeks ago
test [Fix] Use math.floor for Lua 5.4 integer division compatibility 2 weeks 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 1 month 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 7 years ago
AUTHORS.md Update AUTHORS.md 9 months ago
CMakeLists.txt [Minor] Update version to 3.14.2 3 weeks ago
CONTRIBUTING.md [Minor] Some neats 2 years ago
ChangeLog Release 3.14.1 3 weeks 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 3 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 4 weeks ago
package.json [Test] Update dev dependencies 4 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