newly generated.
authorswa <swa@users.sourceforge.net>
Thu, 21 Mar 2002 21:04:00 +0000 (21:04 +0000)
committerswa <swa@users.sourceforge.net>
Thu, 21 Mar 2002 21:04:00 +0000 (21:04 +0000)
doc/text/faq.txt
doc/text/user-manual.txt

index 98f0968..470e293 100644 (file)
-Junkbuster Frequently Asked Questions
-
-By: Junkbuster Developers
-
-$Id: faq.sgml,v 1.18 2002/03/18 16:40:31 hal9 Exp $
-
-The FAQ document gives users and developers alike answers to frequently asked
-questions about the Internet Junkbuster. Internet Junkbuster is a web proxy
-with advanced filtering capabilities for protecting privacy, filtering web page
-content, managing cookies, controlling access, and removing ads, banners,
-pop-ups and other obnoxious Internet Junk. Junkbuster has a very flexible
-configuration and can be customized to suit individual needs and tastes.
-Internet Junkbuster has application for both stand-alone systems and multi-user
-networks.
 
-You can find the latest version of the document at http://
-ijbswa.sourceforge.net/faq/. Please see the Contact section in the user-manual
-if you want to contact the developers.
-
--------------------------------------------------------------------------------
+Junkbuster Frequently Asked Questions
 
-Table of Contents
-1. Frequently Asked Questions
+   By: Junkbuster Developers
    
-    1.1. General Information
-       
-        1.1.1. What is this new version of Junkbuster?
-        1.1.2. How does it differ from the old Junkbuster?
-        1.1.3. What are some of the new features?
-        1.1.4. What is a "proxy"? How does Junkbuster work?
-        1.1.5. My browser does the same things as Junkbuster. Why should I use
-            Junkbuster at all?
-        1.1.6. Is there is a license or fee? What about a warranty?
-            Registration?
-       
-    1.2. Installation
-       
-        1.2.1. Can I install the new Junkbuster over the old one?
-        1.2.2. I just installed Junkbuster. Is there anything special I have to
-            do now?
-        1.2.3. What is the proxy address of Junkbuster?
-        1.2.4. I just installed Junkbuster, and nothing is happening. All the
-            ads are there. What's wrong?
-       
-    1.3. Configuration
-       
-        1.3.1. Can I use my old config files?
-        1.3.2. What is an "actions" file?
-        1.3.3. The "actions"concept confuses me. Please list some of these
-            "actions".
-        1.3.4. How are actions files configured? What is the easiest way to do
-            this?
-        1.3.5. What are the differences between ijb-intermediate.action,
-            ijb-basic.action, etc.?
-        1.3.6. Why can I change the configuration with a browser? Does that not
-            raise security issues?
-        1.3.7. How can I set up Junkbuster to act as a proxy for my LAN?
-        1.3.8. Instead of ads, now I get a Junkbuster logo [or checkerboard]. I
-            don't want to see anything.
-        1.3.9. Why would anybody want to see the logo or checkerboard?
-        1.3.10. I see large red banners on some pages that say "Blocked". How
-            do I get rid of this?
-       
-    1.4. Misc
-       
-        1.4.1. How much does Junkbuster slow my browsing down? This has to add
-            extra time to browsing.
-        1.4.2. I noticed considerable delays in page requests compared to the
-            old IJB. What's wrong?
-        1.4.3. What is the "http://i.j.b/"?
-        1.4.4. I would like to help you, what do I do?
-        1.4.5. Do you still maintain the blocklists?
-        1.4.6. How can I submit new ads?
-        1.4.7. How can I hide my IP address?
-        1.4.8. Can Junkbuster guarantee I am anonymous?
-        1.4.9. Might some things break because header information is being
-            altered?
-        1.4.10. Can Junkbuster act as a "caching" proxy to speed up web
-            browsing?
-        1.4.11. What about as a firewall? Can Junkbuster protect me?
-        1.4.12. The Junkbuster logo that replaces ads is very blocky and ugly
-            looking. Can't a better font be used?
-        1.4.13. I have large empty spaces now where ads used to be. Why does
-            Junkbuster leave these large gaps?
-        1.4.14. How can Junkbuster filter Secure (HTTPS) URLs?
-        1.4.15. Junkbuster runs as a "server". How secure is it? Do I need to
-            take any special precautions?
-        1.4.16. What is a "re_filterfile"?
-       
-    1.5. Troubleshooting
-       
-        1.5.1. I just upgraded and am getting "connection refused" with every
-            web page?
-        1.5.2. I just added a new rule, but the steenkin ad is still getting
-            through. How?
-        1.5.3. One of my favorite sites does not work with Junkbuster. What can
-            I do?
-        1.5.4. What time is it?
-       
-2. Contact the developers
-3. Copyright and History
-4. See also
-
+   $Id: faq.sgml,v 1.19 2002/03/21 17:01:54 hal9 Exp $
+   
+   The FAQ document gives users and developers alike answers to
+   frequently asked questions about the Internet Junkbuster. Internet
+   Junkbuster is a web proxy with advanced filtering capabilities for
+   protecting privacy, filtering web page content, managing cookies,
+   controlling access, and removing ads, banners, pop-ups and other
+   obnoxious Internet Junk. Junkbuster has a very flexible configuration
+   and can be customized to suit individual needs and tastes. Internet
+   Junkbuster has application for both stand-alone systems and multi-user
+   networks.
+   
+   You can find the latest version of the document at
+   [1]http://ijbswa.sourceforge.net/faq/. Please see the Contact section
+   in the [2]user-manual if you want to contact the developers.
+     _________________________________________________________________
+   
+   Table of Contents
+   1. [3]Frequently Asked Questions
+          
+        1.1. [4]General Information
+                
+              1.1.1. [5]What is this new version of Junkbuster?
+              1.1.2. [6]How does it differ from the old Junkbuster?
+              1.1.3. [7]What are some of the new features?
+              1.1.4. [8]What is a "proxy"? How does Junkbuster work?
+              1.1.5. [9]My browser does the same things as Junkbuster.
+                      Why should I use Junkbuster at all?
+                      
+              1.1.6. [10]Is there is a license or fee? What about a
+                      warranty? Registration?
+                      
+        1.2. [11]Installation
+                
+              1.2.1. [12]Can I install the new Junkbuster over the old
+                      one?
+                      
+              1.2.2. [13]I just installed Junkbuster. Is there anything
+                      special I have to do now?
+                      
+              1.2.3. [14]What is the proxy address of Junkbuster?
+              1.2.4. [15]I just installed Junkbuster, and nothing is
+                      happening. All the ads are there. What's wrong?
+                      
+        1.3. [16]Configuration
+                
+              1.3.1. [17]Can I use my old config files?
+              1.3.2. [18]What is an "actions" file?
+              1.3.3. [19]The "actions"concept confuses me. Please list
+                      some of these "actions".
+                      
+              1.3.4. [20]How are actions files configured? What is the
+                      easiest way to do this?
+                      
+              1.3.5. [21]What are the differences between
+                      ijb-intermediate.action, ijb-basic.action, etc.?
+                      
+              1.3.6. [22]Why can I change the configuration with a
+                      browser? Does that not raise security issues?
+                      
+              1.3.7. [23]How can I set up Junkbuster to act as a proxy
+                      for my LAN?
+                      
+              1.3.8. [24]Instead of ads, now I get a Junkbuster logo [or
+                      checkerboard]. I don't want to see anything.
+                      
+              1.3.9. [25]Why would anybody want to see the logo or
+                      checkerboard?
+                      
+              1.3.10. [26]I see large red banners on some pages that say
+                      "Blocked". How do I get rid of this?
+                      
+        1.4. [27]Misc
+                
+              1.4.1. [28]How much does Junkbuster slow my browsing down?
+                      This has to add extra time to browsing.
+                      
+              1.4.2. [29]I noticed considerable delays in page requests
+                      compared to the old IJB. What's wrong?
+                      
+              1.4.3. [30]What is the "http://i.j.b/"?
+              1.4.4. [31]I would like to help you, what do I do?
+              1.4.5. [32]Do you still maintain the blocklists?
+              1.4.6. [33]How can I submit new ads?
+              1.4.7. [34]How can I hide my IP address?
+              1.4.8. [35]Can Junkbuster guarantee I am anonymous?
+              1.4.9. [36]Might some things break because header
+                      information is being altered?
+                      
+              1.4.10. [37]Can Junkbuster act as a "caching" proxy to
+                      speed up web browsing?
+                      
+              1.4.11. [38]What about as a firewall? Can Junkbuster
+                      protect me?
+                      
+              1.4.12. [39]The Junkbuster logo that replaces ads is very
+                      blocky and ugly looking. Can't a better font be
+                      used?
+                      
+              1.4.13. [40]I have large empty spaces now where ads used to
+                      be. Why does Junkbuster leave these large gaps?
+                      
+              1.4.14. [41]How can Junkbuster filter Secure (HTTPS) URLs?
+              1.4.15. [42]Junkbuster runs as a "server". How secure is
+                      it? Do I need to take any special precautions?
+                      
+              1.4.16. [43]What is a "re_filterfile"?
+                      
+        1.5. [44]Troubleshooting
+                
+              1.5.1. [45]I just upgraded and am getting "connection
+                      refused" with every web page?
+                      
+              1.5.2. [46]I just added a new rule, but the steenkin ad is
+                      still getting through. How?
+                      
+              1.5.3. [47]One of my favorite sites does not work with
+                      Junkbuster. What can I do?
+                      
+              1.5.4. [48]What time is it?
+                      
+   2. [49]Contact the developers
+   3. [50]Copyright and History
+   4. [51]See also
+          
 1. Frequently Asked Questions
 
 1.1. General Information
 
 1.1.1. What is this new version of Junkbuster?
 
-The original Internet Junkbuster (tm) is a coyrighted product of Junkbusters
-Corporation. Development of this effort stopped some time ago as of version
-2.0.2. Stefan Walherr 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 new Junkbuster started with the same code base, but has changed
-significantly at this point.
-
--------------------------------------------------------------------------------
-
-1.1.2. How does it differ from the old Junkbuster?
-
-All the old features remain. The new Junkbuster 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. The "blocklist" file does not exist any
-more. This is replaced by "actions" files, such as ijb.actions. This is where
-most of the per site configuration is now.
-
--------------------------------------------------------------------------------
-
-1.1.3. What are some of the new features?
-
-  * Integrated browser based configuration and control utility (http://i.j.b).
-    Browser-based tracing of rule and filter effects.
-   
-  * Blocking of annoying pop-up browser windows.
-   
-  * HTTP/1.1 compliant (most, but not all 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, pop-ups, status bar abuse, etc.)
+   The original Internet Junkbuster (tm) is a coyrighted product of
+   [52]Junkbusters Corporation. Development of this effort stopped some
+   time ago as of version 2.0.2. Stefan Walherr started the ijbswa
+   project on [53]Sourceforge to rekindle development. Other developers
+   subsequently joined with Stefan, and have since added many new
+   features, refinements and enhancements.
    
-  * Bypass many click-tracking scripts (avoids script redirection).
+   The new Junkbuster started with the same code base, but has changed
+   significantly at this point.
+     _________________________________________________________________
    
-  * Multi-threaded (POSIX and native threads).
+1.1.2. How does it differ from the old Junkbuster?
+
+   All the old features remain. The new Junkbuster 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.
    
-  * Auto-detection and re-reading of config file changes.
+   The configuration has changed significantly as well. This is something
+   that users will notice right off the bat. The "blocklist" file does
+   not exist any more. This is replaced by "actions" files, such as
+   ijb.actions. This is where most of the per site configuration is now.
+     _________________________________________________________________
    
-  * User-customizable HTML templates (e.g. 404 error page).
+1.1.3. What are some of the new features?
+
+     * Integrated browser based configuration and control utility
+       ([54]http://i.j.b). Browser-based tracing of rule and filter
+       effects.
+     * Blocking of annoying pop-up browser windows.
+     * HTTP/1.1 compliant (most, but not all 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, pop-ups, status bar abuse, 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).
+     * Builds from source on most UNIX-like systems. Packages available
+       for: Linux (RedHat, SuSE, or Debian), Windows, Sun Solaris, Mac
+       OSX, OS/2, HP-UX 11 and AmigaOS.
+     * In addition, the configuration is much more powerful and versatile
+       over-all.
+     _________________________________________________________________
    
-  * Improved cookie management features (e.g. session based cookies).
+1.1.4. What is a "proxy"? How does Junkbuster work?
+
+   When you connect to a web site with Junkbuster, you are really
+   connecting to your locally running version of Junkbuster. Junkbuster
+   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
+   Junkbuster, where Junkbuster can work its magic before it relays this
+   data back to your web browser.
    
-  * Builds from source on most UNIX-like systems. Packages available for: Linux
-    (RedHat, SuSE, or Debian), Windows, Sun Solaris, Mac OSX, OS/2, HP-UX 11
-    and AmigaOS.
+   Since Junkbuster 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. Junkbuster uses various programming
+   methods to do this, all of which is under your control via the various
+   configuration files and options.
    
-  * In addition, the configuration is much more powerful and versatile
-    over-all.
+   There are many kinds of proxies. Junkbuster best fits the "filtering
+   proxy" category.
+     _________________________________________________________________
    
--------------------------------------------------------------------------------
-
-1.1.4. What is a "proxy"? How does Junkbuster work?
-
-When you connect to a web site with Junkbuster, you are really connecting to
-your locally running version of Junkbuster. Junkbuster 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 Junkbuster, where Junkbuster can work its magic
-before it relays this data back to your web browser.
-
-Since Junkbuster 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. Junkbuster 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. Junkbuster best fits the "filtering proxy"
-category.
-
--------------------------------------------------------------------------------
-
 1.1.5. My browser does the same things as Junkbuster. Why should I use
 Junkbuster at all?
 
-Modern browsers do indeed have some of the same functionality as Junkbuster.
-Maybe this is adequate for you. But Junkbuster is much more verstatile 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.
-
--------------------------------------------------------------------------------
-
+   Modern browsers do indeed have some of the same functionality as
+   Junkbuster. Maybe this is adequate for you. But Junkbuster is much
+   more verstatile 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.
+     _________________________________________________________________
+   
 1.1.6. Is there is a license or fee? What about a warranty? Registration?
 
-Junkbuster 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.
-See http://www.gnu.org/copyleft/gpl.html for specifics.
-
-There is no warranty of any kind, expressed, implied or otherwise. That is
-something that would cost real money ;-) There is no registration either.
-Junkbuster really is free in every respect!
-
--------------------------------------------------------------------------------
-
+   Junkbuster 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. See [55]http://www.gnu.org/copyleft/gpl.html for
+   specifics.
+   
+   There is no warranty of any kind, expressed, implied or otherwise.
+   That is something that would cost real money ;-) There is no
+   registration either. Junkbuster really is free in every respect!
+     _________________________________________________________________
+   
 1.2. Installation
 
 1.2.1. Can I install the new Junkbuster over the old one?
 
-We recommend you uninstall the old Junkbuster first to minimize conflicts and
-confusion. You may want to save your old configuration files for future
-reference. The configuration is substantially changed.
-
-See the user-manual for platform specific installation instructions. [FIXME:
-This is meant for after the name change for 3.0!]
-
--------------------------------------------------------------------------------
-
-1.2.2. I just installed Junkbuster. Is there anything special I have to do now?
-
-All browsers must be told to use Junkbuster as a proxy by specifying the
-correct proxy address and port number in the appropriate configuration area for
-the browser. See below. 
-
--------------------------------------------------------------------------------
+   We recommend you uninstall the old Junkbuster first to minimize
+   conflicts and confusion. You may want to save your old configuration
+   files for future reference. The configuration is substantially
+   changed.
+   
+   See the [56]user-manual for platform specific installation
+   instructions. [FIXME: This is meant for after the name change for
+   3.0!]
+     _________________________________________________________________
+   
+1.2.2. I just installed Junkbuster. Is there anything special I have to do
+now?
 
+   All browsers must be told to use Junkbuster as a proxy by specifying
+   the correct proxy address and port number in the appropriate
+   configuration area for the browser. See below.
+     _________________________________________________________________
+   
 1.2.3. What is the proxy address of Junkbuster?
 
-If you set up the Junkbuster to run on the computer you browse from (rather
-than your ISP's server or some networked computer on a LAN), the proxy will be
-on "localhost" (which is the special name used by every computer on the
-Internet to refer to itself) and the port will be 8118 (unless you have told
-the Internet Junkbuster to run on a different port with the listen-address
-config option).
-
-When configuring your browser's proxy settings you typically enter the word
-"localhost" in the boxes next to "HTTP" and "Secure" (HTTPS) and then the
-number "8118" for "port". This tells your browser to send all web requests to
-"Junkbuster" instead of directly to the Interenet.
-
-Junkbuster can also be used to proxy for a Local Area Network. In this case,
-your would enter either the IP address of the LAN host where Junkbuster is
-running, or the equivalent hostname. Port assignment would be same as above.
-
-Junkbuster does not currently handle protocols such as FTP, SMTP, IM, IRC, ICQ,
-or other Internet protocols.
-
--------------------------------------------------------------------------------
-
-1.2.4. I just installed Junkbuster, and nothing is happening. All the ads are
-there. What's wrong?
-
-Did you configure your browser to use Junkbuster as a proxy? It does not sound
-like it. See above. You might also try flushing the browser's caches to force a
-full re-reading of pages. You can verify that Junkbuster is running, and your
-browser is correctly configured by entering the special URL: http://i.j.b/.
-This should give you a banner that says "This is the Internet JUNKBUSTER" and
-access to Junkbuster's internal configuration. If you see this, then you are
-good to go. If not, the browser or Junkbuster are not set up correctly. 
-
--------------------------------------------------------------------------------
-
+   If you set up the Junkbuster to run on the computer you browse from
+   (rather than your ISP's server or some networked computer on a LAN),
+   the proxy will be on "localhost" (which is the special name used by
+   every computer on the Internet to refer to itself) and the port will
+   be 8118 (unless you have told the Internet Junkbuster to run on a
+   different port with the listen-address config option).
+   
+   When configuring your browser's proxy settings you typically enter the
+   word "localhost" in the boxes next to "HTTP" and "Secure" (HTTPS) and
+   then the number "8118" for "port". This tells your browser to send all
+   web requests to "Junkbuster" instead of directly to the Interenet.
+   
+   Junkbuster can also be used to proxy for a Local Area Network. In this
+   case, your would enter either the IP address of the LAN host where
+   Junkbuster is running, or the equivalent hostname. Port assignment
+   would be same as above.
+   
+   Junkbuster does not currently handle protocols such as FTP, SMTP, IM,
+   IRC, ICQ, or other Internet protocols.
+     _________________________________________________________________
+   
+1.2.4. I just installed Junkbuster, and nothing is happening. All the ads
+are there. What's wrong?
+
+   Did you configure your browser to use Junkbuster as a proxy? It does
+   not sound like it. See above. You might also try flushing the
+   browser's caches to force a full re-reading of pages. You can verify
+   that Junkbuster is running, and your browser is correctly configured
+   by entering the special URL: [57]http://i.j.b/. This should give you a
+   banner that says "This is the Internet JUNKBUSTER" and access to
+   Junkbuster's internal configuration. If you see this, then you are
+   good to go. If not, the browser or Junkbuster are not set up
+   correctly.
+     _________________________________________________________________
+   
 1.3. Configuration
 
 1.3.1. Can I use my old config files?
 
-There are major changes to Junkbuster configuration from version 2.0.x to 2.9.x
-and later. The older files will not work at all. If this is the case, you will
-need to re-enter your old data into the new configuration structure. This is
-probably also a good recommendation even if upgrading from 2.9.x to 3.x since
-there were many minor changes along the way.
-
--------------------------------------------------------------------------------
-
+   There are major changes to Junkbuster configuration from version 2.0.x
+   to 2.9.x and later. The older files will not work at all. If this is
+   the case, you will need to re-enter your old data into the new
+   configuration structure. This is probably also a good recommendation
+   even if upgrading from 2.9.x to 3.x since there were many minor
+   changes along the way.
+     _________________________________________________________________
+   
 1.3.2. What is an "actions" file?
 
-"actions" files are where various actions that Junkbuster might take, are
-configured. Typically, you would define a set of default actions that apply to
-all URLs, then add exceptions to these defaults.
-
-Actions can be defined on a per site basis, or for groups of sites. Actions can
-also be grouped together and then applied to one or more sites. There are many
-possible actions that might apply to any given site. As an example, if we are
-blocking cookies as one of our default actions, but need to accept cookies from
-a given site, we would define this in our "actions" file. 
-
-Junkbuster comes with several default actions files, with varying degrees of
-filtering and blocking, as starting points for your own configuration (see
-below).
-
--------------------------------------------------------------------------------
-
-1.3.3. The "actions"concept confuses me. Please list some of these "actions".
-
-These are all explained in the user-manual. Please refer to that.
-
--------------------------------------------------------------------------------
+   "actions" files are where various actions that Junkbuster might take,
+   are configured. Typically, you would define a set of default actions
+   that apply to all URLs, then add exceptions to these defaults.
+   
+   Actions can be defined on a per site basis, or for groups of sites.
+   Actions can also be grouped together and then applied to one or more
+   sites. There are many possible actions that might apply to any given
+   site. As an example, if we are blocking cookies as one of our default
+   actions, but need to accept cookies from a given site, we would define
+   this in our "actions" file.
+   
+   Junkbuster comes with several default actions files, with varying
+   degrees of filtering and blocking, as starting points for your own
+   configuration (see below).
+     _________________________________________________________________
+   
+1.3.3. The "actions"concept confuses me. Please list some of these
+"actions".
 
+   These are all explained in the [58]user-manual. Please refer to that.
+     _________________________________________________________________
+   
 1.3.4. How are actions files configured? What is the easiest way to do this?
 
-The easiest way to do this, is to access Junkbuster with your web browser at 
-http://i.j.b/, and then select "Edit the actions list" from the selection list.
-You can also do this by editing the appropriate file with a text editor.
-
-Please see the user-manual for a detailed explanation of these and other
-configuration files, and their various options and syntax.
-
--------------------------------------------------------------------------------
-
+   The easiest way to do this, is to access Junkbuster with your web
+   browser at [59]http://i.j.b/, and then select "[60]Edit the actions
+   list" from the selection list. You can also do this by editing the
+   appropriate file with a text editor.
+   
+   Please see the [61]user-manual for a detailed explanation of these and
+   other configuration files, and their various options and syntax.
+     _________________________________________________________________
+   
 1.3.5. What are the differences between ijb-intermediate.action,
 ijb-basic.action, etc.?
 
-Configuring the Internet Junkbuster is not easy. To help you get started, we
-provide you with three different default configurations. The following table
-shows you, which features are enabled in each configuration.
-
-Table 1. Default Configurations
-
-+------------------------------------------------------------------------------------------------+
-|Feature             |ijb.action    |ijb-basic.action|ijb-intermediate.action|ijb-advanced.action|
-|--------------------+--------------+----------------+-----------------------+-------------------|
-|ad-filtering        |?             |x               |x                      |x                  |
-|--------------------+--------------+----------------+-----------------------+-------------------|
-|blank image         |?             |x               |x                      |x                  |
-|--------------------+--------------+----------------+-----------------------+-------------------|
-|de-animate GIFs     |?             |x               |x                      |x                  |
-|--------------------+--------------+----------------+-----------------------+-------------------|
-|referer forging     |?             |x               |x                      |x                  |
-|--------------------+--------------+----------------+-----------------------+-------------------|
-|jon's               |?             |x               |x                      |x                  |
-|+no-cookies-keep    |              |                |                       |                   |
-|(i.e. session       |              |                |                       |                   |
-|cookies only)       |              |                |                       |                   |
-|--------------------+--------------+----------------+-----------------------+-------------------|
-|no-popup windows    |?             |                |x                      |x                  |
-|--------------------+--------------+----------------+-----------------------+-------------------|
-|fast redirects      |?             |                |x                      |x                  |
-|--------------------+--------------+----------------+-----------------------+-------------------|
-|hide-referrer       |?             |                |x                      |x                  |
-|--------------------+--------------+----------------+-----------------------+-------------------|
-|hide-useragent      |?             |                |x                      |x                  |
-|--------------------+--------------+----------------+-----------------------+-------------------|
-|content-modification|?             |                |                       |x                  |
-|--------------------+--------------+----------------+-----------------------+-------------------|
-|feature-x           |?             |                |                       |                   |
-|--------------------+--------------+----------------+-----------------------+-------------------|
-|feature-y           |?             |                |                       |                   |
-|--------------------+--------------+----------------+-----------------------+-------------------|
-|feature-z           |?             |                |                       |                   |
-+------------------------------------------------------------------------------------------------+
-
--------------------------------------------------------------------------------
-
-1.3.6. Why can I change the configuration with a browser? Does that not raise
-security issues?
-
-What I don't understand, is how I can browser edit the config file as a regular
-user, while the whole /etc/junkbuster hierarchy belongs to the user
-"junkbuster", with only 644 perms.
-
-When you use the browser-based editor, JunkBuster itself is writing to the
-config files. Because JunkBuster is running as the user "junkbuster", it can
-update the config files.
-
-If you don't like this, setting "enable-edit-actions 0" in the config file will
-disable the browser-based editor. If you're that paranoid, you should also
-consider setting "enable-remote-toggle 0" to prevent browser-based enabling/
-disabling of JunkBuster.
-
-Note that normally only local users can connect to JunkBuster, so this is not
-(normally) a security problem.
-
--------------------------------------------------------------------------------
+   Configuring the Internet Junkbuster is not easy. To help you get
+   started, we provide you with three different default configurations.
+   The following table shows you, which features are enabled in each
+   configuration.
+   
+   Table 1. Default Configurations
+   Feature ijb.action ijb-basic.action ijb-intermediate.action
+   ijb-advanced.action
+   ad-filtering ? x x x
+   blank image ? x x x
+   de-animate GIFs ? x x x
+   referer forging ? x x x
+   jon's +no-cookies-keep (i.e. session cookies only) ? x x x
+   no-popup windows ?   x x
+   fast redirects ?   x x
+   hide-referrer ?   x x
+   hide-useragent ?   x x
+   content-modification ?     x
+   feature-x ?
+   feature-y ?
+   feature-z ?
+     _________________________________________________________________
+   
+1.3.6. Why can I change the configuration with a browser? Does that not
+raise security issues?
 
+   What I don't understand, is how I can browser edit the config file as
+   a regular user, while the whole /etc/junkbuster hierarchy belongs to
+   the user "junkbuster", with only 644 perms.
+   
+   When you use the browser-based editor, JunkBuster itself is writing to
+   the config files. Because JunkBuster is running as the user
+   "junkbuster", it can update the config files.
+   
+   If you don't like this, setting "enable-edit-actions 0" in the config
+   file will disable the browser-based editor. If you're that paranoid,
+   you should also consider setting "enable-remote-toggle 0" to prevent
+   browser-based enabling/disabling of JunkBuster.
+   
+   Note that normally only local users can connect to JunkBuster, so this
+   is not (normally) a security problem.
+     _________________________________________________________________
+   
 1.3.7. How can I set up Junkbuster to act as a proxy for my LAN?
 
-By default, Junkbuster only responds to requests from localhost. To have it act
-as a server for a network, this needs to be changed in the main config file
-where the Junkbuster configuration is located. In that file is a
-"listen-address" option. It may be commented out with a "#" symbol. Make sure
-it is uncommented, and assign it the address of the LAN gateway interface, and
-port number to use:
-
-  listen-address  192.168.1.1:8118                                             
-                                                                               
-
-Save the file, and restart Junkbuster. Configure all browsers on the network
-then to use this address and port number.
-
--------------------------------------------------------------------------------
-
-1.3.8. Instead of ads, now I get a Junkbuster logo [or checkerboard]. I don't
-want to see anything.
-
-This is a configuration option for images that Junkbuster is stopping. You have
-the choice of the Junkbuster logo, a checkerboard pattern (this scales better),
-a transparent 1x1 GIF image, or a custom URL or your choice.
-
-If you want to see nothing, then change the "+image-blocker" action to
-"+image-blocker{blank}". This can be done from the "Edit Actions List"
-selection at http://i.j.b/. Or by hand editing the appropriate actions file.
-This will only effect what is defined as "images" though.  
+   By default, Junkbuster only responds to requests from localhost. To
+   have it act as a server for a network, this needs to be changed in the
+   main config file where the Junkbuster configuration is located. In
+   that file is a "listen-address" option. It may be commented out with a
+   "#" symbol. Make sure it is uncommented, and assign it the address of
+   the LAN gateway interface, and port number to use:
+   
+  listen-address  192.168.1.1:8118
 
--------------------------------------------------------------------------------
+   Save the file, and restart Junkbuster. Configure all browsers on the
+   network then to use this address and port number.
+     _________________________________________________________________
+   
+1.3.8. Instead of ads, now I get a Junkbuster logo [or checkerboard]. I
+don't want to see anything.
 
+   This is a configuration option for images that Junkbuster is stopping.
+   You have the choice of the Junkbuster logo, a checkerboard pattern
+   (this scales better), a transparent 1x1 GIF image, or a custom URL or
+   your choice.
+   
+   If you want to see nothing, then change the "+image-blocker" action to
+   "+image-blocker{blank}". This can be done from the "Edit Actions List"
+   selection at [62]http://i.j.b/. Or by hand editing the appropriate
+   actions file. This will only effect what is defined as "images"
+   though.
+     _________________________________________________________________
+   
 1.3.9. Why would anybody want to see the logo or checkerboard?
 
-This can be helpful for troubleshooting problems. It might also be good for
-anyone new to Junkbuster so that they can see if their favorite pages are
-displaying correctly, and Junkbuster is not inadvertantly removing something
-important.
-
--------------------------------------------------------------------------------
-
-1.3.10. I see large red banners on some pages that say "Blocked". How do I get
-rid of this?
-
-These are URLs that match something in one of Junkbuster's block actions
-(+block). It is meant to be a warning so that you know something has been
-blocked and an easy way for you to see why. These are handled differently than
-what has been defined as "images" (e.g. ad banners). If you want them to be
-treated as if they were images, so that they can be invisible, then move the
-offending URL from the "+block" section to the "+imageblock" section of your
-actions file. Alternately, you could modify the "block" HTML template that is
-used by Junkbuster to display this, and make it something more to your liking.
-
--------------------------------------------------------------------------------
-
+   This can be helpful for troubleshooting problems. It might also be
+   good for anyone new to Junkbuster so that they can see if their
+   favorite pages are displaying correctly, and Junkbuster is not
+   inadvertantly removing something important.
+     _________________________________________________________________
+   
+1.3.10. I see large red banners on some pages that say "Blocked". How do I
+get rid of this?
+
+   These are URLs that match something in one of Junkbuster's block
+   actions (+block). It is meant to be a warning so that you know
+   something has been blocked and an easy way for you to see why. These
+   are handled differently than what has been defined as "images" (e.g.
+   ad banners). If you want them to be treated as if they were images, so
+   that they can be invisible, then move the offending URL from the
+   "+block" section to the "+imageblock" section of your actions file.
+   Alternately, you could modify the "block" HTML template that is used
+   by Junkbuster to display this, and make it something more to your
+   liking.
+     _________________________________________________________________
+   
 1.4. Misc
 
 1.4.1. How much does Junkbuster slow my browsing down? This has to add extra
 time to browsing.
 
-It should not slow you down any in real terms, and may actually help speed
-things up since ads, banners and other junk are not being displayed. The actual
-processing time required by Junkbuster itself for each page, is relatively
-small in the overall scheme of things, and happens very quickly. This is
-typically more than offset by time saved not downloading and rendering ad
-images.
-
-"Filtering" via the re_filterfile mechanism may cause a perceived slowdown,
-since the entire page is buffered before displaying. See below.
-
--------------------------------------------------------------------------------
-
-1.4.2. I noticed considerable delays in page requests compared to the old IJB.
-What's wrong?
-
-Using the default filtering configuration, I noticed considerable delays in
-page requests compared to the old IJB. Loading pages with large contents seemed
-to take forever, then suddenly delivering all the content at once.
-
-The whole content must be loaded in order to filter, and nothing is is sent to
-the browser during this time. The loading time does not really change in real
-numbers, but the feeling is different, because most browsers are able to start
-rendering incomplete content, giving the user a feeling of "it works".
-
-To modify the content of a page (i.e. make frames resizeable again, etc.) and
-not just replace ads, the Internet Junkbuster needs to download the entire page
-first, do its content magic and then send the page to the browser.
-
--------------------------------------------------------------------------------
+   It should not slow you down any in real terms, and may actually help
+   speed things up since ads, banners and other junk are not being
+   displayed. The actual processing time required by Junkbuster itself
+   for each page, is relatively small in the overall scheme of things,
+   and happens very quickly. This is typically more than offset by time
+   saved not downloading and rendering ad images.
+   
+   "Filtering" via the re_filterfile mechanism may cause a perceived
+   slowdown, since the entire page is buffered before displaying. See
+   below.
+     _________________________________________________________________
+   
+1.4.2. I noticed considerable delays in page requests compared to the old
+IJB. What's wrong?
 
+   Using the default filtering configuration, I noticed considerable
+   delays in page requests compared to the old IJB. Loading pages with
+   large contents seemed to take forever, then suddenly delivering all
+   the content at once.
+   
+   The whole content must be loaded in order to filter, and nothing is is
+   sent to the browser during this time. The loading time does not really
+   change in real numbers, but the feeling is different, because most
+   browsers are able to start rendering incomplete content, giving the
+   user a feeling of "it works".
+   
+   To modify the content of a page (i.e. make frames resizeable again,
+   etc.) and not just replace ads, the Internet Junkbuster needs to
+   download the entire page first, do its content magic and then send the
+   page to the browser.
+     _________________________________________________________________
+   
 1.4.3. What is the "http://i.j.b/"?
 
-Since JunkBuster sits between your web browser and the Internet, it can be
-programmed to handle certain pages specially.
-
-With recent versions of JunkBuster (version 2.9.x), you can get some
-information about JunkBuster and change some settings by going to http://i.j.b/
-or, equivalently, http://ijbswa.sourceforge.net/config/ (Note that i.j.b is far
-easier to type but may not work in some configurations).
-
-These pages are *not* forwarded to a server on the internet - instead they are
-handled by a special web server which is built in to JunkBuster.
-
-If you are not running JunkBuster, then http://i.j.b/ will fail, and http://
-ijbswa.sourceforge.net/config/ will return a web page telling you you're not
-running JunkBuster.
-
-If you have version 2.0.2, then the equivalent is http://example.com/
-show-proxy-args (but you get far less information, and you should really
-consider upgrading to 2.9.x).
-
--------------------------------------------------------------------------------
-
+   Since JunkBuster sits between your web browser and the Internet, it
+   can be programmed to handle certain pages specially.
+   
+   With recent versions of JunkBuster (version 2.9.x), you can get some
+   information about JunkBuster and change some settings by going to
+   http://i.j.b/ or, equivalently, http://ijbswa.sourceforge.net/config/
+   (Note that i.j.b is far easier to type but may not work in some
+   configurations).
+   
+   These pages are *not* forwarded to a server on the internet - instead
+   they are handled by a special web server which is built in to
+   JunkBuster.
+   
+   If you are not running JunkBuster, then http://i.j.b/ will fail, and
+   http://ijbswa.sourceforge.net/config/ will return a web page telling
+   you you're not running JunkBuster.
+   
+   If you have version 2.0.2, then the equivalent is
+   http://example.com/show-proxy-args (but you get far less information,
+   and you should really consider upgrading to 2.9.x).
+     _________________________________________________________________
+   
 1.4.4. I would like to help you, what do I do?
 
-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. 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.
-
--------------------------------------------------------------------------------
-
+   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.
+   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.
+     _________________________________________________________________
+   
 1.4.5. Do you still maintain the blocklists?
 
-No. The format of the blocklists has changed significantly in the versions
-2.9.x. Once we have released the new version, there will again be blocklists
-that you can update automatically.
-
--------------------------------------------------------------------------------
-
+   No. The format of the blocklists has changed significantly in the
+   versions 2.9.x. Once we have released the new version, there will
+   again be blocklists that you can update automatically.
+     _________________________________________________________________
+   
 1.4.6. How can I submit new ads?
 
-As of now, please discontinue to submit new ad blocking infos. Once we have
-released the new version, there will again be a form on the website, which you
-can use to contribute new ads.
-
--------------------------------------------------------------------------------
-
+   As of now, please discontinue to submit new ad blocking infos. Once we
+   have released the new version, there will again be a form on the
+   website, which you can use to contribute new ads.
+     _________________________________________________________________
+   
 1.4.7. How can I hide my IP address?
 
-You cannot hide your IP address with Junkbuster or any other software, since
-the server needs to know your IP address to send the answer to you.
-
-Fortunately there are many publicly usable anonymous proxies out there, which
-solve the problem by providing a further level of indirection between you and
-the web server, shared by many people and thus letting your requests "drown" in
-white noise of unrelated requests as far as user tracking is concerned.
-
-Most of them will, however, log your IP address and make it available to the
-authorities in case you abuse that anonymity for criminal purposes. In fact you
-can't even rule out that some of them only exist to *collect* information on
-(those suspicious) people with a more than average preference for privacy.
-
-You can find a list of anonymous public proxies at multiproxy.org and many more
-through Google.
-
--------------------------------------------------------------------------------
-
+   You cannot hide your IP address with Junkbuster or any other software,
+   since the server needs to know your IP address to send the answer to
+   you.
+   
+   Fortunately there are many publicly usable anonymous proxies out
+   there, which solve the problem by providing a further level of
+   indirection between you and the web server, shared by many people and
+   thus letting your requests "drown" in white noise of unrelated
+   requests as far as user tracking is concerned.
+   
+   Most of them will, however, log your IP address and make it available
+   to the authorities in case you abuse that anonymity for criminal
+   purposes. In fact you can't even rule out that some of them only exist
+   to *collect* information on (those suspicious) people with a more than
+   average preference for privacy.
+   
+   You can find a list of anonymous public proxies at [63]multiproxy.org
+   and many more through Google.
+     _________________________________________________________________
+   
 1.4.8. Can Junkbuster guarantee I am anonymous?
 
-No. Your chances of remaining anonymous are greatly improved, but unless you
-are an expert on Internet security it would be safest to assume that everything
-you do on the Web can be traced back to you.
-
-Junkbuster can remove various information about you, and allows you more
-freedom to decide which sites you can trust. But it's still possible that web
-sites can find out who you are. Here's one way this can happen.
-
-A few browsers disclose the user's email address in certain situations, such as
-when transferring a file by FTP. Junkbuster does not filter FTP. If you need
-this feature, or are concerned about the mail handler of your browser
-disclosing your email address, you might consider products such as NSClean.
-
-Browsers available only as binaries could use non-standard headers to give out
-any information they can have access to: see the manufacturer's license
-agreement. It's impossible to anticipate and prevent every breach of privacy
-that might occur. The professionally paranoid prefer browsers available as
-source code, because anticipating their behavior is easier. Trust the source,
-Luke!
-
--------------------------------------------------------------------------------
-
+   No. Your chances of remaining anonymous are greatly improved, but
+   unless you are an expert on Internet security it would be safest to
+   assume that everything you do on the Web can be traced back to you.
+   
+   Junkbuster can remove various information about you, and allows you
+   more freedom to decide which sites you can trust. But it's still
+   possible that web sites can find out who you are. Here's one way this
+   can happen.
+   
+   A few browsers disclose the user's email address in certain
+   situations, such as when transferring a file by FTP. Junkbuster does
+   not filter FTP. If you need this feature, or are concerned about the
+   mail handler of your browser disclosing your email address, you might
+   consider products such as NSClean.
+   
+   Browsers available only as binaries could use non-standard headers to
+   give out any information they can have access to: see the
+   manufacturer's license agreement. It's impossible to anticipate and
+   prevent every breach of privacy that might occur. The professionally
+   paranoid prefer browsers available as source code, because
+   anticipating their behavior is easier. Trust the source, Luke!
+     _________________________________________________________________
+   
 1.4.9. Might some things break because header information is being altered?
 
-Definitely. More and more sites use HTTP header content to decide what to
-display and how to display it. There is many ways that this can be handled, so
-having hard and fast rules, is tricky.
-
-"USER AGENT" in particular is often used in this way to identify the browser,
-and adjust content accordingly. Changing this now is not recommended, since so
-many sites do look for this. You may get undesirable results by changing this.
-
-For instance, different browsers use different encodings of Russian and Czech
-characters, certain web servers convert pages on-the-fly according to the User
-Agent header. Giving a "User Agent" with the wrong operating system or browser
-manufacturer causes some sites in these languages to be garbled; Surfers to
-Eastern European sites should change it to something closer. And then some page
-access counters work by looking at the "REFERER" header; they may fail or break
-if unavailable. The weather maps of Intellicast have been blocked by their
-server when no "REFERER" or cookie is provided, is another example. There are
-many, many other ways things can go wrong when trying to fool a web server.
-
-If you have problems with a site, you will have to adjust your configuration
-accordingly. Cookies are probably the most likely adjustment that may be
-required, but by no means the only one. 
-
--------------------------------------------------------------------------------
-
+   Definitely. More and more sites use HTTP header content to decide what
+   to display and how to display it. There is many ways that this can be
+   handled, so having hard and fast rules, is tricky.
+   
+   "USER AGENT" in particular is often used in this way to identify the
+   browser, and adjust content accordingly. Changing this now is not
+   recommended, since so many sites do look for this. You may get
+   undesirable results by changing this.
+   
+   For instance, different browsers use different encodings of Russian
+   and Czech characters, certain web servers convert pages on-the-fly
+   according to the User Agent header. Giving a "User Agent" with the
+   wrong operating system or browser manufacturer causes some sites in
+   these languages to be garbled; Surfers to Eastern European sites
+   should change it to something closer. And then some page access
+   counters work by looking at the "REFERER" header; they may fail or
+   break if unavailable. The weather maps of Intellicast have been
+   blocked by their server when no "REFERER" or cookie is provided, is
+   another example. There are many, many other ways things can go wrong
+   when trying to fool a web server.
+   
+   If you have problems with a site, you will have to adjust your
+   configuration accordingly. Cookies are probably the most likely
+   adjustment that may be required, but by no means the only one.
+     _________________________________________________________________
+   
 1.4.10. Can Junkbuster act as a "caching" proxy to speed up web browsing?
 
-No, it does not have this ability at all. You want something like Squid for
-this. And, yes, before you ask, Junkbuster can co-exist with other kinds of
-proxies like "Squid".
-
--------------------------------------------------------------------------------
-
+   No, it does not have this ability at all. You want something like
+   [64]Squid for this. And, yes, before you ask, Junkbuster can co-exist
+   with other kinds of proxies like "Squid".
+     _________________________________________________________________
+   
 1.4.11. What about as a firewall? Can Junkbuster protect me?
 
-Not in the way you mean, or in the way a true firewall can, or a proxy that has
-this specific capability. Junkbuster can help protect your privacy, but not
-really protect you from intrusion attempts.
-
--------------------------------------------------------------------------------
-
-1.4.12. The Junkbuster logo that replaces ads is very blocky and ugly looking.
-Can't a better font be used?
-
-This is not a font problem. The logo is an image that is created by Junkbuster
-on the fly. So as to not waste memory, the image is rather small. The
-blockiness comes when the image is scaled to fill a largish area. There is not
-much to be done about this, other than to use one of the other "imageblock"
-directives: pattern, blank, or a URL of your chosing.
-
--------------------------------------------------------------------------------
-
-1.4.13. I have large empty spaces now where ads used to be. Why does Junkbuster
-leave these large gaps?
-
-It would be easy enough to just eliminate this space altogether, rather than
-fill it with blank space. But, this would create problems with many pages that
-use the overall size of the ad to help organize the page layout and position
-the various components of the page where they were intended to be. It is best
-left this way.
-
--------------------------------------------------------------------------------
-
+   Not in the way you mean, or in the way a true firewall can, or a proxy
+   that has this specific capability. Junkbuster can help protect your
+   privacy, but not really protect you from intrusion attempts.
+     _________________________________________________________________
+   
+1.4.12. The Junkbuster logo that replaces ads is very blocky and ugly
+looking. Can't a better font be used?
+
+   This is not a font problem. The logo is an image that is created by
+   Junkbuster on the fly. So as to not waste memory, the image is rather
+   small. The blockiness comes when the image is scaled to fill a largish
+   area. There is not much to be done about this, other than to use one
+   of the other "imageblock" directives: pattern, blank, or a URL of your
+   chosing.
+     _________________________________________________________________
+   
+1.4.13. I have large empty spaces now where ads used to be. Why does
+Junkbuster leave these large gaps?
+
+   It would be easy enough to just eliminate this space altogether,
+   rather than fill it with blank space. But, this would create problems
+   with many pages that use the overall size of the ad to help organize
+   the page layout and position the various components of the page where
+   they were intended to be. It is best left this way.
+     _________________________________________________________________
+   
 1.4.14. How can Junkbuster filter Secure (HTTPS) URLs?
 
-This is a limitation since HTTPS transactions are encrypted SSL sessions
-between your browser and the secure site, and are meant to be reliably secure
-and private. This means that all cookies and HTTP header information are also
-encrypted from the time they leave your browser, to the site, and vice versa.
-Junkbuster does not try to unencrypt this information, so it just passes
-through as is. Junkbuster can still catch images and ads that are embedded in
-the SSL stream though.
-
--------------------------------------------------------------------------------
-
-1.4.15. Junkbuster runs as a "server". How secure is it? Do I need to take any
-special precautions?
-
-There are no known exploits that might effect Junkbuster. On Unix-like systems,
-Junkbuster can run as a non-privileged user, which is how we recommend it be
-run. Also, by default Junkbuster only listens to requests from "localhost". It
-is not itself directly exposed to the Internet in this configuration. If you
-want to have Junkbuster serve as a LAN proxy, this will have to be opened up to
-allow for LAN requests. In this case, we'd recommend you specify only the LAN
-gateway address, e.g. 192.168.1.1 in the main Junkbuster config file. All LAN
-hosts can then use this as their proxy address in the browser proxy
-configuration. In this way, Junkbuster will not listen on any external ports.
-Of course, a firewall is always good too. Better safe than sorry.
-
--------------------------------------------------------------------------------
-
+   This is a limitation since HTTPS transactions are encrypted SSL
+   sessions between your browser and the secure site, and are meant to be
+   reliably secure and private. This means that all cookies and HTTP
+   header information are also encrypted from the time they leave your
+   browser, to the site, and vice versa. Junkbuster does not try to
+   unencrypt this information, so it just passes through as is.
+   Junkbuster can still catch images and ads that are embedded in the SSL
+   stream though.
+     _________________________________________________________________
+   
+1.4.15. Junkbuster runs as a "server". How secure is it? Do I need to take
+any special precautions?
+
+   There are no known exploits that might effect Junkbuster. On Unix-like
+   systems, Junkbuster can run as a non-privileged user, which is how we
+   recommend it be run. Also, by default Junkbuster only listens to
+   requests from "localhost". It is not itself directly exposed to the
+   Internet in this configuration. If you want to have Junkbuster serve
+   as a LAN proxy, this will have to be opened up to allow for LAN
+   requests. In this case, we'd recommend you specify only the LAN
+   gateway address, e.g. 192.168.1.1 in the main Junkbuster config file.
+   All LAN hosts can then use this as their proxy address in the browser
+   proxy configuration. In this way, Junkbuster will not listen on any
+   external ports. Of course, a firewall is always good too. Better safe
+   than sorry.
+     _________________________________________________________________
+   
 1.4.16. What is a "re_filterfile"?
 
-The "re_filterfile" is used to "filter" any page content. By "filtering" we
-mean it can modify, remove, or change anything on the page, including HTML
-tags, and JavaScript. Regular expressions are used to accomplish this. This is
-potentially a very powerful feature, but requires some expertise.
-
-If you are familiar with regular expressions, and HTML, you can look at the
-provided re_filterfile with a text editor and see some of things it can be used
-for.
-
-Presently, there is no GUI editor option for this part of the configuration.
-
--------------------------------------------------------------------------------
-
+   The "re_filterfile" is used to "filter" any page content. By
+   "filtering" we mean it can modify, remove, or change anything on the
+   page, including HTML tags, and JavaScript. Regular expressions are
+   used to accomplish this. This is potentially a very powerful feature,
+   but requires some expertise.
+   
+   If you are familiar with regular expressions, and HTML, you can look
+   at the provided re_filterfile with a text editor and see some of
+   things it can be used for.
+   
+   Presently, there is no GUI editor option for this part of the
+   configuration.
+     _________________________________________________________________
+   
 1.5. Troubleshooting
 
-1.5.1. I just upgraded and am getting "connection refused" with every web page?
+1.5.1. I just upgraded and am getting "connection refused" with every web
+page?
 
-Either Junkbuster is not running, or your browser is configured for a different
-port than what Junkbuster is using.
-
-The old Junkbuster used port 8000 by default. This has been changed to port
-8118 now, due to a conflict with NAS (Network Audio Service), which uses port
-8000. If you haven't, you need to change your browser to the new port number,
-or alternately change Junkbuster's "listen-address" setting in the config file
-used to start Junkbuster.
-
--------------------------------------------------------------------------------
-
-1.5.2. I just added a new rule, but the steenkin ad is still getting through.
-How?
-
-If the ad had been displayed before you added its URL, it will probably be held
-in the browser's cache for some time, so it will be displayed without the need
-for any request to the server, and Junkbuster will not be in the picture. The
-best thing to do is try flusing the browser's caches. And then try again.
-
-If this doesn't help, you probably have an error in the rule you applied. Try
-pasting the full URL of the offending ad into http://ijbswa.sourceforge.net/
-config/show-url-info and see if any actions match your new rule.
-
--------------------------------------------------------------------------------
-
-1.5.3. One of my favorite sites does not work with Junkbuster. What can I do?
-
-First verify that it is indeed a Junkbuster problem, by disabling Junkbuster
-filtering and blocking. Go to http://i.j.b/ and click on "Toggle Junkbuster On
-or Off", then disable it. Now try that page again.
-
-If still a problem, go to "Show which actions apply to a URL and why" from 
-http://i.j.b/ and paste the full URL of the page in question into the prompt.
-See which actions are being applied to the URL. Now, armed with this
-information, go to "Edit the actions list". Here you should see various
-sections that have various "Junkbuster" features disabled for specific sites.
-Disabled "actions" will have a "-" (minus sign) in front of them. Add your
-problem page URL to one of these sections that looks like it is disabling the
-feature that is causing the problem. Re-try the page. There might be some trial
-and error involved. This is discussed in a little more detail in the 
-user-manual appendix. 
-
-Alternately, if you are comfortable with a text editor, you can accomplish the
-same thing by editing the appropriate "actions" file.
-
--------------------------------------------------------------------------------
+   Either Junkbuster is not running, or your browser is configured for a
+   different port than what Junkbuster is using.
+   
+   The old Junkbuster used port 8000 by default. This has been changed to
+   port 8118 now, due to a conflict with NAS (Network Audio Service),
+   which uses port 8000. If you haven't, you need to change your browser
+   to the new port number, or alternately change Junkbuster's
+   "listen-address" setting in the config file used to start Junkbuster.
+     _________________________________________________________________
+   
+1.5.2. I just added a new rule, but the steenkin ad is still getting
+through. How?
+
+   If the ad had been displayed before you added its URL, it will
+   probably be held in the browser's cache for some time, so it will be
+   displayed without the need for any request to the server, and
+   Junkbuster will not be in the picture. The best thing to do is try
+   flusing the browser's caches. And then try again.
+   
+   If this doesn't help, you probably have an error in the rule you
+   applied. Try pasting the full URL of the offending ad into
+   [65]http://ijbswa.sourceforge.net/config/show-url-info and see if any
+   actions match your new rule.
+     _________________________________________________________________
+   
+1.5.3. One of my favorite sites does not work with Junkbuster. What can I
+do?
 
+   First verify that it is indeed a Junkbuster problem, by disabling
+   Junkbuster filtering and blocking. Go to [66]http://i.j.b/ and click
+   on "Toggle Junkbuster On or Off", then disable it. Now try that page
+   again.
+   
+   If still a problem, go to "Show which actions apply to a URL and why"
+   from [67]http://i.j.b/ and paste the full URL of the page in question
+   into the prompt. See which actions are being applied to the URL. Now,
+   armed with this information, go to "Edit the actions list". Here you
+   should see various sections that have various "Junkbuster" features
+   disabled for specific sites. Disabled "actions" will have a "-" (minus
+   sign) in front of them. Add your problem page URL to one of these
+   sections that looks like it is disabling the feature that is causing
+   the problem. Re-try the page. There might be some trial and error
+   involved. This is discussed in a little more detail in the
+   [68]user-manual appendix.
+   
+   Alternately, if you are comfortable with a text editor, you can
+   accomplish the same thing by editing the appropriate "actions" file.
+     _________________________________________________________________
+   
 1.5.4. What time is it?
 
-Time for you to go!
-
--------------------------------------------------------------------------------
-
+   Time for you to go!
+     _________________________________________________________________
+   
 2. Contact the developers
 
-Please see the user manual for information on how to contact the developers.
-
--------------------------------------------------------------------------------
-
+   Please see the user manual for information on how to contact the
+   developers.
+     _________________________________________________________________
+   
 3. Copyright and History
 
-Please see the user manual for information on Copyright and History.
-
--------------------------------------------------------------------------------
-
+   Please see the user manual for information on Copyright and History.
+     _________________________________________________________________
+   
 4. See also
 
-Please see the user manual for information on references.
-
+   Please see the user manual for information on references.
+
+References
+
+   1. http://ijbswa.sourceforge.net/faq/
+   2. http://ijbswa.sourceforge.net/user-manual/contact.html
+   3. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#QUESTIONS
+   4. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#GENERAL
+   5. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#NEWJB
+   6. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#DIFFERS
+   7. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#FEATURES
+   8. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#PROXYMORON
+   9. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#BROWSERS2
+  10. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#LICENSE
+  11. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#INSTALLATION
+  12. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#NEWINSTALL
+  13. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN111
+  14. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#LOCALHOST
+  15. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN133
+  16. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#CONFIGURATION
+  17. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#NEWCONFIG
+  18. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN148
+  19. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#ACTIONSS
+  20. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN166
+  21. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#CONFIGFILES
+  22. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#BROWSECONFIG
+  23. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN278
+  24. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN289
+  25. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN300
+  26. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN305
+  27. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#MISC
+  28. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN318
+  29. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#LOADINGTIMES
+  30. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#CONFIGURL
+  31. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#JOINTEAM
+  32. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#BLOCKLIST
+  33. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#NEWADS
+  34. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#IP
+  35. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN353
+  36. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN363
+  37. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN373
+  38. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN380
+  39. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN384
+  40. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN391
+  41. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN394
+  42. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN400
+  43. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN411
+  44. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN422
+  45. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN424
+  46. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN436
+  47. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN442
+  48. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN459
+  49. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#CONTACT
+  50. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#COPYRIGHT
+  51. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#SEEALSO
+  52. http://www.junkbusters.com/
+  53. http://ijbswa.sourceforge.net/
+  54. http://i.j.b/
+  55. http://www.gnu.org/copyleft/gpl.html
+  56. http://ijbswa.sourceforge.net/user-manual/
+  57. http://i.j.b/
+  58. http://ijbswa.sourceforge.net/user-manual/configuration.html#ACTIONSFILE
+  59. http://i.j.b/
+  60. http://ijbswa.sourceforge.net/config/edit-actions
+  61. http://ijbswa.sourceforge.net/user-manual/configuration.html#ACTIONSFILE
+  62. http://i.j.b/
+  63. http://www.multiproxy.org/anon_list.htm
+  64. http://www.squid-cache.org/
+  65. http://ijbswa.sourceforge.net/config/show-url-info
+  66. http://i.j.b/
+  67. http://i.j.b/
+  68. http://ijbswa.sourceforge.net/user-manual/appenix.html#ACTIONSANAT
index 695a3e1..4aa02f5 100644 (file)
-Junkbuster User Manual
-
-By: Junkbuster Developers
-
-$Id: user-manual.sgml,v 1.48 2002/03/12 06:33:01 hal9 Exp $
-
-The user manual gives users information on how to install, configure and use
-Internet Junkbuster. Internet Junkbuster is a web proxy with advanced filtering
-capabilities for protecting privacy, filtering web page content, managing
-cookies, controlling access, and removing ads, banners, pop-ups and other
-obnoxious Internet Junk. Junkbuster has a very flexible configuration and can
-be customized to suit individual needs and tastes. Internet Junkbuster has
-application for both stand-alone systems and multi-user networks.
 
-You can find the latest version of the user manual at http://
-ijbswa.sourceforge.net/user-manual/.
-
--------------------------------------------------------------------------------
+Junkbuster User Manual
 
-Table of Contents
+   By: Junkbuster Developers
+   
+   $Id: user-manual.sgml,v 1.49 2002/03/21 17:01:05 hal9 Exp $
+   
+   The user manual gives users information on how to install, configure
+   and use Internet Junkbuster. Internet Junkbuster is a web proxy with
+   advanced filtering capabilities for protecting privacy, filtering web
+   page content, managing cookies, controlling access, and removing ads,
+   banners, pop-ups and other obnoxious Internet Junk. Junkbuster has a
+   very flexible configuration and can be customized to suit individual
+   needs and tastes. Internet Junkbuster has application for both
+   stand-alone systems and multi-user networks.
+   
+   You can find the latest version of the user manual at
+   [1]http://ijbswa.sourceforge.net/user-manual/.
+     _________________________________________________________________
+   
+   Table of Contents
+   1. [2]Introduction
+          
+        1.1. [3]New Features
+                
+   2. [4]Installation
+          
+        2.1. [5]Source
+        2.2. [6]Red Hat
+        2.3. [7]SuSE
+        2.4. [8]OS/2
+        2.5. [9]Windows
+        2.6. [10]Other
+                
+   3. [11]JunkBuster Configuration
+          
+        3.1. [12]Controlling Junkbuster with Your Web Browser
+        3.2. [13]Configuration Files Overview
+        3.3. [14]The Main Configuration File
+                
+              3.3.1. [15]Defining Other Configuration Files
+              3.3.2. [16]Other Configuration Options
+              3.3.3. [17]Access Control List (ACL)
+              3.3.4. [18]Forwarding
+              3.3.5. [19]Windows GUI Options
+                      
+        3.4. [20]The Actions File
+                
+              3.4.1. [21]URL Domain and Path Syntax
+              3.4.2. [22]Actions
+              3.4.3. [23]Aliases
+                      
+        3.5. [24]The Filter File
+        3.6. [25]Templates
+                
+   4. [26]Quickstart to Using Junkbuster
+          
+        4.1. [27]Command Line Options
+                
+   5. [28]Contacting the Developers, Bug Reporting and Feature Requests
+   6. [29]Copyright and History
+          
+        6.1. [30]License
+        6.2. [31]History
+                
+   7. [32]See also
+   8. [33]Appendix
+          
+        8.1. [34]Regular Expressions
+                
+              21
+              22
+              23
+              24
+              25
+              26
+              27
+              28
+              29
+                      
+        8.2. [35]JunkBuster's Internal Pages
+        8.3. [36]Anatomy of an Action
+                
 1. Introduction
+
+   Internet Junkbuster is a web proxy with advanced filtering
+   capabilities for protecting privacy, filtering and modifying web page
+   content, managing cookies, controlling access, and removing ads,
+   banners, pop-ups and other obnoxious Internet Junk. Junkbuster has a
+   very flexible configuration and can be customized to suit individual
+   needs and tastes. Internet Junkbuster has application for both
+   stand-alone systems and multi-user networks.
+   
+   This documentation is included with the current BETA version of
+   Internet Junkbuster and is mostly complete at this point. The most up
+   to date reference for the time being is still the comments in the
+   source files and in the individual configuration files. Development of
+   version 3.0 is currently nearing completion, and includes many
+   significant changes and enhancements over earlier versions. The target
+   release date for stable v3.0 is "soon" ;-)
+   
+   Since this is a BETA version, not all new features are well tested.
+   This documentation may be slightly out of sync as a result (especially
+   with CVS sources). And there may be bugs, though hopefully not many!
+     _________________________________________________________________
    
-    1.1. New Features
+1.1. New Features
+
+   In addition to Junkbuster's traditional features of ad and banner
+   blocking and cookie management, this is a list of new features
+   currently under development:
+   
+     * Integrated browser based configuration and control utility
+       ([37]http://i.j.b). Browser-based tracing of rule and filter
+       effects.
+     * Blocking of annoying pop-up browser windows.
+     * HTTP/1.1 compliant (most, but not all 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, pop-ups, status bar abuse, 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).
+     * Builds from source on most UNIX-like systems. Packages available
+       for: Linux (RedHat, SuSE, or Debian), Windows, Sun Solaris, Mac
+       OSX, OS/2, HP-UX 11 and AmigaOS.
+     * In addition, the configuration is much more powerful and versatile
+       over-all.
+     _________________________________________________________________
    
 2. Installation
+
+   Junkbuster is available as raw source code, or pre-compiled binaries.
+   See the [38]Junkbuster Home Page for binaries and current release
+   info. Junkbuster is also available via [39]CVS. This is the
+   recommended approach at this time. But please be aware that CVS is
+   constantly changing, and it may break in mysterious ways.
+     _________________________________________________________________
    
-    2.1. Source
-    2.2. Red Hat
-    2.3. SuSE
-    2.4. OS/2
-    2.5. Windows
-    2.6. Other
-   
-3. JunkBuster Configuration
-   
-    3.1. Controlling Junkbuster with Your Web Browser
-    3.2. Configuration Files Overview
-    3.3. The Main Configuration File
-       
-        3.3.1. Defining Other Configuration Files
-        3.3.2. Other Configuration Options
-        3.3.3. Access Control List (ACL)
-        3.3.4. Forwarding
-        3.3.5. Windows GUI Options
-       
-    3.4. The Actions File
-       
-        3.4.1. URL Domain and Path Syntax
-        3.4.2. Actions
-        3.4.3. Aliases
-       
-    3.5. The Filter File
-    3.6. Templates
-   
-4. Quickstart to Using Junkbuster
-   
-    4.1. Command Line Options
-   
-5. Contacting the Developers, Bug Reporting and Feature Requests
-6. Copyright and History
+2.1. Source
+
+   For gzipped tar archives, unpack the source:
    
-    6.1. License
-    6.2. History
+ tar xzvf ijb_source_* [.tgz or .tar.gz]
+ cd ijb_source_2.9.11_beta
+
+   For retrieving the current CVS sources, you'll need the CVS package
+   installed first. To download CVS source:
    
-7. See also
-8. Appendix
+  cvs -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa login
+  cvs -z3 -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa co cu
+rrent
+  cd current
+
+   This will create a directory named current/, which will contain the
+   source tree.
    
-    8.1. Regular Expressions
-    8.2. JunkBuster's Internal Pages
-    8.3. Anatomy of an Action
+   Then, in either case, to build from tarball/CVS source:
    
-1. Introduction
-
-Internet Junkbuster is a web proxy with advanced filtering capabilities for
-protecting privacy, filtering and modifying web page content, managing cookies,
-controlling access, and removing ads, banners, pop-ups and other obnoxious
-Internet Junk. Junkbuster has a very flexible configuration and can be
-customized to suit individual needs and tastes. Internet Junkbuster has
-application for both stand-alone systems and multi-user networks.
-
-This documentation is included with the current BETA version of Internet
-Junkbuster and is mostly complete at this point. The most up to date reference
-for the time being is still the comments in the source files and in the
-individual configuration files. Development of version 3.0 is currently nearing
-completion, and includes many significant changes and enhancements over earlier
-versions. The target release date for stable v3.0 is "soon" ;-)
+ ./configure      (--help to see options)
+ make             (the make from gnu, gmake for *BSD)
+ su
+ make -n install  (to see where all the files will go)
+ make install     (to really install)
 
-Since this is a BETA version, not all new features are well tested. This
-documentation may be slightly out of sync as a result (especially with CVS
-sources). And there may be bugs, though hopefully not many!
-
--------------------------------------------------------------------------------
-
-1.1. New Features
-
-In addition to Junkbuster's traditional features of ad and banner blocking and
-cookie management, this is a list of new features currently under development:
-
-  * Integrated browser based configuration and control utility (http://i.j.b).
-    Browser-based tracing of rule and filter effects.
-   
-  * Blocking of annoying pop-up browser windows.
+   For Redhat and SuSE Linux RPM packages, see below.
+     _________________________________________________________________
    
-  * HTTP/1.1 compliant (most, but not all 1.1 features are supported).
+2.2. Red Hat
+
+   To build Redhat RPM packages, install source as above. Then:
    
-  * Support for Perl Compatible Regular Expressions in the configuration files,
-    and generally a more sophisticated and flexible configuration syntax over
-    previous versions.
+ autoheader   [suggested for CVS source]
+ autoconf     [suggested for CVS source]
+ ./configure
+ make redhat-dist
+
+   This will create both binary and src RPMs in the usual places.
+   Example:
    
-  * GIF de-animation.
+      /usr/src/redhat/RPMS/i686/junkbuster-2.9.11-1.i686.rpm
    
-  * Web page content filtering (removes banners based on size, invisible
-    "web-bugs", JavaScript, pop-ups, status bar abuse, etc.)
+      /usr/src/redhat/SRPMS/junkbuster-2.9.11-1.src.rpm
    
-  * Bypass many click-tracking scripts (avoids script redirection).
+   To install, of course:
    
-  * Multi-threaded (POSIX and native threads).
+ rpm -Uvv /usr/src/redhat/RPMS/i686/junkbuster-2.9.11-1.i686.rpm
+
+   This will place the Junkbuster configuration files in
+   /etc/junkbuster/, and log files in /var/log/junkbuster/.
+     _________________________________________________________________
    
-  * Auto-detection and re-reading of config file changes.
+2.3. SuSE
+
+   To build SuSE RPM packages, install source as above. Then:
    
-  * User-customizable HTML templates (e.g. 404 error page).
+ autoheader   [suggested for CVS source]
+ autoconf     [suggested for CVS source]
+ ./configure
+ make suse-dist
+
+   This will create both binary and src RPMs in the usual places.
+   Example:
    
-  * Improved cookie management features (e.g. session based cookies).
+      /usr/src/packages/RPMS/i686/junkbuster-2.9.11-1.i686.rpm
    
-  * Builds from source on most UNIX-like systems. Packages available for: Linux
-    (RedHat, SuSE, or Debian), Windows, Sun Solaris, Mac OSX, OS/2, HP-UX 11
-    and AmigaOS.
+      /usr/src/packages/SRPMS/junkbuster-2.9.11-1.src.rpm
    
-  * In addition, the configuration is much more powerful and versatile
-    over-all.
+   To install, of course:
    
--------------------------------------------------------------------------------
-
-2. Installation
-
-Junkbuster is available as raw source code, or pre-compiled binaries. See the 
-Junkbuster Home Page for binaries and current release info. Junkbuster is also
-available via CVS. This is the recommended approach at this time. But please be
-aware that CVS is constantly changing, and it may break in mysterious ways.
-
--------------------------------------------------------------------------------
-
-2.1. Source
-
-For gzipped tar archives, unpack the source:
-
- tar xzvf ijb_source_* [.tgz or .tar.gz]                                       
- cd ijb_source_2.9.11_beta                                                     
-                                                                               
-
-For retrieving the current CVS sources, you'll need the CVS package installed
-first. To download CVS source:
-
-  cvs -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa login          
-  cvs -z3 -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa co current 
-  cd current                                                                         
-                                                                                     
-
-This will create a directory named current/, which will contain the source
-tree.
-
-Then, in either case, to build from tarball/CVS source:
-
- ./configure      (--help to see options)                                      
- make             (the make from gnu, gmake for *BSD)                          
- su                                                                            
- make -n install  (to see where all the files will go)                         
- make install     (to really install)                                          
-                                                                               
-
-For Redhat and SuSE Linux RPM packages, see below.
-
--------------------------------------------------------------------------------
-
-2.2. Red Hat
-
-To build Redhat RPM packages, install source as above. Then:
-
- autoheader   [suggested for CVS source]                                       
- autoconf     [suggested for CVS source]                                       
- ./configure                                                                   
- make redhat-dist                                                              
-                                                                               
-
-This will create both binary and src RPMs in the usual places. Example:
-
-   /usr/src/redhat/RPMS/i686/junkbuster-2.9.11-1.i686.rpm
-
-   /usr/src/redhat/SRPMS/junkbuster-2.9.11-1.src.rpm
-
-To install, of course:
-
- rpm -Uvv /usr/src/redhat/RPMS/i686/junkbuster-2.9.11-1.i686.rpm               
-                                                                               
-
-This will place the Junkbuster configuration files in /etc/junkbuster/, and log
-files in /var/log/junkbuster/.
-
--------------------------------------------------------------------------------
-
-2.3. SuSE
-
-To build SuSE RPM packages, install source as above. Then:
-
- autoheader   [suggested for CVS source]                                       
- autoconf     [suggested for CVS source]                                       
- ./configure                                                                   
- make suse-dist                                                                
-                                                                               
-
-This will create both binary and src RPMs in the usual places. Example:
-
-   /usr/src/packages/RPMS/i686/junkbuster-2.9.11-1.i686.rpm
-
-   /usr/src/packages/SRPMS/junkbuster-2.9.11-1.src.rpm
-
-To install, of course:
-
- rpm -Uvv /usr/src/packages/RPMS/i686/junkbuster-2.9.11-1.i686.rpm             
-                                                                               
-
-This will place the Junkbuster configuration files in /etc/junkbuster/, and log
-files in /var/log/junkbuster/.
-
--------------------------------------------------------------------------------
+ rpm -Uvv /usr/src/packages/RPMS/i686/junkbuster-2.9.11-1.i686.rpm
 
+   This will place the Junkbuster configuration files in
+   /etc/junkbuster/, and log files in /var/log/junkbuster/.
+     _________________________________________________________________
+   
 2.4. OS/2
 
-Junkbuster is packaged in a WarpIN self- installing archive. The
-self-installing program will be named depending on the release version,
-something like: ijbos2_setup_1.2.3.exe. In order to install it, simply run this
-executable or double-click on its icon and follow the WarpIN installation
-panels. A shadow of the Junkbuster executable will be placed in your startup
-folder so it will start automatically whenever OS/2 starts.
-
-The directory you choose to install Junkbuster into will contain all of the
-configuration files.
-
-If you would like to build binary images on OS/2 yourself, you will need a few
-Unix-like tools: autoconf, autoheader and sh. These tools will be used to
-create the required config.h file, which is not part of the source distribution
-because it differs based on platform. You will also need a compiler. The
-distribution has been created using IBM VisualAge compilers, but you can use
-any compiler you like. GCC/EMX has the disadvantage of needing to be
-single-threaded due to a limitation of EMX's implementation of the select()
-socket call.
-
-In addition to needing the source code distribution as outlined earlier, you
-will want to extract the os2seutp directory from CVS:
-
- cvs -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa login           
- cvs -z3 -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa co os2setup 
-                                                                                     
-
-This will create a directory named os2setup/, which will contain the
-Makefile.vac makefile and os2build.cmd which is used to completely create the
-binary distribution. The sequence of events for building the executable for
-yourself goes something like this:
-
- cd current                                                                    
- autoheader                                                                    
- autoconf                                                                      
- sh configure                                                                  
- cd ..\os2setup                                                                
- nmake -f Makefile.vac                                                         
-                                                                               
-
-You will see this sequence laid out in os2build.cmd.
-
--------------------------------------------------------------------------------
-
+   Junkbuster is packaged in a WarpIN self- installing archive. The
+   self-installing program will be named depending on the release
+   version, something like: ijbos2_setup_1.2.3.exe. In order to install
+   it, simply run this executable or double-click on its icon and follow
+   the WarpIN installation panels. A shadow of the Junkbuster executable
+   will be placed in your startup folder so it will start automatically
+   whenever OS/2 starts.
+   
+   The directory you choose to install Junkbuster into will contain all
+   of the configuration files.
+   
+   If you would like to build binary images on OS/2 yourself, you will
+   need a few Unix-like tools: autoconf, autoheader and sh. These tools
+   will be used to create the required config.h file, which is not part
+   of the source distribution because it differs based on platform. You
+   will also need a compiler. The distribution has been created using IBM
+   VisualAge compilers, but you can use any compiler you like. GCC/EMX
+   has the disadvantage of needing to be single-threaded due to a
+   limitation of EMX's implementation of the select() socket call.
+   
+   In addition to needing the source code distribution as outlined
+   earlier, you will want to extract the os2seutp directory from CVS:
+ cvs -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa login
+
+ cvs -z3 -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa co os2
+setup
+
+   This will create a directory named os2setup/, which will contain the
+   Makefile.vac makefile and os2build.cmd which is used to completely
+   create the binary distribution. The sequence of events for building
+   the executable for yourself goes something like this:
+ cd current
+ autoheader
+ autoconf
+ sh configure
+ cd ..\os2setup
+ nmake -f Makefile.vac
+
+   You will see this sequence laid out in os2build.cmd.
+     _________________________________________________________________
+   
 2.5. Windows
 
-Click-click. (I need help on this. Not a clue here. Also for configuration
-section below. HB.)
-
--------------------------------------------------------------------------------
-
+   Click-click. (I need help on this. Not a clue here. Also for
+   configuration section below. HB.)
+     _________________________________________________________________
+   
 2.6. Other
 
-Some quick notes on other Operating Systems.
-
-For FreeBSD (and other *BSDs?), the build will require gmake instead of the
-included make. gmake is available from http://www.gnu.org. The rest should be
-the same as above for Linux/Unix.
-
--------------------------------------------------------------------------------
-
+   Some quick notes on other Operating Systems.
+   
+   For FreeBSD (and other *BSDs?), the build will require gmake instead
+   of the included make. gmake is available from [40]http://www.gnu.org.
+   The rest should be the same as above for Linux/Unix.
+     _________________________________________________________________
+   
 3. JunkBuster Configuration
 
-All JunkBuster configuration is kept in text files. These files can be edited
-with a text editor. Many important aspects of JunkBuster can also be controlled
-easily with a web browser.
-
--------------------------------------------------------------------------------
-
+   All JunkBuster configuration is kept in text files. These files can be
+   edited with a text editor. Many important aspects of JunkBuster can
+   also be controlled easily with a web browser.
+     _________________________________________________________________
+   
 3.1. Controlling Junkbuster with Your Web Browser
 
-JunkBuster can be reached by the special URL http://i.j.b/ (or alternately 
-http://ijbswa.sourceforge.net/config/), which is an internal page. You will see
-the following section: 
-
-Please choose from the following options:                                      
-                                                                               
-    * Show information about the current configuration                         
-    * Show the source code version numbers                                     
-    * Show the client's request headers.                                       
-    * Show which actions apply to a URL and why                                
-    * Toggle JunkBuster on or off                                              
-    * Edit the actions list                                                    
-                                                                               
-                                                                               
-
-This should be self-explanatory. Note the last item is an editor for the
-"actions list", which is where much of the ad, banner, cookie, and URL blocking
-magic is configured as well as other advanced features of Junkbuster. This is
-an easy way to adjust various aspects of Junkbuster configuration. The actions
-file, and other configuration files, are explained in detail below. Junkbuster
-will automatically detect any changes to these files.
-
-"Toggle JunkBuster On or Off" is handy for sites that might have problems with
-your current actions and filters, or just to test if a site misbehaves, whether
-it is JunkBuster causing the problem or not. Junkbuster continues to run as a
-proxy in this case, but all filtering is disabled. 
-
--------------------------------------------------------------------------------
-
-3.2. Configuration Files Overview
+   JunkBuster can be reached by the special URL [41]http://i.j.b/ (or
+   alternately [42]http://ijbswa.sourceforge.net/config/), which is an
+   internal page. You will see the following section:
+   
+Please choose from the following options:
 
-For Unix, *BSD and Linux, all configuration files are located in /etc/
-junkbuster/ by default. For MS Windows, OS/2, and AmigaOS these are all in the
-same directory as the Junkbuster executable. The name and number of
-configuration files has changed from previous versions, and is subject to
-change as development progresses.
+    * Show information about the current configuration
+    * Show the source code version numbers
+    * Show the client's request headers.
+    * Show which actions apply to a URL and why
+    * Toggle JunkBuster on or off
+    * Edit the actions list
 
-The installed defaults provide a reasonable starting point, though possibly
-aggressive by some standards. For the time being, there are only three default
-configuration files (this will change in time):
 
-  * The main configuration file is named config on Linux, Unix, BSD, OS/2, and
-    AmigaOS and config.txt on Windows.
+   This should be self-explanatory. Note the last item is an editor for
+   the "actions list", which is where much of the ad, banner, cookie, and
+   URL blocking magic is configured as well as other advanced features of
+   Junkbuster. This is an easy way to adjust various aspects of
+   Junkbuster configuration. The actions file, and other configuration
+   files, are explained in detail below. Junkbuster will automatically
+   detect any changes to these files.
    
-  * The ijb.action file is used to define various "actions" relating to images,
-    banners, pop-ups, access restrictions, banners and cookies. There is a CGI
-    based editor for this file that can be accessed via http://i.j.b. (Other
-    actions files are included as well with differing levels of filtering and
-    blocking, e.g. ijb-basic.action.)
+   "Toggle JunkBuster On or Off" is handy for sites that might have
+   problems with your current actions and filters, or just to test if a
+   site misbehaves, whether it is JunkBuster causing the problem or not.
+   Junkbuster continues to run as a proxy in this case, but all filtering
+   is disabled.
+     _________________________________________________________________
    
-  * The re_filterfile file can be used to re-write the raw page content,
-    including viewable text as well as embedded HTML and JavaScript, and
-    whatever else lurks on any given web page.
-   
-ijb.action and re_filterfile can use Perl style regular expressions for maximum
-flexibility. All files use the "#" character to denote a comment. Such lines
-are not processed by Junkbuster. After making any changes, there is no need to
-restart Junkbuster in order for the changes to take effect. Junkbuster should
-detect such changes automatically.
-
-While under development, the configuration content is subject to change. The
-below documentation may not be accurate by the time you read this. Also, what
-constitutes a "default" setting, may change, so please check all your
-configuration files on important issues.
-
--------------------------------------------------------------------------------
+3.2. Configuration Files Overview
 
+   For Unix, *BSD and Linux, all configuration files are located in
+   /etc/junkbuster/ by default. For MS Windows, OS/2, and AmigaOS these
+   are all in the same directory as the Junkbuster executable. The name
+   and number of configuration files has changed from previous versions,
+   and is subject to change as development progresses.
+   
+   The installed defaults provide a reasonable starting point, though
+   possibly aggressive by some standards. For the time being, there are
+   only three default configuration files (this will change in time):
+   
+     * The main configuration file is named config on Linux, Unix, BSD,
+       OS/2, and AmigaOS and config.txt on Windows.
+     * The ijb.action file is used to define various "actions" relating
+       to images, banners, pop-ups, access restrictions, banners and
+       cookies. There is a CGI based editor for this file that can be
+       accessed via [43]http://i.j.b. (Other actions files are included
+       as well with differing levels of filtering and blocking, e.g.
+       ijb-basic.action.)
+     * The re_filterfile file can be used to re-write the raw page
+       content, including viewable text as well as embedded HTML and
+       JavaScript, and whatever else lurks on any given web page.
+       
+   ijb.action and re_filterfile can use Perl style regular expressions
+   for maximum flexibility. All files use the "#" character to denote a
+   comment. Such lines are not processed by Junkbuster. After making any
+   changes, there is no need to restart Junkbuster in order for the
+   changes to take effect. Junkbuster should detect such changes
+   automatically.
+   
+   While under development, the configuration content is subject to
+   change. The below documentation may not be accurate by the time you
+   read this. Also, what constitutes a "default" setting, may change, so
+   please check all your configuration files on important issues.
+     _________________________________________________________________
+   
 3.3. The Main Configuration File
 
-Again, the main configuration file is named config on Linux/Unix/BSD and OS/2,
-and config.txt on Windows. Configuration lines consist of an initial keyword
-followed by a list of values, all separated by whitespace (any number of spaces
-or tabs). For example:
-
-  blockfile blocklist.ini
+   Again, the main configuration file is named config on Linux/Unix/BSD
+   and OS/2, and config.txt on Windows. Configuration lines consist of an
+   initial keyword followed by a list of values, all separated by
+   whitespace (any number of spaces or tabs). For example:
+   
+     blockfile blocklist.ini
+   
+   Indicates that the blockfile is named "blocklist.ini". (A default
+   installation does not use this.)
+   
+   A "#" indicates a comment. Any part of a line following a "#" is
+   ignored, except if the "#" is preceded by a "\".
+   
+   Thus, by placing a "#" at the start of an existing configuration line,
+   you can make it a comment and it will be treated as if it weren't
+   there. This is called "commenting out" an option and can be useful to
+   turn off features: If you comment out the "logfile" line, junkbuster
+   will not log to a file at all. Watch for the "default:" section in
+   each explanation to see what happens if the option is left unset (or
+   commented out).
+   
+   Long lines can be continued on the next line by using a "\" as the
+   very last character.
+   
+   There are various aspects of Junkbuster behavior that can be tuned.
+     _________________________________________________________________
    
-
-Indicates that the blockfile is named "blocklist.ini". (A default installation
-does not use this.)
-
-A "#" indicates a comment. Any part of a line following a "#" is ignored,
-except if the "#" is preceded by a "\".
-
-Thus, by placing a "#" at the start of an existing configuration line, you can
-make it a comment and it will be treated as if it weren't there. This is called
-"commenting out" an option and can be useful to turn off features: If you
-comment out the "logfile" line, junkbuster will not log to a file at all. Watch
-for the "default:" section in each explanation to see what happens if the
-option is left unset (or commented out).
-
-Long lines can be continued on the next line by using a "\" as the very last
-character.
-
-There are various aspects of Junkbuster behavior that can be tuned.
-
--------------------------------------------------------------------------------
-
 3.3.1. Defining Other Configuration Files
 
-Junkbuster can use a number of other files to tell it what ads to block, what
-cookies to accept, etc. This section of the configuration file tells Junkbuster
-where to find all those other files.
-
-On Windows and AmigaOS, Junkbuster looks for these files in the same directory
-as the executable. On Unix and OS/2, Junkbuster looks for these files in the
-current working directory. In either case, an absolute path name can be used to
-avoid problems.
-
-When development goes modular and multi-user, the blocker, filter, and per-user
-config will be stored in subdirectories of "confdir". For now, only confdir/
-templates is used for storing HTML templates for CGI results.
-
-The location of the configuration files:
-
-  confdir /etc/junkbuster       # No trailing /, please.
+   Junkbuster can use a number of other files to tell it what ads to
+   block, what cookies to accept, etc. This section of the configuration
+   file tells Junkbuster where to find all those other files.
    
-
-The directory where all logging (i.e. logfile and jarfile) takes place. No
-trailing "/", please:
-
-  logdir /var/log/junkbuster
+   On Windows and AmigaOS, Junkbuster looks for these files in the same
+   directory as the executable. On Unix and OS/2, Junkbuster looks for
+   these files in the current working directory. In either case, an
+   absolute path name can be used to avoid problems.
    
-
-Note that all file specifications below are relative to the above two
-directories!
-
-The "ijb.action" file contains patterns to specify the actions to apply to
-requests for each site. Default: Cookies to and from all destinations are kept
-only during the current browser session (i.e. they are not saved to disk).
-Pop-ups are disabled for all sites. All sites are filtered through selected
-sections of "re_filterfile". No sites are blocked. The JunkBuster logo is
-displayed for filtered ads and other images. The syntax of this file is
-explained in detail below. Other "actions" files are included, and you are free
-to use any of them. They have varying degrees of aggressiveness.
-
-  actionsfile ijb.action
+   When development goes modular and multi-user, the blocker, filter, and
+   per-user config will be stored in subdirectories of "confdir". For
+   now, only confdir/templates is used for storing HTML templates for CGI
+   results.
    
-
-The "re_filterfile" file contains content modification rules that use "regular
-expressions". These rules permit powerful changes on the content of Web pages,
-e.g., you could disable your favorite JavaScript annoyances, re-write the
-actual displayed text, or just have some fun replacing "Microsoft" with
-"MicroSuck" wherever it appears on a Web page. Default: whatever the developers
-are playing with :-/
-
-Filtering requires buffering the page content, which may appear to slow down
-page rendering since nothing is displayed until all content has passed the
-filters. (It does not really take longer, but seems that way since the page is
-not incrementally displayed.) This effect will be more noticeable on slower
-connections. 
-
-  re_filterfile re_filterfile
+   The location of the configuration files:
    
-
-The logfile is where all logging and error messages are written. The logfile
-can be useful for tracking down a problem with Junkbuster (e.g., it's not
-blocking an ad you think it should block) but in most cases you probably will
-never look at it.
-
-Your logfile will grow indefinitely, and you will probably want to periodically
-remove it. On Unix systems, you can do this with a cron job (see "man cron").
-For Redhat, a logrotate script has been included.
-
-On SuSE Linux systems, you can place a line like "/var/log/junkbuster.* +1024k
-644 nobody.nogroup" in /etc/logfiles, with the effect that cron.daily will
-automatically archive, gzip, and empty the log, when it exceeds 1M size.
-
-Default: Log to the a file named logfile. Comment out to disable logging.
-
-  logfile logfile
+     confdir /etc/junkbuster       # No trailing /, please.
    
-
-The "jarfile" defines where Junkbuster stores the cookies it intercepts. Note
-that if you use a "jarfile", it may grow quite large. Default: Don't store
-intercepted cookies.
-
-  #jarfile jarfile
+   The directory where all logging (i.e. logfile and jarfile) takes
+   place. No trailing "/", please:
    
-
-If you specify a "trustfile", Junkbuster will only allow access to sites that
-are named in the trustfile. You can also mark sites as trusted referrers, with
-the effect that access to untrusted sites will be granted, if a link from a
-trusted referrer was used. The link target will then be added to the
-"trustfile". This is a very restrictive feature that typical users most
-probably want to leave disabled. Default: Disabled, don't use the trust
-mechanism.
-
-  #trustfile trust
+     logdir /var/log/junkbuster
    
-
-If you use the trust mechanism, it is a good idea to write up some on-line
-documentation about your blocking policy and to specify the URL(s) here. They
-will appear on the page that your users receive when they try to access
-untrusted content. Use multiple times for multiple URLs. Default: Don't display
-links on the "untrusted" info page.
-
-  trust-info-url http://www.your-site.com/why_we_block.html
-  trust-info-url http://www.your-site.com/what_we_allow.html
+   Note that all file specifications below are relative to the above two
+   directories!
    
-
--------------------------------------------------------------------------------
-
-3.3.2. Other Configuration Options
-
-This part of the configuration file contains options that control how
-Junkbuster operates.
-
-"Admin-address" should be set to the email address of the proxy administrator.
-It is used in many of the proxy-generated pages. Default: fill@me.in.please.
-
-  #admin-address fill@me.in.please
+   The "ijb.action" file contains patterns to specify the actions to
+   apply to requests for each site. Default: Cookies to and from all
+   destinations are kept only during the current browser session (i.e.
+   they are not saved to disk). Pop-ups are disabled for all sites. All
+   sites are filtered through selected sections of "re_filterfile". No
+   sites are blocked. The JunkBuster logo is displayed for filtered ads
+   and other images. The syntax of this file is explained in detail
+   [44]below. Other "actions" files are included, and you are free to use
+   any of them. They have varying degrees of aggressiveness.
    
-
-"Proxy-info-url" can be set to a URL that contains more info about this
-Junkbuster installation, it's configuration and policies. It is used in many of
-the proxy-generated pages and its use is highly recommended in multi-user
-installations, since your users will want to know why certain content is
-blocked or modified. Default: Don't show a link to on-line documentation.
-
-  proxy-info-url http://www.your-site.com/proxy.html
+     actionsfile ijb.action
    
-
-"Listen-address" specifies the address and port where Junkbuster will listen
-for connections from your Web browser. The default is to listen on the
-localhost port 8118, and this is suitable for most users. (In your web browser,
-under proxy configuration, list the proxy server as "localhost" and the port as
-"8118").
-
-If you already have another service running on port 8118, or if you want to
-serve requests from other machines (e.g. on your local network) as well, you
-will need to override the default. The syntax is "listen-address
-[<ip-address>]:<port>". If you leave out the IP address, junkbuster will bind
-to all interfaces (addresses) on your machine and may become reachable from the
-Internet. In that case, consider using access control lists (acl's) (see
-"aclfile" above), or a firewall.
-
-For example, suppose you are running Junkbuster on a machine which has the
-address 192.168.0.1 on your local private network (192.168.0.0) and has another
-outside connection with a different address. You want it to serve requests from
-inside only:
-
-  listen-address 192.168.0.1:8118
+   The "re_filterfile" file contains content modification rules that use
+   "regular expressions". These rules permit powerful changes on the
+   content of Web pages, e.g., you could disable your favorite JavaScript
+   annoyances, re-write the actual displayed text, or just have some fun
+   replacing "Microsoft" with "MicroSuck" wherever it appears on a Web
+   page. Default: whatever the developers are playing with :-/
    
-
-If you want it to listen on all addresses (including the outside connection):
-
-  listen-address :8118
+   Filtering requires buffering the page content, which may appear to
+   slow down page rendering since nothing is displayed until all content
+   has passed the filters. (It does not really take longer, but seems
+   that way since the page is not incrementally displayed.) This effect
+   will be more noticeable on slower connections.
    
-
-If you do this, consider using ACLs (see "aclfile" above). Note: you will need
-to point your browser(s) to the address and port that you have configured here.
-Default: localhost:8118 (127.0.0.1:8118).
-
-The debug option sets the level of debugging information to log in the logfile
-(and to the console in the Windows version). A debug level of 1 is informative
-because it will show you each request as it happens. Higher levels of debug are
-probably only of interest to developers.
-
-  debug         1 # GPC   = show each GET/POST/CONNECT request
-  debug         2 # CONN  = show each connection status
-  debug         4 # IO    = show I/O status
-  debug         8 # HDR   = show header parsing
-  debug        16 # LOG   = log all data into the logfile
-  debug        32 # FRC   = debug force feature
-  debug        64 # REF   = debug regular expression filter 
-  debug       128 #       = debug fast redirects
-  debug       256 #       = debug GIF de-animation
-  debug       512 # CLF   = Common Log Format
-  debug      1024 #       = debug kill pop-ups
-  debug      4096 # INFO  = Startup banner and warnings.
-  debug      8192 # ERROR = Non-fatal errors
-    
-
-It is highly recommended that you enable ERROR reporting (debug 8192), at least
-until v3.0 is released.
-
-The reporting of FATAL errors (i.e. ones which crash JunkBuster) is always on
-and cannot be disabled.
-
-If you want to use CLF (Common Log Format), you should set "debug 512" ONLY, do
-not enable anything else.
-
-Multiple "debug" directives, are OK - they're logical-OR'd together.
-
-  debug 15 # same as setting the first 4 listed above
+     re_filterfile re_filterfile
    
-
-Default:
-
-  debug 1 # URLs
-  debug 4096 # Info
-  debug 8192 # Errors - *we highly recommended enabling this*
+   The logfile is where all logging and error messages are written. The
+   logfile can be useful for tracking down a problem with Junkbuster
+   (e.g., it's not blocking an ad you think it should block) but in most
+   cases you probably will never look at it.
    
-
-Junkbuster normally uses "multi-threading", a software technique that permits
-it to handle many different requests simultaneously. In some cases you may wish
-to disable this -- particularly if you're trying to debug a problem. The
-"single-threaded" option forces Junkbuster to handle requests sequentially.
-Default: Multi-threaded mode.
-
-  #single-threaded
+   Your logfile will grow indefinitely, and you will probably want to
+   periodically remove it. On Unix systems, you can do this with a cron
+   job (see "man cron"). For Redhat, a logrotate script has been
+   included.
    
-
-"toggle" allows you to temporarily disable all Junkbuster's filtering. Just set
-"toggle 0".
-
-The Windows version of Junkbuster puts an icon in the system tray, which also
-allows you to change this option. If you right-click on that icon (or select
-the "Options" menu), one choice is "Enable". Clicking on enable toggles
-Junkbuster on and off. This is useful if you want to temporarily disable
-Junkbuster, e.g., to access a site that requires cookies which you would
-otherwise have blocked. This can also be toggled via a web browser at the
-Junkbuster internal address of http://i.j.b on any platform.
-
-"toggle 1" means Junkbuster runs normally, "toggle 0" means that Junkbuster
-becomes a non-anonymizing non-blocking proxy. Default: 1 (on).
-
-  toggle 1
+   On SuSE Linux systems, you can place a line like
+   "/var/log/junkbuster.* +1024k 644 nobody.nogroup" in /etc/logfiles,
+   with the effect that cron.daily will automatically archive, gzip, and
+   empty the log, when it exceeds 1M size.
    
-
-For content filtering, i.e. the "+filter" and "+deanimate-gif" actions, it is
-necessary that Junkbuster buffers the entire document body. This can be
-potentially dangerous, since a server could just keep sending data indefinitely
-and wait for your RAM to exhaust. With nasty consequences.
-
-The buffer-limit option lets you set the maximum size in Kbytes that each
-buffer may use. When the documents buffer exceeds this size, it is flushed to
-the client unfiltered and no further attempt to filter the rest of it is made.
-Remember that there may multiple threads running, which might require
-increasing the "buffer-limit" Kbytes each, unless you have enabled
-"single-threaded" above.
-
-  buffer-limit 4069
+   Default: Log to the a file named logfile. Comment out to disable
+   logging.
    
-
-To enable the web-based ijb.action file editor set enable-edit-actions to 1, or
-0 to disable. Note that you must have compiled JunkBuster with support for this
-feature, otherwise this option has no effect. This internal page can be reached
-at http://i.j.b.
-
-Security note: If this is enabled, anyone who can use the proxy can edit the
-actions file, and their changes will affect all users. For shared proxies, you
-probably want to disable this. Default: enabled.
-
-  enable-edit-actions 1
+     logfile logfile
    
-
-Allow JunkBuster to be toggled on and off remotely, using your web browser. Set
-"enable-remote-toggle"to 1 to enable, and 0 to disable. Note that you must have
-compiled JunkBuster with support for this feature, otherwise this option has no
-effect.
-
-Security note: If this is enabled, anyone who can use the proxy can toggle it
-on or off (see http://i.j.b), and their changes will affect all users. For
-shared proxies, you probably want to disable this. Default: enabled.
-
-  enable-remote-toggle 1
+   The "jarfile" defines where Junkbuster stores the cookies it
+   intercepts. Note that if you use a "jarfile", it may grow quite large.
+   Default: Don't store intercepted cookies.
    
+     #jarfile jarfile
+   
+   If you specify a "trustfile", Junkbuster will only allow access to
+   sites that are named in the trustfile. You can also mark sites as
+   trusted referrers, with the effect that access to untrusted sites will
+   be granted, if a link from a trusted referrer was used. The link
+   target will then be added to the "trustfile". This is a very
+   restrictive feature that typical users most probably want to leave
+   disabled. Default: Disabled, don't use the trust mechanism.
+   
+     #trustfile trust
+   
+   If you use the trust mechanism, it is a good idea to write up some
+   on-line documentation about your blocking policy and to specify the
+   URL(s) here. They will appear on the page that your users receive when
+   they try to access untrusted content. Use multiple times for multiple
+   URLs. Default: Don't display links on the "untrusted" info page.
+   
+     trust-info-url http://www.your-site.com/why_we_block.html
+     trust-info-url http://www.your-site.com/what_we_allow.html
+     _________________________________________________________________
+   
+3.3.2. Other Configuration Options
 
--------------------------------------------------------------------------------
-
+   This part of the configuration file contains options that control how
+   Junkbuster operates.
+   
+   "Admin-address" should be set to the email address of the proxy
+   administrator. It is used in many of the proxy-generated pages.
+   Default: fill@me.in.please.
+   
+     #admin-address fill@me.in.please
+   
+   "Proxy-info-url" can be set to a URL that contains more info about
+   this Junkbuster installation, it's configuration and policies. It is
+   used in many of the proxy-generated pages and its use is highly
+   recommended in multi-user installations, since your users will want to
+   know why certain content is blocked or modified. Default: Don't show a
+   link to on-line documentation.
+   
+     proxy-info-url http://www.your-site.com/proxy.html
+   
+   "Listen-address" specifies the address and port where Junkbuster will
+   listen for connections from your Web browser. The default is to listen
+   on the localhost port 8118, and this is suitable for most users. (In
+   your web browser, under proxy configuration, list the proxy server as
+   "localhost" and the port as "8118").
+   
+   If you already have another service running on port 8118, or if you
+   want to serve requests from other machines (e.g. on your local
+   network) as well, you will need to override the default. The syntax is
+   "listen-address [<ip-address>]:<port>". If you leave out the IP
+   address, junkbuster will bind to all interfaces (addresses) on your
+   machine and may become reachable from the Internet. In that case,
+   consider using access control lists (acl's) (see "aclfile" above), or
+   a firewall.
+   
+   For example, suppose you are running Junkbuster on a machine which has
+   the address 192.168.0.1 on your local private network (192.168.0.0)
+   and has another outside connection with a different address. You want
+   it to serve requests from inside only:
+   
+     listen-address 192.168.0.1:8118
+   
+   If you want it to listen on all addresses (including the outside
+   connection):
+   
+     listen-address :8118
+   
+   If you do this, consider using ACLs (see "aclfile" above). Note: you
+   will need to point your browser(s) to the address and port that you
+   have configured here. Default: localhost:8118 (127.0.0.1:8118).
+   
+   The debug option sets the level of debugging information to log in the
+   logfile (and to the console in the Windows version). A debug level of
+   1 is informative because it will show you each request as it happens.
+   Higher levels of debug are probably only of interest to developers.
+   
+     debug         1 # GPC   = show each GET/POST/CONNECT request
+     debug         2 # CONN  = show each connection status
+     debug         4 # IO    = show I/O status
+     debug         8 # HDR   = show header parsing
+     debug        16 # LOG   = log all data into the logfile
+     debug        32 # FRC   = debug force feature
+     debug        64 # REF   = debug regular expression filter
+     debug       128 #       = debug fast redirects
+     debug       256 #       = debug GIF de-animation
+     debug       512 # CLF   = Common Log Format
+     debug      1024 #       = debug kill pop-ups
+     debug      4096 # INFO  = Startup banner and warnings.
+     debug      8192 # ERROR = Non-fatal errors
+   
+   It is highly recommended that you enable ERROR reporting (debug 8192),
+   at least until v3.0 is released.
+   
+   The reporting of FATAL errors (i.e. ones which crash JunkBuster) is
+   always on and cannot be disabled.
+   
+   If you want to use CLF (Common Log Format), you should set "debug 512"
+   ONLY, do not enable anything else.
+   
+   Multiple "debug" directives, are OK - they're logical-OR'd together.
+   
+     debug 15 # same as setting the first 4 listed above
+   
+   Default:
+   
+     debug 1 # URLs
+     debug 4096 # Info
+     debug 8192 # Errors - *we highly recommended enabling this*
+   
+   Junkbuster normally uses "multi-threading", a software technique that
+   permits it to handle many different requests simultaneously. In some
+   cases you may wish to disable this -- particularly if you're trying to
+   debug a problem. The "single-threaded" option forces Junkbuster to
+   handle requests sequentially. Default: Multi-threaded mode.
+   
+     #single-threaded
+   
+   "toggle" allows you to temporarily disable all Junkbuster's filtering.
+   Just set "toggle 0".
+   
+   The Windows version of Junkbuster puts an icon in the system tray,
+   which also allows you to change this option. If you right-click on
+   that icon (or select the "Options" menu), one choice is "Enable".
+   Clicking on enable toggles Junkbuster on and off. This is useful if
+   you want to temporarily disable Junkbuster, e.g., to access a site
+   that requires cookies which you would otherwise have blocked. This can
+   also be toggled via a web browser at the Junkbuster internal address
+   of [45]http://i.j.b on any platform.
+   
+   "toggle 1" means Junkbuster runs normally, "toggle 0" means that
+   Junkbuster becomes a non-anonymizing non-blocking proxy. Default: 1
+   (on).
+   
+     toggle 1
+   
+   For content filtering, i.e. the "+filter" and "+deanimate-gif"
+   actions, it is necessary that Junkbuster buffers the entire document
+   body. This can be potentially dangerous, since a server could just
+   keep sending data indefinitely and wait for your RAM to exhaust. With
+   nasty consequences.
+   
+   The buffer-limit option lets you set the maximum size in Kbytes that
+   each buffer may use. When the documents buffer exceeds this size, it
+   is flushed to the client unfiltered and no further attempt to filter
+   the rest of it is made. Remember that there may multiple threads
+   running, which might require increasing the "buffer-limit" Kbytes
+   each, unless you have enabled "single-threaded" above.
+   
+     buffer-limit 4069
+   
+   To enable the web-based ijb.action file editor set enable-edit-actions
+   to 1, or 0 to disable. Note that you must have compiled JunkBuster
+   with support for this feature, otherwise this option has no effect.
+   This internal page can be reached at [46]http://i.j.b.
+   
+   Security note: If this is enabled, anyone who can use the proxy can
+   edit the actions file, and their changes will affect all users. For
+   shared proxies, you probably want to disable this. Default: enabled.
+   
+     enable-edit-actions 1
+   
+   Allow JunkBuster to be toggled on and off remotely, using your web
+   browser. Set "enable-remote-toggle"to 1 to enable, and 0 to disable.
+   Note that you must have compiled JunkBuster with support for this
+   feature, otherwise this option has no effect.
+   
+   Security note: If this is enabled, anyone who can use the proxy can
+   toggle it on or off (see [47]http://i.j.b), and their changes will
+   affect all users. For shared proxies, you probably want to disable
+   this. Default: enabled.
+   
+     enable-remote-toggle 1
+     _________________________________________________________________
+   
 3.3.3. Access Control List (ACL)
 
-Access controls are included at the request of some ISPs and systems
-administrators, and are not usually needed by individual users. Please note the
-warnings in the FAQ that this proxy is not intended to be a substitute for a
-firewall or to encourage anyone to defer addressing basic security weaknesses.
-
-If no access settings are specified, the proxy talks to anyone that connects.
-If any access settings file are specified, then the proxy talks only to IP
-addresses permitted somewhere in this file and not denied later in this file.
-
-Summary -- if using an ACL:
-
-Client must have permission to receive service.
-
-LAST match in ACL wins.
-
-Default behavior is to deny service.
-
-The syntax for an entry in the Access Control List is:
-
-  ACTION    SRC_ADDR[/SRC_MASKLEN]    [ DST_ADDR[/DST_MASKLEN] ]
+   Access controls are included at the request of some ISPs and systems
+   administrators, and are not usually needed by individual users. Please
+   note the warnings in the FAQ that this proxy is not intended to be a
+   substitute for a firewall or to encourage anyone to defer addressing
+   basic security weaknesses.
    
-
-Where the individual fields are:
-
- ACTION      = "permit-access" or "deny-access"
-
- SRC_ADDR    = client hostname or dotted IP address
- SRC_MASKLEN = number of bits in the subnet mask for the source
-
- DST_ADDR    = server or forwarder hostname or dotted IP address
- DST_MASKLEN = number of bits in the subnet mask for the target
+   If no access settings are specified, the proxy talks to anyone that
+   connects. If any access settings file are specified, then the proxy
+   talks only to IP addresses permitted somewhere in this file and not
+   denied later in this file.
    
-
-The field separator (FS) is whitespace (space or tab).
-
-IMPORTANT NOTE: If the junkbuster is using a forwarder (see below) or a gateway
-for a particular destination URL, the DST_ADDR that is examined is the address
-of the forwarder or the gateway and NOT the address of the ultimate target.
-This is necessary because it may be impossible for the local Junkbuster to
-determine the address of the ultimate target (that's often what gateways are
-used for).
-
-Here are a few examples to show how the ACL features work:
-
-"localhost" is OK -- no DST_ADDR implies that ALL destination addresses are OK:
-
-  permit-access localhost
+   Summary -- if using an ACL:
    
-
-A silly example to illustrate permitting any host on the class-C subnet with
-Junkbuster to go anywhere:
-
-  permit-access www.junkbusters.com/24
+   Client must have permission to receive service.
    
-
-Except deny one particular IP address from using it at all:
-
-  deny-access ident.junkbusters.com
+   LAST match in ACL wins.
    
-
-You can also specify an explicit network address and subnet mask. Explicit
-addresses do not have to be resolved to be used.
-
-  permit-access 207.153.200.0/24
+   Default behavior is to deny service.
    
-
-A subnet mask of 0 matches anything, so the next line permits everyone.
-
-  permit-access 0.0.0.0/0
+   The syntax for an entry in the Access Control List is:
    
-
-Note, you cannot say:
-
-  permit-access .org
+     ACTION    SRC_ADDR[/SRC_MASKLEN]    [ DST_ADDR[/DST_MASKLEN] ]
    
-
-to allow all *.org domains. Every IP address listed must resolve fully.
-
-An ISP may want to provide a Junkbuster that is accessible by "the world" and
-yet restrict use of some of their private content to hosts on its internal
-network (i.e. its own subscribers). Say, for instance the ISP owns the Class-B
-IP address block 123.124.0.0 (a 16 bit netmask). This is how they could do it:
-
- permit-access 0.0.0.0/0 0.0.0.0/0   # other clients can go anywhere 
-                                       # with the following exceptions:
- deny-access   0.0.0.0/0   123.124.0.0/16 # block all external requests for
-                                          # sites on the ISP's network
-
- permit 0.0.0.0/0 www.my_isp.com        # except for the ISP's main 
-                                          # web site
-
- permit 123.124.0.0/16 0.0.0.0/0          # the ISP's clients can go 
-                                          # anywhere
+   Where the individual fields are:
+   
+    ACTION      = "permit-access" or "deny-access"
+    SRC_ADDR    = client hostname or dotted IP address
+    SRC_MASKLEN = number of bits in the subnet mask for the source
+    DST_ADDR    = server or forwarder hostname or dotted IP address
+    DST_MASKLEN = number of bits in the subnet mask for the target
+   
+   The field separator (FS) is whitespace (space or tab).
+   
+   IMPORTANT NOTE: If the junkbuster is using a forwarder (see below) or
+   a gateway for a particular destination URL, the DST_ADDR that is
+   examined is the address of the forwarder or the gateway and NOT the
+   address of the ultimate target. This is necessary because it may be
+   impossible for the local Junkbuster to determine the address of the
+   ultimate target (that's often what gateways are used for).
+   
+   Here are a few examples to show how the ACL features work:
+   
+   "localhost" is OK -- no DST_ADDR implies that ALL destination
+   addresses are OK:
+   
+     permit-access localhost
+   
+   A silly example to illustrate permitting any host on the class-C
+   subnet with Junkbuster to go anywhere:
+   
+     permit-access www.junkbusters.com/24
+   
+   Except deny one particular IP address from using it at all:
+   
+     deny-access ident.junkbusters.com
+   
+   You can also specify an explicit network address and subnet mask.
+   Explicit addresses do not have to be resolved to be used.
+   
+     permit-access 207.153.200.0/24
+   
+   A subnet mask of 0 matches anything, so the next line permits
+   everyone.
+   
+     permit-access 0.0.0.0/0
+   
+   Note, you cannot say:
+   
+     permit-access .org
+   
+   to allow all *.org domains. Every IP address listed must resolve
+   fully.
+   
+   An ISP may want to provide a Junkbuster that is accessible by "the
+   world" and yet restrict use of some of their private content to hosts
+   on its internal network (i.e. its own subscribers). Say, for instance
+   the ISP owns the Class-B IP address block 123.124.0.0 (a 16 bit
+   netmask). This is how they could do it:
+   
+    permit-access 0.0.0.0/0 0.0.0.0/0   # other clients can go anywhere
+                                          # with the following exceptions
+   :
+   
+    deny-access   0.0.0.0/0   123.124.0.0/16 # block all external request
+   s for
+                                             # sites on the ISP's network
+    permit 0.0.0.0/0 www.my_isp.com        # except for the ISP's main
+                                             # web site
+    permit 123.124.0.0/16 0.0.0.0/0          # the ISP's clients can go
+                                             # anywhere
+   
+   Note that if some hostnames are listed with multiple IP addresses, the
+   primary value returned by DNS (via gethostbyname()) is used. Default:
+   Anyone can access the proxy.
+     _________________________________________________________________
    
-
-Note that if some hostnames are listed with multiple IP addresses, the primary
-value returned by DNS (via gethostbyname()) is used. Default: Anyone can access
-the proxy.
-
--------------------------------------------------------------------------------
-
 3.3.4. Forwarding
 
-This feature allows chaining of HTTP requests via multiple proxies. It can be
-used to better protect privacy and confidentiality when accessing specific
-domains by routing requests to those domains to a special purpose filtering
-proxy such as lpwa.com. Or to use a caching proxy to speed up browsing.
-
-It can also be used in an environment with multiple networks to route requests
-via multiple gateways allowing transparent access to multiple networks without
-having to modify browser configurations.
-
-Also specified here are SOCKS proxies. Junkbuster SOCKS 4 and SOCKS 4A. The
-difference is that SOCKS 4A will resolve the target hostname using DNS on the
-SOCKS server, not our local DNS client.
-
-The syntax of each line is:
-
- forward target_domain[:port] http_proxy_host[:port]
- forward-socks4 target_domain[:port] socks_proxy_host[:port] http_proxy_host[:
-port]
- forward-socks4a target_domain[:port] socks_proxy_host[:port] http_proxy_host[:
-port]
+   This feature allows chaining of HTTP requests via multiple proxies. It
+   can be used to better protect privacy and confidentiality when
+   accessing specific domains by routing requests to those domains to a
+   special purpose filtering proxy such as lpwa.com. Or to use a caching
+   proxy to speed up browsing.
    
-
-If http_proxy_host is ".", then requests are not forwarded to a HTTP proxy but
-are made directly to the web servers.
-
-Lines are checked in sequence, and the last match wins.
-
-There is an implicit line equivalent to the following, which specifies that
-anything not finding a match on the list is to go out without forwarding or
-gateway protocol, like so:
-
-  forward .* . # implicit
+   It can also be used in an environment with multiple networks to route
+   requests via multiple gateways allowing transparent access to multiple
+   networks without having to modify browser configurations.
    
-
-In the following common configuration, everything goes to Lucent's LPWA, except
-SSL on port 443 (which it doesn't handle):
-
- forward .* lpwa.com:8000
- forward :443 .
+   Also specified here are SOCKS proxies. Junkbuster SOCKS 4 and SOCKS
+   4A. The difference is that SOCKS 4A will resolve the target hostname
+   using DNS on the SOCKS server, not our local DNS client.
    
-
-Some users have reported difficulties related to LPWA's use of "." as the last
-element of the domain, and have said that this can be fixed with this:
-
-  forward lpwa. lpwa.com:8000
+   The syntax of each line is:
    
-
-(NOTE: the syntax for specifying target_domain has changed since the previous
-paragraph was written -- it will not work now. More information is welcome.)
-
-In this fictitious example, everything goes via an ISP's caching proxy, except
-requests to that ISP:
-
- forward .* caching.myisp.net:8000
- forward myisp.net .
+    forward target_domain[:port] http_proxy_host[:port]
+    forward-socks4 target_domain[:port] socks_proxy_host[:port]
+   http_proxy_host[:port]
+    forward-socks4a target_domain[:port] socks_proxy_host[:port]
+   http_proxy_host[:port]
    
-
-For the @home network, we're told the forwarding configuration is this:
-
-  forward .* proxy:8080
+   If http_proxy_host is ".", then requests are not forwarded to a HTTP
+   proxy but are made directly to the web servers.
    
-
-Also, we're told they insist on getting cookies and JavaScript, so you should
-allow cookies from home.com. We consider JavaScript a potential security risk.
-Java need not be enabled.
-
-In this example direct connections are made to all "internal" domains, but
-everything else goes through Lucent's LPWA by way of the company's SOCKS
-gateway to the Internet.
-
- forward-socks4 .* lpwa.com:8000 firewall.my_company.com:1080
- forward my_company.com .
+   Lines are checked in sequence, and the last match wins.
    
-
-This is how you could set up a site that always uses SOCKS but no forwarders:
-
-  forward-socks4a .* . firewall.my_company.com:1080
+   There is an implicit line equivalent to the following, which specifies
+   that anything not finding a match on the list is to go out without
+   forwarding or gateway protocol, like so:
    
-
-An advanced example for network administrators:
-
-If you have links to multiple ISPs that provide various special content to
-their subscribers, you can configure forwarding to pass requests to the
-specific host that's connected to that ISP so that everybody can see all of the
-content on all of the ISPs.
-
-This is a bit tricky, but here's an example:
-
-host-a has a PPP connection to isp-a.com. And host-b has a PPP connection to
-isp-b.com. host-a can run a Junkbuster proxy with forwarding like this:
-
- forward .* .
- forward isp-b.com host-b:8118
+     forward .* . # implicit
    
-
-host-b can run a Junkbuster proxy with forwarding like this:
-
- forward .* .
- forward isp-a.com host-a:8118
+   In the following common configuration, everything goes to Lucent's
+   LPWA, except SSL on port 443 (which it doesn't handle):
    
-
-Now, anyone on the Internet (including users on host-a and host-b) can set
-their browser's proxy to either host-a or host-b and be able to browse the
-content on isp-a or isp-b.
-
-Here's another practical example, for University of Kent at Canterbury students
-with a network connection in their room, who need to use the University's Squid
-web cache.
-
- forward *. ssbcache.ukc.ac.uk:3128  # Use the proxy, except for:
- forward .ukc.ac.uk .  # Anything on the same domain as us
- forward * .  # Host with no domain specified
- forward 129.12.*.* .  # A dotted IP on our /16 network.
- forward 127.*.*.* .  # Loopback address
- forward localhost.localdomain .  # Loopback address
- forward www.ukc.mirror.ac.uk .  # Specific host
+    forward .* lpwa.com:8000
+    forward :443 .
    
-
-If you intend to chain Junkbuster and squid locally, then chain as browser ->
-squid -> junkbuster is the recommended way.
-
-Your squid configuration could then look like this:
-
-  # Define junkbuster as parent cache 
-  
-  cache_peer 127.0.0.1 parent 8118 0 no-query
-  
-  # Define ACL for protocol FTP 
-  acl FTP proto FTP 
-
-  # Do not forward ACL FTP to junkbuster 
-  always_direct allow FTP 
-
-  # Do not forward ACL CONNECT (https) to junkbuster 
-  always_direct allow CONNECT 
-
-  # Forward the rest to junkbuster 
-  never_direct allow all 
+   Some users have reported difficulties related to LPWA's use of "." as
+   the last element of the domain, and have said that this can be fixed
+   with this:
+   
+     forward lpwa. lpwa.com:8000
+   
+   (NOTE: the syntax for specifying target_domain has changed since the
+   previous paragraph was written -- it will not work now. More
+   information is welcome.)
+   
+   In this fictitious example, everything goes via an ISP's caching
+   proxy, except requests to that ISP:
+   
+    forward .* caching.myisp.net:8000
+    forward myisp.net .
+   
+   For the @home network, we're told the forwarding configuration is
+   this:
+   
+     forward .* proxy:8080
+   
+   Also, we're told they insist on getting cookies and JavaScript, so you
+   should allow cookies from home.com. We consider JavaScript a potential
+   security risk. Java need not be enabled.
+   
+   In this example direct connections are made to all "internal" domains,
+   but everything else goes through Lucent's LPWA by way of the company's
+   SOCKS gateway to the Internet.
+   
+    forward-socks4 .* lpwa.com:8000 firewall.my_company.com:1080
+    forward my_company.com .
+   
+   This is how you could set up a site that always uses SOCKS but no
+   forwarders:
+   
+     forward-socks4a .* . firewall.my_company.com:1080
+   
+   An advanced example for network administrators:
+   
+   If you have links to multiple ISPs that provide various special
+   content to their subscribers, you can configure forwarding to pass
+   requests to the specific host that's connected to that ISP so that
+   everybody can see all of the content on all of the ISPs.
+   
+   This is a bit tricky, but here's an example:
+   
+   host-a has a PPP connection to isp-a.com. And host-b has a PPP
+   connection to isp-b.com. host-a can run a Junkbuster proxy with
+   forwarding like this:
+   
+    forward .* .
+    forward isp-b.com host-b:8118
+   
+   host-b can run a Junkbuster proxy with forwarding like this:
+   
+    forward .* .
+    forward isp-a.com host-a:8118
+   
+   Now, anyone on the Internet (including users on host-a and host-b) can
+   set their browser's proxy to either host-a or host-b and be able to
+   browse the content on isp-a or isp-b.
+   
+   Here's another practical example, for University of Kent at Canterbury
+   students with a network connection in their room, who need to use the
+   University's Squid web cache.
+   
+    forward *. ssbcache.ukc.ac.uk:3128  # Use the proxy, except for:
+    forward .ukc.ac.uk .  # Anything on the same domain as us
+    forward * .  # Host with no domain specified
+    forward 129.12.*.* .  # A dotted IP on our /16 network.
+    forward 127.*.*.* .  # Loopback address
+    forward localhost.localdomain .  # Loopback address
+    forward www.ukc.mirror.ac.uk .  # Specific host
+   
+   If you intend to chain Junkbuster and squid locally, then chain as
+   browser -> squid -> junkbuster is the recommended way.
+   
+   Your squid configuration could then look like this:
+   
+     # Define junkbuster as parent cache
+   
+     cache_peer 127.0.0.1 parent 8118 0 no-query
+   
+     # Define ACL for protocol FTP
+     acl FTP proto FTP
+     # Do not forward ACL FTP to junkbuster
+     always_direct allow FTP
+     # Do not forward ACL CONNECT (https) to junkbuster
+     always_direct allow CONNECT
+     # Forward the rest to junkbuster
+     never_direct allow all
+     _________________________________________________________________
    
-
--------------------------------------------------------------------------------
-
 3.3.5. Windows GUI Options
 
-Junkbuster has a number of options specific to the Windows GUI interface:
-
-If "activity-animation" is set to 1, the Junkbuster icon will animate when
-"Junkbuster" is active. To turn off, set to 0.
-
-  activity-animation 1
+   Junkbuster has a number of options specific to the Windows GUI
+   interface:
    
-
-If "log-messages" is set to 1, Junkbuster will log messages to the console
-window:
-
-  log-messages 1
+   If "activity-animation" is set to 1, the Junkbuster icon will animate
+   when "Junkbuster" is active. To turn off, set to 0.
    
-
-If "log-buffer-size" is set to 1, the size of the log buffer, i.e. the amount
-of memory used for the log messages displayed in the console window, will be
-limited to "log-max-lines" (see below).
-
-Warning: Setting this to 0 will result in the buffer to grow infinitely and eat
-up all your memory!
-
-  log-buffer-size 1
+     activity-animation 1
    
-
-log-max-lines is the maximum number of lines held in the log buffer. See above.
-
-  log-max-lines 200
+   If "log-messages" is set to 1, Junkbuster will log messages to the
+   console window:
    
-
-If "log-highlight-messages" is set to 1, Junkbuster will highlight portions of
-the log messages with a bold-faced font:
-
-  log-highlight-messages 1
+     log-messages 1
    
-
-The font used in the console window:
-
-  log-font-name Comic Sans MS
+   If "log-buffer-size" is set to 1, the size of the log buffer, i.e. the
+   amount of memory used for the log messages displayed in the console
+   window, will be limited to "log-max-lines" (see below).
    
-
-Font size used in the console window:
-
-  log-font-size 8
+   Warning: Setting this to 0 will result in the buffer to grow
+   infinitely and eat up all your memory!
    
-
-"show-on-task-bar" controls whether or not Junkbuster will appear as a button
-on the Task bar when minimized:
-
-  show-on-task-bar 0
+     log-buffer-size 1
    
-
-If "close-button-minimizes" is set to 1, the Windows close button will minimize
-Junkbuster instead of closing the program (close with the exit option on the
-File menu).
-
-  close-button-minimizes 1
+   log-max-lines is the maximum number of lines held in the log buffer.
+   See above.
    
-
-The "hide-console" option is specific to the MS-Win console version of
-JunkBuster. If this option is used, Junkbuster will disconnect from and hide
-the command console.
-
-  #hide-console
+     log-max-lines 200
    
-
--------------------------------------------------------------------------------
-
-3.4. The Actions File
-
-The "ijb.action" file (formerly actionsfile) is used to define what actions
-Junkbuster takes, and thus determines how images, cookies and various other
-aspects of HTTP content and transactions are handled. Images can be anything
-you want, including ads, banners, or just some obnoxious URL that you would
-rather not see. Cookies can be accepted or rejected, or accepted only during
-the current browser session (i.e. not written to disk). Changes to ijb.action
-should be immediately visible to Junkbuster without the need to restart.
-
-To determine which actions apply to a request, the URL of the request is
-compared to all patterns in this file. Every time it matches, the list of
-applicable actions for the URL is incrementally updated. You can trace this
-process by visiting http://i.j.b/show-url-info.
-
-The actions file can be edited with a browser by loading http://i.j.b/, and
-then select "Edit Actions List".
-
-There are four types of lines in this file: comments (begin with a "#"
-character), actions, aliases and patterns, all of which are explained below, as
-well as the configuration file syntax that Junkbuster understands. 
-
--------------------------------------------------------------------------------
-
-3.4.1. URL Domain and Path Syntax
-
-Generally, a pattern has the form <domain>/<path>, where both the <domain> and
-<path> part are optional. If you only specify a domain part, the "/" can be
-left out:
-
-www.example.com - is a domain only pattern and will match any request to
-"www.example.com".
-
-www.example.com/ - means exactly the same.
-
-www.example.com/index.html - matches only the single document "/index.html" on
-"www.example.com".
-
-/index.html - matches the document "/index.html", regardless of the domain.
-
-index.html - matches nothing, since it would be interpreted as a domain name
-and there is no top-level domain called ".html".
-
-The matching of the domain part offers some flexible options: if the domain
-starts or ends with a dot, it becomes unanchored at that end. For example:
-
-.example.com - matches any domain that ENDS in ".example.com".
-
-www. - matches any domain that STARTS with "www".
-
-Additionally, there are wild-cards that you can use in the domain names
-themselves. They work pretty similar to shell wild-cards: "*" stands for zero
-or more arbitrary characters, "?" stands for any single character. And you can
-define character classes in square brackets and they can be freely mixed:
-
-ad*.example.com - matches "adserver.example.com", "ads.example.com", etc but
-not "sfads.example.com".
-
-*ad*.example.com - matches all of the above, and then some.
-
-.?pix.com - matches "www.ipix.com", "pictures.epix.com", "a.b.c.d.e.upix.com",
-etc.
-
-www[1-9a-ez].example.com - matches "www1.example.com", "www4.example.com",
-"wwwd.example.com", "wwwz.example.com", etc., but not "wwww.example.com".
-
-If Junkbuster was compiled with "pcre" support (default), Perl compatible
-regular expressions can be used. See the pcre/docs/ directory or "man perlre"
-(also available on http://www.perldoc.com/perl5.6/pod/perlre.html) for details.
-A brief discussion of regular expressions is in the Appendix. For instance:
-
-/.*/advert[0-9]+\.jpe?g - would match a URL from any domain, with any path that
-includes "advert" followed immediately by one or more digits, then a "." and
-ending in either "jpeg" or "jpg". So we match "example.com/ads/advert2.jpg",
-and "www.example.com/ads/banners/advert39.jpeg", but not "www.example.com/ads/
-banners/advert39.gif" (no gifs in the example pattern).
-
-Please note that matching in the path is case INSENSITIVE by default, but you
-can switch to case sensitive at any point in the pattern by using the "(?-i)"
-switch:
-
-www.example.com/(?-i)PaTtErN.* - will match only documents whose path starts
-with "PaTtErN" in exactly this capitalization.
-
--------------------------------------------------------------------------------
-
-3.4.2. Actions
-
-Actions are enabled if preceded with a "+", and disabled if preceded with a
-"-". Actions are invoked by enclosing the action name in curly braces (e.g.
-{+some_action}), followed by a list of URLs to which the action applies. There
-are three classes of actions:
-
-  * Boolean (e.g. "+/-block"):
+   If "log-highlight-messages" is set to 1, Junkbuster will highlight
+   portions of the log messages with a bold-faced font:
    
-      {+name}        # enable this action
-      {-name}        # disable this action
-         
+     log-highlight-messages 1
    
-  * parameterized (e.g. "+/-hide-user-agent"):
+   The font used in the console window:
    
-      {+name{param}}  # enable action and set parameter to "param"
-      {-name}         # disable action
-         
+     log-font-name Comic Sans MS
    
-  * Multi-value (e.g. "{+/-add-header{Name: value}}", "{+/-wafer{name=value}}
-    "):
+   Font size used in the console window:
    
-      {+name{param}}   # enable action and add parameter "param"
-      {-name{param}}   # remove the parameter "param"
-      {-name}          # disable this action totally
-         
+     log-font-size 8
    
-If nothing is specified in this file, no "actions" are taken. So in this case
-JunkBuster would just be a normal, non-blocking, non-anonymizing proxy. You
-must specifically enable the privacy and blocking features you need (although
-the provided default ijb.action file will give a good starting point).
-
-Later defined actions always over-ride earlier ones. For multi-valued actions,
-the actions are applied in the order they are specified.
+   "show-on-task-bar" controls whether or not Junkbuster will appear as a
+   button on the Task bar when minimized:
+   
+     show-on-task-bar 0
+   
+   If "close-button-minimizes" is set to 1, the Windows close button will
+   minimize Junkbuster instead of closing the program (close with the
+   exit option on the File menu).
+   
+     close-button-minimizes 1
+   
+   The "hide-console" option is specific to the MS-Win console version of
+   JunkBuster. If this option is used, Junkbuster will disconnect from
+   and hide the command console.
+   
+     #hide-console
+     _________________________________________________________________
+   
+3.4. The Actions File
 
-The list of valid Junkbuster "actions" are:
+   The "ijb.action" file (formerly actionsfile) is used to define what
+   actions Junkbuster takes, and thus determines how images, cookies and
+   various other aspects of HTTP content and transactions are handled.
+   Images can be anything you want, including ads, banners, or just some
+   obnoxious URL that you would rather not see. Cookies can be accepted
+   or rejected, or accepted only during the current browser session (i.e.
+   not written to disk). Changes to ijb.action should be immediately
+   visible to Junkbuster without the need to restart.
+   
+   The easiest way to edit "actions" file is with a browser by loading
+   [48]http://i.j.b/, and then select "Edit Actions List". A text editor
+   can also be used.
+   
+   To determine which actions apply to a request, the URL of the request
+   is compared to all patterns in this file. Every time it matches, the
+   list of applicable actions for the URL is incrementally updated. You
+   can trace this process by visiting [49]http://i.j.b/show-url-info.
+   
+   There are four types of lines in this file: comments (begin with a "#"
+   character), actions, aliases and patterns, all of which are explained
+   below, as well as the configuration file syntax that Junkbuster
+   understands.
+     _________________________________________________________________
+   
+3.4.1. URL Domain and Path Syntax
 
-  * Add the specified HTTP header, which is not checked for validity. You may
-    specify this many times to specify many different headers:
+   Generally, a pattern has the form <domain>/<path>, where both the
+   <domain> and <path> part are optional. If you only specify a domain
+   part, the "/" can be left out:
+   
+   www.example.com - is a domain only pattern and will match any request
+   to "www.example.com".
+   
+   www.example.com/ - means exactly the same.
+   
+   www.example.com/index.html - matches only the single document
+   "/index.html" on "www.example.com".
    
-      +add-header{Name: value}
-         
+   /index.html - matches the document "/index.html", regardless of the
+   domain.
    
-  * Block this URL totally. In a default installation, a "blocked" URL will
-    result in bright red banner that says "BLOCKED", with a reason why it is
-    being blocked.
+   index.html - matches nothing, since it would be interpreted as a
+   domain name and there is no top-level domain called ".html".
    
-      +block
-         
+   The matching of the domain part offers some flexible options: if the
+   domain starts or ends with a dot, it becomes unanchored at that end.
+   For example:
    
-  * De-animate all animated GIF images, i.e. reduce them to their last frame.
-    This will also shrink the images considerably (in bytes, not pixels!). If
-    the option "first" is given, the first frame of the animation is used as
-    the replacement. If "last" is given, the last frame of the animation is
-    used instead, which probably makes more sense for most banner animations,
-    but also has the risk of not showing the entire last frame (if it is only a
-    delta to an earlier frame).
+   .example.com - matches any domain that ENDS in ".example.com".
    
-      +deanimate-gifs{last}
-      +deanimate-gifs{first}
-         
+   www. - matches any domain that STARTS with "www".
    
-  * "+downgrade" will downgrade HTTP/1.1 client requests to HTTP/1.0 and
-    downgrade the responses as well. Use this action for servers that use HTTP/
-    1.1 protocol features that Junkbuster doesn't handle well yet. HTTP/1.1 is
-    only partially implemented. Default is not to downgrade requests.
+   Additionally, there are wild-cards that you can use in the domain
+   names themselves. They work pretty similar to shell wild-cards: "*"
+   stands for zero or more arbitrary characters, "?" stands for any
+   single character. And you can define character classes in square
+   brackets and they can be freely mixed:
    
-      +downgrade
-         
+   ad*.example.com - matches "adserver.example.com", "ads.example.com",
+   etc but not "sfads.example.com".
    
-  * Many sites, like yahoo.com, don't just link to other sites. Instead, they
-    will link to some script on their own server, giving the destination as a
-    parameter, which will then redirect you to the final target. URLs resulting
-    from this scheme typically look like: http://some.place/some_script?http://
-    some.where-else.
+   *ad*.example.com - matches all of the above, and then some.
    
-    Sometimes, there are even multiple consecutive redirects encoded in the
-    URL. These redirections via scripts make your web browsing more traceable,
-    since the server from which you follow such a link can see where you go to.
-    Apart from that, valuable bandwidth and time is wasted, while your browser
-    ask the server for one redirect after the other. Plus, it feeds the
-    advertisers.
+   .?pix.com - matches "www.ipix.com", "pictures.epix.com",
+   "a.b.c.d.e.upix.com", etc.
    
-    The "+fast-redirects" option enables interception of these requests by
-    Junkbuster, who will cut off all but the last valid URL in the request and
-    send a local redirect back to your browser without contacting the remote
-    site.
+   www[1-9a-ez].example.com - matches "www1.example.com",
+   "www4.example.com", "wwwd.example.com", "wwwz.example.com", etc., but
+   not "wwww.example.com".
    
-      +fast-redirects
-         
+   If Junkbuster was compiled with "pcre" support (default), Perl
+   compatible regular expressions can be used. See the pcre/docs/
+   directory or "man perlre" (also available on
+   [50]http://www.perldoc.com/perl5.6/pod/perlre.html) for details. A
+   brief discussion of regular expressions is in the [51]Appendix. For
+   instance:
    
-  * Apply the filters in the section_header section of the re_filterfile file
-    to the site(s). Re_filterfile sections are grouped according to like
-    functionality.
+   /.*/advert[0-9]+\.jpe?g - would match a URL from any domain, with any
+   path that includes "advert" followed immediately by one or more
+   digits, then a "." and ending in either "jpeg" or "jpg". So we match
+   "example.com/ads/advert2.jpg", and
+   "www.example.com/ads/banners/advert39.jpeg", but not
+   "www.example.com/ads/banners/advert39.gif" (no gifs in the example
+   pattern).
    
-     +filter{section_header}
-         
+   Please note that matching in the path is case INSENSITIVE by default,
+   but you can switch to case sensitive at any point in the pattern by
+   using the "(?-i)" switch:
    
-    Filter sections that are pre-defined in the supplied re_filterfile include:
+   www.example.com/(?-i)PaTtErN.* - will match only documents whose path
+   starts with "PaTtErN" in exactly this capitalization.
+     _________________________________________________________________
    
-        html-annoyances: Get rid of particularly annoying HTML abuse.
+3.4.2. Actions
+
+   Actions are enabled if preceded with a "+", and disabled if preceded
+   with a "-". Actions are invoked by enclosing the action name in curly
+   braces (e.g. {+some_action}), followed by a list of URLs to which the
+   action applies. There are three classes of actions:
+   
+     * Boolean (e.g. "+/-block"):
+         {+name}        # enable this action
+         {-name}        # disable this action
        
-        js-annoyances: Get rid of particularly annoying JavaScript abuse
+     * parameterized (e.g. "+/-hide-user-agent"):
+         {+name{param}}  # enable action and set parameter to "param"
+         {-name}         # disable action
        
-        no-poups: Kill all popups in JS and HTML
+     * Multi-value (e.g. "{+/-add-header{Name: value}}",
+       "{+/-wafer{name=value}}"):
+         {+name{param}}   # enable action and add parameter "param"
+         {-name{param}}   # remove the parameter "param"
+         {-name}          # disable this action totally
        
-        frameset-borders: Give frames a border
+   If nothing is specified in this file, no "actions" are taken. So in
+   this case JunkBuster would just be a normal, non-blocking,
+   non-anonymizing proxy. You must specifically enable the privacy and
+   blocking features you need (although the provided default ijb.action
+   file will give a good starting point).
+   
+   Later defined actions always over-ride earlier ones. For multi-valued
+   actions, the actions are applied in the order they are specified.
+   
+   The list of valid Junkbuster "actions" are:
+   
+     * Add the specified HTTP header, which is not checked for validity.
+       You may specify this many times to specify many different headers:
+         +add-header{Name: value}
        
-        webbugs: Squish WebBugs (1x1 invisible GIFs used for user tracking)
+     * Block this URL totally. In a default installation, a "blocked" URL
+       will result in bright red banner that says "BLOCKED", with a
+       reason why it is being blocked.
+         +block
        
-        no-refresh: Automatic refresh sucks on auto-dialup lines
+     * De-animate all animated GIF images, i.e. reduce them to their last
+       frame. This will also shrink the images considerably (in bytes,
+       not pixels!). If the option "first" is given, the first frame of
+       the animation is used as the replacement. If "last" is given, the
+       last frame of the animation is used instead, which probably makes
+       more sense for most banner animations, but also has the risk of
+       not showing the entire last frame (if it is only a delta to an
+       earlier frame).
+         +deanimate-gifs{last}
+         +deanimate-gifs{first}
        
-        fun: Text replacements for subversive browsing fun!
+     * "+downgrade" will downgrade HTTP/1.1 client requests to HTTP/1.0
+       and downgrade the responses as well. Use this action for servers
+       that use HTTP/1.1 protocol features that Junkbuster doesn't handle
+       well yet. HTTP/1.1 is only partially implemented. Default is not
+       to downgrade requests.
+         +downgrade
        
-        nimda: Remove (virus) Nimda code.
+     * Many sites, like yahoo.com, don't just link to other sites.
+       Instead, they will link to some script on their own server, giving
+       the destination as a parameter, which will then redirect you to
+       the final target. URLs resulting from this scheme typically look
+       like: http://some.place/some_script?http://some.where-else.
+       Sometimes, there are even multiple consecutive redirects encoded
+       in the URL. These redirections via scripts make your web browsing
+       more traceable, since the server from which you follow such a link
+       can see where you go to. Apart from that, valuable bandwidth and
+       time is wasted, while your browser ask the server for one redirect
+       after the other. Plus, it feeds the advertisers.
+       The "+fast-redirects" option enables interception of these
+       requests by Junkbuster, who will cut off all but the last valid
+       URL in the request and send a local redirect back to your browser
+       without contacting the remote site.
+         +fast-redirects
        
-        banners-by-size: Kill banners by size
+     * Apply the filters in the section_header section of the
+       re_filterfile file to the site(s). Re_filterfile sections are
+       grouped according to like functionality.
+        +filter{section_header}
        
-        crude-parental: Kill all web pages that contain the words "sex" or     
-        "warez"                                                                
+       Filter sections that are pre-defined in the supplied re_filterfile
+       include:
        
-  * Block any existing X-Forwarded-for header, and do not add a new one:
-   
-      +hide-forwarded
-         
-   
-  * If the browser sends a "From:" header containing your e-mail address, this
-    either completely removes the header ("block"), or changes it to the
-    specified e-mail address.
-   
-      +hide-from{block}
-      +hide-from{spam@sittingduck.xqq}
-         
-   
-  * Don't send the "Referer:" (sic) header to the web site. You can block it,
-    forge a URL to the same server as the request (which is preferred because
-    some sites will not send images otherwise) or set it to a constant string
-    of your choice.
-   
-      +hide-referer{block}
-      +hide-referer{forge}
-      +hide-referer{http://nowhere.com}
-         
-   
-  * Alternative spelling of "+hide-referer". It has the same parameters, and
-    can be freely mixed with, "+hide-referer". ("referrer" is the correct
-    English spelling, however the HTTP specification has a bug - it requires it
-    to be spelled "referer".)
-   
-      +hide-referrer{...}
-         
-   
-  * Change the "User-Agent:" header so web servers can't tell your browser
-    type. Warning! This breaks many web sites. Specify the user-agent value you
-    want. Example, pretend to be using Netscape on Linux:
-   
-      +hide-user-agent{Mozilla (X11; I; Linux 2.0.32 i586)}
-         
-   
-  * Treat this URL as an image. This only matters if it's also "+block"ed, in
-    which case a "blocked" image can be sent rather than a HTML page. See
-    "+image-blocker{}" below for the control over what is actually sent. If you
-    want invisible ads, they should be defined as images and blocked. And also,
-    "image-blocker" should be set to "blank".
-   
-      +image
-         
-   
-  * Decides what to do with URLs that end up tagged with "{+block +image}", e.g
-    an advertizement. There are five options. "-image-blocker" will send a HTML
-    "blocked" page, usually resulting in a "broken image" icon. "+image-blocker
-    {logo}" will send a "JunkBuster" logo image. "+image-blocker{blank}" will
-    send a 1x1 transparent GIF image. And finally, "+image-blocker{http://
-    xyz.com}" will send a HTTP temporary redirect to the specified image. This
-    has the advantage of the icon being being cached by the browser, which will
-    speed up the display. "+image-blocker{pattern}" will send a checkboard type
-    pattern, which scales better than the logo (which can get blocky if the
-    browser enlarges it too much).
-   
-      +image-blocker{logo}
-      +image-blocker{blank}
-      +image-blocker{pattern}
-      +image-blocker{http://i.j.b/send-banner}
-         
-   
-  * By default (i.e. in the absence of a "+limit-connect" action), Junkbuster
-    will only allow CONNECT requests to port 443, which is the standard port
-    for https as a precaution.
-   
-    The CONNECT methods exists in HTTP to allow access to secure websites
-    (https:// URLs) through proxies. It works very simply: the proxy connects
-    to the server on the specified port, and then short-circuits its
-    connections to the client and to the remote proxy. This can be a big
-    security hole, since CONNECT-enabled proxies can be abused as TCP relays
-    very easily.
-   
-    If you want to allow CONNECT for more ports than this, or want to forbid
-    CONNECT altogether, you can specify a comma separated list of ports and
-    port ranges (the latter using dashes, with the minimum defaulting to 0 and
-    max to 65K):
-   
-      +limit-connect{443} # This is the default and need no be specified.
-      +limit-connect{80,443} # Ports 80 and 443 are OK.
-      +limit-connect{-3, 7, 20-100, 500-} # Port less than 3, 7, 20 to 100
-       #and above 500 are OK.
-         
-   
-  * "+no-compression" prevents the website from compressing the data. Some
-    websites do this, which can be a problem for Junkbuster, since "+filter",
-    "+no-popup" and "+gif-deanimate" will not work on compressed data. This
-    will slow down connections to those websites, though. Default is
-    "nocompression" is turned on.
-   
-      +nocompression
-         
-   
-  * If the website sets cookies, "no-cookies-keep" will make sure they are
-    erased when you exit and restart your web browser. This makes profiling
-    cookies useless, but won't break sites which require cookies so that you
-    can log in for transactions. Default: on.
-   
-      +no-cookies-keep
-         
-   
-  * Prevent the website from reading cookies:
-   
-      +no-cookies-read
-         
-   
-  * Prevent the website from setting cookies:
-   
-      +no-cookies-set
-         
-   
-  * Filter the website through a built-in filter to disable those obnoxious
-    JavaScript pop-up windows via window.open(), etc. The two alternative
-    spellings are equivalent.
-   
-      +no-popup
-      +no-popups
-         
-   
-  * This action only applies if you are using a jarfile for saving cookies. It
-    sends a cookie to every site stating that you do not accept any copyright
-    on cookies sent to you, and asking them not to track you. Of course, this
-    is a (relatively) unique header they could use to track you.
-   
-      +vanilla-wafer
-         
-   
-  * This allows you to add an arbitrary cookie. It can be specified multiple
-    times in order to add as many cookies as you like.
-   
-      +wafer{name=value}
-         
-   
-The meaning of any of the above is reversed by preceding the action with a "-",
-in place of the "+".
-
-Some examples:
-
-Turn off cookies by default, then allow a few through for specified sites:
-
- # Turn off all persistent cookies
- { +no-cookies-read }
- { +no-cookies-set }
- # Allow cookies for this browser session ONLY
- { +no-cookies-keep }
-
- # Exceptions to the above, sites that benefit from persistent cookies
- { -no-cookies-read }
- { -no-cookies-set }
- { -no-cookies-keep }
- .javasoft.com
- .sun.com
- .yahoo.com
- .msdn.microsoft.com
- .redhat.com
-
- # Alternative way of saying the same thing
- {-no-cookies-set -no-cookies-read -no-cookies-keep}
- .sourceforge.net
- .sf.net
-   
-
-Now turn off "fast redirects", and then we allow two exceptions:
-
- # Turn them off!
- {+fast-redirects}
- # Reverse it for these two sites, which don't work right without it.
- {-fast-redirects}
- www.ukc.ac.uk/cgi-bin/wac\.cgi\?
- login.yahoo.com
-   
-
-Turn on page filtering according to rules in the defined sections of
-refilterfile, and make one exception for sourceforge:
-
- # Run everything through the filter file, using only the
- # specified sections:
- +filter{html-annoyances} +filter{js-annoyances} +filter{no-popups}\
- +filter{webbugs} +filter{nimda} +filter{banners-by-size}
-              
- # Then disable filtering of code from sourceforge!
- {-filter}
- .cvs.sourceforge.net
-   
-
-Now some URLs that we want "blocked", ie we won't see them. Many of these use
-regular expressions that will expand to match multiple URLs:
-
-  # Blocklist:
-  {+block}
-  /.*/(.*[-_.])?ads?[0-9]?(/|[-_.].*|\.(gif|jpe?g))
-  /.*/(.*[-_.])?count(er)?(\.cgi|\.dll|\.exe|[?/])
-  /.*/(ng)?adclient\.cgi
-  /.*/(plain|live|rotate)[-_.]?ads?/
-  /.*/(sponsor)s?[0-9]?/
-  /.*/_?(plain|live)?ads?(-banners)?/
-  /.*/abanners/
-  /.*/ad(sdna_image|gifs?)/
-  /.*/ad(server|stream|juggler)\.(cgi|pl|dll|exe)
-  /.*/adbanners/
-  /.*/adserver
-  /.*/adstream\.cgi
-  /.*/adv((er)?ts?|ertis(ing|ements?))?/
-  /.*/banner_?ads/
-  /.*/banners?/
-  /.*/banners?\.cgi/
-  /.*/cgi-bin/centralad/getimage
-  /.*/images/addver\.gif
-  /.*/images/marketing/.*\.(gif|jpe?g)
-  /.*/popupads/
-  /.*/siteads/
-  /.*/sponsor.*\.gif
-  /.*/sponsors?[0-9]?/
-  /.*/advert[0-9]+\.jpg
-  /Media/Images/Adds/
-  /ad_images/
-  /adimages/
-  /.*/ads/
-  /bannerfarm/
-  /grafikk/annonse/
-  /graphics/defaultAd/
-  /image\.ng/AdType
-  /image\.ng/transactionID
-  /images/.*/.*_anim\.gif # alvin brattli
-  /ip_img/.*\.(gif|jpe?g)
-  /rotateads/
-  /rotations/ 
-  /worldnet/ad\.cgi
-  /cgi-bin/nph-adclick.exe/
-  /.*/Image/BannerAdvertising/
-  /.*/ad-bin/
-  /.*/adlib/server\.cgi
-  /autoads/
-   
-
-Note that many of these actions have the potential to cause a page to
-misbehave, possibly even not to display at all. There are many ways a site
-designer may choose to design his site, and what HTTP header content he may
-depend on. There is no way to have hard and fast rules for all sites. See the 
-Appendix for a brief example on troubleshooting actions. 
-
--------------------------------------------------------------------------------
-
-3.4.3. Aliases
-
-Custom "actions", known to Junkbuster as "aliases", can be defined by combining
-other "actions". These can in turn be invoked just like the built-in "actions".
-Currently, an alias can contain any character except space, tab, "=", "{" or "}
-". But please use only "a"- "z", "0"-"9", "+", and "-". Alias names are not
-case sensitive, and must be defined before anything else in the ijb.actionfile
-! And there can only be one set of "aliases" defined.
-
-Now let's define a few aliases:
-
- # Useful customer aliases we can use later. These must come first!
- {{alias}}
- +no-cookies = +no-cookies-set +no-cookies-read
- -no-cookies = -no-cookies-set -no-cookies-read
- fragile     =
- -block -no-cookies -filter -fast-redirects -hide-referer -no-popups
- shop        = -no-cookies -filter -fast-redirects
- +imageblock = +block +image
-
- #For people who don't like to type too much:  ;-)
- c0 = +no-cookies
- c1 = -no-cookies
- c2 = -no-cookies-set +no-cookies-read
- c3 = +no-cookies-set -no-cookies-read
- #... etc.  Customize to your heart's content.
+   html-annoyances: Get rid of particularly annoying HTML abuse.
    
-
-Some examples using our "shop" and "fragile" aliases from above:
-
- # These sites are very complex and require
- # minimal interference.
- {fragile}
- .office.microsoft.com
- .windowsupdate.microsoft.com
- .nytimes.com
-
- # Shopping sites - still want to block ads.
- {shop}
- .quietpc.com
- .worldpay.com   # for quietpc.com
- .jungle.com
- .scan.co.uk
-
- # These shops require pop-ups
- {shop -no-popups}
- .dabs.com
- .overclockers.co.uk
+   js-annoyances: Get rid of particularly annoying JavaScript abuse
    
-
--------------------------------------------------------------------------------
-
-3.5. The Filter File
-
-Any web page can be dynamically modified with the filter file. This
-modification can be removal, or re-writing, of any web page content, including
-tags and non-visible content. The default filter file is re_filterfile, located
-in the config directory.
-
-The included example file is divided into sections. Each section begins with
-the FILTER keyword, followed by the identifier for that section, e.g. "FILTER:
-webbugs". Each section performs a similar type of filtering, such as
-"html-annoyances". 
-
-This file uses regular expressions to alter or remove any string in the target
-page. The expressions can only operate on one line at a time. Some examples
-from the included default re_filterfile:
-
-Stop web pages from displaying annoying messages in the status bar by deleting
-such references:
-
- FILTER: html-annoyances
-
- # New browser windows should be resizeable and have a location and status
- # bar. Make it so.
- #
- s/resizable="?(no|0)"?/resizable=1/ig s/noresize/yesresize/ig
- s/location="?(no|0)"?/location=1/ig s/status="?(no|0)"?/status=1/ig
- s/scrolling="?(no|0|Auto)"?/scrolling=1/ig
- s/menubar="?(no|0)"?/menubar=1/ig 
-
- # The <BLINK> tag was a crime!
- #
- s*<blink>|</blink>**ig
-
- # Is this evil? 
- #
- #s/framespacing="?(no|0)"?//ig
- #s/margin(height|width)=[0-9]*//gi
+   no-poups: Kill all popups in JS and HTML
    
-
-Just for kicks, replace any occurrence of "Microsoft" with "MicroSuck", and
-have a little fun with topical buzzwords:
-
- FILTER: fun
-
- s/microsoft(?!.com)/MicroSuck/ig
-
- # Buzzword Bingo:
- #
- s/industry-leading|cutting-edge|award-winning/<font color=red><b>BINGO!</b></
-font>/ig
+   frameset-borders: Give frames a border
    
-
-Kill those pesky little web-bugs:
-
- # webbugs: Squish WebBugs (1x1 invisible GIFs used for user tracking)
- FILTER: webbugs
-
- s/<img\s+[^>]*?(width|height)\s*=\s*['"]?1\D[^>]*?(width|height)\s*=\s*['"]?1
-(\D[^>]*?)?>/<!-- Squished WebBug -->/sig
+   webbugs: Squish WebBugs (1x1 invisible GIFs used for user tracking)
    
-
--------------------------------------------------------------------------------
-
-3.6. Templates
-
-When Junkbuster displays one of its internal pages, such as a 404 Not Found
-error page, it uses the appropriate template. On Linux, BSD, and Unix, these
-are located in /etc/junkbuster/templates by default. These may be customized,
-if desired. 
-
--------------------------------------------------------------------------------
-
-4. Quickstart to Using Junkbuster
-
-Install package, then run and enjoy! JunkBuster is typically started by
-specifying the main configuration file to be used on the command line. Example
-Unix startup command:
-
-                                                                               
- # /usr/sbin/junkbuster /etc/junkbuster/config                                 
-                                                                               
-                                                                               
-
-An init script is provided for SuSE and Redhat.
-
-For for SuSE: /etc/rc.d/junkbuster start
-
-For RedHat: /etc/rc.d/init.d/junkbuster start
-
-If no configuration file is specified on the command line, Junkbuster will look
-for a file named config in the current directory. Except on Win32 where it will
-try config.txt. If no file is specified on the command line and no default
-configuration file can be found, Junkbuster will fail to start.
-
-Be sure your browser is set to use the proxy which is by default at localhost,
-port 8118. With Netscape (and Mozilla), this can be set under Edit ->
-Preferences -> Advanced -> Proxies -> HTTP Proxy. For Internet Explorer: Tools
-> Internet Properties -> Connections -> LAN Setting. Then, check "Use Proxy"
-and fill in the appropriate info (Address: localhost, Port: 8118). Include if
-HTTPS proxy support too.
-
-The included default configuration files should give a reasonable starting
-point, though may be somewhat aggressive in blocking junk. You will probably
-want to keep an eye out for sites that require persistent cookies, and add
-these to ijb.action as needed. By default, most of these will be accepted only
-during the current browser session, until you add them to the configuration. If
-you want the browser to handle this instead, you will need to edit ijb.action
-and disable this feature. If you use more than one browser, it would make more
-sense to let Junkbuster handle this. In which case, the browser(s) should be
-set to accept all cookies.
-
-If a particular site shows problems loading properly, try adding it to the
-{fragile} section of ijb.action. This will turn off most actions for this site.
-
-Junkbuster is HTTP/1.1 compliant, but not all 1.1 features are as yet
-implemented. If browsers that support HTTP/1.1 (like Mozilla or recent versions
-of I.E.) experience problems, you might try to force HTTP/1.0 compatibility.
-For Mozilla, look under Edit -> Preferences -> Debug -> Networking. Or set the
-"+downgrade" config option in ijb.action.
-
-After running Junkbuster for a while, you can start to fine tune the
-configuration to suit your personal, or site, preferences and requirements.
-There are many, many aspects that can be customized. "Actions" (as specified in
-ijb.action) can be adjusted by pointing your browser to http://i.j.b/, and then
-follow the link to "edit the actions list". (This is an internal page and does
-not require Internet access.)
-
-In fact, various aspects of Junkbuster configuration can be viewed from this
-page, including current configuration parameters, source code version numbers,
-the browser's request headers, and "actions" that apply to a given URL. In
-addition to the ijb.action file editor mentioned above, Junkbuster can also be
-turned "on" and "off" from this page.
-
-If you encounter problems, please verify it is a Junkbuster bug, by disabling
-Junkbuster, and then trying the same page. Also, try another browser if
-possible to eliminate browser or site problems. Before reporting it as a bug,
-see if there is not a configuration option that is enabled that is causing the
-page not to load. You can then add an exception for that page or site. If a
-bug, please report it to the developers (see below).
-
--------------------------------------------------------------------------------
-
-4.1. Command Line Options
-
-JunkBuster may be invoked with the following command-line options:
-
-  * --version
-   
-    Print version info and exit, Unix only.
-   
-  * --help
+   no-refresh: Automatic refresh sucks on auto-dialup lines
    
-    Print a short usage info and exit, Unix only.
+   fun: Text replacements for subversive browsing fun!
    
-  * --no-daemon
+   nimda: Remove (virus) Nimda code.
    
-    Don't become a daemon, i.e. don't fork and become process group leader,
-    don't detach from controlling tty. Unix only.
+   banners-by-size: Kill banners by size
    
-  * --pidfile FILE
+   crude-parental: Kill all web pages that contain the words "sex" or
+   "warez"
    
-    On startup, write the process ID to FILE. Delete the FILE on exit. Failiure
-    to create or delete the FILE is non-fatal. If no FILE option is given, no
-    PID file will be used. Unix only.
+     * Block any existing X-Forwarded-for header, and do not add a new
+       one:
+         +hide-forwarded
+       
+     * If the browser sends a "From:" header containing your e-mail
+       address, this either completely removes the header ("block"), or
+       changes it to the specified e-mail address.
+         +hide-from{block}
+         +hide-from{spam@sittingduck.xqq}
+       
+     * Don't send the "Referer:" (sic) header to the web site. You can
+       block it, forge a URL to the same server as the request (which is
+       preferred because some sites will not send images otherwise) or
+       set it to a constant string of your choice.
+         +hide-referer{block}
+         +hide-referer{forge}
+         +hide-referer{http://nowhere.com}
+       
+     * Alternative spelling of "+hide-referer". It has the same
+       parameters, and can be freely mixed with, "+hide-referer".
+       ("referrer" is the correct English spelling, however the HTTP
+       specification has a bug - it requires it to be spelled "referer".)
+         +hide-referrer{...}
+       
+     * Change the "User-Agent:" header so web servers can't tell your
+       browser type. Warning! This breaks many web sites. Specify the
+       user-agent value you want. Example, pretend to be using Netscape
+       on Linux:
+         +hide-user-agent{Mozilla (X11; I; Linux 2.0.32 i586)}
+       
+     * Treat this URL as an image. This only matters if it's also
+       "+block"ed, in which case a "blocked" image can be sent rather
+       than a HTML page. See "+image-blocker{}" below for the control
+       over what is actually sent. If you want invisible ads, they should
+       be defined as images and blocked. And also, "image-blocker" should
+       be set to "blank".
+         +image
+       
+     * Decides what to do with URLs that end up tagged with "{+block
+       +image}", e.g an advertizement. There are five options.
+       "-image-blocker" will send a HTML "blocked" page, usually
+       resulting in a "broken image" icon. "+image-blocker{logo}" will
+       send a "JunkBuster" logo image. "+image-blocker{blank}" will send
+       a 1x1 transparent GIF image. And finally,
+       "+image-blocker{http://xyz.com}" will send a HTTP temporary
+       redirect to the specified image. This has the advantage of the
+       icon being being cached by the browser, which will speed up the
+       display. "+image-blocker{pattern}" will send a checkboard type
+       pattern, which scales better than the logo (which can get blocky
+       if the browser enlarges it too much).
+         +image-blocker{logo}
+         +image-blocker{blank}
+         +image-blocker{pattern}
+         +image-blocker{http://i.j.b/send-banner}
+       
+     * By default (i.e. in the absence of a "+limit-connect" action),
+       Junkbuster will only allow CONNECT requests to port 443, which is
+       the standard port for https as a precaution.
+       The CONNECT methods exists in HTTP to allow access to secure
+       websites (https:// URLs) through proxies. It works very simply:
+       the proxy connects to the server on the specified port, and then
+       short-circuits its connections to the client and to the remote
+       proxy. This can be a big security hole, since CONNECT-enabled
+       proxies can be abused as TCP relays very easily.
+       If you want to allow CONNECT for more ports than this, or want to
+       forbid CONNECT altogether, you can specify a comma separated list
+       of ports and port ranges (the latter using dashes, with the
+       minimum defaulting to 0 and max to 65K):
+         +limit-connect{443} # This is the default and need no be
+       specified.
+         +limit-connect{80,443} # Ports 80 and 443 are OK.
+         +limit-connect{-3, 7, 20-100, 500-} # Port less than 3, 7, 20 to
+       100
+          #and above 500 are OK.
+       
+     * "+no-compression" prevents the website from compressing the data.
+       Some websites do this, which can be a problem for Junkbuster,
+       since "+filter", "+no-popup" and "+gif-deanimate" will not work on
+       compressed data. This will slow down connections to those
+       websites, though. Default is "nocompression" is turned on.
+         +nocompression
+       
+     * If the website sets cookies, "no-cookies-keep" will make sure they
+       are erased when you exit and restart your web browser. This makes
+       profiling cookies useless, but won't break sites which require
+       cookies so that you can log in for transactions. Default: on.
+         +no-cookies-keep
+       
+     * Prevent the website from reading cookies:
+         +no-cookies-read
+       
+     * Prevent the website from setting cookies:
+         +no-cookies-set
+       
+     * Filter the website through a built-in filter to disable those
+       obnoxious JavaScript pop-up windows via window.open(), etc. The
+       two alternative spellings are equivalent.
+         +no-popup
+         +no-popups
+       
+     * This action only applies if you are using a jarfile for saving
+       cookies. It sends a cookie to every site stating that you do not
+       accept any copyright on cookies sent to you, and asking them not
+       to track you. Of course, this is a (relatively) unique header they
+       could use to track you.
+         +vanilla-wafer
+       
+     * This allows you to add an arbitrary cookie. It can be specified
+       multiple times in order to add as many cookies as you like.
+         +wafer{name=value}
+       
+   The meaning of any of the above is reversed by preceding the action
+   with a "-", in place of the "+".
+   
+   Some examples:
+   
+   Turn off cookies by default, then allow a few through for specified
+   sites:
+   
+    # Turn off all persistent cookies
+    { +no-cookies-read }
+    { +no-cookies-set }
+    # Allow cookies for this browser session ONLY
+    { +no-cookies-keep }
+    # Exceptions to the above, sites that benefit from persistent cookies
+    { -no-cookies-read }
+    { -no-cookies-set }
+    { -no-cookies-keep }
+    .javasoft.com
+    .sun.com
+    .yahoo.com
+    .msdn.microsoft.com
+    .redhat.com
+    # Alternative way of saying the same thing
+    {-no-cookies-set -no-cookies-read -no-cookies-keep}
+    .sourceforge.net
+    .sf.net
+   
+   Now turn off "fast redirects", and then we allow two exceptions:
+   
+    # Turn them off!
+    {+fast-redirects}
+   
+    # Reverse it for these two sites, which don't work right without it.
+    {-fast-redirects}
+    www.ukc.ac.uk/cgi-bin/wac\.cgi\?
+    login.yahoo.com
+   
+   Turn on page filtering according to rules in the defined sections of
+   refilterfile, and make one exception for sourceforge:
+   
+    # Run everything through the filter file, using only the
+    # specified sections:
+    +filter{html-annoyances} +filter{js-annoyances} +filter{no-popups}\
+    +filter{webbugs} +filter{nimda} +filter{banners-by-size}
+   
+    # Then disable filtering of code from sourceforge!
+    {-filter}
+    .cvs.sourceforge.net
+   
+   Now some URLs that we want "blocked", ie we won't see them. Many of
+   these use regular expressions that will expand to match multiple URLs:
+   
+     # Blocklist:
+     {+block}
+     /.*/(.*[-_.])?ads?[0-9]?(/|[-_.].*|\.(gif|jpe?g))
+     /.*/(.*[-_.])?count(er)?(\.cgi|\.dll|\.exe|[?/])
+     /.*/(ng)?adclient\.cgi
+     /.*/(plain|live|rotate)[-_.]?ads?/
+     /.*/(sponsor)s?[0-9]?/
+     /.*/_?(plain|live)?ads?(-banners)?/
+     /.*/abanners/
+     /.*/ad(sdna_image|gifs?)/
+     /.*/ad(server|stream|juggler)\.(cgi|pl|dll|exe)
+     /.*/adbanners/
+     /.*/adserver
+     /.*/adstream\.cgi
+     /.*/adv((er)?ts?|ertis(ing|ements?))?/
+     /.*/banner_?ads/
+     /.*/banners?/
+     /.*/banners?\.cgi/
+     /.*/cgi-bin/centralad/getimage
+     /.*/images/addver\.gif
+     /.*/images/marketing/.*\.(gif|jpe?g)
+     /.*/popupads/
+     /.*/siteads/
+     /.*/sponsor.*\.gif
+     /.*/sponsors?[0-9]?/
+     /.*/advert[0-9]+\.jpg
+     /Media/Images/Adds/
+     /ad_images/
+     /adimages/
+     /.*/ads/
+     /bannerfarm/
+     /grafikk/annonse/
+     /graphics/defaultAd/
+     /image\.ng/AdType
+     /image\.ng/transactionID
+     /images/.*/.*_anim\.gif # alvin brattli
+     /ip_img/.*\.(gif|jpe?g)
+     /rotateads/
+     /rotations/
+     /worldnet/ad\.cgi
+     /cgi-bin/nph-adclick.exe/
+     /.*/Image/BannerAdvertising/
+     /.*/ad-bin/
+     /.*/adlib/server\.cgi
+     /autoads/
+   
+   Note that many of these actions have the potential to cause a page to
+   misbehave, possibly even not to display at all. There are many ways a
+   site designer may choose to design his site, and what HTTP header
+   content he may depend on. There is no way to have hard and fast rules
+   for all sites. See the [52]Appendix for a brief example on
+   troubleshooting actions.
+     _________________________________________________________________
    
-  * --user USER[.GROUP]
+3.4.3. Aliases
+
+   Custom "actions", known to Junkbuster as "aliases", can be defined by
+   combining other "actions". These can in turn be invoked just like the
+   built-in "actions". Currently, an alias can contain any character
+   except space, tab, "=", "{" or "}". But please use only "a"- "z",
+   "0"-"9", "+", and "-". Alias names are not case sensitive, and must be
+   defined before anything else in the ijb.actionfile ! And there can
+   only be one set of "aliases" defined.
+   
+   Now let's define a few aliases:
+   
+    # Useful customer aliases we can use later. These must come first!
+    {{alias}}
+    +no-cookies = +no-cookies-set +no-cookies-read
+    -no-cookies = -no-cookies-set -no-cookies-read
+    fragile     = -block -no-cookies -filter -fast-redirects -hide-refere
+   r -no-popups
+    shop        = -no-cookies -filter -fast-redirects
+    +imageblock = +block +image
+    #For people who don't like to type too much:  ;-)
+    c0 = +no-cookies
+    c1 = -no-cookies
+    c2 = -no-cookies-set +no-cookies-read
+    c3 = +no-cookies-set -no-cookies-read
+    #... etc.  Customize to your heart's content.
+   
+   Some examples using our "shop" and "fragile" aliases from above:
+   
+    # These sites are very complex and require
+    # minimal interference.
+    {fragile}
+    .office.microsoft.com
+    .windowsupdate.microsoft.com
+    .nytimes.com
+    # Shopping sites - still want to block ads.
+    {shop}
+    .quietpc.com
+    .worldpay.com   # for quietpc.com
+    .jungle.com
+    .scan.co.uk
+    # These shops require pop-ups
+    {shop -no-popups}
+    .dabs.com
+    .overclockers.co.uk
+     _________________________________________________________________
    
-    After (optionally) writing the PID file, assume the user ID of USER, and if
-    included the GID of GROUP. Exit if the privileges are not sufficient to do
-    so. Unix only.
+3.5. The Filter File
+
+   Any web page can be dynamically modified with the filter file. This
+   modification can be removal, or re-writing, of any web page content,
+   including tags and non-visible content. The default filter file is
+   re_filterfile, located in the config directory.
+   
+   The included example file is divided into sections. Each section
+   begins with the FILTER keyword, followed by the identifier for that
+   section, e.g. "FILTER: webbugs". Each section performs a similar type
+   of filtering, such as "html-annoyances".
+   
+   This file uses regular expressions to alter or remove any string in
+   the target page. The expressions can only operate on one line at a
+   time. Some examples from the included default re_filterfile:
+   
+   Stop web pages from displaying annoying messages in the status bar by
+   deleting such references:
+   
+    FILTER: html-annoyances
+    # New browser windows should be resizeable and have a location and st
+   atus
+    # bar. Make it so.
+    #
+    s/resizable="?(no|0)"?/resizable=1/ig s/noresize/yesresize/ig
+    s/location="?(no|0)"?/location=1/ig s/status="?(no|0)"?/status=1/ig
+    s/scrolling="?(no|0|Auto)"?/scrolling=1/ig
+    s/menubar="?(no|0)"?/menubar=1/ig
+    # The <BLINK> tag was a crime!
+    #
+    s*<blink>|</blink>**ig
+    # Is this evil?
+    #
+    #s/framespacing="?(no|0)"?//ig
+    #s/margin(height|width)=[0-9]*//gi
+   
+   Just for kicks, replace any occurrence of "Microsoft" with
+   "MicroSuck", and have a little fun with topical buzzwords:
+   
+    FILTER: fun
+    s/microsoft(?!.com)/MicroSuck/ig
+    # Buzzword Bingo:
+    #
+    s/industry-leading|cutting-edge|award-winning/<font color=red><b>BING
+   O!</b></font>/ig
+   
+   Kill those pesky little web-bugs:
+   
+    # webbugs: Squish WebBugs (1x1 invisible GIFs used for user tracking)
+    FILTER: webbugs
+    s/<img\s+[^>]*?(width|height)\s*=\s*['"]?1\D[^>]*?(width|height)\s*=\
+   s*['"]?1(\D[^>]*?)?>/<!-- Squished WebBug -->/sig
+     _________________________________________________________________
    
-  * configfile
+3.6. Templates
+
+   When Junkbuster displays one of its internal pages, such as a 404 Not
+   Found error page, it uses the appropriate template. On Linux, BSD, and
+   Unix, these are located in /etc/junkbuster/templates by default. These
+   may be customized, if desired.
+     _________________________________________________________________
    
-    If no configfile is included on the command line, JunkBuster will look for
-    a file named "config" in the current directory (except on Win32 where it
-    will look for "config.txt" instead). Specify full path to avoid confusion.
+4. Quickstart to Using Junkbuster
+
+   Install package, then run and enjoy! JunkBuster is typically started
+   by specifying the main configuration file to be used on the command
+   line. Example Unix startup command:
+   
+
+ # /usr/sbin/junkbuster /etc/junkbuster/config
+
+
+   An init script is provided for SuSE and Redhat.
+   
+   For for SuSE: /etc/rc.d/junkbuster start
+   
+   For RedHat: /etc/rc.d/init.d/junkbuster start
+   
+   If no configuration file is specified on the command line, Junkbuster
+   will look for a file named config in the current directory. Except on
+   Win32 where it will try config.txt. If no file is specified on the
+   command line and no default configuration file can be found,
+   Junkbuster will fail to start.
+   
+   Be sure your browser is set to use the proxy which is by default at
+   localhost, port 8118. With Netscape (and Mozilla), this can be set
+   under Edit -> Preferences -> Advanced -> Proxies -> HTTP Proxy. For
+   Internet Explorer: Tools > Internet Properties -> Connections -> LAN
+   Setting. Then, check "Use Proxy" and fill in the appropriate info
+   (Address: localhost, Port: 8118). Include if HTTPS proxy support too.
+   
+   The included default configuration files should give a reasonable
+   starting point, though may be somewhat aggressive in blocking junk.
+   You will probably want to keep an eye out for sites that require
+   persistent cookies, and add these to ijb.action as needed. By default,
+   most of these will be accepted only during the current browser
+   session, until you add them to the configuration. If you want the
+   browser to handle this instead, you will need to edit ijb.action and
+   disable this feature. If you use more than one browser, it would make
+   more sense to let Junkbuster handle this. In which case, the
+   browser(s) should be set to accept all cookies.
+   
+   If a particular site shows problems loading properly, try adding it to
+   the {fragile} section of ijb.action. This will turn off most actions
+   for this site.
+   
+   Junkbuster is HTTP/1.1 compliant, but not all 1.1 features are as yet
+   implemented. If browsers that support HTTP/1.1 (like Mozilla or recent
+   versions of I.E.) experience problems, you might try to force HTTP/1.0
+   compatibility. For Mozilla, look under Edit -> Preferences -> Debug ->
+   Networking. Or set the "+downgrade" config option in ijb.action.
+   
+   After running Junkbuster for a while, you can start to fine tune the
+   configuration to suit your personal, or site, preferences and
+   requirements. There are many, many aspects that can be customized.
+   "Actions" (as specified in ijb.action) can be adjusted by pointing
+   your browser to [53]http://i.j.b/, and then follow the link to "edit
+   the actions list". (This is an internal page and does not require
+   Internet access.)
+   
+   In fact, various aspects of Junkbuster configuration can be viewed
+   from this page, including current configuration parameters, source
+   code version numbers, the browser's request headers, and "actions"
+   that apply to a given URL. In addition to the ijb.action file editor
+   mentioned above, Junkbuster can also be turned "on" and "off" from
+   this page.
+   
+   If you encounter problems, please verify it is a Junkbuster bug, by
+   disabling Junkbuster, and then trying the same page. Also, try another
+   browser if possible to eliminate browser or site problems. Before
+   reporting it as a bug, see if there is not a configuration option that
+   is enabled that is causing the page not to load. You can then add an
+   exception for that page or site. If a bug, please report it to the
+   developers (see below).
+     _________________________________________________________________
    
--------------------------------------------------------------------------------
+4.1. Command Line Options
 
+   JunkBuster may be invoked with the following command-line options:
+   
+     * --version
+       Print version info and exit, Unix only.
+     * --help
+       Print a short usage info and exit, Unix only.
+     * --no-daemon
+       Don't become a daemon, i.e. don't fork and become process group
+       leader, don't detach from controlling tty. Unix only.
+     * --pidfile FILE
+       On startup, write the process ID to FILE. Delete the FILE on exit.
+       Failiure to create or delete the FILE is non-fatal. If no FILE
+       option is given, no PID file will be used. Unix only.
+     * --user USER[.GROUP]
+       After (optionally) writing the PID file, assume the user ID of
+       USER, and if included the GID of GROUP. Exit if the privileges are
+       not sufficient to do so. Unix only.
+     * configfile
+       If no configfile is included on the command line, JunkBuster will
+       look for a file named "config" in the current directory (except on
+       Win32 where it will look for "config.txt" instead). Specify full
+       path to avoid confusion.
+     _________________________________________________________________
+   
 5. Contacting the Developers, Bug Reporting and Feature Requests
 
-We value your feedback. However, to provide you with the best support, please
-note:
-
-  * Use the Sourceforge support forum to get help.
-   
-  * Submit bugs only thru our Sourceforge bug forum. Make sure that the bug has
-    not already been submitted. Please try to verify that it is a Junkbuster
-    bug, and not a browser or site bug first. If you are using your own custom
-    configuration, please try the stock configs to see if the problem is a
-    configuration related bug. And if not using the latest development
-    snapshot, please try the latest one. Or even better, CVS sources.
+   We value your feedback. However, to provide you with the best support,
+   please note:
+   
+     * Use the [54]Sourceforge support forum to get help.
+     * Submit bugs only thru our [55]Sourceforge bug forum. Make sure
+       that the bug has not already been submitted. Please try to verify
+       that it is a Junkbuster bug, and not a browser or site bug first.
+       If you are using your own custom configuration, please try the
+       stock configs to see if the problem is a configuration related
+       bug. And if not using the latest development snapshot, please try
+       the latest one. Or even better, CVS sources.
+     * Submit feature requests only thru our [56]Sourceforge feature
+       request forum.
+       
+   For any other issues, feel free to use the [57]mailing lists.
    
-  * Submit feature requests only thru our Sourceforge feature request forum.
+   Anyone interested in actively participating in development and related
+   discussions can join the appropriate mailing list [58]here. Archives
+   are available here too.
+     _________________________________________________________________
    
-
-For any other issues, feel free to use the mailing lists.
-
-Anyone interested in actively participating in development and related
-discussions can join the appropriate mailing list here. Archives are available
-here too.
-
--------------------------------------------------------------------------------
-
 6. Copyright and History
 
 6.1. License
 
-Internet Junkbuster is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the Free
-Software Foundation; either version 2 of the License, or (at your option) any
-later version.
-
-This program is distributed in the hope that it will be useful, but WITHOUT ANY
-WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-PARTICULAR PURPOSE. See the GNU General Public License for more details, which
-is available from the Free Software Foundation, Inc, 59 Temple Place - Suite
-330, Boston, MA 02111-1307, USA.
-
--------------------------------------------------------------------------------
-
+   Internet Junkbuster is free software; you can redistribute it and/or
+   modify it under the terms of the GNU General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+   
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+   General Public License for more details, which is available from
+   [59]the Free Software Foundation, Inc, 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.
+     _________________________________________________________________
+   
 6.2. History
 
-Junkbuster was originally written by Anonymous Coders and Junkbuster's
-Corporation, and was released as free open-source software under the GNU GPL. 
-Stefan Waldherr made many improvements, and started the SourceForge project to
-rekindle development. There are now several active developers contributing. The
-last stable release was v2.0.2, which has now grown whiskers ;-).
-
--------------------------------------------------------------------------------
-
+   Junkbuster was originally written by Anonymous Coders and
+   [60]Junkbuster's Corporation, and was released as free open-source
+   software under the GNU GPL. [61]Stefan Waldherr made many
+   improvements, and started the [62]SourceForge project to rekindle
+   development. There are now several active developers contributing. The
+   last stable release was v2.0.2, which has now grown whiskers ;-).
+     _________________________________________________________________
+   
 7. See also
 
-  http://sourceforge.net/projects/ijbswa
-
-  http://ijbswa.sourceforge.net/
-
-  http://i.j.b/
-
-  http://www.junkbusters.com/ht/en/cookies.html
-
-  http://www.waldherr.org/junkbuster/
-
-  http://privacy.net/analyze/
-
- http://www.squid-cache.org/
-
-
--------------------------------------------------------------------------------
-
+     [63]http://sourceforge.net/projects/ijbswa
+   
+     [64]http://ijbswa.sourceforge.net/
+   
+     [65]http://i.j.b/
+   
+     [66]http://www.junkbusters.com/ht/en/cookies.html
+   
+     [67]http://www.waldherr.org/junkbuster/
+   
+     [68]http://privacy.net/analyze/
+   
+    [69]http://www.squid-cache.org/
+     _________________________________________________________________
+   
 8. Appendix
 
 8.1. Regular Expressions
 
-Junkbuster can use "regular expressions" in various config files. Assuming
-support for "pcre" (Perl Compatible Regular Expressions) is compiled in, which
-is the default. Such configuration directives do not require regular
-expressions, but they can be used to increase flexibility by matching a pattern
-with wild-cards against URLs.
-
-If you are reading this, you probably don't understand what "regular
-expressions" are, or what they can do. So this will be a very brief
-introduction only. A full explanation would require a book ;-)
-
-"Regular expressions" is a way of matching one character expression against
-another to see if it matches or not. One of the "expressions" is a literal
-string of readable characters (letter, numbers, etc), and the other is a
-complex string of literal characters combined with wild-cards, and other
-special characters, called meta-characters. The "meta-characters" have special
-meanings and are used to build the complex pattern to be matched against. Perl
-Compatible Regular Expressions is an enhanced form of the regular expression
-language with backward compatibility.
-
-To make a simple analogy, we do something similar when we use wild-card
-characters when listing files with the dir command in DOS. *.* matches all
-filenames. The "special" character here is the asterisk which matches any and
-all characters. We can be more specific and use ? to match just individual
-characters. So "dir file?.text" would match "file1.txt", "file2.txt", etc. We
-are pattern matching, using a similar technique to "regular expressions"!
-
-Regular expressions do essentially the same thing, but are much, much more
-powerful. There are many more "special characters" and ways of building complex
-patterns however. Let's look at a few of the common ones, and then some
-examples:
-
-. - Matches any single character, e.g. "a", "A", "4", ":", or "@".
-
-? - The preceding character or expression is matched ZERO or ONE times. Either/
-or.                                                                            
-
-+ - The preceding character or expression is matched ONE or MORE times.
-
-* - The preceding character or expression is matched ZERO or MORE times.
-
-\ - The "escape" character denotes that the following character should be taken
-literally. This is used where one of the special characters (e.g. ".") needs to
-be taken literally and not as a special meta-character.                        
-
-[] - Characters enclosed in brackets will be matched if any of the enclosed    
-characters are encountered.                                                    
-
-() - parentheses are used to group a sub-expression, or multiple               
-sub-expressions.                                                               
-
-| - The "bar" character works like an "or" conditional statement. A match is   
-successful if the sub-expression on either side of "|" matches.                
-
-s/string1/string2/g - This is used to rewrite strings of text. "string1" is    
-replaced by "string2" in this example.                                         
-
-These are just some of the ones you are likely to use when matching URLs with
-Junkbuster, and is a long way from a definitive list. This is enough to get us
-started with a few simple examples which may be more illuminating:
-
-/.*/banners/.* - A simple example that uses the common combination of "." and "
-*" to denote any character, zero or more times. In other words, any string at
-all. So we start with a literal forward slash, then our regular expression
-pattern (".*") another literal forward slash, the string "banners", another
-forward slash, and lastly another ".*". We are building a directory path here.
-This will match any file with the path that has a directory named "banners" in
-it. The ".*" matches any characters, and this could conceivably be more forward
-slashes, so it might expand into a much longer looking path. For example, this
-could match: "/eye/hate/spammers/banners/annoy_me_please.gif", or just "/
-banners/annoying.html", or almost an infinite number of other possible
-combinations, just so it has "banners" in the path somewhere.
-
-A now something a little more complex:
-
-/.*/adv((er)?ts?|ertis(ing|ements?))?/ - We have several literal forward
-slashes again ("/"), so we are building another expression that is a file path
-statement. We have another ".*", so we are matching against any conceivable
-sub-path, just so it matches our expression. The only true literal that must
-match our pattern is adv, together with the forward slashes. What comes after
-the "adv" string is the interesting part.
-
-Remember the "?" means the preceding expression (either a literal character or
-anything grouped with "(...)" in this case) can exist or not, since this means
-either zero or one match. So "((er)?ts?|ertis(ing|ements?))" is optional, as
-are the individual sub-expressions: "(er)", "(ing|ements?)", and the "s". The "
-|" means "or". We have two of those. For instance, "(ing|ements?)", can expand
-to match either "ing" OR "ements?". What is being done here, is an attempt at
-matching as many variations of "advertisement", and similar, as possible. So
-this would expand to match just "adv", or "advert", or "adverts", or
-"advertising", or "advertisement", or "advertisements". You get the idea. But
-it would not match "advertizements" (with a "z"). We could fix that by changing
-our regular expression to: "/.*/adv((er)?ts?|erti(s|z)(ing|ements?))?/", which
-would then match either spelling.
-
-/.*/advert[0-9]+\.(gif|jpe?g) - Again another path statement with forward
-slashes. Anything in the square brackets "[]" can be matched. This is using
-"0-9" as a shorthand expression to mean any digit one through nine. It is the
-same as saying "0123456789". So any digit matches. The "+" means one or more of
-the preceding expression must be included. The preceding expression here is
-what is in the square brackets -- in this case, any digit one through nine.
-Then, at the end, we have a grouping: "(gif|jpe?g)". This includes a "|", so
-this needs to match the expression on either side of that bar character also. A
-simple "gif" on one side, and the other side will in turn match either "jpeg"
-or "jpg", since the "?" means the letter "e" is optional and can be matched
-once or not at all. So we are building an expression here to match image GIF or
-JPEG type image file. It must include the literal string "advert", then one or
-more digits, and a "." (which is now a literal, and not a special character,
-since it is escaped with "\"), and lastly either "gif", or "jpeg", or "jpg".
-Some possible matches would include: "//advert1.jpg", "/nasty/ads/
-advert1234.gif", "/banners/from/hell/advert99.jpg". It would not match
-"advert1.gif" (no leading slash), or "/adverts232.jpg" (the expression does not
-include an "s"), or "/advert1.jsp" ("jsp" is not in the expression anywhere).
-
-s/microsoft(?!.com)/MicroSuck/i - This is a substitution. "MicroSuck" will
-replace any occurrence of "microsoft". The "i" at the end of the expression
-means ignore case. The "(?!.com)" means the match should fail if "microsoft" is
-followed by ".com". In other words, this acts like a "NOT" modifier. In case
-this is a hyperlink, we don't want to break it ;-).
-
-We are barely scratching the surface of regular expressions here so that you
-can understand the default Junkbuster configuration files, and maybe use this
-knowledge to customize your own installation. There is much, much more that can
-be done with regular expressions. Now that you know enough to get started, you
-can learn more on your own :/
-
-More reading on Perl Compatible Regular expressions: http://www.perldoc.com/
-perl5.6/pod/perlre.html
-
--------------------------------------------------------------------------------
-
+   Junkbuster can use "regular expressions" in various config files.
+   Assuming support for "pcre" (Perl Compatible Regular Expressions) is
+   compiled in, which is the default. Such configuration directives do
+   not require regular expressions, but they can be used to increase
+   flexibility by matching a pattern with wild-cards against URLs.
+   
+   If you are reading this, you probably don't understand what "regular
+   expressions" are, or what they can do. So this will be a very brief
+   introduction only. A full explanation would require a book ;-)
+   
+   "Regular expressions" is a way of matching one character expression
+   against another to see if it matches or not. One of the "expressions"
+   is a literal string of readable characters (letter, numbers, etc), and
+   the other is a complex string of literal characters combined with
+   wild-cards, and other special characters, called meta-characters. The
+   "meta-characters" have special meanings and are used to build the
+   complex pattern to be matched against. Perl Compatible Regular
+   Expressions is an enhanced form of the regular expression language
+   with backward compatibility.
+   
+   To make a simple analogy, we do something similar when we use
+   wild-card characters when listing files with the dir command in DOS.
+   *.* matches all filenames. The "special" character here is the
+   asterisk which matches any and all characters. We can be more specific
+   and use ? to match just individual characters. So "dir file?.text"
+   would match "file1.txt", "file2.txt", etc. We are pattern matching,
+   using a similar technique to "regular expressions"!
+   
+   Regular expressions do essentially the same thing, but are much, much
+   more powerful. There are many more "special characters" and ways of
+   building complex patterns however. Let's look at a few of the common
+   ones, and then some examples:
+   
+   . - Matches any single character, e.g. "a", "A", "4", ":", or "@".
+   
+   ? - The preceding character or expression is matched ZERO or ONE
+   times. Either/or.
+   
+   + - The preceding character or expression is matched ONE or MORE
+   times.
+   
+   * - The preceding character or expression is matched ZERO or MORE
+   times.
+   
+   \ - The "escape" character denotes that the following character should
+   be taken literally. This is used where one of the special characters
+   (e.g. ".") needs to be taken literally and not as a special
+   meta-character.
+   
+   [] - Characters enclosed in brackets will be matched if any of the
+   enclosed characters are encountered.
+   
+   () - parentheses are used to group a sub-expression, or multiple
+   sub-expressions.
+   
+   | - The "bar" character works like an "or" conditional statement. A
+   match is successful if the sub-expression on either side of "|"
+   matches.
+   
+   s/string1/string2/g - This is used to rewrite strings of text.
+   "string1" is replaced by "string2" in this example.
+   
+   These are just some of the ones you are likely to use when matching
+   URLs with Junkbuster, and is a long way from a definitive list. This
+   is enough to get us started with a few simple examples which may be
+   more illuminating:
+   
+   /.*/banners/.* - A simple example that uses the common combination of
+   "." and "*" to denote any character, zero or more times. In other
+   words, any string at all. So we start with a literal forward slash,
+   then our regular expression pattern (".*") another literal forward
+   slash, the string "banners", another forward slash, and lastly another
+   ".*". We are building a directory path here. This will match any file
+   with the path that has a directory named "banners" in it. The ".*"
+   matches any characters, and this could conceivably be more forward
+   slashes, so it might expand into a much longer looking path. For
+   example, this could match:
+   "/eye/hate/spammers/banners/annoy_me_please.gif", or just
+   "/banners/annoying.html", or almost an infinite number of other
+   possible combinations, just so it has "banners" in the path somewhere.
+   
+   A now something a little more complex:
+   
+   /.*/adv((er)?ts?|ertis(ing|ements?))?/ - We have several literal
+   forward slashes again ("/"), so we are building another expression
+   that is a file path statement. We have another ".*", so we are
+   matching against any conceivable sub-path, just so it matches our
+   expression. The only true literal that must match our pattern is adv,
+   together with the forward slashes. What comes after the "adv" string
+   is the interesting part.
+   
+   Remember the "?" means the preceding expression (either a literal
+   character or anything grouped with "(...)" in this case) can exist or
+   not, since this means either zero or one match. So
+   "((er)?ts?|ertis(ing|ements?))" is optional, as are the individual
+   sub-expressions: "(er)", "(ing|ements?)", and the "s". The "|" means
+   "or". We have two of those. For instance, "(ing|ements?)", can expand
+   to match either "ing" OR "ements?". What is being done here, is an
+   attempt at matching as many variations of "advertisement", and
+   similar, as possible. So this would expand to match just "adv", or
+   "advert", or "adverts", or "advertising", or "advertisement", or
+   "advertisements". You get the idea. But it would not match
+   "advertizements" (with a "z"). We could fix that by changing our
+   regular expression to: "/.*/adv((er)?ts?|erti(s|z)(ing|ements?))?/",
+   which would then match either spelling.
+   
+   /.*/advert[0-9]+\.(gif|jpe?g) - Again another path statement with
+   forward slashes. Anything in the square brackets "[]" can be matched.
+   This is using "0-9" as a shorthand expression to mean any digit one
+   through nine. It is the same as saying "0123456789". So any digit
+   matches. The "+" means one or more of the preceding expression must be
+   included. The preceding expression here is what is in the square
+   brackets -- in this case, any digit one through nine. Then, at the
+   end, we have a grouping: "(gif|jpe?g)". This includes a "|", so this
+   needs to match the expression on either side of that bar character
+   also. A simple "gif" on one side, and the other side will in turn
+   match either "jpeg" or "jpg", since the "?" means the letter "e" is
+   optional and can be matched once or not at all. So we are building an
+   expression here to match image GIF or JPEG type image file. It must
+   include the literal string "advert", then one or more digits, and a
+   "." (which is now a literal, and not a special character, since it is
+   escaped with "\"), and lastly either "gif", or "jpeg", or "jpg". Some
+   possible matches would include: "//advert1.jpg",
+   "/nasty/ads/advert1234.gif", "/banners/from/hell/advert99.jpg". It
+   would not match "advert1.gif" (no leading slash), or "/adverts232.jpg"
+   (the expression does not include an "s"), or "/advert1.jsp" ("jsp" is
+   not in the expression anywhere).
+   
+   s/microsoft(?!.com)/MicroSuck/i - This is a substitution. "MicroSuck"
+   will replace any occurrence of "microsoft". The "i" at the end of the
+   expression means ignore case. The "(?!.com)" means the match should
+   fail if "microsoft" is followed by ".com". In other words, this acts
+   like a "NOT" modifier. In case this is a hyperlink, we don't want to
+   break it ;-).
+   
+   We are barely scratching the surface of regular expressions here so
+   that you can understand the default Junkbuster configuration files,
+   and maybe use this knowledge to customize your own installation. There
+   is much, much more that can be done with regular expressions. Now that
+   you know enough to get started, you can learn more on your own :/
+   
+   More reading on Perl Compatible Regular expressions:
+   [70]http://www.perldoc.com/perl5.6/pod/perlre.html
+     _________________________________________________________________
+   
 8.2. JunkBuster's Internal Pages
 
-Since JunkBuster proxies each requested web page, it is easy for JunkBuster to
-trap certain URLs. In this way, we can talk directly to JunkBuster, and see how
-it is configured, see how our rules are being applied, change these rules and
-other configuration options, and even turn JunkBuster's filtering off, all with
-a web browser. 
-
-The URLs listed below are the special ones that allow direct access to
-JunkBuster. Of course, JunkBuster must be running to access these. If not, you
-will get a friendly error message. Internet access is not necessary either.
-
-  * Junkbuster main page:
-   
-        http://ijbswa.sourceforge.net/config/
-       
-    Alternately, this may be reached at http://i.j.b/, but this variation may
-    not work as reliably as the above in some configurations.
+   Since JunkBuster proxies each requested web page, it is easy for
+   JunkBuster to trap certain URLs. In this way, we can talk directly to
+   JunkBuster, and see how it is configured, see how our rules are being
+   applied, change these rules and other configuration options, and even
+   turn JunkBuster's filtering off, all with a web browser.
    
-  * Show information about the current configuration:
+   The URLs listed below are the special ones that allow direct access to
+   JunkBuster. Of course, JunkBuster must be running to access these. If
+   not, you will get a friendly error message. Internet access is not
+   necessary either.
    
-        http://ijbswa.sourceforge.net/config/show-status
+     * Junkbuster main page:
        
-  * Show the source code version numbers:
-   
-        http://ijbswa.sourceforge.net/config/show-version
+     [71]http://ijbswa.sourceforge.net/config/
+       Alternately, this may be reached at [72]http://i.j.b/, but this
+       variation may not work as reliably as the above in some
+       configurations.
+     * Show information about the current configuration:
        
-  * Show the client's request headers:
-   
-        http://ijbswa.sourceforge.net/config/show-request
+     [73]http://ijbswa.sourceforge.net/config/show-status
+     * Show the source code version numbers:
        
-  * Show which actions apply to a URL and why:
-   
-        http://ijbswa.sourceforge.net/config/show-url-info
+     [74]http://ijbswa.sourceforge.net/config/show-version
+     * Show the client's request headers:
        
-  * Toggle JunkBuster on or off:
-   
-        http://ijbswa.sourceforge.net/config/toggle
+     [75]http://ijbswa.sourceforge.net/config/show-request
+     * Show which actions apply to a URL and why:
        
-    Short cuts. Turn off, then on:
-   
-        http://ijbswa.sourceforge.net/config/toggle?set=disable
+     [76]http://ijbswa.sourceforge.net/config/show-url-info
+     * Toggle JunkBuster on or off:
        
-        http://ijbswa.sourceforge.net/config/toggle?set=enable
+     [77]http://ijbswa.sourceforge.net/config/toggle
+       Short cuts. Turn off, then on:
        
-  * Edit the actions list file:
-   
-        http://ijbswa.sourceforge.net/config/edit-actions
+     [78]http://ijbswa.sourceforge.net/config/toggle?set=disable
        
-These may be bookmarked for quick reference. 
-
--------------------------------------------------------------------------------
-
+     [79]http://ijbswa.sourceforge.net/config/toggle?set=enable
+     * Edit the actions list file:
+       
+     [80]http://ijbswa.sourceforge.net/config/edit-actions
+       
+   These may be bookmarked for quick reference.
+     _________________________________________________________________
+   
 8.3. Anatomy of an Action
 
-The way Junkbuster applies "actions" to any given URL can be complex, and not
-always so easy to understand what is happening. And sometimes we need to be
-able to see just what Junkbuster is doing. Especially, if something Junkbuster
-is doing is causing us a problem inadvertantly. It can be a little daunting to
-look at the actions files themselves, since they tend to be filled with
-"regular expressions" whose consequences are not always so obvious.
-
-First, you enter one URL (or partial URL), and this page will tell you how the
-currently configured Junkbuster "actions" are being applied to that specific
-URL. This will not help with filtering effects from the re_filterfile! It also
-will not tell you about any other URLs that may be embedded within the URL you
-are testing. For instance, images such as ads are expressed as URLs within the
-raw page source of HTML pages. So you will only get info for the actual URL
-that is pasted into the prompt area -- not any sub-URLs. If you want to know
-about embedded URLs like ads, you will have to dig those out of the HTML
-source. Use your browser's "View Page Source" option for this.
-
-Let's look at an example, google.com, one section at a time:
-
- System default actions:                                                       
-                                                                               
- { -add-header -block -deanimate-gifs -downgrade -fast-redirects -filter       
-   -hide-forwarded -hide-from -hide-referer -hide-user-agent -image            
-   -image-blocker -limit-connect -no-compression -no-cookies-keep              
-   -no-cookies-read -no-cookies-set -no-popups -vanilla-wafer -wafer }         
-                                                                               
-                                                                               
-
-This is the top section, and only tells us of the compiled in defaults. This is
-basically what Junkbuster would do if there were not any "actions" defined,
-i.e. it does nothing. Every action is disabled. This is not particularly
-informative for our purposes here. OK, next section:
-
- Matches for http://google.com:                                                
-                                                                               
- { -add-header -block +deanimate-gifs -downgrade +fast-redirects               
-   +filter{html-annoyances} +filter{js-annoyances} +filter{no-popups}          
-   +filter{webbugs} +filter{nimda} +filter{banners-by-size} +filter{hal}       
-   +filter{fun} +hide-forwarded +hide-from{block} +hide-referer{forge}         
-   -hide-user-agent -image +image-blocker{blank} +no-compression               
-   +no-cookies-keep -no-cookies-read -no-cookies-set +no-popups                
-   -vanilla-wafer -wafer }                                                     
-   /                                                                           
-                                                                               
- { -no-cookies-keep -no-cookies-read -no-cookies-set }                         
-  .google.com                                                                  
-                                                                               
- { -fast-redirects }                                                           
-  .google.com                                                                  
-                                                                               
-                                                                               
-
-This is much more informative, and tells us how we have defined our "actions",
-and which ones match for our example, "google.com". The first grouping shows
-our default settings, which would apply to all URLs. If you look at your
-"actions" file, this would be the section just below the "aliases" section near
-the top. This applies to all URLs as signified by the single forward slash -- "
-/".
-
-These are the default actions we have enabled. But we can define additional
-actions that would be exceptions to these general rules, and then list specific
-URLs that these exceptions would apply to. Last match wins. Just below this
-then are two explict matches for ".google.com". The first is negating our
-various cookie blocking actions (i.e. we will allow cookies here). The second
-is allowing "fast-redirects". Note that there is a leading dot here --
-".google.com". This will match any hosts and sub-domains, in the google.com
-domain also, such as "www.google.com". So, apparently, we have these actions
-defined somewhere in the lower part of our actions file, and "google.com" is
-referenced in these sections. 
-
-And now we pull it altogether in the bottom section and summarize how
-Junkbuster is appying all its "actions" to "google.com": 
-
- Final results:                                                                
-                                                                               
- -add-header -block -deanimate-gifs -downgrade -fast-redirects                 
- +filter{html-annoyances} +filter{js-annoyances} +filter{no-popups}            
- +filter{webbugs} +filter{nimda} +filter{banners-by-size} +filter{hal}         
- +filter{fun} +hide-forwarded +hide-from{block} +hide-referer{forge}           
- -hide-user-agent -image +image-blocker{blank} -limit-connect +no-compression  
- -no-cookies-keep -no-cookies-read -no-cookies-set +no-popups -vanilla-wafer   
- -wafer                                                                        
-                                                                               
-                                                                               
-
-Now another example, "ad.doubleclick.net":
-
- { +block +image }                                                             
-  .ad.doubleclick.net                                                          
-                                                                               
- { +block +image }                                                             
-  ad*.                                                                         
-                                                                               
- { +block +image }                                                             
-  .doubleclick.net                                                             
-                                                                               
-                                                                               
-
-We'll just show the interesting part here, the explicit matches. It is matched
-three different times. Each as an "+block +image", which is the expanded form
-of one of our aliases that had been defined as: "+imageblock". ("Aliases" are
-defined in the first section of the actions file and typically used to combine
-more than one action.)
-
-Any one of these would have done the trick and blocked this as an unwanted
-image. This is unnecessarily redundant since the last case effectively would
-also cover the first. No point in taking chances with these guys though ;-)
-Note that if you want an ad or obnoxious URL to be invisible, it should be
-defined as "ad.doubleclick.net" is done here -- as both a "+block" and an
-"+image". The custom alias "+imageblock" does this for us.
-
-One last example. Let's try "http://www.rhapsodyk.net/adsl/HOWTO/". This one is
-giving us problems. We are getting a blank page. Hmmm...
-
- Matches for http://www.rhapsodyk.net/adsl/HOWTO/:                             
-                                                                               
- { -add-header -block +deanimate-gifs -downgrade +fast-redirects               
-   +filter{html-annoyances} +filter{js-annoyances} +filter{no-popups}          
-   +filter{webbugs} +filter{nimda} +filter{banners-by-size} +filter{hal}       
-   +filter{fun} +hide-forwarded +hide-from{block} +hide-referer{forge}         
-   -hide-user-agent -image +image-blocker{blank} +no-compression               
-   +no-cookies-keep -no-cookies-read -no-cookies-set +no-popups                
-   -vanilla-wafer -wafer }                                                     
-   /                                                                           
-                                                                               
- { +block +image }                                                             
-  /ads                                                                         
-                                                                               
-                                                                               
-
-Ooops, the "/adsl/" is matching "/ads"! But we did not want this at all! Now we
-see why we get the blank page. We could now add a new action below this that
-explictly does not block (-block) pages with "adsl". There are various ways to
-handle such exceptions. Example:
-
- { -block }                                                                    
-  /adsl                                                                        
-                                                                               
-                                                                               
-
-Now the page displays ;-) 
+   The way Junkbuster applies "actions" to any given URL can be complex,
+   and not always so easy to understand what is happening. And sometimes
+   we need to be able to see just what Junkbuster is doing. Especially,
+   if something Junkbuster is doing is causing us a problem
+   inadvertantly. It can be a little daunting to look at the actions
+   files themselves, since they tend to be filled with "regular
+   expressions" whose consequences are not always so obvious.
+   
+   First, you enter one URL (or partial URL), and this page will tell you
+   how the currently configured Junkbuster "actions" are being applied to
+   that specific URL. This will not help with filtering effects from the
+   re_filterfile! It also will not tell you about any other URLs that may
+   be embedded within the URL you are testing. For instance, images such
+   as ads are expressed as URLs within the raw page source of HTML pages.
+   So you will only get info for the actual URL that is pasted into the
+   prompt area -- not any sub-URLs. If you want to know about embedded
+   URLs like ads, you will have to dig those out of the HTML source. Use
+   your browser's "View Page Source" option for this.
+   
+   Let's look at an example, [81]google.com, one section at a time:
+   
+ System default actions:
+
+ { -add-header -block -deanimate-gifs -downgrade -fast-redirects -filter
+   -hide-forwarded -hide-from -hide-referer -hide-user-agent -image
+   -image-blocker -limit-connect -no-compression -no-cookies-keep
+   -no-cookies-read -no-cookies-set -no-popups -vanilla-wafer -wafer }
+
+
+   This is the top section, and only tells us of the compiled in
+   defaults. This is basically what Junkbuster would do if there were not
+   any "actions" defined, i.e. it does nothing. Every action is disabled.
+   This is not particularly informative for our purposes here. OK, next
+   section:
+   
+ Matches for http://google.com:
+
+ { -add-header -block +deanimate-gifs -downgrade +fast-redirects
+   +filter{html-annoyances} +filter{js-annoyances} +filter{no-popups}
+   +filter{webbugs} +filter{nimda} +filter{banners-by-size} +filter{hal}
+   +filter{fun} +hide-forwarded +hide-from{block} +hide-referer{forge}
+   -hide-user-agent -image +image-blocker{blank} +no-compression
+   +no-cookies-keep -no-cookies-read -no-cookies-set +no-popups
+   -vanilla-wafer -wafer }
+   /
 
+ { -no-cookies-keep -no-cookies-read -no-cookies-set }
+  .google.com
+
+ { -fast-redirects }
+  .google.com
+
+
+   This is much more informative, and tells us how we have defined our
+   "actions", and which ones match for our example, "google.com". The
+   first grouping shows our default settings, which would apply to all
+   URLs. If you look at your "actions" file, this would be the section
+   just below the "aliases" section near the top. This applies to all
+   URLs as signified by the single forward slash -- "/".
+   
+   These are the default actions we have enabled. But we can define
+   additional actions that would be exceptions to these general rules,
+   and then list specific URLs that these exceptions would apply to. Last
+   match wins. Just below this then are two explict matches for
+   ".google.com". The first is negating our various cookie blocking
+   actions (i.e. we will allow cookies here). The second is allowing
+   "fast-redirects". Note that there is a leading dot here --
+   ".google.com". This will match any hosts and sub-domains, in the
+   google.com domain also, such as "www.google.com". So, apparently, we
+   have these actions defined somewhere in the lower part of our actions
+   file, and "google.com" is referenced in these sections.
+   
+   And now we pull it altogether in the bottom section and summarize how
+   Junkbuster is appying all its "actions" to "google.com":
+   
+ Final results:
+
+ -add-header -block -deanimate-gifs -downgrade -fast-redirects
+ +filter{html-annoyances} +filter{js-annoyances} +filter{no-popups}
+ +filter{webbugs} +filter{nimda} +filter{banners-by-size} +filter{hal}
+ +filter{fun} +hide-forwarded +hide-from{block} +hide-referer{forge}
+ -hide-user-agent -image +image-blocker{blank} -limit-connect +no-compression
+ -no-cookies-keep -no-cookies-read -no-cookies-set +no-popups -vanilla-wafer
+ -wafer
+
+
+   Now another example, "ad.doubleclick.net":
+   
+ { +block +image }
+  .ad.doubleclick.net
+
+ { +block +image }
+  ad*.
+
+ { +block +image }
+  .doubleclick.net
+
+
+   We'll just show the interesting part here, the explicit matches. It is
+   matched three different times. Each as an "+block +image", which is
+   the expanded form of one of our aliases that had been defined as:
+   "+imageblock". ("Aliases" are defined in the first section of the
+   actions file and typically used to combine more than one action.)
+   
+   Any one of these would have done the trick and blocked this as an
+   unwanted image. This is unnecessarily redundant since the last case
+   effectively would also cover the first. No point in taking chances
+   with these guys though ;-) Note that if you want an ad or obnoxious
+   URL to be invisible, it should be defined as "ad.doubleclick.net" is
+   done here -- as both a "+block" and an "+image". The custom alias
+   "+imageblock" does this for us.
+   
+   One last example. Let's try "http://www.rhapsodyk.net/adsl/HOWTO/".
+   This one is giving us problems. We are getting a blank page. Hmmm...
+   
+ Matches for http://www.rhapsodyk.net/adsl/HOWTO/:
+
+ { -add-header -block +deanimate-gifs -downgrade +fast-redirects
+   +filter{html-annoyances} +filter{js-annoyances} +filter{no-popups}
+   +filter{webbugs} +filter{nimda} +filter{banners-by-size} +filter{hal}
+   +filter{fun} +hide-forwarded +hide-from{block} +hide-referer{forge}
+   -hide-user-agent -image +image-blocker{blank} +no-compression
+   +no-cookies-keep -no-cookies-read -no-cookies-set +no-popups
+   -vanilla-wafer -wafer }
+   /
+
+ { +block +image }
+  /ads
+
+
+   Ooops, the "/adsl/" is matching "/ads"! But we did not want this at
+   all! Now we see why we get the blank page. We could now add a new
+   action below this that explictly does not block (-block) pages with
+   "adsl". There are various ways to handle such exceptions. Example:
+   
+ { -block }
+  /adsl
+
+
+   Now the page displays ;-)
+
+References
+
+   Visible links
+   1. http://ijbswa.sourceforge.net/user-manual/
+   2. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#INTRODUCTION
+   3. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN27
+   4. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#INSTALLATION
+   5. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#INSTALLATION-SOURCE
+   6. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#INSTALLATION-RH
+   7. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#INSTALLATION-SUSE
+   8. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#INSTALLATION-OS2
+   9. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#INSTALLATION-WIN
+  10. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#INSTALLATION-OTHER
+  11. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#CONFIGURATION
+  12. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN144
+  13. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN161
+  14. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN192
+  15. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN225
+  16. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN317
+  17. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN454
+  18. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN542
+  19. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN651
+  20. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#ACTIONSFILE
+  21. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN749
+  22. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN823
+  23. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN1143
+  24. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#FILTERFILE
+  25. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN1202
+  26. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#QUICKSTART
+  27. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN1257
+  28. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#CONTACT
+  29. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#COPYRIGHT
+  30. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN1316
+  31. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN1322
+  32. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#SEEALSO
+  33. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#APPENDIX
+  34. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#REGEX
+  35. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN1506
+  36. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#ACTIONSANAT
+  37. http://i.j.b/
+  38. http://sourceforge.net/projects/ijbswa/
+  39. http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/ijbswa/current/
+  40. http://www.gnu.org/
+  41. http://i.j.b/
+  42. http://ijbswa.sourceforge.net/config/
+  43. http://i.j.b/
+  44. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#ACTIONSFILE
+  45. http://i.j.b/
+  46. http://i.j.b/
+  47. http://i.j.b/
+  48. http://i.j.b/
+  49. http://i.j.b/show-url-info
+  50. http://www.perldoc.com/perl5.6/pod/perlre.html
+  51. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#REGEX
+  52. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#ACTIONSANAT
+  53. http://i.j.b/
+  54. http://sourceforge.net/tracker/?group_id=11118&atid=211118
+  55. http://sourceforge.net/tracker/?group_id=11118&atid=111118
+  56. http://sourceforge.net/tracker/?atid=361118&group_id=11118&func=browse
+  57. http://sourceforge.net/mail/?group_id=11118
+  58. http://sourceforge.net/mail/?group_id=11118
+  59. http://www.gnu.org/copyleft/gpl.html
+  60. http://www.junkbusters.com/ht/en/ijbfaq.html
+  61. http://www.waldherr.org/junkbuster/
+  62. http://sourceforge.net/projects/ijbswa/
+  63. http://sourceforge.net/projects/ijbswa
+  64. http://ijbswa.sourceforge.net/
+  65. http://i.j.b/
+  66. http://www.junkbusters.com/ht/en/cookies.html
+  67. http://www.waldherr.org/junkbuster/
+  68. http://privacy.net/analyze/
+  69. http://www.squid-cache.org/
+  70. http://www.perldoc.com/perl5.6/pod/perlre.html
+  71. http://ijbswa.sourceforge.net/config/
+  72. http://i.j.b/
+  73. http://ijbswa.sourceforge.net/config/show-status
+  74. http://ijbswa.sourceforge.net/config/show-version
+  75. http://ijbswa.sourceforge.net/config/show-request
+  76. http://ijbswa.sourceforge.net/config/show-url-info
+  77. http://ijbswa.sourceforge.net/config/toggle
+  78. http://ijbswa.sourceforge.net/config/toggle?set=disable
+  79. http://ijbswa.sourceforge.net/config/toggle?set=enable
+  80. http://ijbswa.sourceforge.net/config/edit-actions
+  81. http://google.com/
+
+   Hidden links:
+  82. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN1378
+  83. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN1386
+  84. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN1389
+  85. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN1392
+  86. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN1395
+  87. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN1400
+  88. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN1403
+  89. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN1406
+  90. file://localhost/home/swa/sf/current-org/doc/source/tmp.html#AEN1412