Rapid spam filtering system.
Find a file
Vsevolod Stakhov fd75b83d31
[Fix] Add null checks for task in Redis stat callbacks
Prevent crash when task becomes invalid during async Redis
callbacks by checking lua_check_task return value.
2025-12-25 11:24:13 +00:00
.claude [Minor] Some more instructions for Claude Code 2025-12-02 13:24:53 +00:00
.cursor/rules Merge branch 'master' into vstakhov-aliases-rewamp 2025-10-06 12:56:30 +01:00
.github [CI] Fix cffi-lua install prefix to /usr/lib64 2025-12-05 17:13:22 +00:00
clang-plugin [Rework] Further types conversion (no functional changes) 2024-03-18 18:56:33 +00:00
cmake [Cleanup] Drop tableshape contrib library 2025-11-18 13:19:15 +00:00
conf [Fix] Enable aliases plugin by default to restore plus-addressing 2025-12-02 14:52:18 +00:00
contrib [Fix] Backport security fixes from libucl 0.9.3 2025-12-09 20:03:55 +00:00
debian [Minor] Unbreak build on focal 2025-12-11 14:21:14 +02:00
doc Modify rspamc doc to clarify that control password can also be passed by path 2025-05-16 22:26:03 +02:00
docker [Minor] Replace Dockerfile with advertisement for image 2023-11-30 22:24:47 +02:00
freebsd [Fix] remove obsolete rspamd-redirector files 2023-03-05 10:55:03 +00:00
interface [Minor] Refactor switch statements to object lookups 2025-12-13 13:40:01 +03:00
local.d [Feature] Add URL deep processing architecture 2025-11-14 12:27:21 +00:00
lualib [Minor] confighelp: Lua compatibility, remove bogus elements 2025-12-22 18:26:07 +02:00
rpm [Minor] Use PUC-Rio Lua instead of LuaJIT 2025-12-04 19:10:47 +02:00
rules [Fix] Use ipairs for ordered iteration in header checks 2025-12-06 14:00:31 +00:00
src [Fix] Add null checks for task in Redis stat callbacks 2025-12-25 11:24:13 +00:00
test [Test] Set timeout for rspamadm functional tests 2025-12-22 17:26:06 +02:00
utils [Feature] Add ASAN leak analyzer script 2025-10-29 11:19:25 +00:00
.clang-format [Rework] Use clang-format to unify formatting in all sources 2023-07-26 10:49:23 +01:00
.gitignore [Test] Add comprehensive tests for URL deep processing 2025-11-15 09:49:22 +00:00
.luacheckrc [Project] Add classify redis script 2023-12-02 12:36:17 +00:00
.overcommit.yml [Rework] Prioritize CTA URLs in redirector and Lua helpers 2025-11-06 18:22:08 +00:00
.stylelintrc.json [Test] Remove deprecated Stylelint rule 2023-12-09 17:49:20 +03:00
.tidyallrc [Minor] Remove tidy checks as they are crap 2019-07-22 16:25:12 +01:00
AUTHORS.md Update AUTHORS.md 2025-03-15 15:51:20 -05:00
blas-config.h.in [Feature] Support BLIS blas library 2020-09-02 13:46:16 +01:00
ChangeLog Release 3.14.2 2025-12-10 18:23:29 +00:00
CMakeLists.txt [Minor] Update version 2025-12-11 11:44:26 +00:00
config.h.in [Feature] Add ED25519 support for DKIM signing with OpenSSL version checks 2025-10-04 15:06:27 +01:00
CONTRIBUTING.md [Minor] Some neats 2023-11-26 22:47:58 +00:00
dist.sh [Minor] Simplify creation of dist tarball that is reproducible 2020-01-18 16:26:39 +00:00
eslint.config.mjs [Test] Update JS linters 2025-10-09 16:55:04 +03:00
LICENSE.md [Minor] Proper license format 2018-09-22 13:10:55 +01:00
lua_style.md Spelling (#4086) 2022-02-22 22:01:28 +00:00
package-lock.json [Test] Update dev dependencies 2025-11-22 09:14:34 +03:00
package.json [Test] Update dev dependencies 2025-11-22 09:14:34 +03:00
README.md Merge pull request #5000 from spithash/patch-1 2024-06-05 15:55:01 +06:00
rspamd.service [Minor] Require network-online target as well 2018-03-08 09:48:30 +00:00
set-version.sh [Minor] Update Debian and RPM package versions 2020-02-14 23:21:42 +00:00

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