The original Internet Junkbuster™ (tm) is a copyrighted product of Junkbusters Corporation. Development of this effort stopped some time ago as of version 2.0.2. Stefan Waldherr started the ijbswa project on Sourceforge to rekindle development. Other developers subsequently joined with Stefan, and have since added many new features, refinements and enhancements. The result of this effort is Privoxy.
Privoxy has evolved from the Junkbuster 2.0.2 code base, and has advanced significantly at this point.
Please see the History section for more information on the history of Junkbuster and Privoxy.
Privoxy is the "Privacy Enhancing Proxy".
There are potential legal complications from the continued use of the Junkbuster name, which is a registered trademark of Junkbusters Corporation. And thus they "own" the rights to the name. (There are, however, no objections from Junkbusters Corporation to the Privoxy project itself, and they, in fact, still share our ideals and goals.)
The developers also believed that there are so many changes from the original code, that it was time to make a clean break from the past and make a name in their own right, especially now with the pending release of version 3.0.
Privoxy picks up where Junkbuster left off. All the old features remain. The new Privoxy still blocks ads and banners, still manages cookies, and still helps protect your privacy. But, these are all enhanced, and many new features have been added, all in the same vein.
The configuration has changed significantly as well. This is something that users will notice right off the bat if you are upgrading from Junkbuster 2.0.x. The "blocklist" file does not exist any more. This is replaced by "actions" files, such as default.actions. This is where most of the per site configuration is now.
FIXME: complete the list of features. change the order: most important features to the top of the list. prefix new features with "NEW".
Integrated browser based configuration and control utility at http://config.privoxy.org/ (shortcut: http://p.p/). Browser-based tracing of rule and filter effects. Remote toggling.
Blocking of annoying pop-up browser windows.
HTTP/1.1 compliant (but not all optional 1.1 features are supported).
Support for Perl Compatible Regular Expressions in the configuration files, and generally a more sophisticated and flexible configuration syntax over previous versions.
GIF de-animation.
Web page content filtering (removes banners based on size, invisible "web-bugs", JavaScript and HTML annoyances, pop-ups, etc.)
Bypass many click-tracking scripts (avoids script redirection).
Multi-threaded (POSIX and native threads).
Auto-detection and re-reading of config file changes.
User-customizable HTML templates (e.g. 404 error page).
Improved cookie management features (e.g. session based cookies).
Improved signal handling, and a true daemon mode (Unix).
Every feature now controllable on a per-site or per-location basis, configuration more powerful and versatile over-all.
Many smaller new features added, limitations and bugs removed, and security holes fixed.
When you connect to a web site with Privoxy, you are really connecting to your locally running version of Privoxy. Privoxy intercepts your requests for the web page, and relays that to the "real" web site. The web site sends the HTTP data stream back to Privoxy, where Privoxy can work its magic before it relays this data back to your web browser.
Since Privoxy sits between you and the WWW, it is in a position to intercept and completely manage all web traffic and HTTP content before it gets to your browser. Privoxy uses various programming methods to do this, all of which is under your control via the various configuration files and options.
There are many kinds of proxies. Privoxy best fits the "filtering proxy" category.
Privoxy processes all the raw content of every web page. So it reads everything on each page. It then compares this to the rules as set up in the configuration files, and looks for any matches to these rules. Privoxy makes heavy use of "regular expressions". (If you are not familiar with regular expressions, it is explained briefly in the user manual.) Regular expressions facilitate matching of one text string against another, using wildcards to build complex patterns. So Privoxy will typically look for URLs and other content that match certain key words and expressions as defined in the configuration files. For instance a URL that contains "/banners", has a high probability of containing ad banners, and thus would be a prime candidate to have a matching rule.
So Privoxy will look for these kinds of obvious looking culprits. And also, will use lists of known organizations that specialize in ads. Again, using complex patterns to match as many potential combinations as possible since there tend to be many, many variations used by advertisers, and new ones are being introduced all the time.
Actually, it's a black art ;-) And yes, it is always possible to have a broad rule accidentally block something by mistake. There is a good chance you may run into such a situation at some point. It is tricky writing rules to cover every conceivable possibility, and not occasionally get false positives.
But this should not be a big concern since the Privoxy configuration is very flexible, and includes tools to help identify these types of situations so they can be addressed as needed, allowing you to customize your installation. (See the Troubleshooting section below.)
Modern browsers do indeed have some of the same functionality as Privoxy. Maybe this is adequate for you. But Privoxy is much more versatile and powerful, and can do a number of things that browsers just can't.
In addition, a proxy is good choice if you use multiple browsers, or have a LAN with multiple computers. This way all the configuration is in one place, and you don't have to maintain a similar configuration for possibly many browsers.
Privoxy is licensed under the GNU General Public License (GPL). It is free to use, copy, modify or distribute as you wish under the terms of this license. Please see the Copyright section for more information on the license and copyright.
There is no warranty of any kind, expressed, implied or otherwise. That is something that would cost real money ;-) There is no registration either. Privoxy really is free in every respect!
We, of course, welcome donations and use the money for domain registering, regular world-wide get-togethers (hahaha). Anyway, we'll soon describe the process how to donate money to the team.
Well, helping the team is always a good idea. We welcome new developers, RPM gurus or documentation makers. Simply get an account on sourceforge.net and mail your id to the developer mailing list. Then read the section Quickstart in the Developer's Manual.
Once we have added you to the team, you'll have write access to the CVS repository, and together we'll find a suitable task for you.