Spam-catcher using a collaborative filtering network
pyzor [-d] [--homedir dir] command [command\_options]
-d
turn on debugging
--homedir dir
use dir as the home directory for Pyzor instead of the default ~/.pyzor. See the files section for more information on what files are inside of the homedir.
check[--mbox]
Reads on standard input an RFC 822 (email) message. Exit code is zero (0) if and only if a match is found and the global whitelist count is zero.
If --mbox is provided, then the input is assumed to be a unix mailbox, and all messages in it will be checked.
If multiple servers are listed in the configuration file, the exit code will be zero (0) if and only if there is a match found on at least one server (without it being whitelisted anyplace).
report [--mbox]
Reads on standard input an RFC 822 (email) message. Reports to the server a digest of each message in the mailbox as spam. Writes to standard output a tuple of (error-code, message) from the server.
If --mbox is provided, then the input is assumed to be a unix mailbox, and all messages in it will be sent to the server.
whitelist [--mbox]
Reads on standard input an RFC 822 (email) message. Sends to the server a digest of each message in the mailbox for whitelisting. Writes to standard output a tuple of (error-code, message) from the server.
If --mbox is provided, then the input is assumed to be a unix mailbox, and all messages in it will be sent to the server.
discover
Finds Pyzor servers, and writes them to ~/.pyzor/servers. This may accomplished through querying already-known servers or an HTTP call to a hard-coded address.
ping
Merely requests a response from the servers.
genkey
Based upon a secret passphrase gathered from the user and salt gathered from /dev/random, prints to standard output a tuple of "salt,key". Used to put account information into the accounts file. See the section Using Accounts for more information.
digest [--mbox]
Reads on standard input an RFC 822 (email) message. Writes the digest of the message to standard output.
If --mbox is provided, then the input is assumed to be a unix mailbox, each message's digest is written to standard output, separated by newlines.
predigest
Reads on standard input an RFC 822 (email) message. Writes to standard output the normalized lines of data that are digested, with the exception that the lines printed have newlines (all whitespace is removed before digesting).
ReadyExec is a system to eliminate the high startup-cost of executing scripts repeatedly. If you execute pyzor a lot, you might be interested in installing ReadyExec and using it with pyzor.
To use pyzor with ReadyExec, the readyexecd.py server needs to be started as:
readyexecd.py socket_file pyzor
socket_file can be any (non-existing) filename you wish ReadyExec to use, such as /tmp/pyzor:
readyexecd.py /tmp/pyzor pyzor
Individual clients are then executed as:
readyexec socket_file options command cmd_options
For example:
readyexec /tmp/pyzor check readyexec /tmp/pyzor report readyexec /tmp/pyzor whitelist --mbox readyexec /tmp/pyzor -d ping
ReadyExec can be found at: http://readyexec.sourceforge.net/
Add the following line to mutt.conf:
macro index S "|/usr/bin/pyzor report"
Then press S on the spam message in mutt to report it with pyzor.
~/.pyzor/config
The format of this file is INI-style (name=value, divided into [sections]). Names are case insensitive. All values which are filenames can have shell-style tildes (~) in them. All values which are relative filenames are interpreted to be relative to the Pyzor homedir.
Defaults [client] ServersFile = servers AccountsFile = accounts DiscoverServersURL = http://pyzor.sourceforge.net/cgi-bin/inform-servers-0-3-x Timeout = 5
This manpage was originally written by Bastian Kleineidam <[email protected]> for the Debian distribution of pyzor but may be used by others.
The main author of pyzor is Frank J. Tobin <[email protected]>. The main project page for pyzor can be found at http://sourceforge.net/projects/pyzor