blackberries

Please note that blackberries has been unmaintained legacy code for a while. Download it only if you're interested in history lessons.

We suggest Net::DNSBL::MultiDaemon instead

For a maintained package that does pretty much the same job as blackberries did, but is almost certainly more solid, plus appears to be both more easily and flexibly configured, please see: Net::DNSBL::MultiDaemon


Now for the old blackberries announcement

blackberries version 0.06 was released 2 January 1999

blackberries is a multiplexing DNS-based blacklist server written in Perl. It accepts DNS queries, asks a configurable list of real DNS-based blacklists about the name, and returns a blacklist indication if any respond positively. You can use this information in your MTA to decide whether or not to accept mail from a given address.

You might want to use something like it if:

You'll be able to use it if: You might not want to use it if: The queries accepted by blackberries use the format invented by the MAPS RBL and followed by ORBS, Orca DUL, and others. You will, of course, need to set up your own subdomain for blackberries.

For example, if you want your MTA to check an IP address 10.12.99.34 before accepting mail from it, you will have your MTA look up the name 34.99.12.10.rbl.yourdomain.tld. (You will need to replace rbl.yourdomain.tld there with your own private blacklist subdomain delegated to and served by blackberries.) If blackberries returns an address of 127.0.0.2 for that name, then the original IP was listed in one of the DNS-based blacklists queried by blackberries.

Please feel free to download blackberries as Perl source with an example configuration file. To make this version work, you'll need Net::DNS from CPAN. Also feel free to download the pre-built Mac Perl runtime if you want to give that a try.

Versions 0.05 is also still available as Perl source with configuration file, and as a Mac Perl runtime. This version does not use Net::DNS, and is consequently slightly faster, but only at the expense of error checking on the DNS packets and blindness caused by reading the code.