You may also be interested in the built in rules based filtering system or NoCem support. For a summary of spam options see this page.
Note: To change the filter, you will have to stop and start DNews, tellnews reload is not sufficient.
Cleanfeed is a perl script so it will increase your CPU use and may slow down DNews although you might gain as much as there will be less 'junk' for DNews to process. If performance is affected consider using dmulti so user performance isn't affected. Also the built in spam protection in DNews does much of what cleanfeed does, please don't install cleanfeed unless you really want it for some reason.
You can roll your own filter, or use other standard filters that follow the same mechanism that cleanfeed uses. A filter is any program that reads the message on STDIN and responds on STDOUT with either "235\r\n" to accept a message or "435\r\n" to reject a message.
Here is a user contributed filter which you may find useful when writing your own filtering system, thanks to Jay Berg for this contribution.
On NT the file handle stdin must be set to binary to preserve the \R\N, but stdout should not be set to binary, or if binary mode is used an extra character should be sent (6 in total instead of 5).
Please note: If DNews locks up, try removing your filter particularly if it's not a standard one.
You may also be interested in the rules based filtering system or NoCem support.
If you want to run multiple filters then look at this: http://www.zephyrus.org/multifilter/ which
is a mechanism for doing just that.