Willow Documentation
Willow is a proxy server written in python. It is intened to be a replacement for costly proprietary content filtering systems. It provides an open filtering algorithm.
Experience with the python programming language should not be necessary to use the system (although it should certainly be helpful).
Client Installation
Setting up the client is the same as for any other proxy server. For Internet Explorer ...
go to Tools->Internet Options
click the Connections Tab
click on 'Lan Settings...'
check on 'Use a proxy for your LAN'
type in the IP address of the server and 80 for the Port
Server Operation
The server can be started with one of the included distribution-specific startup scripts, or via the command line (use -h to get help). The default server runs a simple proxy with no authentication, caching, or filtering. This is probably not what you want. In order to have the server do something interesting add options to the config file. The default config file is located at /var/willow/willow.conf. Specify --config=/path/to/config/file to override. The specific configuration options are documented in OPTIONS.txt and FILTER.OPTIONS.txt in the distribution.
Once the server is started all management can be done through the web interface. To get to the web interface just access http://www.proxy.admin with your browser setup to go through the proxy. From the web interface you can change what site are being blocked (by url or domain) as well as what sites are being bypassed (not checked for bad content). You can also upload new html pages to train the content filtering algorithm about good and bad content.
Troubleshooting
See this document for troubleshooting tips.