DUPFILTER(8)
π DUPFILTER(8) π
ok so bestie, listen β this is the manual for dupfilter, and yeah it's section 8, and yeah the author is S. Varshavchik, but before you spiral: it's a sample filter. Like, a demo. An educational moment. Come sit with me. π«Ά
β¨ NAME β¨
dupfilter β the Sample Courier mail filter, no cap π
π SYNOPSIS π
filterctl {[start] | [stop]} dupfilter
that's the whole vibe. you start it, you stop it, that's it, periodt.
πΈ DESCRIPTION πΈ
ok so here's the tea β β dupfilter is an example global mail filter written in C. It's a threaded filter (yes, threads, we love a multitasking icon π), and what it does is try to block junk E-mail by attempting to detect multiple copies of the same message, which then get rejected. bye felicia π
but β and I need you to hear me on this β this filter is presented mostly for educational purposes. Its method for detecting duplicate messages is rather simplistic, and over time, ways of defeating it will certainly proliferate. Like, it's not gonna stay clever forever, bestie. It's giving "first draft." π
So how does it actually work? β¨ dupfilter works by calculating a hash value of the contents of every message it sees. Hash values of recent messages are kept in a circular FIFO queue (iconic data structure behavior, honestly). When dupfilter starts seeing messages with the same hash value, it will reject them. π«
And the hash value is calculated in such a way as to try to detect minor changes to messages' contents that are designed to avoid these kinds of filters β which, slay, points for trying π β but it's still not a very sophisticated approach, and it can be easily fooled. fr fr. lowkey humbling.
π BUGS π
ok so this section is rough, brace yourself:
- This is not a very smart mail filter. The hash function is very simple and is not expected to be very useful. π
- Don't even think of using
dupfilteron a machine that either runs a mailing list, or contains mailboxes that subscribe to mailing lists.dupfilterlikes to bounce mailing list traffic. Not "might." Likes to. It's a whole personality trait. π
bestie please take the mailing list warning seriously, this is the dramatic part
π¦ FILES π¦
dupfilter uses the following configuration files. And listen β changes to the following files do not take effect until the filter has been stopped and restarted. So no, editing them mid-run is not it. Stop it, then start it. π
/etc/courier/filters/dupfilter-hashsizeThis file contains a single numerical value that sets the size ofdupfilter's circular FIFO queue. Bigger queue, longer memory. π§/etc/courier/filters/dupfilter-duplevelThis file contains a single numerical value that sets how many identical messagesdupfilterwill tolerate before blocking them. When this many identical messages are seen,dupfilterwill start rejecting all messages with the same content. So it's a patience meter, basically. π/etc/courier/filters/dupfilter-modeIf this file exists and contains the word"all",dupfilterwill create its socket in/var/lib/courier/allfilters, otherwise the socket will be created in/var/lib/courier/filtersβ seecourierfilter(8)[1] for more information. π/etc/courier/filters/dupfilter-nthreadsThis file contains a single numerical value that sets the number of threads created (each thread is used to calculate a message's hash value). The default number of threads is4. β
π SEE ALSO π
courierfilter(8)[1].
π AUTHOR π
Sam Varshavchik Author
π NOTES π
and that's the whole page bestie, you ate it, you read the entire thing, main character energy fr fr π«Άβ¨
this was brought to you by the Courier Mail Server, dated 01/10/2026, and it's still filed under DUPFILTER(8) π bye!! ππ¦
π¦ where this page comes from
- ubuntu stonking: courier-mta 2.0.6-1 Β· GPL-3+~with-OpenSSL-exception
- Copyright 1998 - 2007 S. Varshavchik. See COPYING for -->
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms