Alternative WWWOFFLE implementation

by Paul Rombouts


Note: My latest patch has support for persistent connections, which can potentially make WWWOFFLE significantly more efficient.

WWWOFFLE is a simple proxy server written by Andrew M. Bishop with special features for use with dial-up internet connections.
The official WWWOFFLE homepage by the author can be found at http://www.gedanken.demon.co.uk/wwwoffle/.

I've been using WWWOFFLE on Linux for a number of years now, and I've found it to be very useful in keeping my phone costs down. I have a permanent connection to the Internet now, but I still use WWWOFFLE to share the internet connection on my home LAN, to filter out ads and other undesirable stuff, and to keep backup copies of the webpages I've visited.
I've come to know WWWOFFLE so intimately now that I find it hard to switch to another proxy, even though there are plenty of alternatives.

As with almost any piece of software, WWWOFFLE has its quirks. Because WWWOFFLE is licensed under the GPL and the source is freely available, I was able to fix myself most of the features that I found defective or lacking.
The WWWOFFLE source is nicely structured and quite readable, and I found hacking WWWOFFLE quite enjoyable, even addictive to a certain degree.

During the course of time I made numerous changes to the WWWOFFLE source, fixing bugs, adding a few features, and sometimes just modifying the code to suit my personal taste. Even though I like the overall structure of WWWOFFLE, I disagree with a number of the implementation details and I've changed most of the things I didn't like.

Out of respect for the free-software community, I'm making the modifications I've made available via this webpage as a patch file wwwoffle-2.9d-par.diff.gz. (Previous patches are still available from this page.)

To use this patch file, first untar a fresh copy of the original WWWOFFLE version 2.9d source and cd into the source directory wwwoffle-2.9d. Then apply the patch using the command

gzip -cd <path_to_patch>/wwwoffle-2.9d-par.diff.gz | patch -p2 -N -E

Then ./configure, make and make install just as you would with the original source code. Note: The current patch breaks IPv6 functionality. Because in version 2.9 IPv6 is enabled by default, you will need to configure using the --without-ipv6 option.

Important: Before you can start wwwoffled you must make some changes to the CensorHeader section of the configuration file and convert the U* files in the cache to a new database file. The details can be found in the file README.par in the source directory after applying the patch (but you can also download this file separately) .


Here's a summary of the most important modifications I've made (in reverse chronological order):

A more detailed list of the changes I've made can be found in the README.par file in the source directory after patching. At the end of this file you can also find my email address should you wish to contact me.

PS: If you use pdnsd, you might also be interested in my pdnsd webpage.

Have fun.

Paul Rombouts.


Please sign the petition for a Software Patent Free Europe    NO ePATENTS