Bogofilter -- fast Bayesian spam filtering Summary: 0. Important 1. What is Bogofilter? 2. Documentation 3. Installing Bogofilter 4. How to contribute 5. How to request features 6. Building & Installing Bogofilter from Source Tarball or Git a. Downloading b. Building & Installing c. Configuring d. Changing Bogofilter 7. License 0. IMPORTANT ------------ If you are using bogofilter with the Berkeley DB data base library (which is the default, received most testing, is the most powerful of the data base engines that bogofilter supports and hence recommended), do read the doc/README.db file, it contains important information. The doc/README.db file contains troubleshooting information and requirements that should be read ahead of time so you can fix problems quickly should they arise later. 1. What is Bogofilter? ---------------------- Bogofilter is a fast Bayesian spam filter along the lines suggested by Paul Graham in his article "A Plan For Spam": http://www.paulgraham.com/spam.html with algorithmic changes suggested by Gary Robinson in: http://radio.weblogs.com/0101454/stories/2002/09/16/spamDetection.html and in "A Statistical Approach to the Spam Problem": http://www.linuxjournal.com/article.php?sid=6467 This version improves on the papers by doing smarter lexical analysis. In particular, hostames and IP addresses are retained as recognition features rather than broken up. Various kinds of MTA cruft such as dates and message-IDs are discarded so as not to bloat the word lists. 2. Documentation ---------------- It is recommended, although not necessary, that you install the GNU Scientific Library (GSL) version 1.4 or newer before configuring bogofilter. This allows bogofilter to link dynamically against a system-wide GSL rather than statically against a shipped GSL subset, conserving memory and disk space. When installed, there are man pages for bogofilter, bogoutil, bogolexer, and bogoupgrade. Additional documentation is in /usr/share/doc/bogofilter-x.y.z or comparable directory (depending on your operating system). If you've installed the source code, the doc directory and its subdirectories contain most of bogofilter's documentation. In it are a variety of README files, the xml originals for the man pages , and other documents. Additionally, many of the directories in the bogofilter hierarchy have their own README files. If you use mutt, see the bogofilter(1) manual page for helpful macros you can add to your .muttrc. 3. Installing Bogofilter ---------------------- When updating, check the RELEASE.NOTES files. For fresh installs, check the rest of this file and the INSTALL file. You can safely ignore any of these compile time warnings: warning: unused parameter ... warning: format not a string literal, argument types not checked 4. How to contribute -------------------- The best way to contribute to bogofilter is through the bogofilter mailing list, bogofilter@bogofilter.org. You can subscribe to it by sending a message to bogofilter-subscribe@bogofilter.org and responding to the confirmation message it sends to you. More information is available on the bogofilter home page at http://www.bogofilter.org/ or http://bogofilter.sourceforge.net/ Bugs can be reported via the bogfilter mailing list or through the issue trackers: https://gitlab.com/bogofilter/bogofilter/issues http://sourceforge.net/tracker/?atid=499997&group_id=62265&func=browse If you have code to contribute, please post it on the bogofilter mailing list or file it to one of the issue trackers (Gitlab preferred). 5. How to request features -------------------------- Ask around in the bogofilter mailing list. The idea may have been already suggested, considered, accepted, rejected, ... You won't know until you ask! Alternatively, you might want to hack at the code and develop the feature on your own, which would be great! You can then send a patch to the list. 6. Building & Installing Bogofilter from Source Tarball or Git -------------------------------------------------------------- a. Downloading -------------- The most recent version of this software is available at: http://sourceforge.net/projects/bogofilter/ The latest stable version can be downloaded. The development source is in a Subversion repository on SourceForge. To download the latest Git source, cd to the directory to which you wish to download and type EITHER ONE of the following commands: git clone https://gitlab.com/bogofilter/bogofilter.git OR git clone git://git.code.sf.net/p/bogofilter/git bogofilter-git b. Building & Installing ------------------------ To compile and install the standard configuration from a tarball, use the following commands: cd bogofilter-1.2.5 [change to project directory] ./configure [add configure options as required] make all check make install [as root] To compile and install the standard configuration from Git, use the following commands: cd bogofilter [change to project directory] ./autogen.sh [add configure options as required] make install [as root] Be sure to read README.git for additional preparations required. You will need a full set of development tools installed to be able to run autogen.sh, including recent automake and autoconf. configure does not have these requirements. c. Configuring -------------- After using ./autogen.sh, which builds the standard configuration and runs "make check" to ensure it works in your environment and on your hardware, you might wish to further customize bogofilter for your use. Running "./configure --help" will list all the configuration options. The most notable ones are, with examples: --prefix=PREFIX install architecture-independent files in PREFIX [default: /usr/local] --with-database=ENGINE Choose database engine {db|qdbm|sqlite3|tokyocabinet|kyotocabinet|lmdb} [default: db] CPPFLAGS=-I/opt/csw/include Choose additional include file path /opt/csw/include LDFLAGS=-L/opt/csw/lib Ditto, for library files d. Changing Bogofilter ---------------------- If you make modifications to bogofilter, you may need to have a recent DocBook XML tool chain, the xmlto program, PassiveTeX and XMLTeX, recent versions of automake and autoconf. These requirements do not apply if you are building an unmodified tarball. 7. License ---------- Bogofilter is offered under the GNU General Public License, see the COPYING file for details. Note that some parts, especially in the contrib/ section or scripts, may be under a different license.