First rebuild for 3.0.18 stable
authorFabian Keil <fk@fabiankeil.de>
Sun, 13 Nov 2011 17:06:49 +0000 (17:06 +0000)
committerFabian Keil <fk@fabiankeil.de>
Sun, 13 Nov 2011 17:06:49 +0000 (17:06 +0000)
The diff is yet again a bit bloated because apparently
the trailing white-space cleanup wasn't finished.

38 files changed:
doc/webserver/developer-manual/coding.html
doc/webserver/developer-manual/contact.html
doc/webserver/developer-manual/copyright.html
doc/webserver/developer-manual/cvs.html
doc/webserver/developer-manual/documentation.html
doc/webserver/developer-manual/index.html
doc/webserver/developer-manual/introduction.html
doc/webserver/developer-manual/newrelease.html
doc/webserver/developer-manual/seealso.html
doc/webserver/developer-manual/testing.html
doc/webserver/developer-manual/webserver-update.html
doc/webserver/faq/configuration.html
doc/webserver/faq/contact.html
doc/webserver/faq/copyright.html
doc/webserver/faq/general.html
doc/webserver/faq/index.html
doc/webserver/faq/installation.html
doc/webserver/faq/misc.html
doc/webserver/faq/trouble.html
doc/webserver/index.html
doc/webserver/man-page/privoxy-man-page.html
doc/webserver/privoxy-index.html
doc/webserver/team/index.html
doc/webserver/user-manual/actions-file.html
doc/webserver/user-manual/appendix.html
doc/webserver/user-manual/config.html
doc/webserver/user-manual/configuration.html
doc/webserver/user-manual/contact.html
doc/webserver/user-manual/copyright.html
doc/webserver/user-manual/filter-file.html
doc/webserver/user-manual/index.html
doc/webserver/user-manual/installation.html
doc/webserver/user-manual/introduction.html
doc/webserver/user-manual/quickstart.html
doc/webserver/user-manual/seealso.html
doc/webserver/user-manual/startup.html
doc/webserver/user-manual/templates.html
doc/webserver/user-manual/whatsnew.html

index 7d7854e..590801e 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
-Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+
 <html>
-  <head>
-    <meta name="generator" content="HTML Tidy, see www.w3.org">
-    <title>
-      Coding Guidelines
-    </title>
-    <meta name="GENERATOR" content=
-    "Modular DocBook HTML Stylesheet Version 1.79">
-    <link rel="HOME" title="Privoxy Developer Manual" href="index.html">
-    <link rel="PREVIOUS" title="Documentation Guidelines" href=
-    "documentation.html">
-    <link rel="NEXT" title="Testing Guidelines" href="testing.html">
-    <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
-    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<style type="text/css">
- body {
+<head>
+  <meta name="generator" content=
+  "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
+
+  <title>Coding Guidelines</title>
+  <meta name="GENERATOR" content=
+  "Modular DocBook HTML Stylesheet Version 1.79">
+  <link rel="HOME" title="Privoxy Developer Manual" href="index.html">
+  <link rel="PREVIOUS" title="Documentation Guidelines" href=
+  "documentation.html">
+  <link rel="NEXT" title="Testing Guidelines" href="testing.html">
+  <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
+  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+  <style type="text/css">
+body {
   background-color: #EEEEEE;
   color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- hr.c1 {text-align: left}
-</style>
-  </head>
-  <body class="SECT1">
-    <div class="NAVHEADER">
-      <table summary="Header navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <th colspan="3" align="center">
-            Privoxy Developer Manual
-          </th>
-        </tr>
-        <tr>
-          <td width="10%" align="left" valign="bottom">
-            <a href="documentation.html" accesskey="P">Prev</a>
-          </td>
-          <td width="80%" align="center" valign="bottom">
-          </td>
-          <td width="10%" align="right" valign="bottom">
-            <a href="testing.html" accesskey="N">Next</a>
-          </td>
-        </tr>
-      </table>
-      <hr width="100%" class="c1">
+  }
+  :link { color: #0000FF }
+  :visited { color: #840084 }
+  :active { color: #0000FF }
+  table.c3 {background-color: #E0E0E0}
+  span.c2 {font-style: italic}
+  hr.c1 {text-align: left}
+  </style>
+</head>
+
+<body class="SECT1">
+  <div class="NAVHEADER">
+    <table summary="Header navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <th colspan="3" align="center">Privoxy Developer Manual</th>
+      </tr>
+
+      <tr>
+        <td width="10%" align="left" valign="bottom"><a href=
+        "documentation.html" accesskey="P">Prev</a></td>
+
+        <td width="80%" align="center" valign="bottom"></td>
+
+        <td width="10%" align="right" valign="bottom"><a href="testing.html"
+        accesskey="N">Next</a></td>
+      </tr>
+    </table>
+    <hr class="c1" width="100%">
+  </div>
+
+  <div class="SECT1">
+    <h1 class="SECT1"><a name="CODING" id="CODING">4. Coding
+    Guidelines</a></h1>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="S1" id="S1">4.1. Introduction</a></h2>
+
+      <p>This set of standards is designed to make our lives easier. It is
+      developed with the simple goal of helping us keep the "new and improved
+      <span class="APPLICATION">Privoxy</span>" consistent and reliable. Thus
+      making maintenance easier and increasing chances of success of the
+      project.</p>
+
+      <p>And that of course comes back to us as individuals. If we can
+      increase our development and product efficiencies then we can solve
+      more of the request for changes/improvements and in general feel good
+      about ourselves. ;-&gt;</p>
     </div>
-    <div class="SECT1">
-      <h1 class="SECT1">
-        <a name="CODING">4. Coding Guidelines</a>
-      </h1>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="S1">4.1. Introduction</a>
-        </h2>
-        <p>
-          This set of standards is designed to make our lives easier. It is
-          developed with the simple goal of helping us keep the "new and
-          improved <span class="APPLICATION">Privoxy</span>" consistent and
-          reliable. Thus making maintenance easier and increasing chances of
-          success of the project.
-        </p>
-        <p>
-          And that of course comes back to us as individuals. If we can
-          increase our development and product efficiencies then we can solve
-          more of the request for changes/improvements and in general feel
-          good about ourselves. ;-&gt;
-        </p>
-      </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="S2">4.2. Using Comments</a>
-        </h2>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="S3">4.2.1. Comment, Comment, Comment</a>
-          </h3>
-          <p>
-            <span class="emphasis"><i class=
-            "EMPHASIS">Explanation:</i></span>
-          </p>
-          <p>
-            Comment as much as possible without commenting the obvious. For
-            example do not comment "variable_a is equal to variable_b".
-            Instead explain why variable_a should be equal to the variable_b.
-            Just because a person can read code does not mean they will
-            understand why or what is being done. A reader may spend a lot
-            more time figuring out what is going on when a simple comment or
-            explanation would have prevented the extra research. Please help
-            your brother IJB'ers out!
-          </p>
-          <p>
-            The comments will also help justify the intent of the code. If
-            the comment describes something different than what the code is
-            doing then maybe a programming error is occurring.
-          </p>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Example:</i></span>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="S2" id="S2">4.2. Using Comments</a></h2>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="S3" id="S3">4.2.1. Comment, Comment,
+        Comment</a></h3>
+
+        <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+
+        <p>Comment as much as possible without commenting the obvious. For
+        example do not comment "variable_a is equal to variable_b". Instead
+        explain why variable_a should be equal to the variable_b. Just
+        because a person can read code does not mean they will understand why
+        or what is being done. A reader may spend a lot more time figuring
+        out what is going on when a simple comment or explanation would have
+        prevented the extra research. Please help your brother IJB'ers
+        out!</p>
+
+        <p>The comments will also help justify the intent of the code. If the
+        comment describes something different than what the code is doing
+        then maybe a programming error is occurring.</p>
+
+        <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
 /* if page size greater than 1k ... */
 if ( page_length() &gt; 1024 )
 {
@@ -119,32 +113,29 @@ This demonstrates 2 cases of "what not to do".  The first is a
 "syntax comment".  The second is a comment that does not fit what
 is actually being done.
 </pre>
-              </td>
-            </tr>
-          </table>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="S4">4.2.2. Use blocks for comments</a>
-          </h3>
-          <p>
-            <span class="emphasis"><i class=
-            "EMPHASIS">Explanation:</i></span>
-          </p>
-          <p>
-            Comments can help or they can clutter. They help when they are
-            differentiated from the code they describe. One line comments do
-            not offer effective separation between the comment and the code.
-            Block identifiers do, by surrounding the code with a clear,
-            definable pattern.
-          </p>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Example:</i></span>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+            </td>
+          </tr>
+        </table>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="S4" id="S4">4.2.2. Use blocks for
+        comments</a></h3>
+
+        <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+
+        <p>Comments can help or they can clutter. They help when they are
+        differentiated from the code they describe. One line comments do not
+        offer effective separation between the comment and the code. Block
+        identifiers do, by surrounding the code with a clear, definable
+        pattern.</p>
+
+        <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
 /*********************************************************************
  * This will stand out clearly in your code!
  *********************************************************************/
@@ -166,43 +157,37 @@ if ( this_variable == that_variable ) /* this may not either */
    do_something_very_important();
 }
 </pre>
-              </td>
-            </tr>
-          </table>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Exception:</i></span>
-          </p>
-          <p>
-            If you are trying to add a small logic comment and do not wish to
-            "disrupt" the flow of the code, feel free to use a 1 line comment
-            which is NOT on the same line as the code.
-          </p>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="S5">4.2.3. Keep Comments on their own line</a>
-          </h3>
-          <p>
-            <span class="emphasis"><i class=
-            "EMPHASIS">Explanation:</i></span>
-          </p>
-          <p>
-            It goes back to the question of readability. If the comment is on
-            the same line as the code it will be harder to read than the
-            comment that is on its own line.
-          </p>
-          <p>
-            There are three exceptions to this rule, which should be violated
-            freely and often: during the definition of variables, at the end
-            of closing braces, when used to comment parameters.
-          </p>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Example:</i></span>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+            </td>
+          </tr>
+        </table>
+
+        <p><span class="emphasis EMPHASIS c2">Exception:</span></p>
+
+        <p>If you are trying to add a small logic comment and do not wish to
+        "disrupt" the flow of the code, feel free to use a 1 line comment
+        which is NOT on the same line as the code.</p>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="S5" id="S5">4.2.3. Keep Comments on their
+        own line</a></h3>
+
+        <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+
+        <p>It goes back to the question of readability. If the comment is on
+        the same line as the code it will be harder to read than the comment
+        that is on its own line.</p>
+
+        <p>There are three exceptions to this rule, which should be violated
+        freely and often: during the definition of variables, at the end of
+        closing braces, when used to comment parameters.</p>
+
+        <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
 /*********************************************************************
  * This will stand out clearly in your code,
  * But the second example won't.
@@ -238,86 +223,71 @@ short do_something_very_important(
 
 }   /* -END- do_something_very_important */
 </pre>
-              </td>
-            </tr>
-          </table>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="S6">4.2.4. Comment each logical step</a>
-          </h3>
-          <p>
-            <span class="emphasis"><i class=
-            "EMPHASIS">Explanation:</i></span>
-          </p>
-          <p>
-            Logical steps should be commented to help others follow the
-            intent of the written code and comments will make the code more
-            readable.
-          </p>
-          <p>
-            If you have 25 lines of code without a comment, you should
-            probably go back into it to see where you forgot to put one.
-          </p>
-          <p>
-            Most "for", "while", "do", etc... loops _probably_ need a
-            comment. After all, these are usually major logic containers.
-          </p>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="S7">4.2.5. Comment All Functions Thoroughly</a>
-          </h3>
-          <p>
-            <span class="emphasis"><i class=
-            "EMPHASIS">Explanation:</i></span>
-          </p>
-          <p>
-            A reader of the code should be able to look at the comments just
-            prior to the beginning of a function and discern the reason for
-            its existence and the consequences of using it. The reader should
-            not have to read through the code to determine if a given
-            function is safe for a desired use. The proper information
-            thoroughly presented at the introduction of a function not only
-            saves time for subsequent maintenance or debugging, it more
-            importantly aids in code reuse by allowing a user to determine
-            the safety and applicability of any function for the problem at
-            hand. As a result of such benefits, all functions should contain
-            the information presented in the addendum section of this
-            document.
-          </p>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="S8">4.2.6. Comment at the end of braces if the content
-            is more than one screen length</a>
-          </h3>
-          <p>
-            <span class="emphasis"><i class=
-            "EMPHASIS">Explanation:</i></span>
-          </p>
-          <p>
-            Each closing brace should be followed on the same line by a
-            comment that describes the origination of the brace if the
-            original brace is off of the screen, or otherwise far away from
-            the closing brace. This will simplify the debugging, maintenance,
-            and readability of the code.
-          </p>
-          <p>
-            As a suggestion , use the following flags to make the comment and
-            its brace more readable:
-          </p>
-          <p>
-            use following a closing brace: } /* -END- if() or while () or
-            etc... */
-          </p>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Example:</i></span>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+            </td>
+          </tr>
+        </table>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="S6" id="S6">4.2.4. Comment each logical
+        step</a></h3>
+
+        <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+
+        <p>Logical steps should be commented to help others follow the intent
+        of the written code and comments will make the code more
+        readable.</p>
+
+        <p>If you have 25 lines of code without a comment, you should
+        probably go back into it to see where you forgot to put one.</p>
+
+        <p>Most "for", "while", "do", etc... loops _probably_ need a comment.
+        After all, these are usually major logic containers.</p>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="S7" id="S7">4.2.5. Comment All Functions
+        Thoroughly</a></h3>
+
+        <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+
+        <p>A reader of the code should be able to look at the comments just
+        prior to the beginning of a function and discern the reason for its
+        existence and the consequences of using it. The reader should not
+        have to read through the code to determine if a given function is
+        safe for a desired use. The proper information thoroughly presented
+        at the introduction of a function not only saves time for subsequent
+        maintenance or debugging, it more importantly aids in code reuse by
+        allowing a user to determine the safety and applicability of any
+        function for the problem at hand. As a result of such benefits, all
+        functions should contain the information presented in the addendum
+        section of this document.</p>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="S8" id="S8">4.2.6. Comment at the end of
+        braces if the content is more than one screen length</a></h3>
+
+        <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+
+        <p>Each closing brace should be followed on the same line by a
+        comment that describes the origination of the brace if the original
+        brace is off of the screen, or otherwise far away from the closing
+        brace. This will simplify the debugging, maintenance, and readability
+        of the code.</p>
+
+        <p>As a suggestion , use the following flags to make the comment and
+        its brace more readable:</p>
+
+        <p>use following a closing brace: } /* -END- if() or while () or
+        etc... */</p>
+
+        <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
 if ( 1 == X )
 {
    do_something_very_important();
@@ -332,301 +302,268 @@ if ( 1 == X )
    ...some long list of commands...
 } /* -END- if ( 1 == X ) */
 </pre>
-              </td>
-            </tr>
-          </table>
-        </div>
+            </td>
+          </tr>
+        </table>
       </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="S9">4.3. Naming Conventions</a>
-        </h2>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="S10">4.3.1. Variable Names</a>
-          </h3>
-          <p>
-            <span class="emphasis"><i class=
-            "EMPHASIS">Explanation:</i></span>
-          </p>
-          <p>
-            Use all lowercase, and separate words via an underscore ('_'). Do
-            not start an identifier with an underscore. (ANSI C reserves
-            these for use by the compiler and system headers.) Do not use
-            identifiers which are reserved in ANSI C++. (E.g. template,
-            class, true, false, ...). This is in case we ever decide to port
-            Privoxy to C++.
-          </p>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Example:</i></span>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+    </div>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="S9" id="S9">4.3. Naming Conventions</a></h2>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="S10" id="S10">4.3.1. Variable
+        Names</a></h3>
+
+        <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+
+        <p>Use all lowercase, and separate words via an underscore ('_'). Do
+        not start an identifier with an underscore. (ANSI C reserves these
+        for use by the compiler and system headers.) Do not use identifiers
+        which are reserved in ANSI C++. (E.g. template, class, true, false,
+        ...). This is in case we ever decide to port Privoxy to C++.</p>
+
+        <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
 int ms_iis5_hack = 0;
 </pre>
-              </td>
-            </tr>
-          </table>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Instead of:</i></span>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+            </td>
+          </tr>
+        </table>
+
+        <p><span class="emphasis EMPHASIS c2">Instead of:</span></p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
 int msiis5hack = 0; int msIis5Hack = 0;
 </pre>
-              </td>
-            </tr>
-          </table>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="S11">4.3.2. Function Names</a>
-          </h3>
-          <p>
-            <span class="emphasis"><i class=
-            "EMPHASIS">Explanation:</i></span>
-          </p>
-          <p>
-            Use all lowercase, and separate words via an underscore ('_'). Do
-            not start an identifier with an underscore. (ANSI C reserves
-            these for use by the compiler and system headers.) Do not use
-            identifiers which are reserved in ANSI C++. (E.g. template,
-            class, true, false, ...). This is in case we ever decide to port
-            Privoxy to C++.
-          </p>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Example:</i></span>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+            </td>
+          </tr>
+        </table>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="S11" id="S11">4.3.2. Function
+        Names</a></h3>
+
+        <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+
+        <p>Use all lowercase, and separate words via an underscore ('_'). Do
+        not start an identifier with an underscore. (ANSI C reserves these
+        for use by the compiler and system headers.) Do not use identifiers
+        which are reserved in ANSI C++. (E.g. template, class, true, false,
+        ...). This is in case we ever decide to port Privoxy to C++.</p>
+
+        <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
 int load_some_file( struct client_state *csp )
 </pre>
-              </td>
-            </tr>
-          </table>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Instead of:</i></span>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+            </td>
+          </tr>
+        </table>
+
+        <p><span class="emphasis EMPHASIS c2">Instead of:</span></p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
 int loadsomefile( struct client_state *csp )
 int loadSomeFile( struct client_state *csp )
 </pre>
-              </td>
-            </tr>
-          </table>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="S12">4.3.3. Header file prototypes</a>
-          </h3>
-          <p>
-            <span class="emphasis"><i class=
-            "EMPHASIS">Explanation:</i></span>
-          </p>
-          <p>
-            Use a descriptive parameter name in the function prototype in
-            header files. Use the same parameter name in the header file that
-            you use in the c file.
-          </p>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Example:</i></span>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+            </td>
+          </tr>
+        </table>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="S12" id="S12">4.3.3. Header file
+        prototypes</a></h3>
+
+        <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+
+        <p>Use a descriptive parameter name in the function prototype in
+        header files. Use the same parameter name in the header file that you
+        use in the c file.</p>
+
+        <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
 (.h) extern int load_aclfile( struct client_state *csp );
 (.c) int load_aclfile( struct client_state *csp )
 </pre>
-              </td>
-            </tr>
-          </table>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Instead of:</i></span>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+            </td>
+          </tr>
+        </table>
+
+        <p><span class="emphasis EMPHASIS c2">Instead of:</span></p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
 (.h) extern int load_aclfile( struct client_state * ); or
 (.h) extern int load_aclfile();
 (.c) int load_aclfile( struct client_state *csp )
 </pre>
-              </td>
-            </tr>
-          </table>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="S13">4.3.4. Enumerations, and #defines</a>
-          </h3>
-          <p>
-            <span class="emphasis"><i class=
-            "EMPHASIS">Explanation:</i></span>
-          </p>
-          <p>
-            Use all capital letters, with underscores between words. Do not
-            start an identifier with an underscore. (ANSI C reserves these
-            for use by the compiler and system headers.)
-          </p>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Example:</i></span>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+            </td>
+          </tr>
+        </table>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="S13" id="S13">4.3.4. Enumerations, and
+        #defines</a></h3>
+
+        <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+
+        <p>Use all capital letters, with underscores between words. Do not
+        start an identifier with an underscore. (ANSI C reserves these for
+        use by the compiler and system headers.)</p>
+
+        <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
 (enumeration) : enum Boolean { FALSE, TRUE };
 (#define) : #define DEFAULT_SIZE 100;
 </pre>
-              </td>
-            </tr>
-          </table>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Note:</i></span> We
-            have a standard naming scheme for #defines that toggle a feature
-            in the preprocessor: FEATURE_&gt;, where &gt; is a short
-            (preferably 1 or 2 word) description.
-          </p>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Example:</i></span>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+            </td>
+          </tr>
+        </table>
+
+        <p><span class="emphasis EMPHASIS c2">Note:</span> We have a standard
+        naming scheme for #defines that toggle a feature in the preprocessor:
+        FEATURE_&gt;, where &gt; is a short (preferably 1 or 2 word)
+        description.</p>
+
+        <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
 #define FEATURE_FORCE 1
 
 #ifdef FEATURE_FORCE
 #define FORCE_PREFIX blah
 #endif /* def FEATURE_FORCE */
 </pre>
-              </td>
-            </tr>
-          </table>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="S14">4.3.5. Constants</a>
-          </h3>
-          <p>
-            <span class="emphasis"><i class=
-            "EMPHASIS">Explanation:</i></span>
-          </p>
-          <p>
-            Spell common words out entirely (do not remove vowels).
-          </p>
-          <p>
-            Use only widely-known domain acronyms and abbreviations.
-            Capitalize all letters of an acronym.
-          </p>
-          <p>
-            Use underscore (_) to separate adjacent acronyms and
-            abbreviations. Never terminate a name with an underscore.
-          </p>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Example:</i></span>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+            </td>
+          </tr>
+        </table>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="S14" id="S14">4.3.5. Constants</a></h3>
+
+        <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+
+        <p>Spell common words out entirely (do not remove vowels).</p>
+
+        <p>Use only widely-known domain acronyms and abbreviations.
+        Capitalize all letters of an acronym.</p>
+
+        <p>Use underscore (_) to separate adjacent acronyms and
+        abbreviations. Never terminate a name with an underscore.</p>
+
+        <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
 #define USE_IMAGE_LIST 1
 </pre>
-              </td>
-            </tr>
-          </table>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Instead of:</i></span>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+            </td>
+          </tr>
+        </table>
+
+        <p><span class="emphasis EMPHASIS c2">Instead of:</span></p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
 #define USE_IMG_LST 1 or
 #define _USE_IMAGE_LIST 1 or
 #define USE_IMAGE_LIST_ 1 or
 #define use_image_list 1 or
 #define UseImageList 1
 </pre>
-              </td>
-            </tr>
-          </table>
-        </div>
+            </td>
+          </tr>
+        </table>
       </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="S15">4.4. Using Space</a>
-        </h2>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="S16">4.4.1. Put braces on a line by themselves.</a>
-          </h3>
-          <p>
-            <span class="emphasis"><i class=
-            "EMPHASIS">Explanation:</i></span>
-          </p>
-          <p>
-            The brace needs to be on a line all by itself, not at the end of
-            the statement. Curly braces should line up with the construct
-            that they're associated with. This practice makes it easier to
-            identify the opening and closing braces for a block.
-          </p>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Example:</i></span>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+    </div>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="S15" id="S15">4.4. Using Space</a></h2>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="S16" id="S16">4.4.1. Put braces on a line
+        by themselves.</a></h3>
+
+        <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+
+        <p>The brace needs to be on a line all by itself, not at the end of
+        the statement. Curly braces should line up with the construct that
+        they're associated with. This practice makes it easier to identify
+        the opening and closing braces for a block.</p>
+
+        <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
 if ( this == that )
 {
    ...
 }
 </pre>
-              </td>
-            </tr>
-          </table>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Instead of:</i></span>
-          </p>
-          <p>
-            if ( this == that ) { ... }
-          </p>
-          <p>
-            or
-          </p>
-          <p>
-            if ( this == that ) { ... }
-          </p>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Note:</i></span> In
-            the special case that the if-statement is inside a loop, and it
-            is trivial, i.e. it tests for a condition that is obvious from
-            the purpose of the block, one-liners as above may optically
-            preserve the loop structure and make it easier to read.
-          </p>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Status:</i></span>
-            developer-discretion.
-          </p>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Example
-            exception:</i></span>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+            </td>
+          </tr>
+        </table>
+
+        <p><span class="emphasis EMPHASIS c2">Instead of:</span></p>
+
+        <p>if ( this == that ) { ... }</p>
+
+        <p>or</p>
+
+        <p>if ( this == that ) { ... }</p>
+
+        <p><span class="emphasis EMPHASIS c2">Note:</span> In the special
+        case that the if-statement is inside a loop, and it is trivial, i.e.
+        it tests for a condition that is obvious from the purpose of the
+        block, one-liners as above may optically preserve the loop structure
+        and make it easier to read.</p>
+
+        <p><span class="emphasis EMPHASIS c2">Status:</span>
+        developer-discretion.</p>
+
+        <p><span class="emphasis EMPHASIS c2">Example exception:</span></p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
 while ( more lines are read )
 {
    /* Please document what is/is not a comment line here */
@@ -635,112 +572,95 @@ while ( more lines are read )
    do_something( line );
 }
 </pre>
-              </td>
-            </tr>
-          </table>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="S17">4.4.2. ALL control statements should have a
-            block</a>
-          </h3>
-          <p>
-            <span class="emphasis"><i class=
-            "EMPHASIS">Explanation:</i></span>
-          </p>
-          <p>
-            Using braces to make a block will make your code more readable
-            and less prone to error. All control statements should have a
-            block defined.
-          </p>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Example:</i></span>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+            </td>
+          </tr>
+        </table>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="S17" id="S17">4.4.2. ALL control
+        statements should have a block</a></h3>
+
+        <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+
+        <p>Using braces to make a block will make your code more readable and
+        less prone to error. All control statements should have a block
+        defined.</p>
+
+        <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
 if ( this == that )
 {
    do_something();
    do_something_else();
 }
 </pre>
-              </td>
-            </tr>
-          </table>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Instead of:</i></span>
-          </p>
-          <p>
-            if ( this == that ) do_something(); do_something_else();
-          </p>
-          <p>
-            or
-          </p>
-          <p>
-            if ( this == that ) do_something();
-          </p>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Note:</i></span> The
-            first example in "Instead of" will execute in a manner other than
-            that which the developer desired (per indentation). Using code
-            braces would have prevented this "feature". The "explanation" and
-            "exception" from the point above also applies.
-          </p>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="S18">4.4.3. Do not belabor/blow-up boolean
-            expressions</a>
-          </h3>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Example:</i></span>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+            </td>
+          </tr>
+        </table>
+
+        <p><span class="emphasis EMPHASIS c2">Instead of:</span></p>
+
+        <p>if ( this == that ) do_something(); do_something_else();</p>
+
+        <p>or</p>
+
+        <p>if ( this == that ) do_something();</p>
+
+        <p><span class="emphasis EMPHASIS c2">Note:</span> The first example
+        in "Instead of" will execute in a manner other than that which the
+        developer desired (per indentation). Using code braces would have
+        prevented this "feature". The "explanation" and "exception" from the
+        point above also applies.</p>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="S18" id="S18">4.4.3. Do not
+        belabor/blow-up boolean expressions</a></h3>
+
+        <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
 structure-&gt;flag = ( condition );
 </pre>
-              </td>
-            </tr>
-          </table>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Instead of:</i></span>
-          </p>
-          <p>
-            if ( condition ) { structure-&gt;flag = 1; } else {
-            structure-&gt;flag = 0; }
-          </p>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Note:</i></span> The
-            former is readable and concise. The later is wordy and
-            inefficient. Please assume that any developer new to the project
-            has at least a "good" knowledge of C/C++. (Hope I do not offend
-            by that last comment ... 8-)
-          </p>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="S19">4.4.4. Use white space freely because it is
-            free</a>
-          </h3>
-          <p>
-            <span class="emphasis"><i class=
-            "EMPHASIS">Explanation:</i></span>
-          </p>
-          <p>
-            Make it readable. The notable exception to using white space
-            freely is listed in the next guideline.
-          </p>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Example:</i></span>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+            </td>
+          </tr>
+        </table>
+
+        <p><span class="emphasis EMPHASIS c2">Instead of:</span></p>
+
+        <p>if ( condition ) { structure-&gt;flag = 1; } else {
+        structure-&gt;flag = 0; }</p>
+
+        <p><span class="emphasis EMPHASIS c2">Note:</span> The former is
+        readable and concise. The later is wordy and inefficient. Please
+        assume that any developer new to the project has at least a "good"
+        knowledge of C/C++. (Hope I do not offend by that last comment ...
+        8-)</p>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="S19" id="S19">4.4.4. Use white space
+        freely because it is free</a></h3>
+
+        <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+
+        <p>Make it readable. The notable exception to using white space
+        freely is listed in the next guideline.</p>
+
+        <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
 int first_value   = 0;
 int some_value    = 0;
 int another_value = 0;
@@ -750,59 +670,52 @@ if ( this_variable == this_variable )
 
 first_value = old_value + ( ( some_value - another_value ) - whatever )
 </pre>
-              </td>
-            </tr>
-          </table>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="S20">4.4.5. Don't use white space around structure
-            operators</a>
-          </h3>
-          <p>
-            <span class="emphasis"><i class=
-            "EMPHASIS">Explanation:</i></span>
-          </p>
-          <p>
-            - structure pointer operator ( "-&gt;" ) - member operator ( "."
-            ) - functions and parentheses
-          </p>
-          <p>
-            It is a general coding practice to put pointers, references, and
-            function parentheses next to names. With spaces, the connection
-            between the object and variable/function name is not as clear.
-          </p>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Example:</i></span>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+            </td>
+          </tr>
+        </table>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="S20" id="S20">4.4.5. Don't use white space
+        around structure operators</a></h3>
+
+        <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+
+        <p>- structure pointer operator ( "-&gt;" ) - member operator ( "." )
+        - functions and parentheses</p>
+
+        <p>It is a general coding practice to put pointers, references, and
+        function parentheses next to names. With spaces, the connection
+        between the object and variable/function name is not as clear.</p>
+
+        <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
 a_struct-&gt;a_member;
 a_struct.a_member;
 function_name();
 </pre>
-              </td>
-            </tr>
-          </table>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Instead of:</i></span>
-            a_struct -&gt; a_member; a_struct . a_member; function_name ();
-          </p>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="S21">4.4.6. Make the last brace of a function stand
-            out</a>
-          </h3>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Example:</i></span>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+            </td>
+          </tr>
+        </table>
+
+        <p><span class="emphasis EMPHASIS c2">Instead of:</span> a_struct
+        -&gt; a_member; a_struct . a_member; function_name ();</p>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="S21" id="S21">4.4.6. Make the last brace
+        of a function stand out</a></h3>
+
+        <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
 int function1( ... )
 {
    ...code...
@@ -815,52 +728,45 @@ int function2( ... )
 {
 }   /* -END- function2 */
 </pre>
-              </td>
-            </tr>
-          </table>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Instead of:</i></span>
-          </p>
-          <p>
-            int function1( ... ) { ...code... return( ret_code ); } int
-            function2( ... ) { }
-          </p>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Note:</i></span> Use 1
-            blank line before the closing brace and 2 lines afterward. This
-            makes the end of function standout to the most casual viewer.
-            Although function comments help separate functions, this is still
-            a good coding practice. In fact, I follow these rules when using
-            blocks in "for", "while", "do" loops, and long if {} statements
-            too. After all whitespace is free!
-          </p>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Status:</i></span>
-            developer-discretion on the number of blank lines. Enforced is
-            the end of function comments.
-          </p>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="S22">4.4.7. Use 3 character indentions</a>
-          </h3>
-          <p>
-            <span class="emphasis"><i class=
-            "EMPHASIS">Explanation:</i></span>
-          </p>
-          <p>
-            If some use 8 character TABs and some use 3 character TABs, the
-            code can look *very* ragged. So use 3 character indentions only.
-            If you like to use TABs, pass your code through a filter such as
-            "expand -t3" before checking in your code.
-          </p>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Example:</i></span>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+            </td>
+          </tr>
+        </table>
+
+        <p><span class="emphasis EMPHASIS c2">Instead of:</span></p>
+
+        <p>int function1( ... ) { ...code... return( ret_code ); } int
+        function2( ... ) { }</p>
+
+        <p><span class="emphasis EMPHASIS c2">Note:</span> Use 1 blank line
+        before the closing brace and 2 lines afterward. This makes the end of
+        function standout to the most casual viewer. Although function
+        comments help separate functions, this is still a good coding
+        practice. In fact, I follow these rules when using blocks in "for",
+        "while", "do" loops, and long if {} statements too. After all
+        whitespace is free!</p>
+
+        <p><span class="emphasis EMPHASIS c2">Status:</span>
+        developer-discretion on the number of blank lines. Enforced is the
+        end of function comments.</p>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="S22" id="S22">4.4.7. Use 3 character
+        indentions</a></h3>
+
+        <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+
+        <p>If some use 8 character TABs and some use 3 character TABs, the
+        code can look *very* ragged. So use 3 character indentions only. If
+        you like to use TABs, pass your code through a filter such as "expand
+        -t3" before checking in your code.</p>
+
+        <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
 static const char * const url_code_map[256] =
 {
    NULL, ...
@@ -882,154 +788,132 @@ int function1( ... )
 
 }
 </pre>
-              </td>
-            </tr>
-          </table>
-        </div>
+            </td>
+          </tr>
+        </table>
       </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="S23">4.5. Initializing</a>
-        </h2>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="S24">4.5.1. Initialize all variables</a>
-          </h3>
-          <p>
-            <span class="emphasis"><i class=
-            "EMPHASIS">Explanation:</i></span>
-          </p>
-          <p>
-            Do not assume that the variables declared will not be used until
-            after they have been assigned a value somewhere else in the code.
-            Remove the chance of accidentally using an unassigned variable.
-          </p>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Example:</i></span>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+    </div>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="S23" id="S23">4.5. Initializing</a></h2>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="S24" id="S24">4.5.1. Initialize all
+        variables</a></h3>
+
+        <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+
+        <p>Do not assume that the variables declared will not be used until
+        after they have been assigned a value somewhere else in the code.
+        Remove the chance of accidentally using an unassigned variable.</p>
+
+        <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
 short a_short = 0;
 float a_float  = 0;
 struct *ptr = NULL;
 </pre>
-              </td>
-            </tr>
-          </table>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Note:</i></span> It is
-            much easier to debug a SIGSEGV if the message says you are trying
-            to access memory address 00000000 and not 129FA012; or
-            array_ptr[20] causes a SIGSEV vs. array_ptr[0].
-          </p>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Status:</i></span>
-            developer-discretion if and only if the variable is assigned a
-            value "shortly after" declaration.
-          </p>
-        </div>
+            </td>
+          </tr>
+        </table>
+
+        <p><span class="emphasis EMPHASIS c2">Note:</span> It is much easier
+        to debug a SIGSEGV if the message says you are trying to access
+        memory address 00000000 and not 129FA012; or array_ptr[20] causes a
+        SIGSEV vs. array_ptr[0].</p>
+
+        <p><span class="emphasis EMPHASIS c2">Status:</span>
+        developer-discretion if and only if the variable is assigned a value
+        "shortly after" declaration.</p>
       </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="S25">4.6. Functions</a>
-        </h2>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="S26">4.6.1. Name functions that return a boolean as a
-            question.</a>
-          </h3>
-          <p>
-            <span class="emphasis"><i class=
-            "EMPHASIS">Explanation:</i></span>
-          </p>
-          <p>
-            Value should be phrased as a question that would logically be
-            answered as a true or false statement
-          </p>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Example:</i></span>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+    </div>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="S25" id="S25">4.6. Functions</a></h2>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="S26" id="S26">4.6.1. Name functions that
+        return a boolean as a question.</a></h3>
+
+        <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+
+        <p>Value should be phrased as a question that would logically be
+        answered as a true or false statement</p>
+
+        <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
 should_we_block_this();
 contains_an_image();
 is_web_page_blank();
 </pre>
-              </td>
-            </tr>
-          </table>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="S27">4.6.2. Always specify a return type for a
-            function.</a>
-          </h3>
-          <p>
-            <span class="emphasis"><i class=
-            "EMPHASIS">Explanation:</i></span>
-          </p>
-          <p>
-            The default return for a function is an int. To avoid ambiguity,
-            create a return for a function when the return has a purpose, and
-            create a void return type if the function does not need to return
-            anything.
-          </p>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="S28">4.6.3. Minimize function calls when iterating by
-            using variables</a>
-          </h3>
-          <p>
-            <span class="emphasis"><i class=
-            "EMPHASIS">Explanation:</i></span>
-          </p>
-          <p>
-            It is easy to write the following code, and a clear argument can
-            be made that the code is easy to understand:
-          </p>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Example:</i></span>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+            </td>
+          </tr>
+        </table>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="S27" id="S27">4.6.2. Always specify a
+        return type for a function.</a></h3>
+
+        <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+
+        <p>The default return for a function is an int. To avoid ambiguity,
+        create a return for a function when the return has a purpose, and
+        create a void return type if the function does not need to return
+        anything.</p>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="S28" id="S28">4.6.3. Minimize function
+        calls when iterating by using variables</a></h3>
+
+        <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+
+        <p>It is easy to write the following code, and a clear argument can
+        be made that the code is easy to understand:</p>
+
+        <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
 for ( size_t cnt = 0; cnt &lt; block_list_length(); cnt++ )
 {
    ....
 }
 </pre>
-              </td>
-            </tr>
-          </table>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Note:</i></span>
-            Unfortunately, this makes a function call for each and every
-            iteration. This increases the overhead in the program, because
-            the compiler has to look up the function each time, call it, and
-            return a value. Depending on what occurs in the
-            block_list_length() call, it might even be creating and
-            destroying structures with each iteration, even though in each
-            case it is comparing "cnt" to the same value, over and over.
-            Remember too - even a call to block_list_length() is a function
-            call, with the same overhead.
-          </p>
-          <p>
-            Instead of using a function call during the iterations, assign
-            the value to a variable, and evaluate using the variable.
-          </p>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Example:</i></span>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+            </td>
+          </tr>
+        </table>
+
+        <p><span class="emphasis EMPHASIS c2">Note:</span> Unfortunately,
+        this makes a function call for each and every iteration. This
+        increases the overhead in the program, because the compiler has to
+        look up the function each time, call it, and return a value.
+        Depending on what occurs in the block_list_length() call, it might
+        even be creating and destroying structures with each iteration, even
+        though in each case it is comparing "cnt" to the same value, over and
+        over. Remember too - even a call to block_list_length() is a function
+        call, with the same overhead.</p>
+
+        <p>Instead of using a function call during the iterations, assign the
+        value to a variable, and evaluate using the variable.</p>
+
+        <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
 size_t len = block_list_length();
 
 for ( size_t cnt = 0; cnt &lt; len; cnt++ )
@@ -1037,161 +921,137 @@ for ( size_t cnt = 0; cnt &lt; len; cnt++ )
    ....
 }
 </pre>
-              </td>
-            </tr>
-          </table>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Exceptions:</i></span>
-            if the value of block_list_length() *may* change or could
-            *potentially* change, then you must code the function call in the
-            for/while loop.
-          </p>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="S29">4.6.4. Pass and Return by Const Reference</a>
-          </h3>
-          <p>
-            <span class="emphasis"><i class=
-            "EMPHASIS">Explanation:</i></span>
-          </p>
-          <p>
-            This allows a developer to define a const pointer and call your
-            function. If your function does not have the const keyword, we
-            may not be able to use your function. Consider strcmp, if it were
-            defined as: extern int strcmp( char *s1, char *s2 );
-          </p>
-          <p>
-            I could then not use it to compare argv's in main: int main( int
-            argc, const char *argv[] ) { strcmp( argv[0], "privoxy" ); }
-          </p>
-          <p>
-            Both these pointers are *const*! If the c runtime library
-            maintainers do it, we should too.
-          </p>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="S30">4.6.5. Pass and Return by Value</a>
-          </h3>
-          <p>
-            <span class="emphasis"><i class=
-            "EMPHASIS">Explanation:</i></span>
-          </p>
-          <p>
-            Most structures cannot fit onto a normal stack entry (i.e. they
-            are not 4 bytes or less). Aka, a function declaration like: int
-            load_aclfile( struct client_state csp )
-          </p>
-          <p>
-            would not work. So, to be consistent, we should declare all
-            prototypes with "pass by value": int load_aclfile( struct
-            client_state *csp )
-          </p>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="S31">4.6.6. Names of include files</a>
-          </h3>
-          <p>
-            <span class="emphasis"><i class=
-            "EMPHASIS">Explanation:</i></span>
-          </p>
-          <p>
-            Your include statements should contain the file name without a
-            path. The path should be listed in the Makefile, using -I as
-            processor directive to search the indicated paths. An exception
-            to this would be for some proprietary software that utilizes a
-            partial path to distinguish their header files from system or
-            other header files.
-          </p>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Example:</i></span>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+            </td>
+          </tr>
+        </table>
+
+        <p><span class="emphasis EMPHASIS c2">Exceptions:</span> if the value
+        of block_list_length() *may* change or could *potentially* change,
+        then you must code the function call in the for/while loop.</p>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="S29" id="S29">4.6.4. Pass and Return by
+        Const Reference</a></h3>
+
+        <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+
+        <p>This allows a developer to define a const pointer and call your
+        function. If your function does not have the const keyword, we may
+        not be able to use your function. Consider strcmp, if it were defined
+        as: extern int strcmp( char *s1, char *s2 );</p>
+
+        <p>I could then not use it to compare argv's in main: int main( int
+        argc, const char *argv[] ) { strcmp( argv[0], "privoxy" ); }</p>
+
+        <p>Both these pointers are *const*! If the c runtime library
+        maintainers do it, we should too.</p>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="S30" id="S30">4.6.5. Pass and Return by
+        Value</a></h3>
+
+        <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+
+        <p>Most structures cannot fit onto a normal stack entry (i.e. they
+        are not 4 bytes or less). Aka, a function declaration like: int
+        load_aclfile( struct client_state csp )</p>
+
+        <p>would not work. So, to be consistent, we should declare all
+        prototypes with "pass by value": int load_aclfile( struct
+        client_state *csp )</p>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="S31" id="S31">4.6.6. Names of include
+        files</a></h3>
+
+        <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+
+        <p>Your include statements should contain the file name without a
+        path. The path should be listed in the Makefile, using -I as
+        processor directive to search the indicated paths. An exception to
+        this would be for some proprietary software that utilizes a partial
+        path to distinguish their header files from system or other header
+        files.</p>
+
+        <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
 #include &lt;iostream.h&gt;     /* This is not a local include */
 #include "config.h"       /* This IS a local include */
 </pre>
-              </td>
-            </tr>
-          </table>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Exception:</i></span>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+            </td>
+          </tr>
+        </table>
+
+        <p><span class="emphasis EMPHASIS c2">Exception:</span></p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
 /* This is not a local include, but requires a path element. */
 #include &lt;sys/fileName.h&gt;
 </pre>
-              </td>
-            </tr>
-          </table>
-
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Note:</i></span>
-            Please! do not add "-I." to the Makefile without a _very_ good
-            reason. This duplicates the #include "file.h" behavior.
-          </p>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="S32">4.6.7. Provide multiple inclusion protection</a>
-          </h3>
-          <p>
-            <span class="emphasis"><i class=
-            "EMPHASIS">Explanation:</i></span>
-          </p>
-          <p>
-            Prevents compiler and linker errors resulting from redefinition
-            of items.
-          </p>
-          <p>
-            Wrap each header file with the following syntax to prevent
-            multiple inclusions of the file. Of course, replace PROJECT_H
-            with your file name, with "." Changed to "_", and make it
-            uppercase.
-          </p>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Example:</i></span>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+            </td>
+          </tr>
+        </table>
+
+        <p><span class="emphasis EMPHASIS c2">Note:</span> Please! do not add
+        "-I." to the Makefile without a _very_ good reason. This duplicates
+        the #include "file.h" behavior.</p>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="S32" id="S32">4.6.7. Provide multiple
+        inclusion protection</a></h3>
+
+        <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+
+        <p>Prevents compiler and linker errors resulting from redefinition of
+        items.</p>
+
+        <p>Wrap each header file with the following syntax to prevent
+        multiple inclusions of the file. Of course, replace PROJECT_H with
+        your file name, with "." Changed to "_", and make it uppercase.</p>
+
+        <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
 #ifndef PROJECT_H_INCLUDED
 #define PROJECT_H_INCLUDED
  ...
 #endif /* ndef PROJECT_H_INCLUDED */
 </pre>
-              </td>
-            </tr>
-          </table>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="S33">4.6.8. Use `extern "C"` when appropriate</a>
-          </h3>
-          <p>
-            <span class="emphasis"><i class=
-            "EMPHASIS">Explanation:</i></span>
-          </p>
-          <p>
-            If our headers are included from C++, they must declare our
-            functions as `extern "C"`. This has no cost in C, but increases
-            the potential re-usability of our code.
-          </p>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Example:</i></span>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+            </td>
+          </tr>
+        </table>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="S33" id="S33">4.6.8. Use `extern "C"` when
+        appropriate</a></h3>
+
+        <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+
+        <p>If our headers are included from C++, they must declare our
+        functions as `extern "C"`. This has no cost in C, but increases the
+        potential re-usability of our code.</p>
+
+        <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
 #ifdef __cplusplus
 extern "C"
 {
@@ -1203,90 +1063,78 @@ extern "C"
 }
 #endif /* def __cplusplus */
 </pre>
-              </td>
-            </tr>
-          </table>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="S34">4.6.9. Where Possible, Use Forward Struct
-            Declaration Instead of Includes</a>
-          </h3>
-          <p>
-            <span class="emphasis"><i class=
-            "EMPHASIS">Explanation:</i></span>
-          </p>
-          <p>
-            Useful in headers that include pointers to other struct's.
-            Modifications to excess header files may cause needless compiles.
-          </p>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Example:</i></span>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+            </td>
+          </tr>
+        </table>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="S34" id="S34">4.6.9. Where Possible, Use
+        Forward Struct Declaration Instead of Includes</a></h3>
+
+        <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+
+        <p>Useful in headers that include pointers to other struct's.
+        Modifications to excess header files may cause needless compiles.</p>
+
+        <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
 /*********************************************************************
  * We're avoiding an include statement here!
  *********************************************************************/
 struct file_list;
 extern file_list *xyz;
 </pre>
-              </td>
-            </tr>
-          </table>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Note:</i></span> If
-            you declare "file_list xyz;" (without the pointer), then
-            including the proper header file is necessary. If you only want
-            to prototype a pointer, however, the header file is unnecessary.
-          </p>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Status:</i></span> Use
-            with discretion.
-          </p>
-        </div>
+            </td>
+          </tr>
+        </table>
+
+        <p><span class="emphasis EMPHASIS c2">Note:</span> If you declare
+        "file_list xyz;" (without the pointer), then including the proper
+        header file is necessary. If you only want to prototype a pointer,
+        however, the header file is unnecessary.</p>
+
+        <p><span class="emphasis EMPHASIS c2">Status:</span> Use with
+        discretion.</p>
       </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="S35">4.7. General Coding Practices</a>
-        </h2>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="S36">4.7.1. Turn on warnings</a>
-          </h3>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Explanation</i></span>
-          </p>
-          <p>
-            Compiler warnings are meant to help you find bugs. You should
-            turn on as many as possible. With GCC, the switch is "-Wall". Try
-            and fix as many warnings as possible.
-          </p>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="S37">4.7.2. Provide a default case for all switch
-            statements</a>
-          </h3>
-          <p>
-            <span class="emphasis"><i class=
-            "EMPHASIS">Explanation:</i></span>
-          </p>
-          <p>
-            What you think is guaranteed is never really guaranteed. The
-            value that you don't think you need to check is the one that
-            someday will be passed. So, to protect yourself from the unknown,
-            always have a default step in a switch statement.
-          </p>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Example:</i></span>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+    </div>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="S35" id="S35">4.7. General Coding
+      Practices</a></h2>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="S36" id="S36">4.7.1. Turn on
+        warnings</a></h3>
+
+        <p><span class="emphasis EMPHASIS c2">Explanation</span></p>
+
+        <p>Compiler warnings are meant to help you find bugs. You should turn
+        on as many as possible. With GCC, the switch is "-Wall". Try and fix
+        as many warnings as possible.</p>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="S37" id="S37">4.7.2. Provide a default
+        case for all switch statements</a></h3>
+
+        <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+
+        <p>What you think is guaranteed is never really guaranteed. The value
+        that you don't think you need to check is the one that someday will
+        be passed. So, to protect yourself from the unknown, always have a
+        default step in a switch statement.</p>
+
+        <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
 switch( hash_string( cmd ) )
 {
    case hash_actions_file :
@@ -1304,297 +1152,244 @@ switch( hash_string( cmd ) )
 
 } /* end switch( hash_string( cmd ) ) */
 </pre>
-              </td>
-            </tr>
-          </table>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Note:</i></span> If
-            you already have a default condition, you are obviously exempt
-            from this point. Of note, most of the WIN32 code calls
-            `DefWindowProc' after the switch statement. This API call
-            *should* be included in a default statement.
-          </p>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Another
-            Note:</i></span> This is not so much a readability issue as a
-            robust programming issue. The "anomaly code goes here" may be no
-            more than a print to the STDERR stream (as in load_config). Or it
-            may really be an abort condition.
-          </p>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Status:</i></span>
-            Programmer discretion is advised.
-          </p>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="S38">4.7.3. Try to avoid falling through cases in a
-            switch statement.</a>
-          </h3>
-          <p>
-            <span class="emphasis"><i class=
-            "EMPHASIS">Explanation:</i></span>
-          </p>
-          <p>
-            In general, you will want to have a 'break' statement within each
-            'case' of a switch statement. This allows for the code to be more
-            readable and understandable, and furthermore can prevent unwanted
-            surprises if someone else later gets creative and moves the code
-            around.
-          </p>
-          <p>
-            The language allows you to plan the fall through from one case
-            statement to another simply by omitting the break statement
-            within the case statement. This feature does have benefits, but
-            should only be used in rare cases. In general, use a break
-            statement for each case statement.
-          </p>
-          <p>
-            If you choose to allow fall through, you should comment both the
-            fact of the fall through and reason why you felt it was
-            necessary.
-          </p>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="S39">4.7.4. Use 'long' or 'short' Instead of 'int'</a>
-          </h3>
-          <p>
-            <span class="emphasis"><i class=
-            "EMPHASIS">Explanation:</i></span>
-          </p>
-          <p>
-            On 32-bit platforms, int usually has the range of long. On 16-bit
-            platforms, int has the range of short.
-          </p>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Status:</i></span>
-            open-to-debate. In the case of most FSF projects (including
-            X/GNU-Emacs), there are typedefs to int4, int8, int16, (or
-            equivalence ... I forget the exact typedefs now). Should we add
-            these to IJB now that we have a "configure" script?
-          </p>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="S40">4.7.5. Don't mix size_t and other types</a>
-          </h3>
-          <p>
-            <span class="emphasis"><i class=
-            "EMPHASIS">Explanation:</i></span>
-          </p>
-          <p>
-            The type of size_t varies across platforms. Do not make
-            assumptions about whether it is signed or unsigned, or about how
-            long it is. Do not compare a size_t against another variable of a
-            different type (or even against a constant) without casting one
-            of the values.
-          </p>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="S41">4.7.6. Declare each variable and struct on its own
-            line.</a>
-          </h3>
-          <p>
-            <span class="emphasis"><i class=
-            "EMPHASIS">Explanation:</i></span>
-          </p>
-          <p>
-            It can be tempting to declare a series of variables all on one
-            line. Don't.
-          </p>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Example:</i></span>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+            </td>
+          </tr>
+        </table>
+
+        <p><span class="emphasis EMPHASIS c2">Note:</span> If you already
+        have a default condition, you are obviously exempt from this point.
+        Of note, most of the WIN32 code calls `DefWindowProc' after the
+        switch statement. This API call *should* be included in a default
+        statement.</p>
+
+        <p><span class="emphasis EMPHASIS c2">Another Note:</span> This is
+        not so much a readability issue as a robust programming issue. The
+        "anomaly code goes here" may be no more than a print to the STDERR
+        stream (as in load_config). Or it may really be an abort
+        condition.</p>
+
+        <p><span class="emphasis EMPHASIS c2">Status:</span> Programmer
+        discretion is advised.</p>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="S38" id="S38">4.7.3. Try to avoid falling
+        through cases in a switch statement.</a></h3>
+
+        <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+
+        <p>In general, you will want to have a 'break' statement within each
+        'case' of a switch statement. This allows for the code to be more
+        readable and understandable, and furthermore can prevent unwanted
+        surprises if someone else later gets creative and moves the code
+        around.</p>
+
+        <p>The language allows you to plan the fall through from one case
+        statement to another simply by omitting the break statement within
+        the case statement. This feature does have benefits, but should only
+        be used in rare cases. In general, use a break statement for each
+        case statement.</p>
+
+        <p>If you choose to allow fall through, you should comment both the
+        fact of the fall through and reason why you felt it was
+        necessary.</p>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="S39" id="S39">4.7.4. Use 'long' or 'short'
+        Instead of 'int'</a></h3>
+
+        <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+
+        <p>On 32-bit platforms, int usually has the range of long. On 16-bit
+        platforms, int has the range of short.</p>
+
+        <p><span class="emphasis EMPHASIS c2">Status:</span> open-to-debate.
+        In the case of most FSF projects (including X/GNU-Emacs), there are
+        typedefs to int4, int8, int16, (or equivalence ... I forget the exact
+        typedefs now). Should we add these to IJB now that we have a
+        "configure" script?</p>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="S40" id="S40">4.7.5. Don't mix size_t and
+        other types</a></h3>
+
+        <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+
+        <p>The type of size_t varies across platforms. Do not make
+        assumptions about whether it is signed or unsigned, or about how long
+        it is. Do not compare a size_t against another variable of a
+        different type (or even against a constant) without casting one of
+        the values.</p>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="S41" id="S41">4.7.6. Declare each variable
+        and struct on its own line.</a></h3>
+
+        <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+
+        <p>It can be tempting to declare a series of variables all on one
+        line. Don't.</p>
+
+        <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
 long a = 0;
 long b = 0;
 long c = 0;
 </pre>
-              </td>
-            </tr>
-          </table>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Instead of:</i></span>
-          </p>
-          <p>
-            long a, b, c;
-          </p>
-          <p>
-            <span class="emphasis"><i class=
-            "EMPHASIS">Explanation:</i></span> - there is more room for
-            comments on the individual variables - easier to add new
-            variables without messing up the original ones - when searching
-            on a variable to find its type, there is less clutter to
-            "visually" eliminate
-          </p>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Exceptions:</i></span>
-            when you want to declare a bunch of loop variables or other
-            trivial variables; feel free to declare them on one line. You
-            should, although, provide a good comment on their functions.
-          </p>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Status:</i></span>
-            developer-discretion.
-          </p>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="S42">4.7.7. Use malloc/zalloc sparingly</a>
-          </h3>
-          <p>
-            <span class="emphasis"><i class=
-            "EMPHASIS">Explanation:</i></span>
-          </p>
-          <p>
-            Create a local struct (on the stack) if the variable will live
-            and die within the context of one function call.
-          </p>
-          <p>
-            Only "malloc" a struct (on the heap) if the variable's life will
-            extend beyond the context of one function call.
-          </p>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Example:</i></span>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+            </td>
+          </tr>
+        </table>
+
+        <p><span class="emphasis EMPHASIS c2">Instead of:</span></p>
+
+        <p>long a, b, c;</p>
+
+        <p><span class="emphasis EMPHASIS c2">Explanation:</span> - there is
+        more room for comments on the individual variables - easier to add
+        new variables without messing up the original ones - when searching
+        on a variable to find its type, there is less clutter to "visually"
+        eliminate</p>
+
+        <p><span class="emphasis EMPHASIS c2">Exceptions:</span> when you
+        want to declare a bunch of loop variables or other trivial variables;
+        feel free to declare them on one line. You should, although, provide
+        a good comment on their functions.</p>
+
+        <p><span class="emphasis EMPHASIS c2">Status:</span>
+        developer-discretion.</p>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="S42" id="S42">4.7.7. Use malloc/zalloc
+        sparingly</a></h3>
+
+        <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+
+        <p>Create a local struct (on the stack) if the variable will live and
+        die within the context of one function call.</p>
+
+        <p>Only "malloc" a struct (on the heap) if the variable's life will
+        extend beyond the context of one function call.</p>
+
+        <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
 If a function creates a struct and stores a pointer to it in a
 list, then it should definitely be allocated via `malloc'.
 </pre>
-              </td>
-            </tr>
-          </table>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="S43">4.7.8. The Programmer Who Uses 'malloc' is
-            Responsible for Ensuring 'free'</a>
-          </h3>
-          <p>
-            <span class="emphasis"><i class=
-            "EMPHASIS">Explanation:</i></span>
-          </p>
-          <p>
-            If you have to "malloc" an instance, you are responsible for
-            insuring that the instance is `free'd, even if the deallocation
-            event falls within some other programmer's code. You are also
-            responsible for ensuring that deletion is timely (i.e. not too
-            soon, not too late). This is known as "low-coupling" and is a
-            "good thing (tm)". You may need to offer a free/unload/destructor
-            type function to accommodate this.
-          </p>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Example:</i></span>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+            </td>
+          </tr>
+        </table>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="S43" id="S43">4.7.8. The Programmer Who
+        Uses 'malloc' is Responsible for Ensuring 'free'</a></h3>
+
+        <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+
+        <p>If you have to "malloc" an instance, you are responsible for
+        insuring that the instance is `free'd, even if the deallocation event
+        falls within some other programmer's code. You are also responsible
+        for ensuring that deletion is timely (i.e. not too soon, not too
+        late). This is known as "low-coupling" and is a "good thing (tm)".
+        You may need to offer a free/unload/destructor type function to
+        accommodate this.</p>
+
+        <p><span class="emphasis EMPHASIS c2">Example:</span></p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
 int load_re_filterfile( struct client_state *csp ) { ... }
 static void unload_re_filterfile( void *f ) { ... }
 </pre>
-              </td>
-            </tr>
-          </table>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Exceptions:</i></span>
-          </p>
-          <p>
-            The developer cannot be expected to provide `free'ing functions
-            for C run-time library functions ... such as `strdup'.
-          </p>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Status:</i></span>
-            developer-discretion. The "main" use of this standard is for
-            allocating and freeing data structures (complex or nested).
-          </p>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="S44">4.7.9. Add loaders to the `file_list' structure and
-            in order</a>
-          </h3>
-          <p>
-            <span class="emphasis"><i class=
-            "EMPHASIS">Explanation:</i></span>
-          </p>
-          <p>
-            I have ordered all of the "blocker" file code to be in alpha
-            order. It is easier to add/read new blockers when you expect a
-            certain order.
-          </p>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Note:</i></span> It
-            may appear that the alpha order is broken in places by POPUP
-            tests coming before PCRS tests. But since POPUPs can also be
-            referred to as KILLPOPUPs, it is clear that it should come first.
-          </p>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="S45">4.7.10. "Uncertain" new code and/or changes to
-            existing code, use FIXME or XXX</a>
-          </h3>
-          <p>
-            <span class="emphasis"><i class=
-            "EMPHASIS">Explanation:</i></span>
-          </p>
-          <p>
-            If you have enough confidence in new code or confidence in your
-            changes, but are not *quite* sure of the repercussions, add this:
-          </p>
-          <p>
-            /* FIXME: this code has a logic error on platform XYZ, *
-            attempting to fix */ #ifdef PLATFORM ...changed code here...
-            #endif
-          </p>
-          <p>
-            or:
-          </p>
-          <p>
-            /* FIXME: I think the original author really meant this... */
-            ...changed code here...
-          </p>
-          <p>
-            or:
-          </p>
-          <p>
-            /* FIXME: new code that *may* break something else... */ ...new
-            code here...
-          </p>
-          <p>
-            <span class="emphasis"><i class="EMPHASIS">Note:</i></span> If
-            you make it clear that this may or may not be a "good thing
-            (tm)", it will be easier to identify and include in the project
-            (or conversely exclude from the project).
-          </p>
-        </div>
+            </td>
+          </tr>
+        </table>
+
+        <p><span class="emphasis EMPHASIS c2">Exceptions:</span></p>
+
+        <p>The developer cannot be expected to provide `free'ing functions
+        for C run-time library functions ... such as `strdup'.</p>
+
+        <p><span class="emphasis EMPHASIS c2">Status:</span>
+        developer-discretion. The "main" use of this standard is for
+        allocating and freeing data structures (complex or nested).</p>
       </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="S46">4.8. Addendum: Template for files and function
-          comment blocks:</a>
-        </h2>
-        <p>
-          <span class="emphasis"><i class="EMPHASIS">Example for file
-          comments:</i></span>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="PROGRAMLISTING">
-const char FILENAME_rcs[] = "$Id: coding.html,v 1.54 2010/11/13 12:50:18 fabiankeil Exp $";
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="S44" id="S44">4.7.9. Add loaders to the
+        `file_list' structure and in order</a></h3>
+
+        <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+
+        <p>I have ordered all of the "blocker" file code to be in alpha
+        order. It is easier to add/read new blockers when you expect a
+        certain order.</p>
+
+        <p><span class="emphasis EMPHASIS c2">Note:</span> It may appear that
+        the alpha order is broken in places by POPUP tests coming before PCRS
+        tests. But since POPUPs can also be referred to as KILLPOPUPs, it is
+        clear that it should come first.</p>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="S45" id="S45">4.7.10. "Uncertain" new code
+        and/or changes to existing code, use FIXME or XXX</a></h3>
+
+        <p><span class="emphasis EMPHASIS c2">Explanation:</span></p>
+
+        <p>If you have enough confidence in new code or confidence in your
+        changes, but are not *quite* sure of the repercussions, add this:</p>
+
+        <p>/* FIXME: this code has a logic error on platform XYZ, *
+        attempting to fix */ #ifdef PLATFORM ...changed code here...
+        #endif</p>
+
+        <p>or:</p>
+
+        <p>/* FIXME: I think the original author really meant this... */
+        ...changed code here...</p>
+
+        <p>or:</p>
+
+        <p>/* FIXME: new code that *may* break something else... */ ...new
+        code here...</p>
+
+        <p><span class="emphasis EMPHASIS c2">Note:</span> If you make it
+        clear that this may or may not be a "good thing (tm)", it will be
+        easier to identify and include in the project (or conversely exclude
+        from the project).</p>
+      </div>
+    </div>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="S46" id="S46">4.8. Addendum: Template for
+      files and function comment blocks:</a></h2>
+
+      <p><span class="emphasis EMPHASIS c2">Example for file
+      comments:</span></p>
+
+      <table class="c3" border="0" width="100%">
+        <tr>
+          <td>
+            <pre class="PROGRAMLISTING">
+const char FILENAME_rcs[] = "$Id$";
 /*********************************************************************
  *
- * File        :  $Source: /cvsroot/ijbswa/current/doc/webserver/developer-manual/coding.html,v $
+ * File        :  $Source$
  *
  * Purpose     :  (Fill me in with a good description!)
  *
@@ -1629,37 +1424,34 @@ const char FILENAME_rcs[] = "$Id: coding.html,v 1.54 2010/11/13 12:50:18 fabiank
 
 const char FILENAME_h_rcs[] = FILENAME_H_VERSION;
 </pre>
-            </td>
-          </tr>
-        </table>
-        <p>
-          <span class="emphasis"><i class="EMPHASIS">Note:</i></span> This
-          declares the rcs variables that should be added to the
-          "show-proxy-args" page. If this is a brand new creation by you, you
-          are free to change the "Copyright" section to represent the rights
-          you wish to maintain.
-        </p>
-        <p>
-          <span class="emphasis"><i class="EMPHASIS">Note:</i></span> The
-          formfeed character that is present right after the comment flower
-          box is handy for (X|GNU)Emacs users to skip the verbiage and get to
-          the heart of the code (via `forward-page' and `backward-page').
-          Please include it if you can.
-        </p>
-        <p>
-          <span class="emphasis"><i class="EMPHASIS">Example for file header
-          comments:</i></span>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="PROGRAMLISTING">
+          </td>
+        </tr>
+      </table>
+
+      <p><span class="emphasis EMPHASIS c2">Note:</span> This declares the
+      rcs variables that should be added to the "show-proxy-args" page. If
+      this is a brand new creation by you, you are free to change the
+      "Copyright" section to represent the rights you wish to maintain.</p>
+
+      <p><span class="emphasis EMPHASIS c2">Note:</span> The formfeed
+      character that is present right after the comment flower box is handy
+      for (X|GNU)Emacs users to skip the verbiage and get to the heart of the
+      code (via `forward-page' and `backward-page'). Please include it if you
+      can.</p>
+
+      <p><span class="emphasis EMPHASIS c2">Example for file header
+      comments:</span></p>
+
+      <table class="c3" border="0" width="100%">
+        <tr>
+          <td>
+            <pre class="PROGRAMLISTING">
 #ifndef _FILENAME_H
 #define _FILENAME_H
-#define FILENAME_H_VERSION "$Id: coding.html,v 1.54 2010/11/13 12:50:18 fabiankeil Exp $"
+#define FILENAME_H_VERSION "$Id$"
 /*********************************************************************
  *
- * File        :  $Source: /cvsroot/ijbswa/current/doc/webserver/developer-manual/coding.html,v $
+ * File        :  $Source$
  *
  * Purpose     :  (Fill me in with a good description!)
  *
@@ -1714,17 +1506,17 @@ extern const char FILENAME_h_rcs[];
   end:
 */
 </pre>
-            </td>
-          </tr>
-        </table>
-        <p>
-          <span class="emphasis"><i class="EMPHASIS">Example for function
-          comments:</i></span>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="PROGRAMLISTING">
+          </td>
+        </tr>
+      </table>
+
+      <p><span class="emphasis EMPHASIS c2">Example for function
+      comments:</span></p>
+
+      <table class="c3" border="0" width="100%">
+        <tr>
+          <td>
+            <pre class="PROGRAMLISTING">
 /*********************************************************************
  *
  * Function    :  FUNCTION_NAME
@@ -1745,44 +1537,41 @@ int FUNCTION_NAME( void *param1, const char *x )
 
 }
 </pre>
-            </td>
-          </tr>
-        </table>
-        <p>
-          <span class="emphasis"><i class="EMPHASIS">Note:</i></span> If we
-          all follow this practice, we should be able to parse our code to
-          create a "self-documenting" web page.
-        </p>
-      </div>
-    </div>
-    <div class="NAVFOOTER">
-      <hr width="100%" class="c1">
-      <table summary="Footer navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <td width="33%" align="left" valign="top">
-            <a href="documentation.html" accesskey="P">Prev</a>
-          </td>
-          <td width="34%" align="center" valign="top">
-            <a href="index.html" accesskey="H">Home</a>
-          </td>
-          <td width="33%" align="right" valign="top">
-            <a href="testing.html" accesskey="N">Next</a>
-          </td>
-        </tr>
-        <tr>
-          <td width="33%" align="left" valign="top">
-            Documentation Guidelines
-          </td>
-          <td width="34%" align="center" valign="top">
-            &nbsp;
-          </td>
-          <td width="33%" align="right" valign="top">
-            Testing Guidelines
           </td>
         </tr>
       </table>
+
+      <p><span class="emphasis EMPHASIS c2">Note:</span> If we all follow
+      this practice, we should be able to parse our code to create a
+      "self-documenting" web page.</p>
     </div>
-  </body>
-</html>
+  </div>
+
+  <div class="NAVFOOTER">
+    <hr class="c1" width="100%">
+
+    <table summary="Footer navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <td width="33%" align="left" valign="top"><a href=
+        "documentation.html" accesskey="P">Prev</a></td>
+
+        <td width="34%" align="center" valign="top"><a href="index.html"
+        accesskey="H">Home</a></td>
 
+        <td width="33%" align="right" valign="top"><a href="testing.html"
+        accesskey="N">Next</a></td>
+      </tr>
+
+      <tr>
+        <td width="33%" align="left" valign="top">Documentation
+        Guidelines</td>
+
+        <td width="34%" align="center" valign="top">&nbsp;</td>
+
+        <td width="33%" align="right" valign="top">Testing Guidelines</td>
+      </tr>
+    </table>
+  </div>
+</body>
+</html>
index 12d5419..61be520 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
-Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+
 <html>
-  <head>
-    <meta name="generator" content="HTML Tidy, see www.w3.org">
-    <title>
-      Contacting the developers, Bug Reporting and Feature Requests
-    </title>
-    <meta name="GENERATOR" content=
-    "Modular DocBook HTML Stylesheet Version 1.79">
-    <link rel="HOME" title="Privoxy Developer Manual" href="index.html">
-    <link rel="PREVIOUS" title="Update the Webserver" href=
-    "webserver-update.html">
-    <link rel="NEXT" title="Privoxy Copyright, License and History" href=
-    "copyright.html">
-    <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
-    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<style type="text/css">
- body {
+<head>
+  <meta name="generator" content=
+  "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
+
+  <title>Contacting the developers, Bug Reporting and Feature
+  Requests</title>
+  <meta name="GENERATOR" content=
+  "Modular DocBook HTML Stylesheet Version 1.79">
+  <link rel="HOME" title="Privoxy Developer Manual" href="index.html">
+  <link rel="PREVIOUS" title="Update the Webserver" href=
+  "webserver-update.html">
+  <link rel="NEXT" title="Privoxy Copyright, License and History" href=
+  "copyright.html">
+  <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
+  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+  <style type="text/css">
+body {
   background-color: #EEEEEE;
   color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- hr.c1 {text-align: left}
-</style>
-  </head>
-  <body class="SECT1">
-    <div class="NAVHEADER">
-      <table summary="Header navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <th colspan="3" align="center">
-            Privoxy Developer Manual
-          </th>
-        </tr>
-        <tr>
-          <td width="10%" align="left" valign="bottom">
-            <a href="webserver-update.html" accesskey="P">Prev</a>
-          </td>
-          <td width="80%" align="center" valign="bottom">
-          </td>
-          <td width="10%" align="right" valign="bottom">
-            <a href="copyright.html" accesskey="N">Next</a>
-          </td>
-        </tr>
-      </table>
-      <hr width="100%" class="c1">
+  }
+  :link { color: #0000FF }
+  :visited { color: #840084 }
+  :active { color: #0000FF }
+  span.c2 {font-style: italic}
+  hr.c1 {text-align: left}
+  </style>
+</head>
+
+<body class="SECT1">
+  <div class="NAVHEADER">
+    <table summary="Header navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <th colspan="3" align="center">Privoxy Developer Manual</th>
+      </tr>
+
+      <tr>
+        <td width="10%" align="left" valign="bottom"><a href=
+        "webserver-update.html" accesskey="P">Prev</a></td>
+
+        <td width="80%" align="center" valign="bottom"></td>
+
+        <td width="10%" align="right" valign="bottom"><a href=
+        "copyright.html" accesskey="N">Next</a></td>
+      </tr>
+    </table>
+    <hr class="c1" width="100%">
+  </div>
+
+  <div class="SECT1">
+    <h1 class="SECT1"><a name="CONTACT" id="CONTACT">8. Contacting the
+    developers, Bug Reporting and Feature Requests</a></h1>
+
+    <p>We value your feedback. In fact, we rely on it to improve <span class=
+    "APPLICATION">Privoxy</span> and its configuration. However, please note
+    the following hints, so we can provide you with the best support:</p>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="CONTACT-SUPPORT" id="CONTACT-SUPPORT">8.1.
+      Get Support</a></h2>
+
+      <p>For casual users, our <a href=
+      "http://sourceforge.net/tracker/?group_id=11118&amp;atid=211118"
+      target="_top">support forum at SourceForge</a> is probably best suited:
+      <a href=
+      "http://sourceforge.net/tracker/?group_id=11118&amp;atid=211118"
+      target="_top">http://sourceforge.net/tracker/?group_id=11118&amp;atid=211118</a></p>
+
+      <p>All users are of course welcome to discuss their issues on the
+      <a href="http://lists.sourceforge.net/lists/listinfo/ijbswa-users"
+      target="_top">users mailing list</a>, where the developers also hang
+      around.</p>
+
+      <p>Please don't sent private support requests to individual Privoxy
+      developers, either use the mailing lists or the support trackers.</p>
+
+      <p>If you have to contact a Privoxy developer directly for other
+      reasons, please send a real mail and do not bother with SourceForge's
+      messaging system. Answers to SourceForge messages are usually bounced
+      by SourceForge's mail server in which case the developer wasted time
+      writing a response you don't get. From your point of view it will look
+      like your message has been completely ignored, so this is frustrating
+      for all parties involved.</p>
+
+      <p>Note that the Privoxy mailing lists are moderated. Posts from
+      unsubscribed addresses have to be accepted manually by a moderator.
+      This may cause a delay of several days and if you use a subject that
+      doesn't clearly mention Privoxy or one of its features, your message
+      may be accidentally discarded as spam.</p>
+
+      <p>If you aren't subscribed, you should therefore spend a few seconds
+      to come up with a proper subject. Additionally you should make it clear
+      that you want to get CC'd. Otherwise some responses will be directed to
+      the mailing list only, and you won't see them.</p>
     </div>
-    <div class="SECT1">
-      <h1 class="SECT1">
-        <a name="CONTACT">8. Contacting the developers, Bug Reporting and
-        Feature Requests</a>
-      </h1>
-      <p>
-        We value your feedback. In fact, we rely on it to improve <span
-        class="APPLICATION">Privoxy</span> and its configuration. However,
-        please note the following hints, so we can provide you with the best
-        support:
-      </p>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="CONTACT-SUPPORT">8.1. Get Support</a>
-        </h2>
-        <p>
-          For casual users, our <a href=
-          "http://sourceforge.net/tracker/?group_id=11118&amp;atid=211118"
-          target="_top">support forum at SourceForge</a> is probably best
-          suited: <a href=
-          "http://sourceforge.net/tracker/?group_id=11118&amp;atid=211118"
-          target=
-          "_top">http://sourceforge.net/tracker/?group_id=11118&amp;atid=211118</a>
-        </p>
-        <p>
-          All users are of course welcome to discuss their issues on the <a
-          href="http://lists.sourceforge.net/lists/listinfo/ijbswa-users"
-          target="_top">users mailing list</a>, where the developers also
-          hang around.
-        </p>
-        <p>
-          Please don't sent private support requests to individual Privoxy
-          developers, either use the mailing lists or the support trackers.
-        </p>
-        <p>
-          If you have to contact a Privoxy developer directly for other
-          reasons, please send a real mail and do not bother with
-          SourceForge's messaging system. Answers to SourceForge messages are
-          usually bounced by SourceForge's mail server in which case the
-          developer wasted time writing a response you don't get. From your
-          point of view it will look like your message has been completely
-          ignored, so this is frustrating for all parties involved.
-        </p>
-        <p>
-          Note that the Privoxy mailing lists are moderated. Posts from
-          unsubscribed addresses have to be accepted manually by a moderator.
-          This may cause a delay of several days and if you use a subject
-          that doesn't clearly mention Privoxy or one of its features, your
-          message may be accidentally discarded as spam.
-        </p>
-        <p>
-          If you aren't subscribed, you should therefore spend a few seconds
-          to come up with a proper subject. Additionally you should make it
-          clear that you want to get CC'd. Otherwise some responses will be
-          directed to the mailing list only, and you won't see them.
-        </p>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="REPORTING" id="REPORTING">8.2. Reporting
+      Problems</a></h2>
+
+      <p><span class="QUOTE">"Problems"</span> for our purposes, come in two
+      forms:</p>
+
+      <ul>
+        <li>
+          <p>Configuration issues, such as ads that slip through, or sites
+          that don't function properly due to one <span class=
+          "APPLICATION">Privoxy</span> <span class="QUOTE">"action"</span> or
+          another being turned <span class="QUOTE">"on"</span>.</p>
+        </li>
+
+        <li>
+          <p><span class="QUOTE">"Bugs"</span> in the programming code that
+          makes up <span class="APPLICATION">Privoxy</span>, such as that
+          might cause a crash.</p>
+        </li>
+      </ul>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="CONTACT-ADS" id="CONTACT-ADS">8.2.1.
+        Reporting Ads or Other Configuration Problems</a></h3>
+
+        <p>Please send feedback on ads that slipped through, innocent images
+        that were blocked, sites that don't work properly, and other
+        configuration related problem of <tt class=
+        "FILENAME">default.action</tt> file, to <a href=
+        "http://sourceforge.net/tracker/?group_id=11118&amp;atid=460288"
+        target=
+        "_top">http://sourceforge.net/tracker/?group_id=11118&amp;atid=460288</a>,
+        the Actions File Tracker.</p>
+
+        <p>New, improved <tt class="FILENAME">default.action</tt> files may
+        occasionally be made available based on your feedback. These will be
+        announced on the <a href=
+        "http://lists.sourceforge.net/lists/listinfo/ijbswa-announce" target=
+        "_top">ijbswa-announce</a> list and available from our the <a href=
+        "http://sourceforge.net/project/showfiles.php?group_id=11118" target=
+        "_top">files section</a> of our <a href=
+        "http://sf.net/projects/ijbswa/" target="_top">project page</a>.</p>
       </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="REPORTING">8.2. Reporting Problems</a>
-        </h2>
-        <p>
-          <span class="QUOTE">"Problems"</span> for our purposes, come in two
-          forms:
-        </p>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="CONTACT-BUGS" id="CONTACT-BUGS">8.2.2.
+        Reporting Bugs</a></h3>
+
+        <p>Please report all bugs through our bug tracker: <a href=
+        "http://sourceforge.net/tracker/?group_id=11118&amp;atid=111118"
+        target=
+        "_top">http://sourceforge.net/tracker/?group_id=11118&amp;atid=111118</a>.</p>
+
+        <p>Before doing so, please make sure that the bug has <span class=
+        "emphasis EMPHASIS c2">not already been submitted</span> and observe
+        the additional hints at the top of the <a href=
+        "http://sourceforge.net/tracker/?func=add&amp;group_id=11118&amp;atid=111118"
+        target="_top">submit form</a>. If already submitted, please feel free
+        to add any info to the original report that might help to solve the
+        issue.</p>
+
+        <p>Please try to verify that it is a <span class=
+        "APPLICATION">Privoxy</span> bug, and not a browser or site bug or
+        documented behaviour that just happens to be different than what you
+        expected. If unsure, try <a href=
+        "http://config.privoxy.org/toggle?set=disable" target="_top">toggling
+        off</a> <span class="APPLICATION">Privoxy</span>, and see if the
+        problem persists.</p>
+
+        <p>If you are using your own custom configuration, please try the
+        stock configs to see if the problem is configuration related. If
+        you're having problems with a feature that is disabled by default,
+        please ask around on the mailing list if others can reproduce the
+        problem.</p>
+
+        <p>If you aren't using the latest Privoxy version, the bug may have
+        been found and fixed in the meantime. We would appreciate if you
+        could take the time to <a href=
+        "http://www.privoxy.org/user-manual/installation.html" target=
+        "_top">upgrade to the latest version</a> (or even the latest CVS
+        snapshot) and verify that your bug still exists.</p>
+
+        <p>Please be sure to provide the following information:</p>
+
         <ul>
           <li>
-            <p>
-              Configuration issues, such as ads that slip through, or sites
-              that don't function properly due to one <span class=
-              "APPLICATION">Privoxy</span> <span class=
-              "QUOTE">"action"</span> or another being turned <span class=
-              "QUOTE">"on"</span>.
-            </p>
+            <p>The exact <span class="APPLICATION">Privoxy</span> version you
+            are using (if you got the source from CVS, please also provide
+            the source code revisions as shown in <a href=
+            "http://config.privoxy.org/show-version" target=
+            "_top">http://config.privoxy.org/show-version</a>).</p>
+          </li>
+
+          <li>
+            <p>The operating system and versions you run <span class=
+            "APPLICATION">Privoxy</span> on, (e.g. <span class=
+            "APPLICATION">Windows XP SP2</span>), if you are using a Unix
+            flavor, sending the output of <span class="QUOTE">"uname
+            -a"</span> should do, in case of GNU/Linux, please also name the
+            distribution.</p>
+          </li>
+
+          <li>
+            <p>The name, platform, and version of the <span class=
+            "APPLICATION">browser</span> you were using (e.g. <span class=
+            "APPLICATION">Internet Explorer v5.5</span> for Mac).</p>
+          </li>
+
+          <li>
+            <p>The URL where the problem occurred, or some way for us to
+            duplicate the problem (e.g. <tt class=
+            "LITERAL">http://somesite.example.com/?somethingelse=123</tt>).</p>
+          </li>
+
+          <li>
+            <p>Whether your version of <span class=
+            "APPLICATION">Privoxy</span> is one supplied by the <span class=
+            "APPLICATION">Privoxy</span> developers via SourceForge, or if
+            you got your copy somewhere else.</p>
+          </li>
+
+          <li>
+            <p>Whether you are using <span class="APPLICATION">Privoxy</span>
+            in tandem with another proxy such as <span class=
+            "APPLICATION">Tor</span>. If so, please temporary disable the
+            other proxy to see if the symptoms change.</p>
           </li>
+
           <li>
-            <p>
-              <span class="QUOTE">"Bugs"</span> in the programming code that
-              makes up <span class="APPLICATION">Privoxy</span>, such as that
-              might cause a crash.
-            </p>
+            <p>Whether you are using a personal firewall product. If so, does
+            <span class="APPLICATION">Privoxy</span> work without it?</p>
+          </li>
+
+          <li>
+            <p>Any other pertinent information to help identify the problem
+            such as config or log file excerpts (yes, you should have log
+            file entries for each action taken). To get a meaningful logfile,
+            please make sure that the <a href=
+            "../user-manual/config.html#LOGFILE" target="_top">logfile
+            directive</a> is being used and the following <a href=
+            "../user-manual/config.html#DEBUG" target="_top">debug
+            options</a> are enabled:</p>
+
+            <p class="LITERALLAYOUT">
+            debug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;#&nbsp;Log&nbsp;the&nbsp;destination&nbsp;for&nbsp;each&nbsp;request&nbsp;Privoxy&nbsp;let&nbsp;through.&nbsp;See&nbsp;also&nbsp;debug&nbsp;1024.<br>
+
+            debug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;#&nbsp;show&nbsp;each&nbsp;connection&nbsp;status<br>
+
+            debug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;#&nbsp;show&nbsp;I/O&nbsp;status<br>
+
+            debug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;#&nbsp;show&nbsp;header&nbsp;parsing<br>
+
+            debug&nbsp;&nbsp;&nbsp;128&nbsp;#&nbsp;debug&nbsp;redirects<br>
+            debug&nbsp;&nbsp;&nbsp;256&nbsp;#&nbsp;debug&nbsp;GIF&nbsp;de-animation<br>
+
+            debug&nbsp;&nbsp;&nbsp;512&nbsp;#&nbsp;Common&nbsp;Log&nbsp;Format<br>
+
+            debug&nbsp;&nbsp;1024&nbsp;#&nbsp;Log&nbsp;the&nbsp;destination&nbsp;for&nbsp;requests&nbsp;Privoxy&nbsp;didn't&nbsp;let&nbsp;through,&nbsp;and&nbsp;the&nbsp;reason&nbsp;why.<br>
+
+            debug&nbsp;&nbsp;4096&nbsp;#&nbsp;Startup&nbsp;banner&nbsp;and&nbsp;warnings.<br>
+
+            debug&nbsp;&nbsp;8192&nbsp;#&nbsp;Non-fatal&nbsp;errors</p>If you
+            are having trouble with a filter, please additionally enable
+
+            <p class="LITERALLAYOUT">
+            debug&nbsp;&nbsp;&nbsp;&nbsp;64&nbsp;#&nbsp;debug&nbsp;regular&nbsp;expression&nbsp;filters</p>If
+            you are using Privoxy 3.0.17 or later and suspect that it
+            interprets the request or the response incorrectly, please enable
+
+            <p class="LITERALLAYOUT">
+            debug&nbsp;32768&nbsp;#&nbsp;log&nbsp;all&nbsp;data&nbsp;read&nbsp;from&nbsp;the&nbsp;network</p>Note
+            that Privoxy log files may contain sensitive information so
+            please don't submit any logfiles you didn't read first. You can
+            mask sensitive information as long as it's clear that you removed
+            something.
           </li>
         </ul>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="CONTACT-ADS">8.2.1. Reporting Ads or Other Configuration
-            Problems</a>
-          </h3>
-          <p>
-            Please send feedback on ads that slipped through, innocent images
-            that were blocked, sites that don't work properly, and other
-            configuration related problem of <tt class=
-            "FILENAME">default.action</tt> file, to <a href=
-            "http://sourceforge.net/tracker/?group_id=11118&amp;atid=460288"
-            target=
-            "_top">http://sourceforge.net/tracker/?group_id=11118&amp;atid=460288</a>,
-            the Actions File Tracker.
-          </p>
-          <p>
-            New, improved <tt class="FILENAME">default.action</tt> files may
-            occasionally be made available based on your feedback. These will
-            be announced on the <a href=
-            "http://lists.sourceforge.net/lists/listinfo/ijbswa-announce"
-            target="_top">ijbswa-announce</a> list and available from our the
-            <a href=
-            "http://sourceforge.net/project/showfiles.php?group_id=11118"
-            target="_top">files section</a> of our <a href=
-            "http://sf.net/projects/ijbswa/" target="_top">project page</a>.
-          </p>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="CONTACT-BUGS">8.2.2. Reporting Bugs</a>
-          </h3>
-          <p>
-            Please report all bugs through our bug tracker: <a href=
-            "http://sourceforge.net/tracker/?group_id=11118&amp;atid=111118"
-            target=
-            "_top">http://sourceforge.net/tracker/?group_id=11118&amp;atid=111118</a>.
-          </p>
-          <p>
-            Before doing so, please make sure that the bug has <span class=
-            "emphasis"><i class="EMPHASIS">not already been
-            submitted</i></span> and observe the additional hints at the top
-            of the <a href=
-            "http://sourceforge.net/tracker/?func=add&amp;group_id=11118&amp;atid=111118"
-             target="_top">submit form</a>. If already submitted, please feel
-            free to add any info to the original report that might help to
-            solve the issue.
-          </p>
-          <p>
-            Please try to verify that it is a <span class=
-            "APPLICATION">Privoxy</span> bug, and not a browser or site bug
-            or documented behaviour that just happens to be different than
-            what you expected. If unsure, try <a href=
-            "http://config.privoxy.org/toggle?set=disable" target=
-            "_top">toggling off</a> <span class="APPLICATION">Privoxy</span>,
-            and see if the problem persists.
-          </p>
-          <p>
-            If you are using your own custom configuration, please try the
-            stock configs to see if the problem is configuration related. If
-            you're having problems with a feature that is disabled by
-            default, please ask around on the mailing list if others can
-            reproduce the problem.
-          </p>
-          <p>
-            If you aren't using the latest Privoxy version, the bug may have
-            been found and fixed in the meantime. We would appreciate if you
-            could take the time to <a href=
-            "http://www.privoxy.org/user-manual/installation.html" target=
-            "_top">upgrade to the latest version</a> (or even the latest CVS
-            snapshot) and verify that your bug still exists.
-          </p>
-          <p>
-            Please be sure to provide the following information:
-          </p>
-          <p>
-          </p>
-          <ul>
-            <li>
-              <p>
-                The exact <span class="APPLICATION">Privoxy</span> version
-                you are using (if you got the source from CVS, please also
-                provide the source code revisions as shown in <a href=
-                "http://config.privoxy.org/show-version" target=
-                "_top">http://config.privoxy.org/show-version</a>).
-              </p>
-            </li>
-            <li>
-              <p>
-                The operating system and versions you run <span class=
-                "APPLICATION">Privoxy</span> on, (e.g. <span class=
-                "APPLICATION">Windows XP SP2</span>), if you are using a Unix
-                flavor, sending the output of <span class="QUOTE">"uname
-                -a"</span> should do, in case of GNU/Linux, please also name
-                the distribution.
-              </p>
-            </li>
-            <li>
-              <p>
-                The name, platform, and version of the <span class=
-                "APPLICATION">browser</span> you were using (e.g. <span
-                class="APPLICATION">Internet Explorer v5.5</span> for Mac).
-              </p>
-            </li>
-            <li>
-              <p>
-                The URL where the problem occurred, or some way for us to
-                duplicate the problem (e.g. <tt class=
-                "LITERAL">http://somesite.example.com/?somethingelse=123</tt>).
-              </p>
-            </li>
-            <li>
-              <p>
-                Whether your version of <span class=
-                "APPLICATION">Privoxy</span> is one supplied by the <span
-                class="APPLICATION">Privoxy</span> developers via
-                SourceForge, or if you got your copy somewhere else.
-              </p>
-            </li>
-            <li>
-              <p>
-                Whether you are using <span class=
-                "APPLICATION">Privoxy</span> in tandem with another proxy
-                such as <span class="APPLICATION">Tor</span>. If so, please
-                temporary disable the other proxy to see if the symptoms
-                change.
-              </p>
-            </li>
-            <li>
-              <p>
-                Whether you are using a personal firewall product. If so,
-                does <span class="APPLICATION">Privoxy</span> work without
-                it?
-              </p>
-            </li>
-            <li>
-              <p>
-                Any other pertinent information to help identify the problem
-                such as config or log file excerpts (yes, you should have log
-                file entries for each action taken). To get a meaningful
-                logfile, please make sure that the <a href=
-                "../user-manual/config.html#LOGFILE" target="_top">logfile
-                directive</a> is being used and the following <a href=
-                "../user-manual/config.html#DEBUG" target="_top">debug
-                options</a> are enabled:
-              </p>
-              <p class="LITERALLAYOUT">
-                debug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;#&nbsp;Log&nbsp;the&nbsp;destination&nbsp;for&nbsp;each&nbsp;request&nbsp;Privoxy&nbsp;let&nbsp;through.&nbsp;See&nbsp;also&nbsp;debug&nbsp;1024.<br>
-
-                 debug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;#&nbsp;show&nbsp;each&nbsp;connection&nbsp;status<br>
-
-                 debug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;#&nbsp;show&nbsp;I/O&nbsp;status<br>
-
-                 debug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;#&nbsp;show&nbsp;header&nbsp;parsing<br>
-
-                 debug&nbsp;&nbsp;&nbsp;128&nbsp;#&nbsp;debug&nbsp;redirects<br>
-
-                 debug&nbsp;&nbsp;&nbsp;256&nbsp;#&nbsp;debug&nbsp;GIF&nbsp;de-animation<br>
-
-                 debug&nbsp;&nbsp;&nbsp;512&nbsp;#&nbsp;Common&nbsp;Log&nbsp;Format<br>
-
-                 debug&nbsp;&nbsp;1024&nbsp;#&nbsp;Log&nbsp;the&nbsp;destination&nbsp;for&nbsp;requests&nbsp;Privoxy&nbsp;didn't&nbsp;let&nbsp;through,&nbsp;and&nbsp;the&nbsp;reason&nbsp;why.<br>
-
-                 debug&nbsp;&nbsp;4096&nbsp;#&nbsp;Startup&nbsp;banner&nbsp;and&nbsp;warnings.<br>
-
-                 debug&nbsp;&nbsp;8192&nbsp;#&nbsp;Non-fatal&nbsp;errors
-              </p>
-              If you are having trouble with a filter, please additionally
-              enable
-              <p class="LITERALLAYOUT">
-                debug&nbsp;&nbsp;&nbsp;&nbsp;64&nbsp;#&nbsp;debug&nbsp;regular&nbsp;expression&nbsp;filters
-              </p>
-              If you are using Privoxy 3.0.17 or later and suspect that it
-              interprets the request or the response incorrectly, please
-              enable
-              <p class="LITERALLAYOUT">
-                debug&nbsp;32768&nbsp;#&nbsp;log&nbsp;all&nbsp;data&nbsp;read&nbsp;from&nbsp;the&nbsp;network
-              </p>
-              Note that Privoxy log files may contain sensitive information
-              so please don't submit any logfiles you didn't read first. You
-              can mask sensitive information as long as it's clear that you
-              removed something.<br>
-            </li>
-          </ul>
-
-          <p>
-            You don't have to tell us your actual name when filing a problem
-            report, but if you don't, please use a nickname so we can
-            differentiate between your messages and the ones entered by other
-            "anonymous" users that may respond to your request if they have
-            the same problem or already found a solution. Note that due to
-            spam the trackers may not always allow to post without being
-            logged into SourceForge. If that's the case, you are still free
-            to create a login that isn't directly linked to your name,
-            though.
-          </p>
-          <p>
-            Please also check the status of your request a few days after
-            submitting it, as we may request additional information. If you
-            use a SF id, you should automatically get a mail when someone
-            responds to your request. Please don't bother to add an email
-            address when using the tracker. If you prefer to communicate
-            through email, just use one of the mailing lists directly.
-          </p>
-          <p>
-            The <a href=
-            "http://www.privoxy.org/user-manual/appendix.html#ACTIONSANAT"
-            target="_top">appendix of the Privoxy User Manual</a> also has
-            helpful information on understanding <tt class=
-            "LITERAL">actions</tt>, and <tt class="LITERAL">action</tt>
-            debugging.
-          </p>
-        </div>
-      </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="CONTACT-FEATURE">8.3. Request New Features</a>
-        </h2>
-        <p>
-          You are welcome to submit ideas on new features or other proposals
-          for improvement through our feature request tracker at <a href=
-          "http://sourceforge.net/tracker/?atid=361118&amp;group_id=11118"
-          target=
-          "_top">http://sourceforge.net/tracker/?atid=361118&amp;group_id=11118</a>.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="MAILING-LISTS">8.4. Mailing Lists</a>
-        </h2>
-        <p>
-          If you prefer to communicate through email, instead of using a web
-          interface, feel free to use one of the mailing lists. To discuss
-          issues that haven't been completely diagnosed yet, please use the
-          Privoxy users list. Technically interested users and people who
-          wish to contribute to the project are always welcome on the
-          developers list. You can find an overview of all <span class=
-          "APPLICATION">Privoxy</span>-related mailing lists, including list
-          archives, at: <a href="http://sourceforge.net/mail/?group_id=11118"
-          target="_top">http://sourceforge.net/mail/?group_id=11118</a>.
-        </p>
+
+        <p>You don't have to tell us your actual name when filing a problem
+        report, but if you don't, please use a nickname so we can
+        differentiate between your messages and the ones entered by other
+        "anonymous" users that may respond to your request if they have the
+        same problem or already found a solution. Note that due to spam the
+        trackers may not always allow to post without being logged into
+        SourceForge. If that's the case, you are still free to create a login
+        that isn't directly linked to your name, though.</p>
+
+        <p>Please also check the status of your request a few days after
+        submitting it, as we may request additional information. If you use a
+        SF id, you should automatically get a mail when someone responds to
+        your request. Please don't bother to add an email address when using
+        the tracker. If you prefer to communicate through email, just use one
+        of the mailing lists directly.</p>
+
+        <p>If you are new to reporting problems, you might be interested in
+        <a href="http://www.chiark.greenend.org.uk/~sgtatham/bugs.html"
+        target="_top">How to Report Bugs Effectively</a>.</p>
+
+        <p>If you are new to reporting problems, you might be interested in
+        <a href="http://www.chiark.greenend.org.uk/~sgtatham/bugs.html"
+        target="_top">How to Report Bugs Effectively</a>.</p>
+
+        <p>The <a href=
+        "http://www.privoxy.org/user-manual/appendix.html#ACTIONSANAT"
+        target="_top">appendix of the Privoxy User Manual</a> also has
+        helpful information on understanding <tt class=
+        "LITERAL">actions</tt>, and <tt class="LITERAL">action</tt>
+        debugging.</p>
       </div>
     </div>
-    <div class="NAVFOOTER">
-      <hr width="100%" class="c1">
-      <table summary="Footer navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <td width="33%" align="left" valign="top">
-            <a href="webserver-update.html" accesskey="P">Prev</a>
-          </td>
-          <td width="34%" align="center" valign="top">
-            <a href="index.html" accesskey="H">Home</a>
-          </td>
-          <td width="33%" align="right" valign="top">
-            <a href="copyright.html" accesskey="N">Next</a>
-          </td>
-        </tr>
-        <tr>
-          <td width="33%" align="left" valign="top">
-            Update the Webserver
-          </td>
-          <td width="34%" align="center" valign="top">
-            &nbsp;
-          </td>
-          <td width="33%" align="right" valign="top">
-            Privoxy Copyright, License and History
-          </td>
-        </tr>
-      </table>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="CONTACT-FEATURE" id="CONTACT-FEATURE">8.3.
+      Request New Features</a></h2>
+
+      <p>You are welcome to submit ideas on new features or other proposals
+      for improvement through our feature request tracker at <a href=
+      "http://sourceforge.net/tracker/?atid=361118&amp;group_id=11118"
+      target="_top">http://sourceforge.net/tracker/?atid=361118&amp;group_id=11118</a>.</p>
     </div>
-  </body>
-</html>
 
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="MAILING-LISTS" id="MAILING-LISTS">8.4.
+      Mailing Lists</a></h2>
+
+      <p>If you prefer to communicate through email, instead of using a web
+      interface, feel free to use one of the mailing lists. To discuss issues
+      that haven't been completely diagnosed yet, please use the Privoxy
+      users list. Technically interested users and people who wish to
+      contribute to the project are always welcome on the developers list.
+      You can find an overview of all <span class=
+      "APPLICATION">Privoxy</span>-related mailing lists, including list
+      archives, at: <a href="http://sourceforge.net/mail/?group_id=11118"
+      target="_top">http://sourceforge.net/mail/?group_id=11118</a>.</p>
+    </div>
+  </div>
+
+  <div class="NAVFOOTER">
+    <hr class="c1" width="100%">
+
+    <table summary="Footer navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <td width="33%" align="left" valign="top"><a href=
+        "webserver-update.html" accesskey="P">Prev</a></td>
+
+        <td width="34%" align="center" valign="top"><a href="index.html"
+        accesskey="H">Home</a></td>
+
+        <td width="33%" align="right" valign="top"><a href="copyright.html"
+        accesskey="N">Next</a></td>
+      </tr>
+
+      <tr>
+        <td width="33%" align="left" valign="top">Update the Webserver</td>
+
+        <td width="34%" align="center" valign="top">&nbsp;</td>
+
+        <td width="33%" align="right" valign="top">Privoxy Copyright, License
+        and History</td>
+      </tr>
+    </table>
+  </div>
+</body>
+</html>
index 39b1dd0..39c5258 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
-Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+
 <html>
-  <head>
-    <meta name="generator" content="HTML Tidy, see www.w3.org">
-    <title>
-      Privoxy Copyright, License and History
-    </title>
-    <meta name="GENERATOR" content=
-    "Modular DocBook HTML Stylesheet Version 1.79">
-    <link rel="HOME" title="Privoxy Developer Manual" href="index.html">
-    <link rel="PREVIOUS" title=
-    "Contacting the developers, Bug Reporting and Feature Requests" href=
-    "contact.html">
-    <link rel="NEXT" title="See also" href="seealso.html">
-    <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
-    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<style type="text/css">
- body {
+<head>
+  <meta name="generator" content=
+  "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
+
+  <title>Privoxy Copyright, License and History</title>
+  <meta name="GENERATOR" content=
+  "Modular DocBook HTML Stylesheet Version 1.79">
+  <link rel="HOME" title="Privoxy Developer Manual" href="index.html">
+  <link rel="PREVIOUS" title=
+  "Contacting the developers, Bug Reporting and Feature Requests" href=
+  "contact.html">
+  <link rel="NEXT" title="See also" href="seealso.html">
+  <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
+  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+  <style type="text/css">
+body {
   background-color: #EEEEEE;
   color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- hr.c1 {text-align: left}
-</style>
-  </head>
-  <body class="SECT1">
-    <div class="NAVHEADER">
-      <table summary="Header navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <th colspan="3" align="center">
-            Privoxy Developer Manual
-          </th>
-        </tr>
-        <tr>
-          <td width="10%" align="left" valign="bottom">
-            <a href="contact.html" accesskey="P">Prev</a>
-          </td>
-          <td width="80%" align="center" valign="bottom">
-          </td>
-          <td width="10%" align="right" valign="bottom">
-            <a href="seealso.html" accesskey="N">Next</a>
-          </td>
-        </tr>
-      </table>
-      <hr width="100%" class="c1">
-    </div>
-    <div class="SECT1">
-      <h1 class="SECT1">
-        <a name="COPYRIGHT">9. Privoxy Copyright, License and History</a>
-      </h1>
-      <p>
-        Copyright &copy; 2001-2011 by Privoxy Developers <code class=
-        "EMAIL">&lt;<a href=
-        "mailto:ijbswa-developers@lists.sourceforge.net">ijbswa-developers@lists.sourceforge.net</a>&gt;</code>
-      </p>
-      <p>
-        Some source code is based on code Copyright &copy; 1997 by Anonymous
-        Coders and Junkbusters, Inc. and licensed under the <i class=
-        "CITETITLE">GNU General Public License</i>.
-      </p>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="AEN1229">9.1. License</a>
-        </h2>
-        <p>
-          <span class="APPLICATION">Privoxy</span> is free software; you can
-          redistribute it and/or modify it under the terms of the <i class=
-          "CITETITLE">GNU General Public License</i>, version 2, as published
-          by the Free Software Foundation.
-        </p>
-        <p>
-          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 <a
-          href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html"
-          target="_top"><i class="CITETITLE">GNU General Public
-          License</i></a> for details.
-        </p>
-        <p>
-          You should have received a copy of the <i class="CITETITLE">GNU
-          GPL</i> along with this program; if not, write to the
-        </p>
-        <p class="ADDRESS">
-          &nbsp;Free&nbsp;Software<br>
-           &nbsp;Foundation,&nbsp;Inc.&nbsp;<span class="STREET">51 Franklin
-          Street, Fifth Floor</span><br>
-           &nbsp;<span class="CITY">Boston</span>,&nbsp;<span class=
-          "STATE">MA</span>&nbsp;<span class="POSTCODE">02110-1301</span><br>
-           &nbsp;<span class="COUNTRY">USA</span>&nbsp;
-        </p>
-      </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="AEN1245">9.2. History</a>
-        </h2>
-        <p>
-          A long time ago, there was the <a href=
-          "http://www.junkbusters.com/ijb.html" target="_top"><span class=
-          "APPLICATION">Internet Junkbuster</span></a>, by Anonymous Coders
-          and <a href="http://www.junkbusters.com/" target="_top">Junkbusters
-          Corporation</a>. This saved many users a lot of pain in the early
-          days of web advertising and user tracking.
-        </p>
-        <p>
-          But the web, its protocols and standards, and with it, the
-          techniques for forcing ads on users, give up autonomy over their
-          browsing, and for tracking them, keeps evolving. Unfortunately, the
-          <span class="APPLICATION">Internet Junkbuster</span> did not.
-          Version 2.0.2, published in 1998, was (and is) the last official <a
-          href="http://www.junkbusters.com/ijbdist.html#release" target=
-          "_top">release</a> available from <a href=
-          "http://www.junkbusters.com" target="_top">Junkbusters
-          Corporation</a>. Fortunately, it had been released under the GNU <a
-          href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html"
-          target="_top">GPL</a>, which allowed further development by others.
-        </p>
-        <p>
-          So Stefan Waldherr started maintaining an improved version of the
-          software, to which eventually a number of people contributed
-          patches. It could already replace banners with a transparent image,
-          and had a first version of pop-up killing, but it was still very
-          closely based on the original, with all its limitations, such as
-          the lack of HTTP/1.1 support, flexible per-site configuration, or
-          content modification. The last release from this effort was version
-          2.0.2-10, published in 2000.
-        </p>
-        <p>
-          Then, some <a href=
-          "http://www.privoxy.org/user-manual/copyright.html#AUTHORS" target=
-          "_top">developers</a> picked up the thread, and started turning the
-          software inside out, upside down, and then reassembled it, adding
-          many <a href=
-          "http://www.privoxy.org/user-manual/introduction.html#FEATURES"
-          target="_top">new features</a> along the way.
-        </p>
-        <p>
-          The result of this is <span class="APPLICATION">Privoxy</span>,
-          whose first stable version, 3.0, was released August, 2002.
-        </p>
-      </div>
+  }
+  :link { color: #0000FF }
+  :visited { color: #840084 }
+  :active { color: #0000FF }
+  a.c2 {font-style: italic}
+  hr.c1 {text-align: left}
+  </style>
+</head>
+
+<body class="SECT1">
+  <div class="NAVHEADER">
+    <table summary="Header navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <th colspan="3" align="center">Privoxy Developer Manual</th>
+      </tr>
+
+      <tr>
+        <td width="10%" align="left" valign="bottom"><a href="contact.html"
+        accesskey="P">Prev</a></td>
+
+        <td width="80%" align="center" valign="bottom"></td>
+
+        <td width="10%" align="right" valign="bottom"><a href="seealso.html"
+        accesskey="N">Next</a></td>
+      </tr>
+    </table>
+    <hr class="c1" width="100%">
+  </div>
+
+  <div class="SECT1">
+    <h1 class="SECT1"><a name="COPYRIGHT" id="COPYRIGHT">9. Privoxy
+    Copyright, License and History</a></h1>
+
+    <p>Copyright &copy; 2001-2011 by Privoxy Developers <code class=
+    "EMAIL">&lt;<a href=
+    "mailto:ijbswa-developers@lists.sourceforge.net">ijbswa-developers@lists.sourceforge.net</a>&gt;</code></p>
+
+    <p>Some source code is based on code Copyright &copy; 1997 by Anonymous
+    Coders and Junkbusters, Inc. and licensed under the <i class=
+    "CITETITLE">GNU General Public License</i>.</p>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="AEN1233" id="AEN1233">9.1. License</a></h2>
+
+      <p><span class="APPLICATION">Privoxy</span> is free software; you can
+      redistribute it and/or modify it under the terms of the <i class=
+      "CITETITLE">GNU General Public License</i>, version 2, as published by
+      the Free Software Foundation.</p>
+
+      <p>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 <a class=
+      "CITETITLE c2" href=
+      "http://www.gnu.org/licenses/old-licenses/gpl-2.0.html" target=
+      "_top">GNU General Public License</a> for details.</p>
+
+      <p>You should have received a copy of the <i class="CITETITLE">GNU
+      GPL</i> along with this program; if not, write to the</p>
+
+      <p class="ADDRESS">&nbsp;Free&nbsp;Software<br>
+      &nbsp;Foundation,&nbsp;Inc.&nbsp;<span class="STREET">51 Franklin
+      Street, Fifth Floor</span><br>
+      &nbsp;<span class="CITY">Boston</span>,&nbsp;<span class=
+      "STATE">MA</span>&nbsp;<span class="POSTCODE">02110-1301</span><br>
+      &nbsp;<span class="COUNTRY">USA</span>&nbsp;</p>
     </div>
-    <div class="NAVFOOTER">
-      <hr width="100%" class="c1">
-      <table summary="Footer navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <td width="33%" align="left" valign="top">
-            <a href="contact.html" accesskey="P">Prev</a>
-          </td>
-          <td width="34%" align="center" valign="top">
-            <a href="index.html" accesskey="H">Home</a>
-          </td>
-          <td width="33%" align="right" valign="top">
-            <a href="seealso.html" accesskey="N">Next</a>
-          </td>
-        </tr>
-        <tr>
-          <td width="33%" align="left" valign="top">
-            Contacting the developers, Bug Reporting and Feature Requests
-          </td>
-          <td width="34%" align="center" valign="top">
-            &nbsp;
-          </td>
-          <td width="33%" align="right" valign="top">
-            See also
-          </td>
-        </tr>
-      </table>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="AEN1249" id="AEN1249">9.2. History</a></h2>
+
+      <p>A long time ago, there was the <a href=
+      "http://www.junkbusters.com/ijb.html" target="_top"><span class=
+      "APPLICATION">Internet Junkbuster</span></a>, by Anonymous Coders and
+      <a href="http://www.junkbusters.com/" target="_top">Junkbusters
+      Corporation</a>. This saved many users a lot of pain in the early days
+      of web advertising and user tracking.</p>
+
+      <p>But the web, its protocols and standards, and with it, the
+      techniques for forcing ads on users, give up autonomy over their
+      browsing, and for tracking them, keeps evolving. Unfortunately, the
+      <span class="APPLICATION">Internet Junkbuster</span> did not. Version
+      2.0.2, published in 1998, was (and is) the last official <a href=
+      "http://www.junkbusters.com/ijbdist.html#release" target=
+      "_top">release</a> available from <a href="http://www.junkbusters.com"
+      target="_top">Junkbusters Corporation</a>. Fortunately, it had been
+      released under the GNU <a href=
+      "http://www.gnu.org/licenses/old-licenses/gpl-2.0.html" target=
+      "_top">GPL</a>, which allowed further development by others.</p>
+
+      <p>So Stefan Waldherr started maintaining an improved version of the
+      software, to which eventually a number of people contributed patches.
+      It could already replace banners with a transparent image, and had a
+      first version of pop-up killing, but it was still very closely based on
+      the original, with all its limitations, such as the lack of HTTP/1.1
+      support, flexible per-site configuration, or content modification. The
+      last release from this effort was version 2.0.2-10, published in
+      2000.</p>
+
+      <p>Then, some <a href=
+      "http://www.privoxy.org/user-manual/copyright.html#AUTHORS" target=
+      "_top">developers</a> picked up the thread, and started turning the
+      software inside out, upside down, and then reassembled it, adding many
+      <a href="http://www.privoxy.org/user-manual/introduction.html#FEATURES"
+      target="_top">new features</a> along the way.</p>
+
+      <p>The result of this is <span class="APPLICATION">Privoxy</span>,
+      whose first stable version, 3.0, was released August, 2002.</p>
     </div>
-  </body>
-</html>
+  </div>
 
+  <div class="NAVFOOTER">
+    <hr class="c1" width="100%">
+
+    <table summary="Footer navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <td width="33%" align="left" valign="top"><a href="contact.html"
+        accesskey="P">Prev</a></td>
+
+        <td width="34%" align="center" valign="top"><a href="index.html"
+        accesskey="H">Home</a></td>
+
+        <td width="33%" align="right" valign="top"><a href="seealso.html"
+        accesskey="N">Next</a></td>
+      </tr>
+
+      <tr>
+        <td width="33%" align="left" valign="top">Contacting the developers,
+        Bug Reporting and Feature Requests</td>
+
+        <td width="34%" align="center" valign="top">&nbsp;</td>
+
+        <td width="33%" align="right" valign="top">See also</td>
+      </tr>
+    </table>
+  </div>
+</body>
+</html>
index 3db67f4..5a0f571 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
-Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+
 <html>
-  <head>
-    <meta name="generator" content="HTML Tidy, see www.w3.org">
-    <title>
-      The CVS Repository
-    </title>
-    <meta name="GENERATOR" content=
-    "Modular DocBook HTML Stylesheet Version 1.79">
-    <link rel="HOME" title="Privoxy Developer Manual" href="index.html">
-    <link rel="PREVIOUS" title="Introduction" href="introduction.html">
-    <link rel="NEXT" title="Documentation Guidelines" href=
-    "documentation.html">
-    <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
-    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<style type="text/css">
- body {
+<head>
+  <meta name="generator" content=
+  "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
+
+  <title>The CVS Repository</title>
+  <meta name="GENERATOR" content=
+  "Modular DocBook HTML Stylesheet Version 1.79">
+  <link rel="HOME" title="Privoxy Developer Manual" href="index.html">
+  <link rel="PREVIOUS" title="Introduction" href="introduction.html">
+  <link rel="NEXT" title="Documentation Guidelines" href=
+  "documentation.html">
+  <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
+  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+  <style type="text/css">
+body {
   background-color: #EEEEEE;
   color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- hr.c1 {text-align: left}
-</style>
-  </head>
-  <body class="SECT1">
-    <div class="NAVHEADER">
-      <table summary="Header navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <th colspan="3" align="center">
-            Privoxy Developer Manual
-          </th>
-        </tr>
-        <tr>
-          <td width="10%" align="left" valign="bottom">
-            <a href="introduction.html" accesskey="P">Prev</a>
-          </td>
-          <td width="80%" align="center" valign="bottom">
-          </td>
-          <td width="10%" align="right" valign="bottom">
-            <a href="documentation.html" accesskey="N">Next</a>
-          </td>
-        </tr>
-      </table>
-      <hr width="100%" class="c1">
+  }
+  :link { color: #0000FF }
+  :visited { color: #840084 }
+  :active { color: #0000FF }
+  span.c2 {font-style: italic}
+  hr.c1 {text-align: left}
+  </style>
+</head>
+
+<body class="SECT1">
+  <div class="NAVHEADER">
+    <table summary="Header navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <th colspan="3" align="center">Privoxy Developer Manual</th>
+      </tr>
+
+      <tr>
+        <td width="10%" align="left" valign="bottom"><a href=
+        "introduction.html" accesskey="P">Prev</a></td>
+
+        <td width="80%" align="center" valign="bottom"></td>
+
+        <td width="10%" align="right" valign="bottom"><a href=
+        "documentation.html" accesskey="N">Next</a></td>
+      </tr>
+    </table>
+    <hr class="c1" width="100%">
+  </div>
+
+  <div class="SECT1">
+    <h1 class="SECT1"><a name="CVS" id="CVS">2. The CVS Repository</a></h1>
+
+    <p>If you become part of the active development team, you will eventually
+    need write access to our holy grail, the CVS repository. One of the team
+    members will need to set this up for you. Please read this chapter
+    completely before accessing via CVS.</p>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="CVSACCESS" id="CVSACCESS">2.1. Access to
+      CVS</a></h2>
+
+      <p>The project's CVS repository is hosted on <a href=
+      "http://sourceforge.net/" target="_top">SourceForge.</a> Please refer
+      to the chapters 6 and 7 in <a href=
+      "http://sourceforge.net/docman/?group_id=1" target="_top">SF's site
+      documentation</a> for the technical access details for your operating
+      system. For historical reasons, the CVS server is called <tt class=
+      "LITERAL">ijbswa.cvs.sourceforge.net</tt>, the repository is called
+      <tt class="LITERAL">ijbswa</tt>, and the source tree module is called
+      <tt class="LITERAL">current</tt>.</p>
     </div>
-    <div class="SECT1">
-      <h1 class="SECT1">
-        <a name="CVS">2. The CVS Repository</a>
-      </h1>
-      <p>
-        If you become part of the active development team, you will
-        eventually need write access to our holy grail, the CVS repository.
-        One of the team members will need to set this up for you. Please read
-        this chapter completely before accessing via CVS.
-      </p>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="CVSACCESS">2.1. Access to CVS</a>
-        </h2>
-        <p>
-          The project's CVS repository is hosted on <a href=
-          "http://sourceforge.net/" target="_top">SourceForge.</a> Please
-          refer to the chapters 6 and 7 in <a href=
-          "http://sourceforge.net/docman/?group_id=1" target="_top">SF's site
-          documentation</a> for the technical access details for your
-          operating system. For historical reasons, the CVS server is called
-          <tt class="LITERAL">ijbswa.cvs.sourceforge.net</tt>, the repository
-          is called <tt class="LITERAL">ijbswa</tt>, and the source tree
-          module is called <tt class="LITERAL">current</tt>.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="CVSBRANCHES">2.2. Branches</a>
-        </h2>
-        <p>
-          Within the CVS repository, there are modules and branches. As
-          mentioned, the sources are in the <tt class="LITERAL">current</tt>
-          <span class="QUOTE">"module"</span>. Other modules are present for
-          platform specific issues. There is a webview of the CVS hierarchy
-          at <a href="http://ijbswa.cvs.sourceforge.net/ijbswa/" target=
-          "_top">http://ijbswa.cvs.sourceforge.net/ijbswa/</a>, which might
-          help with visualizing how these pieces fit together.
-        </p>
-        <p>
-          Branches are used to fork a sub-development path from the main
-          trunk. Within the <tt class="LITERAL">current</tt> module where the
-          sources are, there is always at least one <span class=
-          "QUOTE">"branch"</span> from the main trunk devoted to a stable
-          release series. The main trunk is where active development takes
-          place for the next stable series (e.g. 3.2.x). So just prior to
-          each stable series (e.g. 3.0.x), a branch is created just for
-          stable series releases (e.g. 3.0.0 -&gt; 3.0.1 -&gt; 3.0.2, etc).
-          Once the initial stable release of any stable branch has taken
-          place, this branch is <span class="emphasis"><i class=
-          "EMPHASIS">only used for bugfixes</i></span>, which have had prior
-          testing before being committed to CVS. (See <a href=
-          "newrelease.html#VERSIONNUMBERS">Version Numbers</a> below for
-          details on versioning.)
-        </p>
-        <p>
-          At one time there were two distinct branches: stable and unstable.
-          The more drastic changes were to be in the unstable branch. These
-          branches have now been merged to minimize time and effort of
-          maintaining two branches.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="CVSCOMMIT">2.3. CVS Commit Guidelines</a>
-        </h2>
-        <p>
-          The source tree is the heart of every software project. Every
-          effort must be made to ensure that it is readable, compilable and
-          consistent at all times. There are differing guidelines for the
-          stable branch and the main development trunk, and we ask anyone
-          with CVS access to strictly adhere to the following guidelines:
-        </p>
-        <p>
-          Basic Guidelines, for all branches:
-        </p>
-        <p>
-        </p>
-        <ul>
-          <li>
-            <p>
-              Please don't commit even a small change without testing it
-              thoroughly first. When we're close to a public release, ask a
-              fellow developer to review your changes.
-            </p>
-          </li>
-          <li>
-            <p>
-              Your commit message should give a concise overview of <span
-              class="emphasis"><i class="EMPHASIS">what you
-              changed</i></span> (no big details) and <span class=
-              "emphasis"><i class="EMPHASIS">why you changed it</i></span>
-              Just check previous messages for good examples.
-            </p>
-          </li>
-          <li>
-            <p>
-              Don't use the same message on multiple files, unless it equally
-              applies to all those files.
-            </p>
-          </li>
-          <li>
-            <p>
-              If your changes span multiple files, and the code won't
-              recompile unless all changes are committed (e.g. when changing
-              the signature of a function), then commit all files one after
-              another, without long delays in between. If necessary, prepare
-              the commit messages in advance.
-            </p>
-          </li>
-          <li>
-            <p>
-              Before changing things on CVS, make sure that your changes are
-              in line with the team's general consensus on what should be
-              done.
-            </p>
-          </li>
-          <li>
-            <p>
-              Note that near a major public release, we get more cautious.
-              There is always the possibility to submit a patch to the <a
-              href=
-              "http://sourceforge.net/tracker/?atid=311118&amp;group_id=11118&amp;func=browse"
-               target="_top">patch tracker</a> instead.
-            </p>
-          </li>
-        </ul>
-      </div>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="CVSBRANCHES" id="CVSBRANCHES">2.2.
+      Branches</a></h2>
+
+      <p>Within the CVS repository, there are modules and branches. As
+      mentioned, the sources are in the <tt class="LITERAL">current</tt>
+      <span class="QUOTE">"module"</span>. Other modules are present for
+      platform specific issues. There is a webview of the CVS hierarchy at
+      <a href="http://ijbswa.cvs.sourceforge.net/ijbswa/" target=
+      "_top">http://ijbswa.cvs.sourceforge.net/ijbswa/</a>, which might help
+      with visualizing how these pieces fit together.</p>
+
+      <p>Branches are used to fork a sub-development path from the main
+      trunk. Within the <tt class="LITERAL">current</tt> module where the
+      sources are, there is always at least one <span class=
+      "QUOTE">"branch"</span> from the main trunk devoted to a stable release
+      series. The main trunk is where active development takes place for the
+      next stable series (e.g. 3.2.x). So just prior to each stable series
+      (e.g. 3.0.x), a branch is created just for stable series releases (e.g.
+      3.0.0 -&gt; 3.0.1 -&gt; 3.0.2, etc). Once the initial stable release of
+      any stable branch has taken place, this branch is <span class=
+      "emphasis EMPHASIS c2">only used for bugfixes</span>, which have had
+      prior testing before being committed to CVS. (See <a href=
+      "newrelease.html#VERSIONNUMBERS">Version Numbers</a> below for details
+      on versioning.)</p>
+
+      <p>At one time there were two distinct branches: stable and unstable.
+      The more drastic changes were to be in the unstable branch. These
+      branches have now been merged to minimize time and effort of
+      maintaining two branches.</p>
     </div>
-    <div class="NAVFOOTER">
-      <hr width="100%" class="c1">
-      <table summary="Footer navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <td width="33%" align="left" valign="top">
-            <a href="introduction.html" accesskey="P">Prev</a>
-          </td>
-          <td width="34%" align="center" valign="top">
-            <a href="index.html" accesskey="H">Home</a>
-          </td>
-          <td width="33%" align="right" valign="top">
-            <a href="documentation.html" accesskey="N">Next</a>
-          </td>
-        </tr>
-        <tr>
-          <td width="33%" align="left" valign="top">
-            Introduction
-          </td>
-          <td width="34%" align="center" valign="top">
-            &nbsp;
-          </td>
-          <td width="33%" align="right" valign="top">
-            Documentation Guidelines
-          </td>
-        </tr>
-      </table>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="CVSCOMMIT" id="CVSCOMMIT">2.3. CVS Commit
+      Guidelines</a></h2>
+
+      <p>The source tree is the heart of every software project. Every effort
+      must be made to ensure that it is readable, compilable and consistent
+      at all times. There are differing guidelines for the stable branch and
+      the main development trunk, and we ask anyone with CVS access to
+      strictly adhere to the following guidelines:</p>
+
+      <p>Basic Guidelines, for all branches:</p>
+
+      <ul>
+        <li>
+          <p>Please don't commit even a small change without testing it
+          thoroughly first. When we're close to a public release, ask a
+          fellow developer to review your changes.</p>
+        </li>
+
+        <li>
+          <p>Your commit message should give a concise overview of
+          <span class="emphasis EMPHASIS c2">what you changed</span> (no big
+          details) and <span class="emphasis EMPHASIS c2">why you changed
+          it</span> Just check previous messages for good examples.</p>
+        </li>
+
+        <li>
+          <p>Don't use the same message on multiple files, unless it equally
+          applies to all those files.</p>
+        </li>
+
+        <li>
+          <p>If your changes span multiple files, and the code won't
+          recompile unless all changes are committed (e.g. when changing the
+          signature of a function), then commit all files one after another,
+          without long delays in between. If necessary, prepare the commit
+          messages in advance.</p>
+        </li>
+
+        <li>
+          <p>Before changing things on CVS, make sure that your changes are
+          in line with the team's general consensus on what should be
+          done.</p>
+        </li>
+
+        <li>
+          <p>Note that near a major public release, we get more cautious.
+          There is always the possibility to submit a patch to the <a href=
+          "http://sourceforge.net/tracker/?atid=311118&amp;group_id=11118&amp;func=browse"
+          target="_top">patch tracker</a> instead.</p>
+        </li>
+      </ul>
     </div>
-  </body>
-</html>
+  </div>
 
+  <div class="NAVFOOTER">
+    <hr class="c1" width="100%">
+
+    <table summary="Footer navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <td width="33%" align="left" valign="top"><a href="introduction.html"
+        accesskey="P">Prev</a></td>
+
+        <td width="34%" align="center" valign="top"><a href="index.html"
+        accesskey="H">Home</a></td>
+
+        <td width="33%" align="right" valign="top"><a href=
+        "documentation.html" accesskey="N">Next</a></td>
+      </tr>
+
+      <tr>
+        <td width="33%" align="left" valign="top">Introduction</td>
+
+        <td width="34%" align="center" valign="top">&nbsp;</td>
+
+        <td width="33%" align="right" valign="top">Documentation
+        Guidelines</td>
+      </tr>
+    </table>
+  </div>
+</body>
+</html>
index a57a2d2..a3f2338 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
-Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+
 <html>
-  <head>
-    <meta name="generator" content="HTML Tidy, see www.w3.org">
-    <title>
-      Documentation Guidelines
-    </title>
-    <meta name="GENERATOR" content=
-    "Modular DocBook HTML Stylesheet Version 1.79">
-    <link rel="HOME" title="Privoxy Developer Manual" href="index.html">
-    <link rel="PREVIOUS" title="The CVS Repository" href="cvs.html">
-    <link rel="NEXT" title="Coding Guidelines" href="coding.html">
-    <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
-    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<style type="text/css">
- body {
+<head>
+  <meta name="generator" content=
+  "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
+
+  <title>Documentation Guidelines</title>
+  <meta name="GENERATOR" content=
+  "Modular DocBook HTML Stylesheet Version 1.79">
+  <link rel="HOME" title="Privoxy Developer Manual" href="index.html">
+  <link rel="PREVIOUS" title="The CVS Repository" href="cvs.html">
+  <link rel="NEXT" title="Coding Guidelines" href="coding.html">
+  <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
+  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+  <style type="text/css">
+body {
   background-color: #EEEEEE;
   color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- hr.c1 {text-align: left}
-</style>
-  </head>
-  <body class="SECT1">
-    <div class="NAVHEADER">
-      <table summary="Header navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <th colspan="3" align="center">
-            Privoxy Developer Manual
-          </th>
-        </tr>
-        <tr>
-          <td width="10%" align="left" valign="bottom">
-            <a href="cvs.html" accesskey="P">Prev</a>
-          </td>
-          <td width="80%" align="center" valign="bottom">
-          </td>
-          <td width="10%" align="right" valign="bottom">
-            <a href="coding.html" accesskey="N">Next</a>
-          </td>
-        </tr>
+  }
+  :link { color: #0000FF }
+  :visited { color: #840084 }
+  :active { color: #0000FF }
+  span.c3 {font-style: italic}
+  a.c2 {font-style: italic}
+  hr.c1 {text-align: left}
+  </style>
+</head>
+
+<body class="SECT1">
+  <div class="NAVHEADER">
+    <table summary="Header navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <th colspan="3" align="center">Privoxy Developer Manual</th>
+      </tr>
+
+      <tr>
+        <td width="10%" align="left" valign="bottom"><a href="cvs.html"
+        accesskey="P">Prev</a></td>
+
+        <td width="80%" align="center" valign="bottom"></td>
+
+        <td width="10%" align="right" valign="bottom"><a href="coding.html"
+        accesskey="N">Next</a></td>
+      </tr>
+    </table>
+    <hr class="c1" width="100%">
+  </div>
+
+  <div class="SECT1">
+    <h1 class="SECT1"><a name="DOCUMENTATION" id="DOCUMENTATION">3.
+    Documentation Guidelines</a></h1>
+
+    <p>All formal documents are maintained in Docbook SGML and located in the
+    <samp class="COMPUTEROUTPUT">doc/source/*</samp> directory. You will need
+    <a href="http://www.docbook.org" target="_top">Docbook</a>, the Docbook
+    DTD's and the Docbook modular stylesheets (or comparable alternatives),
+    and either <span class="APPLICATION">jade</span> or <span class=
+    "APPLICATION">openjade</span> (recommended) installed in order to build
+    docs from source. Currently there is <a class="CITETITLE c2" href=
+    "../user-manual/index.html" target="_top">user-manual</a>, <a class=
+    "CITETITLE c2" href="../faq/index.html" target="_top">FAQ</a>, and, of
+    course this, the <i class="CITETITLE">developer-manual</i> in this
+    format. The <i class="CITETITLE">README</i>, <i class=
+    "CITETITLE">AUTHORS</i>, <i class="CITETITLE">INSTALL</i>, <i class=
+    "CITETITLE">privoxy.1</i> (man page), and <i class="CITETITLE">config</i>
+    files are also now maintained as Docbook SGML. These files, when built,
+    in the top-level source directory are generated files! Also, the
+    <span class="APPLICATION">Privoxy</span> <tt class=
+    "FILENAME">index.html</tt> (and a variation on this file, <tt class=
+    "FILENAME">privoxy-index.html</tt>, meant for inclusion with doc
+    packages), are maintained as SGML as well. <span class=
+    "emphasis EMPHASIS c3">DO NOT edit these directly</span>. Edit the SGML
+    source, or contact someone involved in the documentation.</p>
+
+    <p><tt class="FILENAME">config</tt> requires some special handling. The
+    reason it is maintained this way is so that the extensive comments in the
+    file mirror those in <i class="CITETITLE">user-manual</i>. But the
+    conversion process requires going from SGML to HTML to text to special
+    formatting required for the embedded comments. Some of this does not
+    survive so well. Especially some of the examples that are longer than 80
+    characters. The build process for this file outputs to <tt class=
+    "FILENAME">config.new</tt>, which should be reviewed for errors and
+    mis-formatting. Once satisfied that it is correct, then it should be hand
+    copied to <tt class="FILENAME">config</tt>.</p>
+
+    <p>Other, less formal documents (e.g. <tt class="FILENAME">LICENSE</tt>)
+    are maintained as plain text files in the top-level source directory.</p>
+
+    <p>Packagers are encouraged to include this documentation. For those
+    without the ability to build the docs locally, text versions of each are
+    kept in CVS. HTML versions are also being kept in CVS under <tt class=
+    "FILENAME">doc/webserver/*</tt>. And PDF version are kept in <tt class=
+    "FILENAME">doc/pdf/*</tt>.</p>
+
+    <p>Formal documents are built with the Makefile targets of <samp class=
+    "COMPUTEROUTPUT">make dok</samp>, or alternately <samp class=
+    "COMPUTEROUTPUT">make redhat-dok</samp>. If you have problems, try both.
+    The build process uses the document SGML sources in <samp class=
+    "COMPUTEROUTPUT">doc/source/*/*</samp> to update all text files in
+    <samp class="COMPUTEROUTPUT">doc/text/</samp> and to update all HTML
+    documents in <samp class="COMPUTEROUTPUT">doc/webserver/</samp>.</p>
+
+    <p>Documentation writers should please make sure documents build
+    successfully before committing to CVS, if possible.</p>
+
+    <p>How do you update the webserver (i.e. the pages on privoxy.org)?</p>
+
+    <ol type="1">
+      <li>
+        <p>First, build the docs by running <samp class="COMPUTEROUTPUT">make
+        dok</samp> (or alternately <samp class="COMPUTEROUTPUT">make
+        redhat-dok</samp>). For PDF docs, do <samp class=
+        "COMPUTEROUTPUT">make dok-pdf</samp>.</p>
+      </li>
+
+      <li>
+        <p>Run <samp class="COMPUTEROUTPUT">make webserver</samp> which
+        copies all files from <samp class=
+        "COMPUTEROUTPUT">doc/webserver</samp> to the sourceforge webserver
+        via scp.</p>
+      </li>
+    </ol>
+
+    <p>Finished docs should be occasionally submitted to CVS (<tt class=
+    "FILENAME">doc/webserver/*/*.html</tt>) so that those without the ability
+    to build them locally, have access to them if needed. This is especially
+    important just prior to a new release! Please do this <span class=
+    "emphasis EMPHASIS c3">after</span> the <tt class="LITERAL">$VERSION</tt>
+    and other release specific data in <tt class="FILENAME">configure.in</tt>
+    has been updated (this is done just prior to a new release).</p>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="SGML" id="SGML">3.1. Quickstart to Docbook
+      and SGML</a></h2>
+
+      <p>If you are not familiar with SGML, it is a markup language similar
+      to HTML. Actually, not a mark up language per se, but a language used
+      to define markup languages. In fact, HTML is an SGML application. Both
+      will use <span class="QUOTE">"tags"</span> to format text and other
+      content. SGML tags can be much more varied, and flexible, but do much
+      of the same kinds of things. The tags, or <span class=
+      "QUOTE">"elements"</span>, are definable in SGML. There is no set
+      <span class="QUOTE">"standards"</span>. Since we are using <span class=
+      "APPLICATION">Docbook</span>, our tags are those that are defined by
+      <span class="APPLICATION">Docbook</span>. Much of how the finish
+      document is rendered is determined by the <span class=
+      "QUOTE">"stylesheets"</span>. The stylesheets determine how each tag
+      gets translated to HTML, or other formats.</p>
+
+      <p>Tags in Docbook SGML need to be always <span class=
+      "QUOTE">"closed"</span>. If not, you will likely generate errors.
+      Example: <tt class="LITERAL">&lt;title&gt;My Title&lt;/title&gt;</tt>.
+      They are also case-insensitive, but we strongly suggest using all lower
+      case. This keeps compatibility with [Docbook] <span class=
+      "APPLICATION">XML</span>.</p>
+
+      <p>Our documents use <span class="QUOTE">"sections"</span> for the most
+      part. Sections will be processed into HTML headers (e.g. <tt class=
+      "LITERAL">h1</tt> for <tt class="LITERAL">sect1</tt>). The <span class=
+      "APPLICATION">Docbook</span> stylesheets will use these to also
+      generate the Table of Contents for each doc. Our TOC's are set to a
+      depth of three. Meaning <tt class="LITERAL">sect1</tt>, <tt class=
+      "LITERAL">sect2</tt>, and <tt class="LITERAL">sect3</tt> will have TOC
+      entries, but <tt class="LITERAL">sect4</tt> will not. Each section
+      requires a <tt class="LITERAL">&lt;title&gt;</tt> element, and at least
+      one <tt class="LITERAL">&lt;para&gt;</tt>. There is a limit of five
+      section levels in Docbook, but generally three should be sufficient for
+      our purposes.</p>
+
+      <p>Some common elements that you likely will use:</p>
+
+      <table border="0">
+        <tbody>
+          <tr>
+            <td><span class=
+            "emphasis EMPHASIS c3">&lt;para&gt;&lt;/para&gt;</span>,
+            paragraph delimiter. Most text needs to be within paragraph
+            elements (there are some exceptions).</td>
+          </tr>
+
+          <tr>
+            <td><span class=
+            "emphasis EMPHASIS c3">&lt;emphasis&gt;&lt;/emphasis&gt;</span>,
+            the stylesheets make this italics.</td>
+          </tr>
+
+          <tr>
+            <td><span class=
+            "emphasis EMPHASIS c3">&lt;filename&gt;&lt;/filename&gt;</span>,
+            files and directories.</td>
+          </tr>
+
+          <tr>
+            <td><span class=
+            "emphasis EMPHASIS c3">&lt;command&gt;&lt;/command&gt;</span>,
+            command examples.</td>
+          </tr>
+
+          <tr>
+            <td><span class=
+            "emphasis EMPHASIS c3">&lt;literallayout&gt;&lt;/literallayout&gt;</span>,
+            like <tt class="LITERAL">&lt;pre&gt;</tt>, more or less.</td>
+          </tr>
+
+          <tr>
+            <td><span class=
+            "emphasis EMPHASIS c3">&lt;itemizedlist&gt;&lt;/itemizedlist&gt;</span>,
+            list with bullets.</td>
+          </tr>
+
+          <tr>
+            <td><span class=
+            "emphasis EMPHASIS c3">&lt;listitem&gt;&lt;/listitem&gt;</span>,
+            member of the above.</td>
+          </tr>
+
+          <tr>
+            <td><span class=
+            "emphasis EMPHASIS c3">&lt;screen&gt;&lt;/screen&gt;</span>,
+            screen output, implies <tt class=
+            "LITERAL">&lt;literallayout&gt;</tt>.</td>
+          </tr>
+
+          <tr>
+            <td><span class="emphasis EMPHASIS c3">&lt;ulink
+            url="example.com"&gt;&lt;/ulink&gt;</span>, like HTML <tt class=
+            "LITERAL">&lt;a&gt;</tt> tag.</td>
+          </tr>
+
+          <tr>
+            <td><span class=
+            "emphasis EMPHASIS c3">&lt;quote&gt;&lt;/quote&gt;</span>, for,
+            doh, quoting text.</td>
+          </tr>
+        </tbody>
       </table>
-      <hr width="100%" class="c1">
+
+      <p>Look at any of the existing docs for examples of all these and
+      more.</p>
+
+      <p>You might also find <span class="QUOTE">"<a href=
+      "http://opensource.bureau-cornavin.com/crash-course/index.html" target=
+      "_top">Writing Documentation Using DocBook - A Crash Course</a>"</span>
+      useful.</p>
     </div>
-    <div class="SECT1">
-      <h1 class="SECT1">
-        <a name="DOCUMENTATION">3. Documentation Guidelines</a>
-      </h1>
-      <p>
-        All formal documents are maintained in Docbook SGML and located in
-        the <samp class="COMPUTEROUTPUT">doc/source/*</samp> directory. You
-        will need <a href="http://www.docbook.org" target="_top">Docbook</a>,
-        the Docbook DTD's and the Docbook modular stylesheets (or comparable
-        alternatives), and either <span class="APPLICATION">jade</span> or
-        <span class="APPLICATION">openjade</span> (recommended) installed in
-        order to build docs from source. Currently there is <a href=
-        "../user-manual/index.html" target="_top"><i class=
-        "CITETITLE">user-manual</i></a>, <a href="../faq/index.html" target=
-        "_top"><i class="CITETITLE">FAQ</i></a>, and, of course this, the <i
-        class="CITETITLE">developer-manual</i> in this format. The <i class=
-        "CITETITLE">README</i>, <i class="CITETITLE">AUTHORS</i>, <i class=
-        "CITETITLE">INSTALL</i>, <i class="CITETITLE">privoxy.1</i> (man
-        page), and <i class="CITETITLE">config</i> files are also now
-        maintained as Docbook SGML. These files, when built, in the top-level
-        source directory are generated files! Also, the <span class=
-        "APPLICATION">Privoxy</span> <tt class="FILENAME">index.html</tt>
-        (and a variation on this file, <tt class=
-        "FILENAME">privoxy-index.html</tt>, meant for inclusion with doc
-        packages), are maintained as SGML as well. <span class="emphasis"><i
-        class="EMPHASIS">DO NOT edit these directly</i></span>. Edit the SGML
-        source, or contact someone involved in the documentation.
-      </p>
-      <p>
-        <tt class="FILENAME">config</tt> requires some special handling. The
-        reason it is maintained this way is so that the extensive comments in
-        the file mirror those in <i class="CITETITLE">user-manual</i>. But
-        the conversion process requires going from SGML to HTML to text to
-        special formatting required for the embedded comments. Some of this
-        does not survive so well. Especially some of the examples that are
-        longer than 80 characters. The build process for this file outputs to
-        <tt class="FILENAME">config.new</tt>, which should be reviewed for
-        errors and mis-formatting. Once satisfied that it is correct, then it
-        should be hand copied to <tt class="FILENAME">config</tt>.
-      </p>
-      <p>
-        Other, less formal documents (e.g. <tt class="FILENAME">LICENSE</tt>)
-        are maintained as plain text files in the top-level source directory.
-      </p>
-      <p>
-        Packagers are encouraged to include this documentation. For those
-        without the ability to build the docs locally, text versions of each
-        are kept in CVS. HTML versions are also being kept in CVS under <tt
-        class="FILENAME">doc/webserver/*</tt>. And PDF version are kept in
-        <tt class="FILENAME">doc/pdf/*</tt>.
-      </p>
-      <p>
-        Formal documents are built with the Makefile targets of <samp class=
-        "COMPUTEROUTPUT">make dok</samp>, or alternately <samp class=
-        "COMPUTEROUTPUT">make redhat-dok</samp>. If you have problems, try
-        both. The build process uses the document SGML sources in <samp
-        class="COMPUTEROUTPUT">doc/source/*/*</samp> to update all text files
-        in <samp class="COMPUTEROUTPUT">doc/text/</samp> and to update all
-        HTML documents in <samp class="COMPUTEROUTPUT">doc/webserver/</samp>.
-      </p>
-      <p>
-        Documentation writers should please make sure documents build
-        successfully before committing to CVS, if possible.
-      </p>
-      <p>
-        How do you update the webserver (i.e. the pages on privoxy.org)?
-      </p>
-      <ol type="1">
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="DOCSTYLE" id="DOCSTYLE">3.2. <span class=
+      "APPLICATION">Privoxy</span> Documentation Style</a></h2>
+
+      <p>It will be easier if everyone follows a similar writing style. This
+      just makes it easier to read what someone else has written if it is all
+      done in a similar fashion.</p>
+
+      <p>Here it is:</p>
+
+      <ul>
+        <li>
+          <p>All tags should be lower case.</p>
+        </li>
+
         <li>
-          <p>
-            First, build the docs by running <samp class=
-            "COMPUTEROUTPUT">make dok</samp> (or alternately <samp class=
-            "COMPUTEROUTPUT">make redhat-dok</samp>). For PDF docs, do <samp
-            class="COMPUTEROUTPUT">make dok-pdf</samp>.
-          </p>
+          <p>Tags delimiting a <span class=
+          "emphasis EMPHASIS c3">block</span> of text (even small blocks)
+          should be on their own line. Like:</p>
+
+          <p class="LITERALLAYOUT">&nbsp;&lt;para&gt;<br>
+          &nbsp;&nbsp;Some&nbsp;text&nbsp;goes&nbsp;here.<br>
+          &nbsp;&lt;/para&gt;<br>
+          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>Tags marking
+          individual words, or few words, should be in-line:
+
+          <p class="LITERALLAYOUT">
+          &nbsp;&nbsp;Just&nbsp;to&nbsp;&lt;emphasis&gt;emphasize&lt;/emphasis&gt;,&nbsp;some&nbsp;text&nbsp;goes&nbsp;here.<br>
+
+          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
         </li>
+
         <li>
-          <p>
-            Run <samp class="COMPUTEROUTPUT">make webserver</samp> which
-            copies all files from <samp class=
-            "COMPUTEROUTPUT">doc/webserver</samp> to the sourceforge
-            webserver via scp.
-          </p>
+          <p>Tags should be nested and step indented for block text like:
+          (except in-line tags)</p>
+
+          <p class="LITERALLAYOUT">&nbsp;&lt;para&gt;<br>
+          &nbsp;&nbsp;&lt;itemizedlist&gt;<br>
+          &nbsp;&nbsp;&nbsp;&lt;para&gt;<br>
+          &nbsp;&nbsp;&nbsp;&nbsp;&lt;listitem&gt;<br>
+          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Some&nbsp;text&nbsp;goes&nbsp;here&nbsp;in&nbsp;our&nbsp;list&nbsp;example.<br>
+
+          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/listitem&gt;<br>
+          &nbsp;&nbsp;&nbsp;&lt;/para&gt;<br>
+          &nbsp;&nbsp;&lt;/itemizedlist&gt;<br>
+          &nbsp;&lt;/para&gt;<br>
+          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>This makes it easier
+          to find the text amongst the tags ;-)
         </li>
-      </ol>
-
-      <p>
-        Finished docs should be occasionally submitted to CVS (<tt class=
-        "FILENAME">doc/webserver/*/*.html</tt>) so that those without the
-        ability to build them locally, have access to them if needed. This is
-        especially important just prior to a new release! Please do this
-        <span class="emphasis"><i class="EMPHASIS">after</i></span> the <tt
-        class="LITERAL">$VERSION</tt> and other release specific data in <tt
-        class="FILENAME">configure.in</tt> has been updated (this is done
-        just prior to a new release).
-      </p>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="SGML">3.1. Quickstart to Docbook and SGML</a>
-        </h2>
-        <p>
-          If you are not familiar with SGML, it is a markup language similar
-          to HTML. Actually, not a mark up language per se, but a language
-          used to define markup languages. In fact, HTML is an SGML
-          application. Both will use <span class="QUOTE">"tags"</span> to
-          format text and other content. SGML tags can be much more varied,
-          and flexible, but do much of the same kinds of things. The tags, or
-          <span class="QUOTE">"elements"</span>, are definable in SGML. There
-          is no set <span class="QUOTE">"standards"</span>. Since we are
-          using <span class="APPLICATION">Docbook</span>, our tags are those
-          that are defined by <span class="APPLICATION">Docbook</span>. Much
-          of how the finish document is rendered is determined by the <span
-          class="QUOTE">"stylesheets"</span>. The stylesheets determine how
-          each tag gets translated to HTML, or other formats.
-        </p>
-        <p>
-          Tags in Docbook SGML need to be always <span class=
-          "QUOTE">"closed"</span>. If not, you will likely generate errors.
-          Example: <tt class="LITERAL">&lt;title&gt;My
-          Title&lt;/title&gt;</tt>. They are also case-insensitive, but we
-          strongly suggest using all lower case. This keeps compatibility
-          with [Docbook] <span class="APPLICATION">XML</span>.
-        </p>
-        <p>
-          Our documents use <span class="QUOTE">"sections"</span> for the
-          most part. Sections will be processed into HTML headers (e.g. <tt
-          class="LITERAL">h1</tt> for <tt class="LITERAL">sect1</tt>). The
-          <span class="APPLICATION">Docbook</span> stylesheets will use these
-          to also generate the Table of Contents for each doc. Our TOC's are
-          set to a depth of three. Meaning <tt class="LITERAL">sect1</tt>,
-          <tt class="LITERAL">sect2</tt>, and <tt class="LITERAL">sect3</tt>
-          will have TOC entries, but <tt class="LITERAL">sect4</tt> will not.
-          Each section requires a <tt class="LITERAL">&lt;title&gt;</tt>
-          element, and at least one <tt class="LITERAL">&lt;para&gt;</tt>.
-          There is a limit of five section levels in Docbook, but generally
-          three should be sufficient for our purposes.
-        </p>
-        <p>
-          Some common elements that you likely will use:
-        </p>
-        <p>
-        </p>
-        <table border="0">
-          <tbody>
-            <tr>
-              <td>
-                <span class="emphasis"><i class=
-                "EMPHASIS">&lt;para&gt;&lt;/para&gt;</i></span>, paragraph
-                delimiter. Most text needs to be within paragraph elements
-                (there are some exceptions).
-              </td>
-            </tr>
-            <tr>
-              <td>
-                <span class="emphasis"><i class=
-                "EMPHASIS">&lt;emphasis&gt;&lt;/emphasis&gt;</i></span>, the
-                stylesheets make this italics.
-              </td>
-            </tr>
-            <tr>
-              <td>
-                <span class="emphasis"><i class=
-                "EMPHASIS">&lt;filename&gt;&lt;/filename&gt;</i></span>,
-                files and directories.
-              </td>
-            </tr>
-            <tr>
-              <td>
-                <span class="emphasis"><i class=
-                "EMPHASIS">&lt;command&gt;&lt;/command&gt;</i></span>,
-                command examples.
-              </td>
-            </tr>
-            <tr>
-              <td>
-                <span class="emphasis"><i class=
-                "EMPHASIS">&lt;literallayout&gt;&lt;/literallayout&gt;</i></span>,
-                like <tt class="LITERAL">&lt;pre&gt;</tt>, more or less.
-              </td>
-            </tr>
-            <tr>
-              <td>
-                <span class="emphasis"><i class=
-                "EMPHASIS">&lt;itemizedlist&gt;&lt;/itemizedlist&gt;</i></span>,
-                list with bullets.
-              </td>
-            </tr>
-            <tr>
-              <td>
-                <span class="emphasis"><i class=
-                "EMPHASIS">&lt;listitem&gt;&lt;/listitem&gt;</i></span>,
-                member of the above.
-              </td>
-            </tr>
-            <tr>
-              <td>
-                <span class="emphasis"><i class=
-                "EMPHASIS">&lt;screen&gt;&lt;/screen&gt;</i></span>, screen
-                output, implies <tt class=
-                "LITERAL">&lt;literallayout&gt;</tt>.
-              </td>
-            </tr>
-            <tr>
-              <td>
-                <span class="emphasis"><i class="EMPHASIS">&lt;ulink
-                url="example.com"&gt;&lt;/ulink&gt;</i></span>, like HTML <tt
-                class="LITERAL">&lt;a&gt;</tt> tag.
-              </td>
-            </tr>
-            <tr>
-              <td>
-                <span class="emphasis"><i class=
-                "EMPHASIS">&lt;quote&gt;&lt;/quote&gt;</i></span>, for, doh,
-                quoting text.
-              </td>
-            </tr>
-          </tbody>
-        </table>
-
-        <p>
-          Look at any of the existing docs for examples of all these and
-          more.
-        </p>
-        <p>
-          You might also find <span class="QUOTE">"<a href=
-          "http://opensource.bureau-cornavin.com/crash-course/index.html"
-          target="_top">Writing Documentation Using DocBook - A Crash
-          Course</a>"</span> useful.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="DOCSTYLE">3.2. <span class="APPLICATION">Privoxy</span>
-          Documentation Style</a>
-        </h2>
-        <p>
-          It will be easier if everyone follows a similar writing style. This
-          just makes it easier to read what someone else has written if it is
-          all done in a similar fashion.
-        </p>
-        <p>
-          Here it is:
-        </p>
-        <p>
-        </p>
-        <ul>
-          <li>
-            <p>
-              All tags should be lower case.
-            </p>
-          </li>
-          <li>
-            <p>
-              Tags delimiting a <span class="emphasis"><i class=
-              "EMPHASIS">block</i></span> of text (even small blocks) should
-              be on their own line. Like:
-            </p>
-            <p class="LITERALLAYOUT">
-              &nbsp;&lt;para&gt;<br>
-               &nbsp;&nbsp;Some&nbsp;text&nbsp;goes&nbsp;here.<br>
-               &nbsp;&lt;/para&gt;<br>
-               &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-            </p>
-            Tags marking individual words, or few words, should be in-line:
-            <p class="LITERALLAYOUT">
-              &nbsp;&nbsp;Just&nbsp;to&nbsp;&lt;emphasis&gt;emphasize&lt;/emphasis&gt;,&nbsp;some&nbsp;text&nbsp;goes&nbsp;here.<br>
-
-               &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-            </p>
-          </li>
-          <li>
-            <p>
-              Tags should be nested and step indented for block text like:
-              (except in-line tags)
-            </p>
-            <p class="LITERALLAYOUT">
-              &nbsp;&lt;para&gt;<br>
-               &nbsp;&nbsp;&lt;itemizedlist&gt;<br>
-               &nbsp;&nbsp;&nbsp;&lt;para&gt;<br>
-               &nbsp;&nbsp;&nbsp;&nbsp;&lt;listitem&gt;<br>
-               &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Some&nbsp;text&nbsp;goes&nbsp;here&nbsp;in&nbsp;our&nbsp;list&nbsp;example.<br>
-
-               &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/listitem&gt;<br>
-               &nbsp;&nbsp;&nbsp;&lt;/para&gt;<br>
-               &nbsp;&nbsp;&lt;/itemizedlist&gt;<br>
-               &nbsp;&lt;/para&gt;<br>
-               &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-            </p>
-            This makes it easier to find the text amongst the tags ;-)<br>
-          </li>
-          <li>
-            <p>
-              Use white space to separate logical divisions within a
-              document, like between sections. Running everything together
-              consistently makes it harder to read and work on.
-            </p>
-          </li>
-          <li>
-            <p>
-              Do not hesitate to make comments. Comments can either use the
-              &lt;comment&gt; element, or the &lt;!-- --&gt; style comment
-              familiar from HTML. (Note in Docbook v4.x &lt;comment&gt; is
-              replaced by &lt;remark&gt;.)
-            </p>
-          </li>
-          <li>
-            <p>
-              We have an international audience. Refrain from slang, or
-              English idiosyncrasies (too many to list :). Humor also does
-              not translate well sometimes.
-            </p>
-          </li>
-          <li>
-            <p>
-              Try to keep overall line lengths in source files to 80
-              characters or less for obvious reasons. This is not always
-              possible, with lengthy URLs for instance.
-            </p>
-          </li>
-          <li>
-            <p>
-              Our documents are available in differing formats. Right now,
-              they are just plain text, HTML, and PDF, but others are always
-              a future possibility. Be careful with URLs (&lt;ulink&gt;), and
-              avoid this mistake:
-            </p>
-            <p>
-              My favorite site is &lt;ulink
-              url="http://example.com"&gt;here&lt;/ulink&gt;.
-            </p>
-            <p>
-              This will render as <span class="QUOTE">"My favorite site is
-              here"</span>, which is not real helpful in a text doc. Better
-              like this:
-            </p>
-            <p>
-              My favorite site is &lt;ulink
-              url="http://example.com"&gt;example.com&lt;/ulink&gt;.
-            </p>
-          </li>
-          <li>
-            <p>
-              All documents should be spell checked occasionally. <span
-              class="APPLICATION">aspell</span> can check SGML with the <tt
-              class="LITERAL">-H</tt> option. (<span class=
-              "APPLICATION">ispell</span> I think too.)
-            </p>
-          </li>
-        </ul>
-      </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="AEN217">3.3. Privoxy Custom Entities</a>
-        </h2>
-        <p>
-          <span class="APPLICATION">Privoxy</span> documentation is using a
-          number of customized <span class="QUOTE">"entities"</span> to
-          facilitate documentation maintenance.
-        </p>
-        <p>
-          We are using a set of <span class="QUOTE">"boilerplate"</span>
-          files with generic text, that is used by multiple docs. This way we
-          can write something once, and use it repeatedly without having to
-          re-write the same content over and over again. If editing such a
-          file, keep in mind that it should be <span class="emphasis"><i
-          class="EMPHASIS">generic</i></span>. That is the purpose; so it can
-          be used in varying contexts without additional modifications.
-        </p>
-        <p>
-          We are also using what <span class="APPLICATION">Docbook</span>
-          calls <span class="QUOTE">"internal entities"</span>. These are
-          like variables in programming. Well, sort of. For instance, we have
-          the <tt class="LITERAL">p-version</tt> entity that contains the
-          current <span class="APPLICATION">Privoxy</span> version string.
-          You are strongly encouraged to use these where possible. Some of
-          these obviously require re-setting with each release (done by the
-          Makefile). A sampling of custom entities are listed below. See any
-          of the main docs for examples.
-        </p>
-        <p>
-        </p>
-        <ul>
-          <li>
-            <p>
-              Re- <span class="QUOTE">"boilerplate"</span> text entities are
-              defined like:
-            </p>
-            <p>
-              <tt class="LITERAL">&lt;!entity supported SYSTEM
-              "supported.sgml"&gt;</tt>
-            </p>
-            <p>
-              In this example, the contents of the file, <tt class=
-              "FILENAME">supported.sgml</tt> is available for inclusion
-              anywhere in the doc. To make this happen, just reference the
-              now defined entity: <tt class="LITERAL">&amp;supported;</tt>
-              (starts with an ampersand and ends with a semi-colon), and the
-              contents will be dumped into the finished doc at that point.
-            </p>
-          </li>
-          <li>
-            <p>
-              Commonly used <span class="QUOTE">"internal entities"</span>:
-            </p>
-            <table border="0">
-              <tbody>
-                <tr>
-                  <td>
-                    <span class="emphasis"><i class=
-                    "EMPHASIS">p-version</i></span>: the <span class=
-                    "APPLICATION">Privoxy</span> version string, e.g. <span
-                    class="QUOTE">"3.0.18"</span>.
-                  </td>
-                </tr>
-                <tr>
-                  <td>
-                    <span class="emphasis"><i class=
-                    "EMPHASIS">p-status</i></span>: the project status,
-                    either <span class="QUOTE">"alpha"</span>, <span class=
-                    "QUOTE">"beta"</span>, or <span class=
-                    "QUOTE">"stable"</span>.
-                  </td>
-                </tr>
-                <tr>
-                  <td>
-                    <span class="emphasis"><i class=
-                    "EMPHASIS">p-not-stable</i></span>: use to conditionally
-                    include text in <span class="QUOTE">"not stable"</span>
-                    releases (e.g. <span class="QUOTE">"beta"</span>).
-                  </td>
-                </tr>
-                <tr>
-                  <td>
-                    <span class="emphasis"><i class=
-                    "EMPHASIS">p-stable</i></span>: just the opposite.
-                  </td>
-                </tr>
-                <tr>
-                  <td>
-                    <span class="emphasis"><i class=
-                    "EMPHASIS">p-text</i></span>: this doc is only generated
-                    as text.
-                  </td>
-                </tr>
-              </tbody>
-            </table>
-          </li>
-        </ul>
-
-        <p>
-          There are others in various places that are defined for a specific
-          purpose. Read the source!
-        </p>
-      </div>
+
+        <li>
+          <p>Use white space to separate logical divisions within a document,
+          like between sections. Running everything together consistently
+          makes it harder to read and work on.</p>
+        </li>
+
+        <li>
+          <p>Do not hesitate to make comments. Comments can either use the
+          &lt;comment&gt; element, or the &lt;!-- --&gt; style comment
+          familiar from HTML. (Note in Docbook v4.x &lt;comment&gt; is
+          replaced by &lt;remark&gt;.)</p>
+        </li>
+
+        <li>
+          <p>We have an international audience. Refrain from slang, or
+          English idiosyncrasies (too many to list :). Humor also does not
+          translate well sometimes.</p>
+        </li>
+
+        <li>
+          <p>Try to keep overall line lengths in source files to 80
+          characters or less for obvious reasons. This is not always
+          possible, with lengthy URLs for instance.</p>
+        </li>
+
+        <li>
+          <p>Our documents are available in differing formats. Right now,
+          they are just plain text, HTML, and PDF, but others are always a
+          future possibility. Be careful with URLs (&lt;ulink&gt;), and avoid
+          this mistake:</p>
+
+          <p>My favorite site is &lt;ulink
+          url="http://example.com"&gt;here&lt;/ulink&gt;.</p>
+
+          <p>This will render as <span class="QUOTE">"My favorite site is
+          here"</span>, which is not real helpful in a text doc. Better like
+          this:</p>
+
+          <p>My favorite site is &lt;ulink
+          url="http://example.com"&gt;example.com&lt;/ulink&gt;.</p>
+        </li>
+
+        <li>
+          <p>All documents should be spell checked occasionally. <span class=
+          "APPLICATION">aspell</span> can check SGML with the <tt class=
+          "LITERAL">-H</tt> option. (<span class="APPLICATION">ispell</span>
+          I think too.)</p>
+        </li>
+      </ul>
     </div>
-    <div class="NAVFOOTER">
-      <hr width="100%" class="c1">
-      <table summary="Footer navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <td width="33%" align="left" valign="top">
-            <a href="cvs.html" accesskey="P">Prev</a>
-          </td>
-          <td width="34%" align="center" valign="top">
-            <a href="index.html" accesskey="H">Home</a>
-          </td>
-          <td width="33%" align="right" valign="top">
-            <a href="coding.html" accesskey="N">Next</a>
-          </td>
-        </tr>
-        <tr>
-          <td width="33%" align="left" valign="top">
-            The CVS Repository
-          </td>
-          <td width="34%" align="center" valign="top">
-            &nbsp;
-          </td>
-          <td width="33%" align="right" valign="top">
-            Coding Guidelines
-          </td>
-        </tr>
-      </table>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="AEN217" id="AEN217">3.3. Privoxy Custom
+      Entities</a></h2>
+
+      <p><span class="APPLICATION">Privoxy</span> documentation is using a
+      number of customized <span class="QUOTE">"entities"</span> to
+      facilitate documentation maintenance.</p>
+
+      <p>We are using a set of <span class="QUOTE">"boilerplate"</span> files
+      with generic text, that is used by multiple docs. This way we can write
+      something once, and use it repeatedly without having to re-write the
+      same content over and over again. If editing such a file, keep in mind
+      that it should be <span class="emphasis EMPHASIS c3">generic</span>.
+      That is the purpose; so it can be used in varying contexts without
+      additional modifications.</p>
+
+      <p>We are also using what <span class="APPLICATION">Docbook</span>
+      calls <span class="QUOTE">"internal entities"</span>. These are like
+      variables in programming. Well, sort of. For instance, we have the
+      <tt class="LITERAL">p-version</tt> entity that contains the current
+      <span class="APPLICATION">Privoxy</span> version string. You are
+      strongly encouraged to use these where possible. Some of these
+      obviously require re-setting with each release (done by the Makefile).
+      A sampling of custom entities are listed below. See any of the main
+      docs for examples.</p>
+
+      <ul>
+        <li>
+          <p>Re- <span class="QUOTE">"boilerplate"</span> text entities are
+          defined like:</p>
+
+          <p><tt class="LITERAL">&lt;!entity supported SYSTEM
+          "supported.sgml"&gt;</tt></p>
+
+          <p>In this example, the contents of the file, <tt class=
+          "FILENAME">supported.sgml</tt> is available for inclusion anywhere
+          in the doc. To make this happen, just reference the now defined
+          entity: <tt class="LITERAL">&amp;supported;</tt> (starts with an
+          ampersand and ends with a semi-colon), and the contents will be
+          dumped into the finished doc at that point.</p>
+        </li>
+
+        <li>
+          <p>Commonly used <span class="QUOTE">"internal
+          entities"</span>:</p>
+
+          <table border="0">
+            <tbody>
+              <tr>
+                <td><span class="emphasis EMPHASIS c3">p-version</span>: the
+                <span class="APPLICATION">Privoxy</span> version string, e.g.
+                <span class="QUOTE">"3.0.18"</span>.</td>
+              </tr>
+
+              <tr>
+                <td><span class="emphasis EMPHASIS c3">p-status</span>: the
+                project status, either <span class="QUOTE">"alpha"</span>,
+                <span class="QUOTE">"beta"</span>, or <span class=
+                "QUOTE">"stable"</span>.</td>
+              </tr>
+
+              <tr>
+                <td><span class="emphasis EMPHASIS c3">p-not-stable</span>:
+                use to conditionally include text in <span class="QUOTE">"not
+                stable"</span> releases (e.g. <span class=
+                "QUOTE">"beta"</span>).</td>
+              </tr>
+
+              <tr>
+                <td><span class="emphasis EMPHASIS c3">p-stable</span>: just
+                the opposite.</td>
+              </tr>
+
+              <tr>
+                <td><span class="emphasis EMPHASIS c3">p-text</span>: this
+                doc is only generated as text.</td>
+              </tr>
+            </tbody>
+          </table>
+        </li>
+      </ul>
+
+      <p>There are others in various places that are defined for a specific
+      purpose. Read the source!</p>
     </div>
-  </body>
-</html>
+  </div>
+
+  <div class="NAVFOOTER">
+    <hr class="c1" width="100%">
+
+    <table summary="Footer navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <td width="33%" align="left" valign="top"><a href="cvs.html"
+        accesskey="P">Prev</a></td>
 
+        <td width="34%" align="center" valign="top"><a href="index.html"
+        accesskey="H">Home</a></td>
+
+        <td width="33%" align="right" valign="top"><a href="coding.html"
+        accesskey="N">Next</a></td>
+      </tr>
+
+      <tr>
+        <td width="33%" align="left" valign="top">The CVS Repository</td>
+
+        <td width="34%" align="center" valign="top">&nbsp;</td>
+
+        <td width="33%" align="right" valign="top">Coding Guidelines</td>
+      </tr>
+    </table>
+  </div>
+</body>
+</html>
index b3dc733..319b5bb 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
-Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+
 <html>
-  <head>
-    <meta name="generator" content="HTML Tidy, see www.w3.org">
-    <title>
-      Privoxy Developer Manual
-    </title>
-    <meta name="GENERATOR" content=
-    "Modular DocBook HTML Stylesheet Version 1.79">
-    <link rel="NEXT" title="Introduction" href="introduction.html">
-    <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
-    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<style type="text/css">
- body {
+<head>
+  <meta name="generator" content=
+  "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
+
+  <title>Privoxy Developer Manual</title>
+  <meta name="GENERATOR" content=
+  "Modular DocBook HTML Stylesheet Version 1.79">
+  <link rel="NEXT" title="Introduction" href="introduction.html">
+  <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
+  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+  <style type="text/css">
+body {
   background-color: #EEEEEE;
   color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- hr.c2 {text-align: left}
- dt.c1 {font-weight: bold}
-</style>
-  </head>
-  <body class="ARTICLE">
-    <div class="ARTICLE">
-      <div class="TITLEPAGE">
-        <h1 class="TITLE">
-          <a name="AEN2">Privoxy Developer Manual</a>
-        </h1>
-        <p class="PUBDATE">
-          <sub><a href="copyright.html">Copyright</a> &copy; 2001-2009 by <a
-          href="http://www.privoxy.org/" target="_top">Privoxy
-          Developers</a></sub><br>
-        </p>
-        <p class="PUBDATE">
-          $Id: index.html,v 1.55 2011/08/17 10:37:48 fabiankeil Exp $<br>
-        </p>
-        <div>
-          <a name="AEN9"></a>
-          <p>
-            The developer manual provides guidance on coding, testing,
-            packaging, documentation and other issues of importance to those
-            involved with <span class="APPLICATION">Privoxy</span>
-            development. It is mandatory (and helpful!) reading for anyone
-            who wants to join the team. Note that it's currently out of date
-            and may not be entirely correct. As always, patches are welcome.
-          </p>
-          <p>
-            Please note that this document is constantly evolving. This copy
-            represents the state at the release of version 3.0.18. You can
-            find the latest version of the this manual at <a href=
-            "http://www.privoxy.org/developer-manual/" target=
-            "_top">http://www.privoxy.org/developer-manual/</a>. Please see
-            <a href="contact.html">the Contact section</a> on how to contact
-            the developers.
-          </p>
-        </div>
-        <hr>
-      </div>
-      <div class="TOC">
-        <dl>
-          <dt class="c1">
-            Table of Contents
-          </dt>
-          <dt>
-            1. <a href="introduction.html">Introduction</a>
-          </dt>
-          <dd>
-            <dl>
-              <dt>
-                1.1. <a href="introduction.html#QUICKSTART">Quickstart to
-                Privoxy Development</a>
-              </dt>
-            </dl>
-          </dd>
-          <dt>
-            2. <a href="cvs.html">The CVS Repository</a>
-          </dt>
-          <dd>
-            <dl>
-              <dt>
-                2.1. <a href="cvs.html#CVSACCESS">Access to CVS</a>
-              </dt>
-              <dt>
-                2.2. <a href="cvs.html#CVSBRANCHES">Branches</a>
-              </dt>
-              <dt>
-                2.3. <a href="cvs.html#CVSCOMMIT">CVS Commit Guidelines</a>
-              </dt>
-            </dl>
-          </dd>
-          <dt>
-            3. <a href="documentation.html">Documentation Guidelines</a>
-          </dt>
-          <dd>
-            <dl>
-              <dt>
-                3.1. <a href="documentation.html#SGML">Quickstart to Docbook
-                and SGML</a>
-              </dt>
-              <dt>
-                3.2. <a href="documentation.html#DOCSTYLE"><span class=
-                "APPLICATION">Privoxy</span> Documentation Style</a>
-              </dt>
-              <dt>
-                3.3. <a href="documentation.html#AEN217">Privoxy Custom
-                Entities</a>
-              </dt>
-            </dl>
-          </dd>
-          <dt>
-            4. <a href="coding.html">Coding Guidelines</a>
-          </dt>
-          <dd>
-            <dl>
-              <dt>
-                4.1. <a href="coding.html#S1">Introduction</a>
-              </dt>
-              <dt>
-                4.2. <a href="coding.html#S2">Using Comments</a>
-              </dt>
-              <dd>
-                <dl>
-                  <dt>
-                    4.2.1. <a href="coding.html#S3">Comment, Comment,
-                    Comment</a>
-                  </dt>
-                  <dt>
-                    4.2.2. <a href="coding.html#S4">Use blocks for
-                    comments</a>
-                  </dt>
-                  <dt>
-                    4.2.3. <a href="coding.html#S5">Keep Comments on their
-                    own line</a>
-                  </dt>
-                  <dt>
-                    4.2.4. <a href="coding.html#S6">Comment each logical
-                    step</a>
-                  </dt>
-                  <dt>
-                    4.2.5. <a href="coding.html#S7">Comment All Functions
-                    Thoroughly</a>
-                  </dt>
-                  <dt>
-                    4.2.6. <a href="coding.html#S8">Comment at the end of
-                    braces if the content is more than one screen length</a>
-                  </dt>
-                </dl>
-              </dd>
-              <dt>
-                4.3. <a href="coding.html#S9">Naming Conventions</a>
-              </dt>
-              <dd>
-                <dl>
-                  <dt>
-                    4.3.1. <a href="coding.html#S10">Variable Names</a>
-                  </dt>
-                  <dt>
-                    4.3.2. <a href="coding.html#S11">Function Names</a>
-                  </dt>
-                  <dt>
-                    4.3.3. <a href="coding.html#S12">Header file
-                    prototypes</a>
-                  </dt>
-                  <dt>
-                    4.3.4. <a href="coding.html#S13">Enumerations, and
-                    #defines</a>
-                  </dt>
-                  <dt>
-                    4.3.5. <a href="coding.html#S14">Constants</a>
-                  </dt>
-                </dl>
-              </dd>
-              <dt>
-                4.4. <a href="coding.html#S15">Using Space</a>
-              </dt>
-              <dd>
-                <dl>
-                  <dt>
-                    4.4.1. <a href="coding.html#S16">Put braces on a line by
-                    themselves.</a>
-                  </dt>
-                  <dt>
-                    4.4.2. <a href="coding.html#S17">ALL control statements
-                    should have a block</a>
-                  </dt>
-                  <dt>
-                    4.4.3. <a href="coding.html#S18">Do not belabor/blow-up
-                    boolean expressions</a>
-                  </dt>
-                  <dt>
-                    4.4.4. <a href="coding.html#S19">Use white space freely
-                    because it is free</a>
-                  </dt>
-                  <dt>
-                    4.4.5. <a href="coding.html#S20">Don't use white space
-                    around structure operators</a>
-                  </dt>
-                  <dt>
-                    4.4.6. <a href="coding.html#S21">Make the last brace of a
-                    function stand out</a>
-                  </dt>
-                  <dt>
-                    4.4.7. <a href="coding.html#S22">Use 3 character
-                    indentions</a>
-                  </dt>
-                </dl>
-              </dd>
-              <dt>
-                4.5. <a href="coding.html#S23">Initializing</a>
-              </dt>
-              <dd>
-                <dl>
-                  <dt>
-                    4.5.1. <a href="coding.html#S24">Initialize all
-                    variables</a>
-                  </dt>
-                </dl>
-              </dd>
-              <dt>
-                4.6. <a href="coding.html#S25">Functions</a>
-              </dt>
-              <dd>
-                <dl>
-                  <dt>
-                    4.6.1. <a href="coding.html#S26">Name functions that
-                    return a boolean as a question.</a>
-                  </dt>
-                  <dt>
-                    4.6.2. <a href="coding.html#S27">Always specify a return
-                    type for a function.</a>
-                  </dt>
-                  <dt>
-                    4.6.3. <a href="coding.html#S28">Minimize function calls
-                    when iterating by using variables</a>
-                  </dt>
-                  <dt>
-                    4.6.4. <a href="coding.html#S29">Pass and Return by Const
-                    Reference</a>
-                  </dt>
-                  <dt>
-                    4.6.5. <a href="coding.html#S30">Pass and Return by
-                    Value</a>
-                  </dt>
-                  <dt>
-                    4.6.6. <a href="coding.html#S31">Names of include
-                    files</a>
-                  </dt>
-                  <dt>
-                    4.6.7. <a href="coding.html#S32">Provide multiple
-                    inclusion protection</a>
-                  </dt>
-                  <dt>
-                    4.6.8. <a href="coding.html#S33">Use `extern "C"` when
-                    appropriate</a>
-                  </dt>
-                  <dt>
-                    4.6.9. <a href="coding.html#S34">Where Possible, Use
-                    Forward Struct Declaration Instead of Includes</a>
-                  </dt>
-                </dl>
-              </dd>
-              <dt>
-                4.7. <a href="coding.html#S35">General Coding Practices</a>
-              </dt>
-              <dd>
-                <dl>
-                  <dt>
-                    4.7.1. <a href="coding.html#S36">Turn on warnings</a>
-                  </dt>
-                  <dt>
-                    4.7.2. <a href="coding.html#S37">Provide a default case
-                    for all switch statements</a>
-                  </dt>
-                  <dt>
-                    4.7.3. <a href="coding.html#S38">Try to avoid falling
-                    through cases in a switch statement.</a>
-                  </dt>
-                  <dt>
-                    4.7.4. <a href="coding.html#S39">Use 'long' or 'short'
-                    Instead of 'int'</a>
-                  </dt>
-                  <dt>
-                    4.7.5. <a href="coding.html#S40">Don't mix size_t and
-                    other types</a>
-                  </dt>
-                  <dt>
-                    4.7.6. <a href="coding.html#S41">Declare each variable
-                    and struct on its own line.</a>
-                  </dt>
-                  <dt>
-                    4.7.7. <a href="coding.html#S42">Use malloc/zalloc
-                    sparingly</a>
-                  </dt>
-                  <dt>
-                    4.7.8. <a href="coding.html#S43">The Programmer Who Uses
-                    'malloc' is Responsible for Ensuring 'free'</a>
-                  </dt>
-                  <dt>
-                    4.7.9. <a href="coding.html#S44">Add loaders to the
-                    `file_list' structure and in order</a>
-                  </dt>
-                  <dt>
-                    4.7.10. <a href="coding.html#S45">"Uncertain" new code
-                    and/or changes to existing code, use FIXME or XXX</a>
-                  </dt>
-                </dl>
-              </dd>
-              <dt>
-                4.8. <a href="coding.html#S46">Addendum: Template for files
-                and function comment blocks:</a>
-              </dt>
-            </dl>
-          </dd>
-          <dt>
-            5. <a href="testing.html">Testing Guidelines</a>
-          </dt>
-          <dd>
-            <dl>
-              <dt>
-                5.1. <a href="testing.html#TESTING-PLAN">Testplan for
-                releases</a>
-              </dt>
-              <dt>
-                5.2. <a href="testing.html#TESTING-REPORT">Test reports</a>
-              </dt>
-            </dl>
-          </dd>
-          <dt>
-            6. <a href="newrelease.html">Releasing a New Version</a>
-          </dt>
-          <dd>
-            <dl>
-              <dt>
-                6.1. <a href="newrelease.html#VERSIONNUMBERS">Version
-                numbers</a>
-              </dt>
-              <dt>
-                6.2. <a href="newrelease.html#BEFORERELEASE">Before the
-                Release: Freeze</a>
-              </dt>
-              <dt>
-                6.3. <a href="newrelease.html#THERELEASE">Building and
-                Releasing the Packages</a>
-              </dt>
-              <dd>
-                <dl>
-                  <dt>
-                    6.3.1. <a href="newrelease.html#PACK-GUIDELINES">Note on
-                    Privoxy Packaging</a>
-                  </dt>
-                  <dt>
-                    6.3.2. <a href=
-                    "newrelease.html#NEWRELEASE-TARBALL">Source Tarball</a>
-                  </dt>
-                  <dt>
-                    6.3.3. <a href="newrelease.html#NEWRELEASE-RPM">SuSE,
-                    Conectiva or Red Hat RPM</a>
-                  </dt>
-                  <dt>
-                    6.3.4. <a href="newrelease.html#NEWRELEASE-OS2">OS/2</a>
-                  </dt>
-                  <dt>
-                    6.3.5. <a href=
-                    "newrelease.html#NEWRELEASE-SOLARIS">Solaris</a>
-                  </dt>
-                  <dt>
-                    6.3.6. <a href=
-                    "newrelease.html#NEWRELEASE-WINDOWS">Windows</a>
-                  </dt>
-                  <dt>
-                    6.3.7. <a href=
-                    "newrelease.html#NEWRELEASE-DEBIAN">Debian</a>
-                  </dt>
-                  <dt>
-                    6.3.8. <a href="newrelease.html#NEWRELEASE-MACOSX">Mac OS
-                    X</a>
-                  </dt>
-                  <dt>
-                    6.3.9. <a href=
-                    "newrelease.html#NEWRELEASE-FREEBSD">FreeBSD</a>
-                  </dt>
-                  <dt>
-                    6.3.10. <a href="newrelease.html#NEWRELEASE-HPUX">HP-UX
-                    11</a>
-                  </dt>
-                  <dt>
-                    6.3.11. <a href="newrelease.html#NEWRELEASE-AMIGA">Amiga
-                    OS</a>
-                  </dt>
-                  <dt>
-                    6.3.12. <a href="newrelease.html#NEWRELEASE-AIX">AIX</a>
-                  </dt>
-                </dl>
-              </dd>
-              <dt>
-                6.4. <a href="newrelease.html#RELEASING">Uploading and
-                Releasing Your Package</a>
-              </dt>
-              <dt>
-                6.5. <a href="newrelease.html#AFTERRELEASE">After the
-                Release</a>
-              </dt>
-            </dl>
-          </dd>
-          <dt>
-            7. <a href="webserver-update.html">Update the Webserver</a>
-          </dt>
-          <dt>
-            8. <a href="contact.html">Contacting the developers, Bug
-            Reporting and Feature Requests</a>
-          </dt>
-          <dd>
-            <dl>
-              <dt>
-                8.1. <a href="contact.html#CONTACT-SUPPORT">Get Support</a>
-              </dt>
-              <dt>
-                8.2. <a href="contact.html#REPORTING">Reporting Problems</a>
-              </dt>
-              <dd>
-                <dl>
-                  <dt>
-                    8.2.1. <a href="contact.html#CONTACT-ADS">Reporting Ads
-                    or Other Configuration Problems</a>
-                  </dt>
-                  <dt>
-                    8.2.2. <a href="contact.html#CONTACT-BUGS">Reporting
-                    Bugs</a>
-                  </dt>
-                </dl>
-              </dd>
-              <dt>
-                8.3. <a href="contact.html#CONTACT-FEATURE">Request New
-                Features</a>
-              </dt>
-              <dt>
-                8.4. <a href="contact.html#MAILING-LISTS">Mailing Lists</a>
-              </dt>
-            </dl>
-          </dd>
-          <dt>
-            9. <a href="copyright.html">Privoxy Copyright, License and
-            History</a>
-          </dt>
-          <dd>
-            <dl>
-              <dt>
-                9.1. <a href="copyright.html#AEN1229">License</a>
-              </dt>
-              <dt>
-                9.2. <a href="copyright.html#AEN1245">History</a>
-              </dt>
-            </dl>
-          </dd>
-          <dt>
-            10. <a href="seealso.html">See also</a>
-          </dt>
-        </dl>
+  }
+  :link { color: #0000FF }
+  :visited { color: #840084 }
+  :active { color: #0000FF }
+  hr.c2 {text-align: left}
+  dt.c1 {font-weight: bold}
+  </style>
+</head>
+
+<body class="ARTICLE">
+  <div class="ARTICLE">
+    <div class="TITLEPAGE">
+      <h1 class="TITLE"><a name="AEN2" id="AEN2">Privoxy Developer
+      Manual</a></h1>
+
+      <p class="PUBDATE"><sub><a href="copyright.html">Copyright</a> &copy;
+      2001-2009 by <a href="http://www.privoxy.org/" target="_top">Privoxy
+      Developers</a></sub><br></p>
+
+      <p class="PUBDATE">$Id: developer-manual.sgml,v 2.36 2011/09/04
+      11:10:12 fabiankeil Exp $<br></p>
+
+      <div class="ABSTRACT">
+        <a name="AEN9" id="AEN9"></a>
+
+        <p>The developer manual provides guidance on coding, testing,
+        packaging, documentation and other issues of importance to those
+        involved with <span class="APPLICATION">Privoxy</span> development.
+        It is mandatory (and helpful!) reading for anyone who wants to join
+        the team. Note that it's currently out of date and may not be
+        entirely correct. As always, patches are welcome.</p>
+
+        <p>Please note that this document is constantly evolving. This copy
+        represents the state at the release of version 3.0.18. You can find
+        the latest version of the this manual at <a href=
+        "http://www.privoxy.org/developer-manual/" target=
+        "_top">http://www.privoxy.org/developer-manual/</a>. Please see
+        <a href="contact.html">the Contact section</a> on how to contact the
+        developers.</p>
       </div>
+      <hr>
     </div>
-    <div class="NAVFOOTER">
-      <hr width="100%" class="c2">
-      <table summary="Footer navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <td width="33%" align="left" valign="top">
-            &nbsp;
-          </td>
-          <td width="34%" align="center" valign="top">
-            &nbsp;
-          </td>
-          <td width="33%" align="right" valign="top">
-            <a href="introduction.html" accesskey="N">Next</a>
-          </td>
-        </tr>
-        <tr>
-          <td width="33%" align="left" valign="top">
-            &nbsp;
-          </td>
-          <td width="34%" align="center" valign="top">
-            &nbsp;
-          </td>
-          <td width="33%" align="right" valign="top">
-            Introduction
-          </td>
-        </tr>
-      </table>
+
+    <div class="TOC">
+      <dl>
+        <dt class="c1">Table of Contents</dt>
+
+        <dt>1. <a href="introduction.html">Introduction</a></dt>
+
+        <dd>
+          <dl>
+            <dt>1.1. <a href="introduction.html#QUICKSTART">Quickstart to
+            Privoxy Development</a></dt>
+          </dl>
+        </dd>
+
+        <dt>2. <a href="cvs.html">The CVS Repository</a></dt>
+
+        <dd>
+          <dl>
+            <dt>2.1. <a href="cvs.html#CVSACCESS">Access to CVS</a></dt>
+
+            <dt>2.2. <a href="cvs.html#CVSBRANCHES">Branches</a></dt>
+
+            <dt>2.3. <a href="cvs.html#CVSCOMMIT">CVS Commit
+            Guidelines</a></dt>
+          </dl>
+        </dd>
+
+        <dt>3. <a href="documentation.html">Documentation Guidelines</a></dt>
+
+        <dd>
+          <dl>
+            <dt>3.1. <a href="documentation.html#SGML">Quickstart to Docbook
+            and SGML</a></dt>
+
+            <dt>3.2. <a href="documentation.html#DOCSTYLE"><span class=
+            "APPLICATION">Privoxy</span> Documentation Style</a></dt>
+
+            <dt>3.3. <a href="documentation.html#AEN217">Privoxy Custom
+            Entities</a></dt>
+          </dl>
+        </dd>
+
+        <dt>4. <a href="coding.html">Coding Guidelines</a></dt>
+
+        <dd>
+          <dl>
+            <dt>4.1. <a href="coding.html#S1">Introduction</a></dt>
+
+            <dt>4.2. <a href="coding.html#S2">Using Comments</a></dt>
+
+            <dd>
+              <dl>
+                <dt>4.2.1. <a href="coding.html#S3">Comment, Comment,
+                Comment</a></dt>
+
+                <dt>4.2.2. <a href="coding.html#S4">Use blocks for
+                comments</a></dt>
+
+                <dt>4.2.3. <a href="coding.html#S5">Keep Comments on their
+                own line</a></dt>
+
+                <dt>4.2.4. <a href="coding.html#S6">Comment each logical
+                step</a></dt>
+
+                <dt>4.2.5. <a href="coding.html#S7">Comment All Functions
+                Thoroughly</a></dt>
+
+                <dt>4.2.6. <a href="coding.html#S8">Comment at the end of
+                braces if the content is more than one screen length</a></dt>
+              </dl>
+            </dd>
+
+            <dt>4.3. <a href="coding.html#S9">Naming Conventions</a></dt>
+
+            <dd>
+              <dl>
+                <dt>4.3.1. <a href="coding.html#S10">Variable Names</a></dt>
+
+                <dt>4.3.2. <a href="coding.html#S11">Function Names</a></dt>
+
+                <dt>4.3.3. <a href="coding.html#S12">Header file
+                prototypes</a></dt>
+
+                <dt>4.3.4. <a href="coding.html#S13">Enumerations, and
+                #defines</a></dt>
+
+                <dt>4.3.5. <a href="coding.html#S14">Constants</a></dt>
+              </dl>
+            </dd>
+
+            <dt>4.4. <a href="coding.html#S15">Using Space</a></dt>
+
+            <dd>
+              <dl>
+                <dt>4.4.1. <a href="coding.html#S16">Put braces on a line by
+                themselves.</a></dt>
+
+                <dt>4.4.2. <a href="coding.html#S17">ALL control statements
+                should have a block</a></dt>
+
+                <dt>4.4.3. <a href="coding.html#S18">Do not belabor/blow-up
+                boolean expressions</a></dt>
+
+                <dt>4.4.4. <a href="coding.html#S19">Use white space freely
+                because it is free</a></dt>
+
+                <dt>4.4.5. <a href="coding.html#S20">Don't use white space
+                around structure operators</a></dt>
+
+                <dt>4.4.6. <a href="coding.html#S21">Make the last brace of a
+                function stand out</a></dt>
+
+                <dt>4.4.7. <a href="coding.html#S22">Use 3 character
+                indentions</a></dt>
+              </dl>
+            </dd>
+
+            <dt>4.5. <a href="coding.html#S23">Initializing</a></dt>
+
+            <dd>
+              <dl>
+                <dt>4.5.1. <a href="coding.html#S24">Initialize all
+                variables</a></dt>
+              </dl>
+            </dd>
+
+            <dt>4.6. <a href="coding.html#S25">Functions</a></dt>
+
+            <dd>
+              <dl>
+                <dt>4.6.1. <a href="coding.html#S26">Name functions that
+                return a boolean as a question.</a></dt>
+
+                <dt>4.6.2. <a href="coding.html#S27">Always specify a return
+                type for a function.</a></dt>
+
+                <dt>4.6.3. <a href="coding.html#S28">Minimize function calls
+                when iterating by using variables</a></dt>
+
+                <dt>4.6.4. <a href="coding.html#S29">Pass and Return by Const
+                Reference</a></dt>
+
+                <dt>4.6.5. <a href="coding.html#S30">Pass and Return by
+                Value</a></dt>
+
+                <dt>4.6.6. <a href="coding.html#S31">Names of include
+                files</a></dt>
+
+                <dt>4.6.7. <a href="coding.html#S32">Provide multiple
+                inclusion protection</a></dt>
+
+                <dt>4.6.8. <a href="coding.html#S33">Use `extern "C"` when
+                appropriate</a></dt>
+
+                <dt>4.6.9. <a href="coding.html#S34">Where Possible, Use
+                Forward Struct Declaration Instead of Includes</a></dt>
+              </dl>
+            </dd>
+
+            <dt>4.7. <a href="coding.html#S35">General Coding
+            Practices</a></dt>
+
+            <dd>
+              <dl>
+                <dt>4.7.1. <a href="coding.html#S36">Turn on
+                warnings</a></dt>
+
+                <dt>4.7.2. <a href="coding.html#S37">Provide a default case
+                for all switch statements</a></dt>
+
+                <dt>4.7.3. <a href="coding.html#S38">Try to avoid falling
+                through cases in a switch statement.</a></dt>
+
+                <dt>4.7.4. <a href="coding.html#S39">Use 'long' or 'short'
+                Instead of 'int'</a></dt>
+
+                <dt>4.7.5. <a href="coding.html#S40">Don't mix size_t and
+                other types</a></dt>
+
+                <dt>4.7.6. <a href="coding.html#S41">Declare each variable
+                and struct on its own line.</a></dt>
+
+                <dt>4.7.7. <a href="coding.html#S42">Use malloc/zalloc
+                sparingly</a></dt>
+
+                <dt>4.7.8. <a href="coding.html#S43">The Programmer Who Uses
+                'malloc' is Responsible for Ensuring 'free'</a></dt>
+
+                <dt>4.7.9. <a href="coding.html#S44">Add loaders to the
+                `file_list' structure and in order</a></dt>
+
+                <dt>4.7.10. <a href="coding.html#S45">"Uncertain" new code
+                and/or changes to existing code, use FIXME or XXX</a></dt>
+              </dl>
+            </dd>
+
+            <dt>4.8. <a href="coding.html#S46">Addendum: Template for files
+            and function comment blocks:</a></dt>
+          </dl>
+        </dd>
+
+        <dt>5. <a href="testing.html">Testing Guidelines</a></dt>
+
+        <dd>
+          <dl>
+            <dt>5.1. <a href="testing.html#TESTING-PLAN">Testplan for
+            releases</a></dt>
+
+            <dt>5.2. <a href="testing.html#TESTING-REPORT">Test
+            reports</a></dt>
+          </dl>
+        </dd>
+
+        <dt>6. <a href="newrelease.html">Releasing a New Version</a></dt>
+
+        <dd>
+          <dl>
+            <dt>6.1. <a href="newrelease.html#VERSIONNUMBERS">Version
+            numbers</a></dt>
+
+            <dt>6.2. <a href="newrelease.html#BEFORERELEASE">Before the
+            Release: Freeze</a></dt>
+
+            <dt>6.3. <a href="newrelease.html#THERELEASE">Building and
+            Releasing the Packages</a></dt>
+
+            <dd>
+              <dl>
+                <dt>6.3.1. <a href="newrelease.html#PACK-GUIDELINES">Note on
+                Privoxy Packaging</a></dt>
+
+                <dt>6.3.2. <a href=
+                "newrelease.html#NEWRELEASE-TARBALL">Source Tarball</a></dt>
+
+                <dt>6.3.3. <a href="newrelease.html#NEWRELEASE-RPM">SuSE,
+                Conectiva or Red Hat RPM</a></dt>
+
+                <dt>6.3.4. <a href=
+                "newrelease.html#NEWRELEASE-OS2">OS/2</a></dt>
+
+                <dt>6.3.5. <a href=
+                "newrelease.html#NEWRELEASE-SOLARIS">Solaris</a></dt>
+
+                <dt>6.3.6. <a href=
+                "newrelease.html#NEWRELEASE-WINDOWS">Windows</a></dt>
+
+                <dt>6.3.7. <a href=
+                "newrelease.html#NEWRELEASE-DEBIAN">Debian</a></dt>
+
+                <dt>6.3.8. <a href="newrelease.html#NEWRELEASE-MACOSX">Mac OS
+                X</a></dt>
+
+                <dt>6.3.9. <a href=
+                "newrelease.html#NEWRELEASE-FREEBSD">FreeBSD</a></dt>
+
+                <dt>6.3.10. <a href="newrelease.html#NEWRELEASE-HPUX">HP-UX
+                11</a></dt>
+
+                <dt>6.3.11. <a href="newrelease.html#NEWRELEASE-AMIGA">Amiga
+                OS</a></dt>
+
+                <dt>6.3.12. <a href=
+                "newrelease.html#NEWRELEASE-AIX">AIX</a></dt>
+              </dl>
+            </dd>
+
+            <dt>6.4. <a href="newrelease.html#RELEASING">Uploading and
+            Releasing Your Package</a></dt>
+
+            <dt>6.5. <a href="newrelease.html#AFTERRELEASE">After the
+            Release</a></dt>
+          </dl>
+        </dd>
+
+        <dt>7. <a href="webserver-update.html">Update the Webserver</a></dt>
+
+        <dt>8. <a href="contact.html">Contacting the developers, Bug
+        Reporting and Feature Requests</a></dt>
+
+        <dd>
+          <dl>
+            <dt>8.1. <a href="contact.html#CONTACT-SUPPORT">Get
+            Support</a></dt>
+
+            <dt>8.2. <a href="contact.html#REPORTING">Reporting
+            Problems</a></dt>
+
+            <dd>
+              <dl>
+                <dt>8.2.1. <a href="contact.html#CONTACT-ADS">Reporting Ads
+                or Other Configuration Problems</a></dt>
+
+                <dt>8.2.2. <a href="contact.html#CONTACT-BUGS">Reporting
+                Bugs</a></dt>
+              </dl>
+            </dd>
+
+            <dt>8.3. <a href="contact.html#CONTACT-FEATURE">Request New
+            Features</a></dt>
+
+            <dt>8.4. <a href="contact.html#MAILING-LISTS">Mailing
+            Lists</a></dt>
+          </dl>
+        </dd>
+
+        <dt>9. <a href="copyright.html">Privoxy Copyright, License and
+        History</a></dt>
+
+        <dd>
+          <dl>
+            <dt>9.1. <a href="copyright.html#AEN1233">License</a></dt>
+
+            <dt>9.2. <a href="copyright.html#AEN1249">History</a></dt>
+          </dl>
+        </dd>
+
+        <dt>10. <a href="seealso.html">See also</a></dt>
+      </dl>
     </div>
-  </body>
-</html>
+  </div>
+
+  <div class="NAVFOOTER">
+    <hr class="c2" width="100%">
 
+    <table summary="Footer navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <td width="33%" align="left" valign="top">&nbsp;</td>
+
+        <td width="34%" align="center" valign="top">&nbsp;</td>
+
+        <td width="33%" align="right" valign="top"><a href=
+        "introduction.html" accesskey="N">Next</a></td>
+      </tr>
+
+      <tr>
+        <td width="33%" align="left" valign="top">&nbsp;</td>
+
+        <td width="34%" align="center" valign="top">&nbsp;</td>
+
+        <td width="33%" align="right" valign="top">Introduction</td>
+      </tr>
+    </table>
+  </div>
+</body>
+</html>
index a47acf8..468f2fa 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
-Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+
 <html>
-  <head>
-    <meta name="generator" content="HTML Tidy, see www.w3.org">
-    <title>
-      Introduction
-    </title>
-    <meta name="GENERATOR" content=
-    "Modular DocBook HTML Stylesheet Version 1.79">
-    <link rel="HOME" title="Privoxy Developer Manual" href="index.html">
-    <link rel="PREVIOUS" title="Privoxy Developer Manual" href="index.html">
-    <link rel="NEXT" title="The CVS Repository" href="cvs.html">
-    <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
-    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<style type="text/css">
- body {
+<head>
+  <meta name="generator" content=
+  "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
+
+  <title>Introduction</title>
+  <meta name="GENERATOR" content=
+  "Modular DocBook HTML Stylesheet Version 1.79">
+  <link rel="HOME" title="Privoxy Developer Manual" href="index.html">
+  <link rel="PREVIOUS" title="Privoxy Developer Manual" href="index.html">
+  <link rel="NEXT" title="The CVS Repository" href="cvs.html">
+  <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
+  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+  <style type="text/css">
+body {
   background-color: #EEEEEE;
   color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- hr.c1 {text-align: left}
-</style>
-  </head>
-  <body class="SECT1">
-    <div class="NAVHEADER">
-      <table summary="Header navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <th colspan="3" align="center">
-            Privoxy Developer Manual
-          </th>
-        </tr>
-        <tr>
-          <td width="10%" align="left" valign="bottom">
-            <a href="index.html" accesskey="P">Prev</a>
-          </td>
-          <td width="80%" align="center" valign="bottom">
-          </td>
-          <td width="10%" align="right" valign="bottom">
-            <a href="cvs.html" accesskey="N">Next</a>
-          </td>
-        </tr>
-      </table>
-      <hr width="100%" class="c1">
-    </div>
-    <div class="SECT1">
-      <h1 class="SECT1">
-        <a name="INTRODUCTION">1. Introduction</a>
-      </h1>
-      <p>
-        <span class="APPLICATION">Privoxy</span>, as an heir to <span class=
-        "APPLICATION">Junkbuster</span>, is a Free Software project and the
-        code is licensed under the GNU General Public License version 2. As
-        such, <span class="APPLICATION">Privoxy</span> development is
-        potentially open to anyone who has the time, knowledge, and desire to
-        contribute in any capacity. Our goals are simply to continue the
-        mission, to improve <span class="APPLICATION">Privoxy</span>, and to
-        make it available to as wide an audience as possible.
-      </p>
-      <p>
-        One does not have to be a programmer to contribute. Packaging,
-        testing, documenting and porting, are all important jobs as well.
-      </p>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="QUICKSTART">1.1. Quickstart to Privoxy Development</a>
-        </h2>
-        <p>
-          The first step is to join the <a href=
-          "mailto:ijbswa-developers@lists.sourceforge.net" target=
-          "_top">developer's mailing list</a>. You can submit your ideas, or
-          even better patches. Patches are best submitted to the Sourceforge
-          tracker set up for this purpose, but can be sent to the list for
-          review too.
-        </p>
-        <p>
-          You will also need to have a cvs package installed, which will
-          entail having ssh installed as well (which seems to be a
-          requirement of SourceForge), in order to access the cvs repository.
-          Having the GNU build tools is also going to be important
-          (particularly, autoconf and gmake).
-        </p>
-        <p>
-          For the time being (read, this section is under construction), you
-          can also refer to the extensive comments in the source code. In
-          fact, reading the code is recommended in any case.
-        </p>
-      </div>
-    </div>
-    <div class="NAVFOOTER">
-      <hr width="100%" class="c1">
-      <table summary="Footer navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <td width="33%" align="left" valign="top">
-            <a href="index.html" accesskey="P">Prev</a>
-          </td>
-          <td width="34%" align="center" valign="top">
-            <a href="index.html" accesskey="H">Home</a>
-          </td>
-          <td width="33%" align="right" valign="top">
-            <a href="cvs.html" accesskey="N">Next</a>
-          </td>
-        </tr>
-        <tr>
-          <td width="33%" align="left" valign="top">
-            Privoxy Developer Manual
-          </td>
-          <td width="34%" align="center" valign="top">
-            &nbsp;
-          </td>
-          <td width="33%" align="right" valign="top">
-            The CVS Repository
-          </td>
-        </tr>
-      </table>
+  }
+  :link { color: #0000FF }
+  :visited { color: #840084 }
+  :active { color: #0000FF }
+  hr.c1 {text-align: left}
+  </style>
+</head>
+
+<body class="SECT1">
+  <div class="NAVHEADER">
+    <table summary="Header navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <th colspan="3" align="center">Privoxy Developer Manual</th>
+      </tr>
+
+      <tr>
+        <td width="10%" align="left" valign="bottom"><a href="index.html"
+        accesskey="P">Prev</a></td>
+
+        <td width="80%" align="center" valign="bottom"></td>
+
+        <td width="10%" align="right" valign="bottom"><a href="cvs.html"
+        accesskey="N">Next</a></td>
+      </tr>
+    </table>
+    <hr class="c1" width="100%">
+  </div>
+
+  <div class="SECT1">
+    <h1 class="SECT1"><a name="INTRODUCTION" id="INTRODUCTION">1.
+    Introduction</a></h1>
+
+    <p><span class="APPLICATION">Privoxy</span>, as an heir to <span class=
+    "APPLICATION">Junkbuster</span>, is a Free Software project and the code
+    is licensed under the GNU General Public License version 2. As such,
+    <span class="APPLICATION">Privoxy</span> development is potentially open
+    to anyone who has the time, knowledge, and desire to contribute in any
+    capacity. Our goals are simply to continue the mission, to improve
+    <span class="APPLICATION">Privoxy</span>, and to make it available to as
+    wide an audience as possible.</p>
+
+    <p>One does not have to be a programmer to contribute. Packaging,
+    testing, documenting and porting, are all important jobs as well.</p>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="QUICKSTART" id="QUICKSTART">1.1. Quickstart
+      to Privoxy Development</a></h2>
+
+      <p>The first step is to join the <a href=
+      "mailto:ijbswa-developers@lists.sourceforge.net" target=
+      "_top">developer's mailing list</a>. You can submit your ideas, or even
+      better patches. Patches are best submitted to the Sourceforge tracker
+      set up for this purpose, but can be sent to the list for review
+      too.</p>
+
+      <p>You will also need to have a cvs package installed, which will
+      entail having ssh installed as well (which seems to be a requirement of
+      SourceForge), in order to access the cvs repository. Having the GNU
+      build tools is also going to be important (particularly, autoconf and
+      gmake).</p>
+
+      <p>For the time being (read, this section is under construction), you
+      can also refer to the extensive comments in the source code. In fact,
+      reading the code is recommended in any case.</p>
     </div>
-  </body>
-</html>
+  </div>
+
+  <div class="NAVFOOTER">
+    <hr class="c1" width="100%">
+
+    <table summary="Footer navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <td width="33%" align="left" valign="top"><a href="index.html"
+        accesskey="P">Prev</a></td>
 
+        <td width="34%" align="center" valign="top"><a href="index.html"
+        accesskey="H">Home</a></td>
+
+        <td width="33%" align="right" valign="top"><a href="cvs.html"
+        accesskey="N">Next</a></td>
+      </tr>
+
+      <tr>
+        <td width="33%" align="left" valign="top">Privoxy Developer
+        Manual</td>
+
+        <td width="34%" align="center" valign="top">&nbsp;</td>
+
+        <td width="33%" align="right" valign="top">The CVS Repository</td>
+      </tr>
+    </table>
+  </div>
+</body>
+</html>
index 7b01ecf..49f1e8d 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
-Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+
 <html>
-  <head>
-    <meta name="generator" content="HTML Tidy, see www.w3.org">
-    <title>
-      Releasing a New Version
-    </title>
-    <meta name="GENERATOR" content=
-    "Modular DocBook HTML Stylesheet Version 1.79">
-    <link rel="HOME" title="Privoxy Developer Manual" href="index.html">
-    <link rel="PREVIOUS" title="Testing Guidelines" href="testing.html">
-    <link rel="NEXT" title="Update the Webserver" href=
-    "webserver-update.html">
-    <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
-    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<style type="text/css">
- body {
+<head>
+  <meta name="generator" content=
+  "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
+
+  <title>Releasing a New Version</title>
+  <meta name="GENERATOR" content=
+  "Modular DocBook HTML Stylesheet Version 1.79">
+  <link rel="HOME" title="Privoxy Developer Manual" href="index.html">
+  <link rel="PREVIOUS" title="Testing Guidelines" href="testing.html">
+  <link rel="NEXT" title="Update the Webserver" href="webserver-update.html">
+  <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
+  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+  <style type="text/css">
+body {
   background-color: #EEEEEE;
   color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- hr.c1 {text-align: left}
-</style>
-  </head>
-  <body class="SECT1">
-    <div class="NAVHEADER">
-      <table summary="Header navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <th colspan="3" align="center">
-            Privoxy Developer Manual
-          </th>
-        </tr>
+  }
+  :link { color: #0000FF }
+  :visited { color: #840084 }
+  :active { color: #0000FF }
+  tt.c5 {font-style: italic}
+  td.c4 {font-weight: bold}
+  table.c3 {background-color: #E0E0E0}
+  span.c2 {font-style: italic}
+  hr.c1 {text-align: left}
+  </style>
+</head>
+
+<body class="SECT1">
+  <div class="NAVHEADER">
+    <table summary="Header navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <th colspan="3" align="center">Privoxy Developer Manual</th>
+      </tr>
+
+      <tr>
+        <td width="10%" align="left" valign="bottom"><a href="testing.html"
+        accesskey="P">Prev</a></td>
+
+        <td width="80%" align="center" valign="bottom"></td>
+
+        <td width="10%" align="right" valign="bottom"><a href=
+        "webserver-update.html" accesskey="N">Next</a></td>
+      </tr>
+    </table>
+    <hr class="c1" width="100%">
+  </div>
+
+  <div class="SECT1">
+    <h1 class="SECT1"><a name="NEWRELEASE" id="NEWRELEASE">6. Releasing a New
+    Version</a></h1>
+
+    <p>When we release versions of <span class="APPLICATION">Privoxy</span>,
+    our work leaves our cozy secret lab and has to work in the cold
+    RealWorld[tm]. Once it is released, there is no way to call it back, so
+    it is very important that great care is taken to ensure that everything
+    runs fine, and not to introduce problems in the very last minute.</p>
+
+    <p>So when releasing a new version, please adhere exactly to the
+    procedure outlined in this chapter.</p>
+
+    <p>The following programs are required to follow this process: <tt class=
+    "FILENAME">ncftpput</tt> (ncftp), <tt class="FILENAME">scp, ssh</tt>
+    (ssh), <tt class="FILENAME">gmake</tt> (GNU's version of make), autoconf,
+    cvs.</p>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="VERSIONNUMBERS" id="VERSIONNUMBERS">6.1.
+      Version numbers</a></h2>
+
+      <p>First you need to determine which version number the release will
+      have. <span class="APPLICATION">Privoxy</span> version numbers consist
+      of three numbers, separated by dots, like in X.Y.Z (e.g. 3.0.0),
+      where:</p>
+
+      <ul>
+        <li>
+          <p>X, the version major, is rarely ever changed. It is increased by
+          one if turning a development branch into stable substantially
+          changes the functionality, user interface or configuration syntax.
+          Majors 1 and 2 were <span class="APPLICATION">Junkbuster</span>,
+          and 3 will be the first stable <span class=
+          "APPLICATION">Privoxy</span> release.</p>
+        </li>
+
+        <li>
+          <p>Y, the version minor, represents the branch within the major
+          version. At any point in time, there are two branches being
+          maintained: The stable branch, with an even minor, say, 2N, in
+          which no functionality is being added and only bug-fixes are made,
+          and 2N+1, the development branch, in which the further development
+          of <span class="APPLICATION">Privoxy</span> takes place. This
+          enables us to turn the code upside down and inside out, while at
+          the same time providing and maintaining a stable version. The minor
+          is reset to zero (and one) when the major is incremented. When a
+          development branch has matured to the point where it can be turned
+          into stable, the old stable branch 2N is given up (i.e. no longer
+          maintained), the former development branch 2N+1 becomes the new
+          stable branch 2N+2, and a new development branch 2N+3 is
+          opened.</p>
+        </li>
+
+        <li>
+          <p>Z, the point or sub version, represents a release of the
+          software within a branch. It is therefore incremented immediately
+          before each code freeze. In development branches, only the even
+          point versions correspond to actual releases, while the odd ones
+          denote the evolving state of the sources on CVS in between. It
+          follows that Z is odd on CVS in development branches most of the
+          time. There, it gets increased to an even number immediately before
+          a code freeze, and is increased to an odd number again immediately
+          thereafter. This ensures that builds from CVS snapshots are easily
+          distinguished from released versions. The point version is reset to
+          zero when the minor changes.</p>
+
+          <p>Stable branches work a little differently, since there should be
+          little to no development happening in such branches. Remember, only
+          bugfixes, which presumably should have had some testing before
+          being committed. Stable branches will then have their version
+          reported as <tt class="LITERAL">0.0.0</tt>, during that period
+          between releases when changes are being added. This is to denote
+          that this code is <span class="emphasis EMPHASIS c2">not for
+          release</span>. Then as the release nears, the version is bumped
+          according: e.g. <tt class="LITERAL">3.0.1 -&gt; 0.0.0 -&gt;
+          3.0.2</tt>.</p>
+        </li>
+      </ul>
+
+      <p>In summary, the main CVS trunk is the development branch where new
+      features are being worked on for the next stable series. This should
+      almost always be where the most activity takes place. There is always
+      at least one stable branch from the trunk, e.g now it is <tt class=
+      "LITERAL">3.0</tt>, which is only used to release stable versions. Once
+      the initial *.0 release of the stable branch has been done, then as a
+      rule, only bugfixes that have had prior testing should be committed to
+      the stable branch. Once there are enough bugfixes to justify a new
+      release, the version of this branch is again incremented Example: 3.0.0
+      -&gt; 3.0.1 -&gt; 3.0.2, etc are all stable releases from within the
+      stable branch. 3.1.x is currently the main trunk, and where work on
+      3.2.x is taking place. If any questions, please post to the devel list
+      <span class="emphasis EMPHASIS c2">before</span> committing to a stable
+      branch!</p>
+
+      <p>Developers should remember too that if they commit a bugfix to the
+      stable branch, this will more than likely require a separate submission
+      to the main trunk, since these are separate development trees within
+      CVS. If you are working on both, then this would require at least two
+      separate check outs (i.e main trunk, <span class=
+      "emphasis EMPHASIS c2">and</span> the stable release branch, which is
+      <tt class="LITERAL">v_3_0_branch</tt> at the moment).</p>
+    </div>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="BEFORERELEASE" id="BEFORERELEASE">6.2.
+      Before the Release: Freeze</a></h2>
+
+      <p>The following <span class="emphasis EMPHASIS c2">must be done by one
+      of the developers</span> prior to each new release.</p>
+
+      <ul>
+        <li>
+          <p>Make sure that everybody who has worked on the code in the last
+          couple of days has had a chance to yell <span class=
+          "QUOTE">"no!"</span> in case they have pending changes/fixes in
+          their pipelines. Announce the freeze so that nobody will interfere
+          with last minute changes.</p>
+        </li>
+
+        <li>
+          <p>Increment the version number (point from odd to even in
+          development branches!) in <tt class="FILENAME">configure.in</tt>.
+          (RPM spec files will need to be incremented as well.)</p>
+        </li>
+
+        <li>
+          <p>If <tt class="FILENAME">default.action</tt> has changed since
+          last release (i.e. software release or standalone actions file
+          release), bump up its version info to A.B in this line:</p>
+
+          <table class="c3" border="0" width="90%">
+            <tr>
+              <td>
+                <pre class="PROGRAMLISTING">
+  {+add-header{X-Actions-File-Version: A.B} -filter -no-popups}
+</pre>
+              </td>
+            </tr>
+          </table>
+
+          <p>Then change the version info in doc/webserver/actions/index.php,
+          line: '$required_actions_file_version = "A.B";'</p>
+        </li>
+
+        <li>
+          <p>All documentation should be rebuild after the version bump.
+          Finished docs should be then be committed to CVS (for those without
+          the ability to build these). Some docs may require rather obscure
+          processing tools. <tt class="FILENAME">config</tt>, the man page
+          (and the html version of the man page), and the PDF docs fall in
+          this category. REAMDE, the man page, AUTHORS, and config should all
+          also be committed to CVS for other packagers. The formal docs
+          should be uploaded to the webserver. See the Section "Updating the
+          webserver" in this manual for details.</p>
+        </li>
+
+        <li>
+          <p>The <i class="CITETITLE">User Manual</i> is also used for
+          context sensitive help for the CGI editor. This is version
+          sensitive, so that the user will get appropriate help for his/her
+          release. So with each release a fresh version should be uploaded to
+          the webserver (this is in addition to the main <i class=
+          "CITETITLE">User Manual</i> link from the main page since we need
+          to keep manuals for various versions available). The CGI pages will
+          link to something like <tt class=
+          "LITERAL">http://privoxy.org/$(VERSION)/user-manual/</tt>. This
+          will need to be updated for each new release. There is no Makefile
+          target for this at this time!!! It needs to be done manually.</p>
+        </li>
+
+        <li>
+          <p>All developers should look at the <tt class=
+          "FILENAME">ChangeLog</tt> and make sure noteworthy changes are
+          referenced.</p>
+        </li>
+
+        <li>
+          <p><span class="emphasis EMPHASIS c2">Commit all files that were
+          changed in the above steps!</span></p>
+        </li>
+
+        <li>
+          <p>Tag all files in CVS with the version number with <span class=
+          "QUOTE">"<b class="COMMAND">cvs tag v_X_Y_Z</b>"</span>. Don't use
+          vX_Y_Z, ver_X_Y_Z, v_X.Y.Z (won't work) etc.</p>
+        </li>
+
+        <li>
+          <p>If the release was in a development branch, increase the point
+          version from even to odd (X.Y.(Z+1)) again in <tt class=
+          "FILENAME">configure.in</tt> and commit your change.</p>
+        </li>
+
+        <li>
+          <p>On the webserver, copy the user manual to a new top-level
+          directory called <tt class="FILENAME">X.Y.Z</tt>. This ensures that
+          help links from the CGI pages, which have the version as a prefix,
+          will go into the right version of the manual. If this is a
+          development branch release, also symlink <tt class=
+          "FILENAME">X.Y.(Z-1)</tt> to <tt class="FILENAME">X.Y.Z</tt> and
+          <tt class="FILENAME">X.Y.(Z+1)</tt> to <tt class="FILENAME">.</tt>
+          (i.e. dot).</p>
+        </li>
+      </ul>
+    </div>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="THERELEASE" id="THERELEASE">6.3. Building
+      and Releasing the Packages</a></h2>
+
+      <p>Now the individual packages can be built and released. Note that for
+      GPL reasons the first package to be released is always the source
+      tarball.</p>
+
+      <p>For <span class="emphasis EMPHASIS c2">all</span> types of packages,
+      including the source tarball, <span class="emphasis EMPHASIS c2">you
+      must make sure that you build from clean sources by exporting the right
+      version from CVS into an empty directory</span> (just press return when
+      asked for a password):</p>
+
+      <table class="c3" border="0" width="100%">
         <tr>
-          <td width="10%" align="left" valign="bottom">
-            <a href="testing.html" accesskey="P">Prev</a>
-          </td>
-          <td width="80%" align="center" valign="bottom">
-          </td>
-          <td width="10%" align="right" valign="bottom">
-            <a href="webserver-update.html" accesskey="N">Next</a>
+          <td>
+            <pre class="PROGRAMLISTING">
+  mkdir dist # delete or choose different name if it already exists
+  cd dist
+  cvs -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa login
+  cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa export -r v_X_Y_Z current
+</pre>
           </td>
         </tr>
       </table>
-      <hr width="100%" class="c1">
-    </div>
-    <div class="SECT1">
-      <h1 class="SECT1">
-        <a name="NEWRELEASE">6. Releasing a New Version</a>
-      </h1>
-      <p>
-        When we release versions of <span class="APPLICATION">Privoxy</span>,
-        our work leaves our cozy secret lab and has to work in the cold
-        RealWorld[tm]. Once it is released, there is no way to call it back,
-        so it is very important that great care is taken to ensure that
-        everything runs fine, and not to introduce problems in the very last
-        minute.
-      </p>
-      <p>
-        So when releasing a new version, please adhere exactly to the
-        procedure outlined in this chapter.
-      </p>
-      <p>
-        The following programs are required to follow this process: <tt
-        class="FILENAME">ncftpput</tt> (ncftp), <tt class="FILENAME">scp,
-        ssh</tt> (ssh), <tt class="FILENAME">gmake</tt> (GNU's version of
-        make), autoconf, cvs.
-      </p>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="VERSIONNUMBERS">6.1. Version numbers</a>
-        </h2>
-        <p>
-          First you need to determine which version number the release will
-          have. <span class="APPLICATION">Privoxy</span> version numbers
-          consist of three numbers, separated by dots, like in X.Y.Z (e.g.
-          3.0.0), where:
-        </p>
-        <ul>
-          <li>
-            <p>
-              X, the version major, is rarely ever changed. It is increased
-              by one if turning a development branch into stable
-              substantially changes the functionality, user interface or
-              configuration syntax. Majors 1 and 2 were <span class=
-              "APPLICATION">Junkbuster</span>, and 3 will be the first stable
-              <span class="APPLICATION">Privoxy</span> release.
-            </p>
-          </li>
-          <li>
-            <p>
-              Y, the version minor, represents the branch within the major
-              version. At any point in time, there are two branches being
-              maintained: The stable branch, with an even minor, say, 2N, in
-              which no functionality is being added and only bug-fixes are
-              made, and 2N+1, the development branch, in which the further
-              development of <span class="APPLICATION">Privoxy</span> takes
-              place. This enables us to turn the code upside down and inside
-              out, while at the same time providing and maintaining a stable
-              version. The minor is reset to zero (and one) when the major is
-              incremented. When a development branch has matured to the point
-              where it can be turned into stable, the old stable branch 2N is
-              given up (i.e. no longer maintained), the former development
-              branch 2N+1 becomes the new stable branch 2N+2, and a new
-              development branch 2N+3 is opened.
-            </p>
-          </li>
-          <li>
-            <p>
-              Z, the point or sub version, represents a release of the
-              software within a branch. It is therefore incremented
-              immediately before each code freeze. In development branches,
-              only the even point versions correspond to actual releases,
-              while the odd ones denote the evolving state of the sources on
-              CVS in between. It follows that Z is odd on CVS in development
-              branches most of the time. There, it gets increased to an even
-              number immediately before a code freeze, and is increased to an
-              odd number again immediately thereafter. This ensures that
-              builds from CVS snapshots are easily distinguished from
-              released versions. The point version is reset to zero when the
-              minor changes.
-            </p>
-            <p>
-              Stable branches work a little differently, since there should
-              be little to no development happening in such branches.
-              Remember, only bugfixes, which presumably should have had some
-              testing before being committed. Stable branches will then have
-              their version reported as <tt class="LITERAL">0.0.0</tt>,
-              during that period between releases when changes are being
-              added. This is to denote that this code is <span class=
-              "emphasis"><i class="EMPHASIS">not for release</i></span>. Then
-              as the release nears, the version is bumped according: e.g. <tt
-              class="LITERAL">3.0.1 -&gt; 0.0.0 -&gt; 3.0.2</tt>.
-            </p>
-          </li>
-        </ul>
 
-        <p>
-          In summary, the main CVS trunk is the development branch where new
-          features are being worked on for the next stable series. This
-          should almost always be where the most activity takes place. There
-          is always at least one stable branch from the trunk, e.g now it is
-          <tt class="LITERAL">3.0</tt>, which is only used to release stable
-          versions. Once the initial *.0 release of the stable branch has
-          been done, then as a rule, only bugfixes that have had prior
-          testing should be committed to the stable branch. Once there are
-          enough bugfixes to justify a new release, the version of this
-          branch is again incremented Example: 3.0.0 -&gt; 3.0.1 -&gt; 3.0.2,
-          etc are all stable releases from within the stable branch. 3.1.x is
-          currently the main trunk, and where work on 3.2.x is taking place.
-          If any questions, please post to the devel list <span class=
-          "emphasis"><i class="EMPHASIS">before</i></span> committing to a
-          stable branch!
-        </p>
-        <p>
-          Developers should remember too that if they commit a bugfix to the
-          stable branch, this will more than likely require a separate
-          submission to the main trunk, since these are separate development
-          trees within CVS. If you are working on both, then this would
-          require at least two separate check outs (i.e main trunk, <span
-          class="emphasis"><i class="EMPHASIS">and</i></span> the stable
-          release branch, which is <tt class="LITERAL">v_3_0_branch</tt> at
-          the moment).
-        </p>
+      <p><span class="emphasis EMPHASIS c2">Do NOT change</span> a single
+      bit, including, but not limited to version information after export
+      from CVS. This is to make sure that all release packages, and with
+      them, all future bug reports, are based on exactly the same code.</p>
+
+      <div class="WARNING">
+        <table class="WARNING" border="1" width="100%">
+          <tr>
+            <td class="c4" align="center">Warning</td>
+          </tr>
+
+          <tr>
+            <td align="left">
+              <p>Every significant release of Privoxy has included at least
+              one package that either had incorrect versions of files,
+              missing files, or incidental leftovers from a previous build
+              process that gave unknown numbers of users headaches to try to
+              figure out what was wrong. PLEASE, make sure you are using
+              pristene sources, and are following the prescribed process!</p>
+            </td>
+          </tr>
+        </table>
       </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="BEFORERELEASE">6.2. Before the Release: Freeze</a>
-        </h2>
-        <p>
-          The following <span class="emphasis"><i class="EMPHASIS">must be
-          done by one of the developers</i></span> prior to each new release.
-        </p>
-        <p>
-        </p>
+
+      <p>Please find additional instructions for the source tarball and the
+      individual platform dependent binary packages below. And details on the
+      Sourceforge release process below that.</p>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="PACK-GUIDELINES" id=
+        "PACK-GUIDELINES">6.3.1. Note on Privoxy Packaging</a></h3>
+
+        <p>Please keep these general guidelines in mind when putting together
+        your package. These apply to <span class=
+        "emphasis EMPHASIS c2">all</span> platforms!</p>
+
         <ul>
           <li>
-            <p>
-              Make sure that everybody who has worked on the code in the last
-              couple of days has had a chance to yell <span class=
-              "QUOTE">"no!"</span> in case they have pending changes/fixes in
-              their pipelines. Announce the freeze so that nobody will
-              interfere with last minute changes.
-            </p>
-          </li>
-          <li>
-            <p>
-              Increment the version number (point from odd to even in
-              development branches!) in <tt class=
-              "FILENAME">configure.in</tt>. (RPM spec files will need to be
-              incremented as well.)
-            </p>
+            <p><span class="APPLICATION">Privoxy</span> <span class=
+            "emphasis EMPHASIS c2">requires</span> write access to: all
+            <tt class="FILENAME">*.action</tt> files, all logfiles, and the
+            <tt class="FILENAME">trust</tt> file. You will need to determine
+            the best way to do this for your platform.</p>
           </li>
+
           <li>
-            <p>
-              If <tt class="FILENAME">default.action</tt> has changed since
-              last release (i.e. software release or standalone actions file
-              release), bump up its version info to A.B in this line:
-            </p>
-            <p>
-            </p>
-            <table border="0" bgcolor="#E0E0E0" width="90%">
-              <tr>
-                <td>
-<pre class="PROGRAMLISTING">
-  {+add-header{X-Actions-File-Version: A.B} -filter -no-popups}
-</pre>
-                </td>
-              </tr>
+            <p>Please include up to date documentation. At a bare
+            minimum:</p>
+
+            <table border="0">
+              <tbody>
+                <tr>
+                  <td><tt class="FILENAME">LICENSE</tt> (top-level
+                  directory)</td>
+                </tr>
+              </tbody>
             </table>
 
-            <p>
-              Then change the version info in
-              doc/webserver/actions/index.php, line:
-              '$required_actions_file_version = "A.B";'
-            </p>
-          </li>
-          <li>
-            <p>
-              All documentation should be rebuild after the version bump.
-              Finished docs should be then be committed to CVS (for those
-              without the ability to build these). Some docs may require
-              rather obscure processing tools. <tt class=
-              "FILENAME">config</tt>, the man page (and the html version of
-              the man page), and the PDF docs fall in this category. REAMDE,
-              the man page, AUTHORS, and config should all also be committed
-              to CVS for other packagers. The formal docs should be uploaded
-              to the webserver. See the Section "Updating the webserver" in
-              this manual for details.
-            </p>
-          </li>
-          <li>
-            <p>
-              The <i class="CITETITLE">User Manual</i> is also used for
-              context sensitive help for the CGI editor. This is version
-              sensitive, so that the user will get appropriate help for
-              his/her release. So with each release a fresh version should be
-              uploaded to the webserver (this is in addition to the main <i
-              class="CITETITLE">User Manual</i> link from the main page since
-              we need to keep manuals for various versions available). The
-              CGI pages will link to something like <tt class=
-              "LITERAL">http://privoxy.org/$(VERSION)/user-manual/</tt>. This
-              will need to be updated for each new release. There is no
-              Makefile target for this at this time!!! It needs to be done
-              manually.
-            </p>
-          </li>
-          <li>
-            <p>
-              All developers should look at the <tt class=
-              "FILENAME">ChangeLog</tt> and make sure noteworthy changes are
-              referenced.
-            </p>
+            <table border="0">
+              <tbody>
+                <tr>
+                  <td><tt class="FILENAME">README</tt> (top-level
+                  directory)</td>
+                </tr>
+              </tbody>
+            </table>
+
+            <table border="0">
+              <tbody>
+                <tr>
+                  <td><tt class="FILENAME">AUTHORS</tt> (top-level
+                  directory)</td>
+                </tr>
+              </tbody>
+            </table>
+
+            <table border="0">
+              <tbody>
+                <tr>
+                  <td><tt class="FILENAME">man page</tt> (top-level
+                  directory, Unix-like platforms only)</td>
+                </tr>
+              </tbody>
+            </table>
+
+            <table border="0">
+              <tbody>
+                <tr>
+                  <td><tt class="FILENAME">The User Manual</tt>
+                  (doc/webserver/user-manual/)</td>
+                </tr>
+              </tbody>
+            </table>
+
+            <table border="0">
+              <tbody>
+                <tr>
+                  <td><tt class="FILENAME">FAQ</tt> (doc/webserver/faq/)</td>
+                </tr>
+              </tbody>
+            </table>
+
+            <p>Also suggested: <tt class="FILENAME">Developer Manual</tt>
+            (doc/webserver/developer-manual) and <tt class=
+            "FILENAME">ChangeLog</tt> (top-level directory). <tt class=
+            "FILENAME">FAQ</tt> and the manuals are HTML docs. There are also
+            text versions in <tt class="FILENAME">doc/text/</tt> which could
+            conceivably also be included.</p>
+
+            <p>The documentation has been designed such that the manuals are
+            linked to each other from parallel directories, and should be
+            packaged that way. <tt class="FILENAME">privoxy-index.html</tt>
+            can also be included and can serve as a focal point for docs and
+            other links of interest (and possibly renamed to <tt class=
+            "FILENAME">index.html</tt>). This should be one level up from the
+            manuals. There is a link also on this page to an HTMLized version
+            of the man page. To avoid 404 for this, it is in CVS as
+            <tt class="FILENAME">doc/webserver/man-page/privoxy-man-page.html</tt>,
+            and should be included along with the manuals. There is also a
+            css stylesheets that can be included for better presentation:
+            <tt class="FILENAME">p_doc.css</tt>. This should be in the same
+            directory with <tt class="FILENAME">privoxy-index.html</tt>,
+            (i.e. one level up from the manual directories).</p>
           </li>
+
           <li>
-            <p>
-              <span class="emphasis"><i class="EMPHASIS">Commit all files
-              that were changed in the above steps!</i></span>
-            </p>
+            <p><tt class="FILENAME">user.action</tt> and <tt class=
+            "FILENAME">user.filter</tt> are designed for local preferences.
+            Make sure these do not get overwritten! <tt class=
+            "FILENAME">config</tt> should not be overwritten either. This has
+            especially important configuration data in it. <tt class=
+            "FILENAME">trust</tt> should be left in tact as well.</p>
           </li>
+
           <li>
-            <p>
-              Tag all files in CVS with the version number with <span class=
-              "QUOTE">"<b class="COMMAND">cvs tag v_X_Y_Z</b>"</span>. Don't
-              use vX_Y_Z, ver_X_Y_Z, v_X.Y.Z (won't work) etc.
-            </p>
+            <p>Other configuration files (<tt class=
+            "FILENAME">default.action</tt> and <tt class=
+            "FILENAME">default.filter</tt>) should be installed as the new
+            defaults, but all previously installed configuration files should
+            be preserved as backups. This is just good manners :-) These
+            files are likely to change between releases and contain important
+            new features and bug fixes.</p>
           </li>
+
           <li>
-            <p>
-              If the release was in a development branch, increase the point
-              version from even to odd (X.Y.(Z+1)) again in <tt class=
-              "FILENAME">configure.in</tt> and commit your change.
-            </p>
+            <p>Please check platform specific notes in this doc, if you
+            haven't done <span class="QUOTE">"Privoxy"</span> packaging
+            before for other platform specific issues. Conversely, please add
+            any notes that you know are important for your platform (or
+            contact one of the doc maintainers to do this if you can't).</p>
           </li>
+
           <li>
-            <p>
-              On the webserver, copy the user manual to a new top-level
-              directory called <tt class="FILENAME">X.Y.Z</tt>. This ensures
-              that help links from the CGI pages, which have the version as a
-              prefix, will go into the right version of the manual. If this
-              is a development branch release, also symlink <tt class=
-              "FILENAME">X.Y.(Z-1)</tt> to <tt class="FILENAME">X.Y.Z</tt>
-              and <tt class="FILENAME">X.Y.(Z+1)</tt> to <tt class=
-              "FILENAME">.</tt> (i.e. dot).
-            </p>
+            <p>Packagers should do a <span class="QUOTE">"clean"</span>
+            install of their package after building it. So any previous
+            installs should be removed first to ensure the integrity of the
+            newly built package. Then run the package for a while to make
+            sure there are no obvious problems, before uploading.</p>
           </li>
         </ul>
       </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="THERELEASE">6.3. Building and Releasing the Packages</a>
-        </h2>
-        <p>
-          Now the individual packages can be built and released. Note that
-          for GPL reasons the first package to be released is always the
-          source tarball.
-        </p>
-        <p>
-          For <span class="emphasis"><i class="EMPHASIS">all</i></span> types
-          of packages, including the source tarball, <span class=
-          "emphasis"><i class="EMPHASIS">you must make sure that you build
-          from clean sources by exporting the right version from CVS into an
-          empty directory</i></span> (just press return when asked for a
-          password):
-        </p>
-        <p>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="NEWRELEASE-TARBALL" id=
+        "NEWRELEASE-TARBALL">6.3.2. Source Tarball</a></h3>
+
+        <p>First, <span class="emphasis EMPHASIS c2">make sure that you have
+        freshly exported the right version into an empty directory</span>.
+        (See "Building and releasing packages" above). Then run:</p>
+
+        <table class="c3" border="0" width="100%">
           <tr>
             <td>
-<pre class="PROGRAMLISTING">
-  mkdir dist # delete or choose different name if it already exists
-  cd dist
-  cvs -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa login
-  cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa export -r v_X_Y_Z current
+              <pre class="PROGRAMLISTING">
+  cd current
+  autoheader &amp;&amp; autoconf &amp;&amp; ./configure
 </pre>
             </td>
           </tr>
         </table>
 
-        <p>
-          <span class="emphasis"><i class="EMPHASIS">Do NOT change</i></span>
-          a single bit, including, but not limited to version information
-          after export from CVS. This is to make sure that all release
-          packages, and with them, all future bug reports, are based on
-          exactly the same code.
-        </p>
-        <div class="WARNING">
-          <table class="WARNING" border="1" width="100%">
-            <tr>
-              <td align="CENTER">
-                <b>Warning</b>
-              </td>
-            </tr>
-            <tr>
-              <td align="LEFT">
-                <p>
-                  Every significant release of Privoxy has included at least
-                  one package that either had incorrect versions of files,
-                  missing files, or incidental leftovers from a previous
-                  build process that gave unknown numbers of users headaches
-                  to try to figure out what was wrong. PLEASE, make sure you
-                  are using pristene sources, and are following the
-                  prescribed process!
-                </p>
-              </td>
-            </tr>
-          </table>
-        </div>
-        <p>
-          Please find additional instructions for the source tarball and the
-          individual platform dependent binary packages below. And details on
-          the Sourceforge release process below that.
-        </p>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="PACK-GUIDELINES">6.3.1. Note on Privoxy Packaging</a>
-          </h3>
-          <p>
-            Please keep these general guidelines in mind when putting
-            together your package. These apply to <span class="emphasis"><i
-            class="EMPHASIS">all</i></span> platforms!
-          </p>
-          <p>
-          </p>
-          <ul>
-            <li>
-              <p>
-                <span class="APPLICATION">Privoxy</span> <span class=
-                "emphasis"><i class="EMPHASIS">requires</i></span> write
-                access to: all <tt class="FILENAME">*.action</tt> files, all
-                logfiles, and the <tt class="FILENAME">trust</tt> file. You
-                will need to determine the best way to do this for your
-                platform.
-              </p>
-            </li>
-            <li>
-              <p>
-                Please include up to date documentation. At a bare minimum:
-              </p>
-              <table border="0">
-                <tbody>
-                  <tr>
-                    <td>
-                      <tt class="FILENAME">LICENSE</tt> (top-level directory)
-                    </td>
-                  </tr>
-                </tbody>
-              </table>
-              <table border="0">
-                <tbody>
-                  <tr>
-                    <td>
-                      <tt class="FILENAME">README</tt> (top-level directory)
-                    </td>
-                  </tr>
-                </tbody>
-              </table>
-              <table border="0">
-                <tbody>
-                  <tr>
-                    <td>
-                      <tt class="FILENAME">AUTHORS</tt> (top-level directory)
-                    </td>
-                  </tr>
-                </tbody>
-              </table>
-              <table border="0">
-                <tbody>
-                  <tr>
-                    <td>
-                      <tt class="FILENAME">man page</tt> (top-level
-                      directory, Unix-like platforms only)
-                    </td>
-                  </tr>
-                </tbody>
-              </table>
-              <table border="0">
-                <tbody>
-                  <tr>
-                    <td>
-                      <tt class="FILENAME">The User Manual</tt>
-                      (doc/webserver/user-manual/)
-                    </td>
-                  </tr>
-                </tbody>
-              </table>
-              <table border="0">
-                <tbody>
-                  <tr>
-                    <td>
-                      <tt class="FILENAME">FAQ</tt> (doc/webserver/faq/)
-                    </td>
-                  </tr>
-                </tbody>
-              </table>
-              <p>
-                Also suggested: <tt class="FILENAME">Developer Manual</tt>
-                (doc/webserver/developer-manual) and <tt class=
-                "FILENAME">ChangeLog</tt> (top-level directory). <tt class=
-                "FILENAME">FAQ</tt> and the manuals are HTML docs. There are
-                also text versions in <tt class="FILENAME">doc/text/</tt>
-                which could conceivably also be included.
-              </p>
-              <p>
-                The documentation has been designed such that the manuals are
-                linked to each other from parallel directories, and should be
-                packaged that way. <tt class=
-                "FILENAME">privoxy-index.html</tt> can also be included and
-                can serve as a focal point for docs and other links of
-                interest (and possibly renamed to <tt class=
-                "FILENAME">index.html</tt>). This should be one level up from
-                the manuals. There is a link also on this page to an HTMLized
-                version of the man page. To avoid 404 for this, it is in CVS
-                as <tt class=
-                "FILENAME">doc/webserver/man-page/privoxy-man-page.html</tt>,
-                and should be included along with the manuals. There is also
-                a css stylesheets that can be included for better
-                presentation: <tt class="FILENAME">p_doc.css</tt>. This
-                should be in the same directory with <tt class=
-                "FILENAME">privoxy-index.html</tt>, (i.e. one level up from
-                the manual directories).
-              </p>
-            </li>
-            <li>
-              <p>
-                <tt class="FILENAME">user.action</tt> and <tt class=
-                "FILENAME">user.filter</tt> are designed for local
-                preferences. Make sure these do not get overwritten! <tt
-                class="FILENAME">config</tt> should not be overwritten
-                either. This has especially important configuration data in
-                it. <tt class="FILENAME">trust</tt> should be left in tact as
-                well.
-              </p>
-            </li>
-            <li>
-              <p>
-                Other configuration files (<tt class=
-                "FILENAME">default.action</tt> and <tt class=
-                "FILENAME">default.filter</tt>) should be installed as the
-                new defaults, but all previously installed configuration
-                files should be preserved as backups. This is just good
-                manners :-) These files are likely to change between releases
-                and contain important new features and bug fixes.
-              </p>
-            </li>
-            <li>
-              <p>
-                Please check platform specific notes in this doc, if you
-                haven't done <span class="QUOTE">"Privoxy"</span> packaging
-                before for other platform specific issues. Conversely, please
-                add any notes that you know are important for your platform
-                (or contact one of the doc maintainers to do this if you
-                can't).
-              </p>
-            </li>
-            <li>
-              <p>
-                Packagers should do a <span class="QUOTE">"clean"</span>
-                install of their package after building it. So any previous
-                installs should be removed first to ensure the integrity of
-                the newly built package. Then run the package for a while to
-                make sure there are no obvious problems, before uploading.
-              </p>
-            </li>
-          </ul>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="NEWRELEASE-TARBALL">6.3.2. Source Tarball</a>
-          </h3>
-          <p>
-            First, <span class="emphasis"><i class="EMPHASIS">make sure that
-            you have freshly exported the right version into an empty
-            directory</i></span>. (See "Building and releasing packages"
-            above). Then run:
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
-  cd current
-  autoheader &amp;&amp; autoconf &amp;&amp; ./configure
-</pre>
-              </td>
-            </tr>
-          </table>
+        <p>Then do:</p>
 
-          <p>
-            Then do:
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
   make tarball-dist
 </pre>
-              </td>
-            </tr>
-          </table>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            To upload the package to Sourceforge, simply issue
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+        <p>To upload the package to Sourceforge, simply issue</p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
   make tarball-upload
 </pre>
-              </td>
-            </tr>
-          </table>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            Go to the displayed URL and release the file publicly on
-            Sourceforge. For the change log field, use the relevant section
-            of the <tt class="FILENAME">ChangeLog</tt> file.
-          </p>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="NEWRELEASE-RPM">6.3.3. SuSE, Conectiva or Red Hat
-            RPM</a>
-          </h3>
-          <p>
-            In following text, replace <tt class=
-            "REPLACEABLE"><i>dist</i></tt> with either <span class=
-            "QUOTE">"rh"</span> for Red Hat or <span class=
-            "QUOTE">"suse"</span> for SuSE.
-          </p>
-          <p>
-            First, <span class="emphasis"><i class="EMPHASIS">make sure that
-            you have freshly exported the right version into an empty
-            directory</i></span>. (See "Building and releasing packages"
-            above).
-          </p>
-          <p>
-            As the only exception to not changing anything after export from
-            CVS, now examine the file <tt class="FILENAME">privoxy-</tt><tt
-            class="REPLACEABLE"><i>dist</i></tt><tt class=
-            "FILENAME">.spec</tt> and make sure that the version information
-            and the RPM release number are correct. The RPM release numbers
-            for each version start at one. Hence it must be reset to one if
-            this is the first RPM for <tt class=
-            "REPLACEABLE"><i>dist</i></tt> which is built from version X.Y.Z.
-            Check the <a href=
-            "http://sourceforge.net/project/showfiles.php?group_id=11118"
-            target="_top">file list</a> if unsure. Else, it must be set to
-            the highest already available RPM release number for that version
-            plus one.
-          </p>
-          <p>
-            Then run:
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+        <p>Go to the displayed URL and release the file publicly on
+        Sourceforge. For the change log field, use the relevant section of
+        the <tt class="FILENAME">ChangeLog</tt> file.</p>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="NEWRELEASE-RPM" id="NEWRELEASE-RPM">6.3.3.
+        SuSE, Conectiva or Red Hat RPM</a></h3>
+
+        <p>In following text, replace <tt class="REPLACEABLE c5">dist</tt>
+        with either <span class="QUOTE">"rh"</span> for Red Hat or
+        <span class="QUOTE">"suse"</span> for SuSE.</p>
+
+        <p>First, <span class="emphasis EMPHASIS c2">make sure that you have
+        freshly exported the right version into an empty directory</span>.
+        (See "Building and releasing packages" above).</p>
+
+        <p>As the only exception to not changing anything after export from
+        CVS, now examine the file <tt class=
+        "FILENAME">privoxy-</tt><tt class="REPLACEABLE c5">dist</tt><tt class="FILENAME">.spec</tt>
+        and make sure that the version information and the RPM release number
+        are correct. The RPM release numbers for each version start at one.
+        Hence it must be reset to one if this is the first RPM for <tt class=
+        "REPLACEABLE c5">dist</tt> which is built from version X.Y.Z. Check
+        the <a href=
+        "http://sourceforge.net/project/showfiles.php?group_id=11118" target=
+        "_top">file list</a> if unsure. Else, it must be set to the highest
+        already available RPM release number for that version plus one.</p>
+
+        <p>Then run:</p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
   cd current
   autoheader &amp;&amp; autoconf &amp;&amp; ./configure
 </pre>
-              </td>
-            </tr>
-          </table>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            Then do
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
-  make <tt class="REPLACEABLE"><i>dist</i></tt>-dist
+        <p>Then do</p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
+  make <tt class="REPLACEABLE c5">dist</tt>-dist
 </pre>
-              </td>
-            </tr>
-          </table>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            To upload the package to Sourceforge, simply issue
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
-  make <tt class="REPLACEABLE"><i>dist</i></tt>-upload <tt class=
-"REPLACEABLE"><i>rpm_packagerev</i></tt>
+        <p>To upload the package to Sourceforge, simply issue</p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
+  make <tt class="REPLACEABLE c5">dist</tt>-upload <tt class=
+"REPLACEABLE c5">rpm_packagerev</tt>
 </pre>
-              </td>
-            </tr>
-          </table>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            where <tt class="REPLACEABLE"><i>rpm_packagerev</i></tt> is the
-            RPM release number as determined above. Go to the displayed URL
-            and release the file publicly on Sourceforge. Use the release
-            notes and change log from the source tarball package.
-          </p>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="NEWRELEASE-OS2">6.3.4. OS/2</a>
-          </h3>
-          <p>
-            First, <span class="emphasis"><i class="EMPHASIS">make sure that
-            you have freshly exported the right version into an empty
-            directory</i></span>. (See "Building and releasing packages"
-            above). Then get the OS/2 Setup module:
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+        <p>where <tt class="REPLACEABLE c5">rpm_packagerev</tt> is the RPM
+        release number as determined above. Go to the displayed URL and
+        release the file publicly on Sourceforge. Use the release notes and
+        change log from the source tarball package.</p>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="NEWRELEASE-OS2" id="NEWRELEASE-OS2">6.3.4.
+        OS/2</a></h3>
+
+        <p>First, <span class="emphasis EMPHASIS c2">make sure that you have
+        freshly exported the right version into an empty directory</span>.
+        (See "Building and releasing packages" above). Then get the OS/2
+        Setup module:</p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
   cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co os2setup
 </pre>
-              </td>
-            </tr>
-          </table>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            You will need a mix of development tools. The main compilation
-            takes place with IBM Visual Age C++. Some ancillary work takes
-            place with GNU tools, available from various sources like
-            hobbes.nmsu.edu. Specificially, you will need <tt class=
-            "FILENAME">autoheader</tt>, <tt class="FILENAME">autoconf</tt>
-            and <tt class="FILENAME">sh</tt> tools. The packaging takes place
-            with WarpIN, available from various sources, including its home
-            page: <a href="http://www.xworkplace.org/" target=
-            "_top">xworkplace</a>.
-          </p>
-          <p>
-            Change directory to the <tt class="FILENAME">os2setup</tt>
-            directory. Edit the os2build.cmd file to set the final executable
-            filename. For example,
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+        <p>You will need a mix of development tools. The main compilation
+        takes place with IBM Visual Age C++. Some ancillary work takes place
+        with GNU tools, available from various sources like hobbes.nmsu.edu.
+        Specificially, you will need <tt class="FILENAME">autoheader</tt>,
+        <tt class="FILENAME">autoconf</tt> and <tt class="FILENAME">sh</tt>
+        tools. The packaging takes place with WarpIN, available from various
+        sources, including its home page: <a href=
+        "http://www.xworkplace.org/" target="_top">xworkplace</a>.</p>
+
+        <p>Change directory to the <tt class="FILENAME">os2setup</tt>
+        directory. Edit the os2build.cmd file to set the final executable
+        filename. For example,</p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
   installExeName='privoxyos2_setup_X.Y.Z.exe'
 </pre>
-              </td>
-            </tr>
-          </table>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            Next, edit the <tt class="FILENAME">IJB.wis</tt> file so the
-            release number matches in the <tt class="FILENAME">PACKAGEID</tt>
-            section:
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+        <p>Next, edit the <tt class="FILENAME">IJB.wis</tt> file so the
+        release number matches in the <tt class="FILENAME">PACKAGEID</tt>
+        section:</p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
   PACKAGEID="Privoxy Team\Privoxy\Privoxy Package\X\Y\Z"
 </pre>
-              </td>
-            </tr>
-          </table>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            You're now ready to build. Run:
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+        <p>You're now ready to build. Run:</p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
   os2build
 </pre>
-              </td>
-            </tr>
-          </table>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            You will find the WarpIN-installable executable in the <tt class=
-            "FILENAME">./files</tt> directory. Upload this anonymously to <tt
-            class="FILENAME">uploads.sourceforge.net/incoming</tt>, create a
-            release for it, and you're done. Use the release notes and Change
-            Log from the source tarball package.
-          </p>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="NEWRELEASE-SOLARIS">6.3.5. Solaris</a>
-          </h3>
-          <p>
-            Login to Sourceforge's compilefarm via ssh:
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+        <p>You will find the WarpIN-installable executable in the <tt class=
+        "FILENAME">./files</tt> directory. Upload this anonymously to
+        <tt class="FILENAME">uploads.sourceforge.net/incoming</tt>, create a
+        release for it, and you're done. Use the release notes and Change Log
+        from the source tarball package.</p>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="NEWRELEASE-SOLARIS" id=
+        "NEWRELEASE-SOLARIS">6.3.5. Solaris</a></h3>
+
+        <p>Login to Sourceforge's compilefarm via ssh:</p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
   ssh cf.sourceforge.net
 </pre>
-              </td>
-            </tr>
-          </table>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            Choose the right operating system (not the Debian one). When
-            logged in, <span class="emphasis"><i class="EMPHASIS">make sure
-            that you have freshly exported the right version into an empty
-            directory</i></span>. (See "Building and releasing packages"
-            above). Then run:
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+        <p>Choose the right operating system (not the Debian one). When
+        logged in, <span class="emphasis EMPHASIS c2">make sure that you have
+        freshly exported the right version into an empty directory</span>.
+        (See "Building and releasing packages" above). Then run:</p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
   cd current
   autoheader &amp;&amp; autoconf &amp;&amp; ./configure
 </pre>
-              </td>
-            </tr>
-          </table>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            Then run
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+        <p>Then run</p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
   gmake solaris-dist
 </pre>
-              </td>
-            </tr>
-          </table>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            which creates a gzip'ed tar archive. Sadly, you cannot use <b
-            class="COMMAND">make solaris-upload</b> on the Sourceforge
-            machine (no ncftpput). You now have to manually upload the
-            archive to Sourceforge's ftp server and release the file
-            publicly. Use the release notes and Change Log from the source
-            tarball package.
-          </p>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="NEWRELEASE-WINDOWS">6.3.6. Windows</a>
-          </h3>
-          <p>
-            You should ensure you have the latest version of Cygwin (from <a
-            href="http://www.cygwin.com/" target=
-            "_top">http://www.cygwin.com/</a>). Run the following commands
-            from within a Cygwin bash shell.
-          </p>
-          <p>
-            First, <span class="emphasis"><i class="EMPHASIS">make sure that
-            you have freshly exported the right version into an empty
-            directory</i></span>. (See "Building and releasing packages"
-            above). Then get the Windows setup module:
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+        <p>which creates a gzip'ed tar archive. Sadly, you cannot use
+        <b class="COMMAND">make solaris-upload</b> on the Sourceforge machine
+        (no ncftpput). You now have to manually upload the archive to
+        Sourceforge's ftp server and release the file publicly. Use the
+        release notes and Change Log from the source tarball package.</p>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="NEWRELEASE-WINDOWS" id=
+        "NEWRELEASE-WINDOWS">6.3.6. Windows</a></h3>
+
+        <p>You should ensure you have the latest version of Cygwin (from
+        <a href="http://www.cygwin.com/" target=
+        "_top">http://www.cygwin.com/</a>). Run the following commands from
+        within a Cygwin bash shell.</p>
+
+        <p>First, <span class="emphasis EMPHASIS c2">make sure that you have
+        freshly exported the right version into an empty directory</span>.
+        (See "Building and releasing packages" above). Then get the Windows
+        setup module:</p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
   cvs -z3  -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co winsetup
 </pre>
-              </td>
-            </tr>
-          </table>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            Then you can build the package. This is fully automated, and is
-            controlled by <tt class="FILENAME">winsetup/GNUmakefile</tt>. All
-            you need to do is:
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+        <p>Then you can build the package. This is fully automated, and is
+        controlled by <tt class="FILENAME">winsetup/GNUmakefile</tt>. All you
+        need to do is:</p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
   cd winsetup
   make
 </pre>
-              </td>
-            </tr>
-          </table>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            Now you can manually rename <tt class=
-            "FILENAME">privoxy_setup.exe</tt> to <tt class=
-            "FILENAME">privoxy_setup_X_Y_Z.exe</tt>, and upload it to
-            SourceForge. When releasing the package on SourceForge, use the
-            release notes and Change Log from the source tarball package.
-          </p>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="NEWRELEASE-DEBIAN">6.3.7. Debian</a>
-          </h3>
-          <p>
-            First, <span class="emphasis"><i class="EMPHASIS">make sure that
-            you have freshly exported the right version into an empty
-            directory</i></span>. (See "Building and releasing packages"
-            above). Then add a log entry to <tt class=
-            "FILENAME">debian/changelog</tt>, if it is not already there, for
-            example by running:
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
-  debchange -v 3.0.18-UNRELEASED-1 "New upstream version"
+        <p>Now you can manually rename <tt class=
+        "FILENAME">privoxy_setup.exe</tt> to <tt class=
+        "FILENAME">privoxy_setup_X_Y_Z.exe</tt>, and upload it to
+        SourceForge. When releasing the package on SourceForge, use the
+        release notes and Change Log from the source tarball package.</p>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="NEWRELEASE-DEBIAN" id=
+        "NEWRELEASE-DEBIAN">6.3.7. Debian</a></h3>
+
+        <p>First, <span class="emphasis EMPHASIS c2">make sure that you have
+        freshly exported the right version into an empty directory</span>.
+        (See "Building and releasing packages" above). Then add a log entry
+        to <tt class="FILENAME">debian/changelog</tt>, if it is not already
+        there, for example by running:</p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
+  debchange -v 3.0.18-stable-1 "New upstream version"
 </pre>
-              </td>
-            </tr>
-          </table>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            Then, run:
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+        <p>Then, run:</p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
   dpkg-buildpackage -rfakeroot -us -uc -b
 </pre>
-              </td>
-            </tr>
-          </table>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            This will create <tt class=
-            "FILENAME">../privoxy_3.0.18-UNRELEASED-1_i386.deb</tt> which can
-            be uploaded. To upload the package to Sourceforge, simply issue
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+        <p>This will create <tt class=
+        "FILENAME">../privoxy_3.0.18-stable-1_i386.deb</tt> which can be
+        uploaded. To upload the package to Sourceforge, simply issue</p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
   make debian-upload
 </pre>
-              </td>
-            </tr>
-          </table>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="NEWRELEASE-MACOSX">6.3.8. Mac OS X</a>
-          </h3>
-          <p>
-            First, <span class="emphasis"><i class="EMPHASIS">make sure that
-            you have freshly exported the right version into an empty
-            directory</i></span>. (See "Building and releasing packages"
-            above). Then get the Mac OS X setup module:
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+            </td>
+          </tr>
+        </table>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="NEWRELEASE-MACOSX" id=
+        "NEWRELEASE-MACOSX">6.3.8. Mac OS X</a></h3>
+
+        <p>First, <span class="emphasis EMPHASIS c2">make sure that you have
+        freshly exported the right version into an empty directory</span>.
+        (See "Building and releasing packages" above). Then get the Mac OS X
+        setup module:</p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
   cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co osxsetup
 </pre>
-              </td>
-            </tr>
-          </table>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            Then run:
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+        <p>Then run:</p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
   cd osxsetup
   build
 </pre>
-              </td>
-            </tr>
-          </table>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            This will run <tt class="FILENAME">autoheader</tt>, <tt class=
-            "FILENAME">autoconf</tt> and <tt class="FILENAME">configure</tt>
-            as well as <tt class="FILENAME">make</tt>. Finally, it will copy
-            over the necessary files to the ./osxsetup/files directory for
-            further processing by <tt class="FILENAME">PackageMaker</tt>.
-          </p>
-          <p>
-            Bring up PackageMaker with the PrivoxyPackage.pmsp definition
-            file, modify the package name to match the release, and hit the
-            "Create package" button. If you specify ./Privoxy.pkg as the
-            output package name, you can then create the distributable zip
-            file with the command:
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+        <p>This will run <tt class="FILENAME">autoheader</tt>, <tt class=
+        "FILENAME">autoconf</tt> and <tt class="FILENAME">configure</tt> as
+        well as <tt class="FILENAME">make</tt>. Finally, it will copy over
+        the necessary files to the ./osxsetup/files directory for further
+        processing by <tt class="FILENAME">PackageMaker</tt>.</p>
+
+        <p>Bring up PackageMaker with the PrivoxyPackage.pmsp definition
+        file, modify the package name to match the release, and hit the
+        "Create package" button. If you specify ./Privoxy.pkg as the output
+        package name, you can then create the distributable zip file with the
+        command:</p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
   zip -r privoxyosx_setup_x.y.z.zip Privoxy.pkg
 </pre>
-              </td>
-            </tr>
-          </table>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            You can then upload <tt class=
-            "FILENAME">privoxyosx_setup_x.y.z.zip</tt> anonymously to <tt
-            class="FILENAME">uploads.sourceforge.net/incoming</tt>, create a
-            release for it, and you're done. Use the release notes and Change
-            Log from the source tarball package.
-          </p>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="NEWRELEASE-FREEBSD">6.3.9. FreeBSD</a>
-          </h3>
-          <p>
-            Login to Sourceforge's compile-farm via ssh:
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+        <p>You can then upload <tt class=
+        "FILENAME">privoxyosx_setup_x.y.z.zip</tt> anonymously to <tt class=
+        "FILENAME">uploads.sourceforge.net/incoming</tt>, create a release
+        for it, and you're done. Use the release notes and Change Log from
+        the source tarball package.</p>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="NEWRELEASE-FREEBSD" id=
+        "NEWRELEASE-FREEBSD">6.3.9. FreeBSD</a></h3>
+
+        <p>Login to Sourceforge's compile-farm via ssh:</p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
   ssh cf.sourceforge.net
 </pre>
-              </td>
-            </tr>
-          </table>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            Choose the right operating system. When logged in, <span class=
-            "emphasis"><i class="EMPHASIS">make sure that you have freshly
-            exported the right version into an empty directory</i></span>.
-            (See "Building and releasing packages" above). Then run:
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+        <p>Choose the right operating system. When logged in, <span class=
+        "emphasis EMPHASIS c2">make sure that you have freshly exported the
+        right version into an empty directory</span>. (See "Building and
+        releasing packages" above). Then run:</p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
   cd current
   autoheader &amp;&amp; autoconf &amp;&amp; ./configure
 </pre>
-              </td>
-            </tr>
-          </table>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            Then run:
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+        <p>Then run:</p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
   gmake freebsd-dist
 </pre>
-              </td>
-            </tr>
-          </table>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            which creates a gzip'ed tar archive. Sadly, you cannot use <b
-            class="COMMAND">make freebsd-upload</b> on the Sourceforge
-            machine (no ncftpput). You now have to manually upload the
-            archive to Sourceforge's ftp server and release the file
-            publicly. Use the release notes and Change Log from the source
-            tarball package.
-          </p>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="NEWRELEASE-HPUX">6.3.10. HP-UX 11</a>
-          </h3>
-          <p>
-            First, <span class="emphasis"><i class="EMPHASIS">make sure that
-            you have freshly exported the right version into an empty
-            directory</i></span>. (See "Building and releasing packages"
-            above). Then run:
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+        <p>which creates a gzip'ed tar archive. Sadly, you cannot use
+        <b class="COMMAND">make freebsd-upload</b> on the Sourceforge machine
+        (no ncftpput). You now have to manually upload the archive to
+        Sourceforge's ftp server and release the file publicly. Use the
+        release notes and Change Log from the source tarball package.</p>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="NEWRELEASE-HPUX" id=
+        "NEWRELEASE-HPUX">6.3.10. HP-UX 11</a></h3>
+
+        <p>First, <span class="emphasis EMPHASIS c2">make sure that you have
+        freshly exported the right version into an empty directory</span>.
+        (See "Building and releasing packages" above). Then run:</p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
   cd current
   autoheader &amp;&amp; autoconf &amp;&amp; ./configure
 </pre>
-              </td>
-            </tr>
-          </table>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            Then do FIXME.
-          </p>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="NEWRELEASE-AMIGA">6.3.11. Amiga OS</a>
-          </h3>
-          <p>
-            First, <span class="emphasis"><i class="EMPHASIS">make sure that
-            you have freshly exported the right version into an empty
-            directory</i></span>. (See "Building and releasing packages"
-            above). Then run:
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+        <p>Then do FIXME.</p>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="NEWRELEASE-AMIGA" id=
+        "NEWRELEASE-AMIGA">6.3.11. Amiga OS</a></h3>
+
+        <p>First, <span class="emphasis EMPHASIS c2">make sure that you have
+        freshly exported the right version into an empty directory</span>.
+        (See "Building and releasing packages" above). Then run:</p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
   cd current
   autoheader &amp;&amp; autoconf &amp;&amp; ./configure
 </pre>
-              </td>
-            </tr>
-          </table>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            Then do FIXME.
-          </p>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="NEWRELEASE-AIX">6.3.12. AIX</a>
-          </h3>
-          <p>
-            Login to Sourceforge's compilefarm via ssh:
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+        <p>Then do FIXME.</p>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="NEWRELEASE-AIX" id=
+        "NEWRELEASE-AIX">6.3.12. AIX</a></h3>
+
+        <p>Login to Sourceforge's compilefarm via ssh:</p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
   ssh cf.sourceforge.net
 </pre>
-              </td>
-            </tr>
-          </table>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            Choose the right operating system. When logged in, <span class=
-            "emphasis"><i class="EMPHASIS">make sure that you have freshly
-            exported the right version into an empty directory</i></span>.
-            (See "Building and releasing packages" above). Then run:
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+        <p>Choose the right operating system. When logged in, <span class=
+        "emphasis EMPHASIS c2">make sure that you have freshly exported the
+        right version into an empty directory</span>. (See "Building and
+        releasing packages" above). Then run:</p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
   cd current
   autoheader &amp;&amp; autoconf &amp;&amp; ./configure
 </pre>
-              </td>
-            </tr>
-          </table>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            Then run:
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="PROGRAMLISTING">
+        <p>Then run:</p>
+
+        <table class="c3" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">
   make aix-dist
 </pre>
-              </td>
-            </tr>
-          </table>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            which creates a gzip'ed tar archive. Sadly, you cannot use <b
-            class="COMMAND">make aix-upload</b> on the Sourceforge machine
-            (no ncftpput). You now have to manually upload the archive to
-            Sourceforge's ftp server and release the file publicly. Use the
-            release notes and Change Log from the source tarball package.
-          </p>
-        </div>
+        <p>which creates a gzip'ed tar archive. Sadly, you cannot use
+        <b class="COMMAND">make aix-upload</b> on the Sourceforge machine (no
+        ncftpput). You now have to manually upload the archive to
+        Sourceforge's ftp server and release the file publicly. Use the
+        release notes and Change Log from the source tarball package.</p>
       </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="RELEASING">6.4. Uploading and Releasing Your Package</a>
-        </h2>
-        <p>
-          After the package is ready, it is time to upload it to SourceForge,
-          and go through the release steps. The upload is done via FTP:
-        </p>
-        <p>
-        </p>
-        <ul>
-          <li>
-            <p>
-              Upload to: <a href="ftp://upload.sourceforge.net/incoming"
-              target="_top">ftp://upload.sourceforge.net/incoming</a>
-            </p>
-          </li>
-          <li>
-            <p>
-              user: <tt class="LITERAL">anonymous</tt>
-            </p>
-          </li>
-          <li>
-            <p>
-              password: <tt class=
-              "LITERAL">ijbswa-developers@lists.sourceforge.net</tt>
-            </p>
-          </li>
-        </ul>
+    </div>
 
-        <p>
-          Or use the <b class="COMMAND">make</b> targets as described above.
-        </p>
-        <p>
-          Once this done go to <a href=
-          "https://sourceforge.net/project/admin/editpackages.php?group_id=11118"
-           target=
-          "_top">https://sourceforge.net/project/admin/editpackages.php?group_id=11118</a>,
-          making sure you are logged in. Find your target platform in the
-          second column, and click <tt class="LITERAL">Add Release</tt>. You
-          will then need to create a new release for your package, using the
-          format of <tt class="LITERAL">$VERSION ($CODE_STATUS)</tt>, e.g.
-          <span class="emphasis"><i class="EMPHASIS">3.0.18
-          (beta)</i></span>.
-        </p>
-        <p>
-          Now just follow the prompts. Be sure to add any appropriate Release
-          notes. You should see your freshly uploaded packages in <span
-          class="QUOTE">"Step 2. Add Files To This Release"</span>. Check the
-          appropriate box(es). Remember at each step to hit the <span class=
-          "QUOTE">"Refresh/Submit"</span> buttons! You should now see your
-          file(s) listed in Step 3. Fill out the forms with the appropriate
-          information for your platform, being sure to hit <span class=
-          "QUOTE">"Update"</span> for each file. If anyone is monitoring your
-          platform, check the <span class="QUOTE">"email"</span> box at the
-          very bottom to notify them of the new package. This should do it!
-        </p>
-        <p>
-          If you have made errors, or need to make changes, you can go
-          through essentially the same steps, but select <tt class=
-          "LITERAL">Edit Release</tt>, instead of <tt class="LITERAL">Add
-          Release</tt>.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="AFTERRELEASE">6.5. After the Release</a>
-        </h2>
-        <p>
-          When all (or: most of the) packages have been uploaded and made
-          available, send an email to the <a href=
-          "mailto:ijbswa-announce@lists.sourceforge.net" target=
-          "_top">announce mailing list</a>, Subject: "Version X.Y.Z available
-          for download". Be sure to include the <a href=
-          "http://sourceforge.net/project/showfiles.php?group_id=11118"
-          target="_top">download location</a>, the release notes and the
-          Changelog. Also, post an updated News item on the project page
-          Sourceforge, and update the Home page and docs linked from the Home
-          page (see below). Other news sites and release oriented sites, such
-          as Freshmeat, should also be notified.
-        </p>
-      </div>
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="RELEASING" id="RELEASING">6.4. Uploading and
+      Releasing Your Package</a></h2>
+
+      <p>After the package is ready, it is time to upload it to SourceForge,
+      and go through the release steps. The upload is done via FTP:</p>
+
+      <ul>
+        <li>
+          <p>Upload to: <a href="ftp://upload.sourceforge.net/incoming"
+          target="_top">ftp://upload.sourceforge.net/incoming</a></p>
+        </li>
+
+        <li>
+          <p>user: <tt class="LITERAL">anonymous</tt></p>
+        </li>
+
+        <li>
+          <p>password: <tt class=
+          "LITERAL">ijbswa-developers@lists.sourceforge.net</tt></p>
+        </li>
+      </ul>
+
+      <p>Or use the <b class="COMMAND">make</b> targets as described
+      above.</p>
+
+      <p>Once this done go to <a href=
+      "https://sourceforge.net/project/admin/editpackages.php?group_id=11118"
+      target=
+      "_top">https://sourceforge.net/project/admin/editpackages.php?group_id=11118</a>,
+      making sure you are logged in. Find your target platform in the second
+      column, and click <tt class="LITERAL">Add Release</tt>. You will then
+      need to create a new release for your package, using the format of
+      <tt class="LITERAL">$VERSION ($CODE_STATUS)</tt>, e.g. <span class=
+      "emphasis EMPHASIS c2">3.0.18 (beta)</span>.</p>
+
+      <p>Now just follow the prompts. Be sure to add any appropriate Release
+      notes. You should see your freshly uploaded packages in <span class=
+      "QUOTE">"Step 2. Add Files To This Release"</span>. Check the
+      appropriate box(es). Remember at each step to hit the <span class=
+      "QUOTE">"Refresh/Submit"</span> buttons! You should now see your
+      file(s) listed in Step 3. Fill out the forms with the appropriate
+      information for your platform, being sure to hit <span class=
+      "QUOTE">"Update"</span> for each file. If anyone is monitoring your
+      platform, check the <span class="QUOTE">"email"</span> box at the very
+      bottom to notify them of the new package. This should do it!</p>
+
+      <p>If you have made errors, or need to make changes, you can go through
+      essentially the same steps, but select <tt class="LITERAL">Edit
+      Release</tt>, instead of <tt class="LITERAL">Add Release</tt>.</p>
     </div>
-    <div class="NAVFOOTER">
-      <hr width="100%" class="c1">
-      <table summary="Footer navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <td width="33%" align="left" valign="top">
-            <a href="testing.html" accesskey="P">Prev</a>
-          </td>
-          <td width="34%" align="center" valign="top">
-            <a href="index.html" accesskey="H">Home</a>
-          </td>
-          <td width="33%" align="right" valign="top">
-            <a href="webserver-update.html" accesskey="N">Next</a>
-          </td>
-        </tr>
-        <tr>
-          <td width="33%" align="left" valign="top">
-            Testing Guidelines
-          </td>
-          <td width="34%" align="center" valign="top">
-            &nbsp;
-          </td>
-          <td width="33%" align="right" valign="top">
-            Update the Webserver
-          </td>
-        </tr>
-      </table>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="AFTERRELEASE" id="AFTERRELEASE">6.5. After
+      the Release</a></h2>
+
+      <p>When all (or: most of the) packages have been uploaded and made
+      available, send an email to the <a href=
+      "mailto:ijbswa-announce@lists.sourceforge.net" target="_top">announce
+      mailing list</a>, Subject: "Version X.Y.Z available for download". Be
+      sure to include the <a href=
+      "http://sourceforge.net/project/showfiles.php?group_id=11118" target=
+      "_top">download location</a>, the release notes and the Changelog.
+      Also, post an updated News item on the project page Sourceforge, and
+      update the Home page and docs linked from the Home page (see below).
+      Other news sites and release oriented sites, such as Freshmeat, should
+      also be notified.</p>
     </div>
-  </body>
-</html>
+  </div>
 
+  <div class="NAVFOOTER">
+    <hr class="c1" width="100%">
+
+    <table summary="Footer navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <td width="33%" align="left" valign="top"><a href="testing.html"
+        accesskey="P">Prev</a></td>
+
+        <td width="34%" align="center" valign="top"><a href="index.html"
+        accesskey="H">Home</a></td>
+
+        <td width="33%" align="right" valign="top"><a href=
+        "webserver-update.html" accesskey="N">Next</a></td>
+      </tr>
+
+      <tr>
+        <td width="33%" align="left" valign="top">Testing Guidelines</td>
+
+        <td width="34%" align="center" valign="top">&nbsp;</td>
+
+        <td width="33%" align="right" valign="top">Update the Webserver</td>
+      </tr>
+    </table>
+  </div>
+</body>
+</html>
index 3aba19e..ee706f5 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
-Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+
 <html>
-  <head>
-    <meta name="generator" content="HTML Tidy, see www.w3.org">
-    <title>
-      See also
-    </title>
-    <meta name="GENERATOR" content=
-    "Modular DocBook HTML Stylesheet Version 1.79">
-    <link rel="HOME" title="Privoxy Developer Manual" href="index.html">
-    <link rel="PREVIOUS" title="Privoxy Copyright, License and History" href=
-    "copyright.html">
-    <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
-    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<style type="text/css">
- body {
+<head>
+  <meta name="generator" content=
+  "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
+
+  <title>See also</title>
+  <meta name="GENERATOR" content=
+  "Modular DocBook HTML Stylesheet Version 1.79">
+  <link rel="HOME" title="Privoxy Developer Manual" href="index.html">
+  <link rel="PREVIOUS" title="Privoxy Copyright, License and History" href=
+  "copyright.html">
+  <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
+  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+  <style type="text/css">
+body {
   background-color: #EEEEEE;
   color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- hr.c1 {text-align: left}
-</style>
-  </head>
-  <body class="SECT1">
-    <div class="NAVHEADER">
-      <table summary="Header navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
+  }
+  :link { color: #0000FF }
+  :visited { color: #840084 }
+  :active { color: #0000FF }
+  hr.c1 {text-align: left}
+  </style>
+</head>
+
+<body class="SECT1">
+  <div class="NAVHEADER">
+    <table summary="Header navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <th colspan="3" align="center">Privoxy Developer Manual</th>
+      </tr>
+
+      <tr>
+        <td width="10%" align="left" valign="bottom"><a href="copyright.html"
+        accesskey="P">Prev</a></td>
+
+        <td width="80%" align="center" valign="bottom"></td>
+
+        <td width="10%" align="right" valign="bottom">&nbsp;</td>
+      </tr>
+    </table>
+    <hr class="c1" width="100%">
+  </div>
+
+  <div class="SECT1">
+    <h1 class="SECT1"><a name="SEEALSO" id="SEEALSO">10. See also</a></h1>
+
+    <p>Other references and sites of interest to <span class=
+    "APPLICATION">Privoxy</span> users:</p>
+
+    <table border="0">
+      <tbody>
         <tr>
-          <th colspan="3" align="center">
-            Privoxy Developer Manual
-          </th>
+          <td><a href="http://www.privoxy.org/" target=
+          "_top">http://www.privoxy.org/</a>, the <span class=
+          "APPLICATION">Privoxy</span> Home page.</td>
         </tr>
+      </tbody>
+    </table>
+
+    <table border="0">
+      <tbody>
         <tr>
-          <td width="10%" align="left" valign="bottom">
-            <a href="copyright.html" accesskey="P">Prev</a>
-          </td>
-          <td width="80%" align="center" valign="bottom">
-          </td>
-          <td width="10%" align="right" valign="bottom">
-            &nbsp;
-          </td>
+          <td><a href="http://www.privoxy.org/faq/" target=
+          "_top">http://www.privoxy.org/faq/</a>, the <span class=
+          "APPLICATION">Privoxy</span> FAQ.</td>
         </tr>
-      </table>
-      <hr width="100%" class="c1">
-    </div>
-    <div class="SECT1">
-      <h1 class="SECT1">
-        <a name="SEEALSO">10. See also</a>
-      </h1>
-      <p>
-        Other references and sites of interest to <span class=
-        "APPLICATION">Privoxy</span> users:
-      </p>
-      <p>
-      </p>
-      <table border="0">
-        <tbody>
-          <tr>
-            <td>
-              <a href="http://www.privoxy.org/" target=
-              "_top">http://www.privoxy.org/</a>, the <span class=
-              "APPLICATION">Privoxy</span> Home page.
-            </td>
-          </tr>
-        </tbody>
-      </table>
-      <table border="0">
-        <tbody>
-          <tr>
-            <td>
-              <a href="http://www.privoxy.org/faq/" target=
-              "_top">http://www.privoxy.org/faq/</a>, the <span class=
-              "APPLICATION">Privoxy</span> FAQ.
-            </td>
-          </tr>
-        </tbody>
-      </table>
-      <table border="0">
-        <tbody>
-          <tr>
-            <td>
-              <a href="http://www.privoxy.org/developer-manual/" target=
-              "_top">http://www.privoxy.org/developer-manual/</a>, the <span
-              class="APPLICATION">Privoxy</span> developer manual.
-            </td>
-          </tr>
-        </tbody>
-      </table>
-      <table border="0">
-        <tbody>
-          <tr>
-            <td>
-              <a href="https://sourceforge.net/projects/ijbswa/" target=
-              "_top">https://sourceforge.net/projects/ijbswa/</a>, the
-              Project Page for <span class="APPLICATION">Privoxy</span> on <a
-              href="http://sourceforge.net" target="_top">SourceForge</a>.
-            </td>
-          </tr>
-        </tbody>
-      </table>
-      <table border="0">
-        <tbody>
-          <tr>
-            <td>
-              <a href="http://config.privoxy.org/" target=
-              "_top">http://config.privoxy.org/</a>, the web-based user
-              interface. <span class="APPLICATION">Privoxy</span> must be
-              running for this to work. Shortcut: <a href="http://p.p/"
-              target="_top">http://p.p/</a>
-            </td>
-          </tr>
-        </tbody>
-      </table>
-      <table border="0">
-        <tbody>
-          <tr>
-            <td>
-              <a href=
-              "https://sourceforge.net/tracker/?group_id=11118&amp;atid=460288"
-               target=
-              "_top">https://sourceforge.net/tracker/?group_id=11118&amp;atid=460288</a>,
-              to submit <span class="QUOTE">"misses"</span> and other
-              configuration related suggestions to the developers.
-            </td>
-          </tr>
-        </tbody>
-      </table>
-      <table border="0">
-        <tbody>
-          <tr>
-            <td>
-              <a href="http://www.junkbusters.com/ht/en/cookies.html" target=
-              "_top">http://www.junkbusters.com/ht/en/cookies.html</a>, an
-              explanation how cookies are used to track web users.
-            </td>
-          </tr>
-        </tbody>
-      </table>
-      <table border="0">
-        <tbody>
-          <tr>
-            <td>
-              <a href="http://www.junkbusters.com/ijb.html" target=
-              "_top">http://www.junkbusters.com/ijb.html</a>, the original
-              Internet Junkbuster.
-            </td>
-          </tr>
-        </tbody>
-      </table>
-      <table border="0">
-        <tbody>
-          <tr>
-            <td>
-              <a href="http://www.squid-cache.org/" target=
-              "_top">http://www.squid-cache.org/</a>, a popular caching
-              proxy, which is often used together with <span class=
-              "APPLICATION">Privoxy</span>.
-            </td>
-          </tr>
-        </tbody>
-      </table>
-      <table border="0">
-        <tbody>
-          <tr>
-            <td>
-              <a href="http://www.pps.jussieu.fr/~jch/software/polipo/"
-              target=
-              "_top">http://www.pps.jussieu.fr/~jch/software/polipo/</a>,
-              <span class="APPLICATION">Polipo</span> is a caching proxy with
-              advanced features like pipelining, multiplexing and caching of
-              partial instances. In many setups it can be used as <span
-              class="APPLICATION">Squid</span> replacement.
-            </td>
-          </tr>
-        </tbody>
-      </table>
-      <table border="0">
-        <tbody>
-          <tr>
-            <td>
-              <a href="https://www.torproject.org/" target=
-              "_top">https://www.torproject.org/</a>, <span class=
-              "APPLICATION">Tor</span> can help anonymize web browsing, web
-              publishing, instant messaging, IRC, SSH, and other
-              applications.
-            </td>
-          </tr>
-        </tbody>
-      </table>
-    </div>
-    <div class="NAVFOOTER">
-      <hr width="100%" class="c1">
-      <table summary="Footer navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
+      </tbody>
+    </table>
+
+    <table border="0">
+      <tbody>
         <tr>
-          <td width="33%" align="left" valign="top">
-            <a href="copyright.html" accesskey="P">Prev</a>
-          </td>
-          <td width="34%" align="center" valign="top">
-            <a href="index.html" accesskey="H">Home</a>
-          </td>
-          <td width="33%" align="right" valign="top">
-            &nbsp;
-          </td>
+          <td><a href="http://www.privoxy.org/developer-manual/" target=
+          "_top">http://www.privoxy.org/developer-manual/</a>, the
+          <span class="APPLICATION">Privoxy</span> developer manual.</td>
         </tr>
+      </tbody>
+    </table>
+
+    <table border="0">
+      <tbody>
         <tr>
-          <td width="33%" align="left" valign="top">
-            Privoxy Copyright, License and History
-          </td>
-          <td width="34%" align="center" valign="top">
-            &nbsp;
-          </td>
-          <td width="33%" align="right" valign="top">
-            &nbsp;
-          </td>
+          <td><a href="https://sourceforge.net/projects/ijbswa/" target=
+          "_top">https://sourceforge.net/projects/ijbswa/</a>, the Project
+          Page for <span class="APPLICATION">Privoxy</span> on <a href=
+          "http://sourceforge.net" target="_top">SourceForge</a>.</td>
         </tr>
-      </table>
-    </div>
-  </body>
-</html>
+      </tbody>
+    </table>
+
+    <table border="0">
+      <tbody>
+        <tr>
+          <td><a href="http://config.privoxy.org/" target=
+          "_top">http://config.privoxy.org/</a>, the web-based user
+          interface. <span class="APPLICATION">Privoxy</span> must be running
+          for this to work. Shortcut: <a href="http://p.p/" target=
+          "_top">http://p.p/</a></td>
+        </tr>
+      </tbody>
+    </table>
 
+    <table border="0">
+      <tbody>
+        <tr>
+          <td><a href=
+          "https://sourceforge.net/tracker/?group_id=11118&amp;atid=460288"
+          target=
+          "_top">https://sourceforge.net/tracker/?group_id=11118&amp;atid=460288</a>,
+          to submit <span class="QUOTE">"misses"</span> and other
+          configuration related suggestions to the developers.</td>
+        </tr>
+      </tbody>
+    </table>
+
+    <table border="0">
+      <tbody>
+        <tr>
+          <td><a href="http://www.junkbusters.com/ht/en/cookies.html" target=
+          "_top">http://www.junkbusters.com/ht/en/cookies.html</a>, an
+          explanation how cookies are used to track web users.</td>
+        </tr>
+      </tbody>
+    </table>
+
+    <table border="0">
+      <tbody>
+        <tr>
+          <td><a href="http://www.junkbusters.com/ijb.html" target=
+          "_top">http://www.junkbusters.com/ijb.html</a>, the original
+          Internet Junkbuster.</td>
+        </tr>
+      </tbody>
+    </table>
+
+    <table border="0">
+      <tbody>
+        <tr>
+          <td><a href="http://www.squid-cache.org/" target=
+          "_top">http://www.squid-cache.org/</a>, a popular caching proxy,
+          which is often used together with <span class=
+          "APPLICATION">Privoxy</span>.</td>
+        </tr>
+      </tbody>
+    </table>
+
+    <table border="0">
+      <tbody>
+        <tr>
+          <td><a href="http://www.pps.jussieu.fr/~jch/software/polipo/"
+          target="_top">http://www.pps.jussieu.fr/~jch/software/polipo/</a>,
+          <span class="APPLICATION">Polipo</span> is a caching proxy with
+          advanced features like pipelining, multiplexing and caching of
+          partial instances. In many setups it can be used as <span class=
+          "APPLICATION">Squid</span> replacement.</td>
+        </tr>
+      </tbody>
+    </table>
+
+    <table border="0">
+      <tbody>
+        <tr>
+          <td><a href="https://www.torproject.org/" target=
+          "_top">https://www.torproject.org/</a>, <span class=
+          "APPLICATION">Tor</span> can help anonymize web browsing, web
+          publishing, instant messaging, IRC, SSH, and other
+          applications.</td>
+        </tr>
+      </tbody>
+    </table>
+  </div>
+
+  <div class="NAVFOOTER">
+    <hr class="c1" width="100%">
+
+    <table summary="Footer navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <td width="33%" align="left" valign="top"><a href="copyright.html"
+        accesskey="P">Prev</a></td>
+
+        <td width="34%" align="center" valign="top"><a href="index.html"
+        accesskey="H">Home</a></td>
+
+        <td width="33%" align="right" valign="top">&nbsp;</td>
+      </tr>
+
+      <tr>
+        <td width="33%" align="left" valign="top">Privoxy Copyright, License
+        and History</td>
+
+        <td width="34%" align="center" valign="top">&nbsp;</td>
+
+        <td width="33%" align="right" valign="top">&nbsp;</td>
+      </tr>
+    </table>
+  </div>
+</body>
+</html>
index bb60745..9f8abf6 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
-Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+
 <html>
-  <head>
-    <meta name="generator" content="HTML Tidy, see www.w3.org">
-    <title>
-      Testing Guidelines
-    </title>
-    <meta name="GENERATOR" content=
-    "Modular DocBook HTML Stylesheet Version 1.79">
-    <link rel="HOME" title="Privoxy Developer Manual" href="index.html">
-    <link rel="PREVIOUS" title="Coding Guidelines" href="coding.html">
-    <link rel="NEXT" title="Releasing a New Version" href="newrelease.html">
-    <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
-    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<style type="text/css">
- body {
+<head>
+  <meta name="generator" content=
+  "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
+
+  <title>Testing Guidelines</title>
+  <meta name="GENERATOR" content=
+  "Modular DocBook HTML Stylesheet Version 1.79">
+  <link rel="HOME" title="Privoxy Developer Manual" href="index.html">
+  <link rel="PREVIOUS" title="Coding Guidelines" href="coding.html">
+  <link rel="NEXT" title="Releasing a New Version" href="newrelease.html">
+  <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
+  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+  <style type="text/css">
+body {
   background-color: #EEEEEE;
   color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- hr.c1 {text-align: left}
-</style>
-  </head>
-  <body class="SECT1">
-    <div class="NAVHEADER">
-      <table summary="Header navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <th colspan="3" align="center">
-            Privoxy Developer Manual
-          </th>
-        </tr>
-        <tr>
-          <td width="10%" align="left" valign="bottom">
-            <a href="coding.html" accesskey="P">Prev</a>
-          </td>
-          <td width="80%" align="center" valign="bottom">
-          </td>
-          <td width="10%" align="right" valign="bottom">
-            <a href="newrelease.html" accesskey="N">Next</a>
-          </td>
-        </tr>
-      </table>
-      <hr width="100%" class="c1">
-    </div>
-    <div class="SECT1">
-      <h1 class="SECT1">
-        <a name="TESTING">5. Testing Guidelines</a>
-      </h1>
-      <p>
-        To be filled.
-      </p>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="TESTING-PLAN">5.1. Testplan for releases</a>
-        </h2>
-        <p>
-          Explain release numbers. major, minor. developer releases. etc.
-        </p>
-        <ol type="1">
-          <li>
-            <p>
-              Remove any existing rpm with rpm -e
-            </p>
-          </li>
-          <li>
-            <p>
-              Remove any file that was left over. This includes (but is not
-              limited to)
-            </p>
-            <ul>
-              <li>
-                <p>
-                  /var/log/privoxy
-                </p>
-              </li>
-              <li>
-                <p>
-                  /etc/privoxy
-                </p>
-              </li>
-              <li>
-                <p>
-                  /usr/sbin/privoxy
-                </p>
-              </li>
-              <li>
-                <p>
-                  /etc/init.d/privoxy
-                </p>
-              </li>
-              <li>
-                <p>
-                  /usr/doc/privoxy*
-                </p>
-              </li>
-            </ul>
-          </li>
-          <li>
-            <p>
-              Install the rpm. Any error messages?
-            </p>
-          </li>
-          <li>
-            <p>
-              start,stop,status <span class="APPLICATION">Privoxy</span> with
-              the specific script (e.g. /etc/rc.d/init/privoxy stop). Reboot
-              your machine. Does autostart work?
-            </p>
-          </li>
-          <li>
-            <p>
-              Start browsing. Does <span class="APPLICATION">Privoxy</span>
-              work? Logfile written?
-            </p>
-          </li>
-          <li>
-            <p>
-              Remove the rpm. Any error messages? All files removed?
-            </p>
-          </li>
-        </ol>
-      </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="TESTING-REPORT">5.2. Test reports</a>
-        </h2>
-        <p>
-          Please submit test reports only with the <a href=
-          "http://sourceforge.net/tracker/?func=add&amp;group_id=11118&amp;atid=395005"
-           target="_top">test form</a> at sourceforge. Three simple steps:
-        </p>
-        <ul>
-          <li>
-            <p>
-              Select category: the distribution you test on.
-            </p>
-          </li>
-          <li>
-            <p>
-              Select group: the version of <span class=
-              "APPLICATION">Privoxy</span> that we are about to release.
-            </p>
-          </li>
-          <li>
-            <p>
-              Fill the Summary and Detailed Description with something
-              intelligent (keep it short and precise).
-            </p>
-          </li>
-        </ul>
-        Do not mail to the mailing list (we cannot keep track on issues
-        there).<br>
-      </div>
+  }
+  :link { color: #0000FF }
+  :visited { color: #840084 }
+  :active { color: #0000FF }
+  hr.c1 {text-align: left}
+  </style>
+</head>
+
+<body class="SECT1">
+  <div class="NAVHEADER">
+    <table summary="Header navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <th colspan="3" align="center">Privoxy Developer Manual</th>
+      </tr>
+
+      <tr>
+        <td width="10%" align="left" valign="bottom"><a href="coding.html"
+        accesskey="P">Prev</a></td>
+
+        <td width="80%" align="center" valign="bottom"></td>
+
+        <td width="10%" align="right" valign="bottom"><a href=
+        "newrelease.html" accesskey="N">Next</a></td>
+      </tr>
+    </table>
+    <hr class="c1" width="100%">
+  </div>
+
+  <div class="SECT1">
+    <h1 class="SECT1"><a name="TESTING" id="TESTING">5. Testing
+    Guidelines</a></h1>
+
+    <p>To be filled.</p>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="TESTING-PLAN" id="TESTING-PLAN">5.1.
+      Testplan for releases</a></h2>
+
+      <p>Explain release numbers. major, minor. developer releases. etc.</p>
+
+      <ol type="1">
+        <li>
+          <p>Remove any existing rpm with rpm -e</p>
+        </li>
+
+        <li>
+          <p>Remove any file that was left over. This includes (but is not
+          limited to)</p>
+
+          <ul>
+            <li>
+              <p>/var/log/privoxy</p>
+            </li>
+
+            <li>
+              <p>/etc/privoxy</p>
+            </li>
+
+            <li>
+              <p>/usr/sbin/privoxy</p>
+            </li>
+
+            <li>
+              <p>/etc/init.d/privoxy</p>
+            </li>
+
+            <li>
+              <p>/usr/doc/privoxy*</p>
+            </li>
+          </ul>
+        </li>
+
+        <li>
+          <p>Install the rpm. Any error messages?</p>
+        </li>
+
+        <li>
+          <p>start,stop,status <span class="APPLICATION">Privoxy</span> with
+          the specific script (e.g. /etc/rc.d/init/privoxy stop). Reboot your
+          machine. Does autostart work?</p>
+        </li>
+
+        <li>
+          <p>Start browsing. Does <span class="APPLICATION">Privoxy</span>
+          work? Logfile written?</p>
+        </li>
+
+        <li>
+          <p>Remove the rpm. Any error messages? All files removed?</p>
+        </li>
+      </ol>
     </div>
-    <div class="NAVFOOTER">
-      <hr width="100%" class="c1">
-      <table summary="Footer navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <td width="33%" align="left" valign="top">
-            <a href="coding.html" accesskey="P">Prev</a>
-          </td>
-          <td width="34%" align="center" valign="top">
-            <a href="index.html" accesskey="H">Home</a>
-          </td>
-          <td width="33%" align="right" valign="top">
-            <a href="newrelease.html" accesskey="N">Next</a>
-          </td>
-        </tr>
-        <tr>
-          <td width="33%" align="left" valign="top">
-            Coding Guidelines
-          </td>
-          <td width="34%" align="center" valign="top">
-            &nbsp;
-          </td>
-          <td width="33%" align="right" valign="top">
-            Releasing a New Version
-          </td>
-        </tr>
-      </table>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="TESTING-REPORT" id="TESTING-REPORT">5.2.
+      Test reports</a></h2>
+
+      <p>Please submit test reports only with the <a href=
+      "http://sourceforge.net/tracker/?func=add&amp;group_id=11118&amp;atid=395005"
+      target="_top">test form</a> at sourceforge. Three simple steps:</p>
+
+      <ul>
+        <li>
+          <p>Select category: the distribution you test on.</p>
+        </li>
+
+        <li>
+          <p>Select group: the version of <span class=
+          "APPLICATION">Privoxy</span> that we are about to release.</p>
+        </li>
+
+        <li>
+          <p>Fill the Summary and Detailed Description with something
+          intelligent (keep it short and precise).</p>
+        </li>
+      </ul>Do not mail to the mailing list (we cannot keep track on issues
+      there).
     </div>
-  </body>
-</html>
+  </div>
+
+  <div class="NAVFOOTER">
+    <hr class="c1" width="100%">
+
+    <table summary="Footer navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <td width="33%" align="left" valign="top"><a href="coding.html"
+        accesskey="P">Prev</a></td>
+
+        <td width="34%" align="center" valign="top"><a href="index.html"
+        accesskey="H">Home</a></td>
 
+        <td width="33%" align="right" valign="top"><a href="newrelease.html"
+        accesskey="N">Next</a></td>
+      </tr>
+
+      <tr>
+        <td width="33%" align="left" valign="top">Coding Guidelines</td>
+
+        <td width="34%" align="center" valign="top">&nbsp;</td>
+
+        <td width="33%" align="right" valign="top">Releasing a New
+        Version</td>
+      </tr>
+    </table>
+  </div>
+</body>
+</html>
index 50985b8..76b6690 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
-Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+
 <html>
-  <head>
-    <meta name="generator" content="HTML Tidy, see www.w3.org">
-    <title>
-      Update the Webserver
-    </title>
-    <meta name="GENERATOR" content=
-    "Modular DocBook HTML Stylesheet Version 1.79">
-    <link rel="HOME" title="Privoxy Developer Manual" href="index.html">
-    <link rel="PREVIOUS" title="Releasing a New Version" href=
-    "newrelease.html">
-    <link rel="NEXT" title=
-    "Contacting the developers, Bug Reporting and Feature Requests" href=
-    "contact.html">
-    <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
-    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<style type="text/css">
- body {
+<head>
+  <meta name="generator" content=
+  "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
+
+  <title>Update the Webserver</title>
+  <meta name="GENERATOR" content=
+  "Modular DocBook HTML Stylesheet Version 1.79">
+  <link rel="HOME" title="Privoxy Developer Manual" href="index.html">
+  <link rel="PREVIOUS" title="Releasing a New Version" href=
+  "newrelease.html">
+  <link rel="NEXT" title=
+  "Contacting the developers, Bug Reporting and Feature Requests" href=
+  "contact.html">
+  <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
+  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+  <style type="text/css">
+body {
   background-color: #EEEEEE;
   color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- hr.c1 {text-align: left}
-</style>
-  </head>
-  <body class="SECT1">
-    <div class="NAVHEADER">
-      <table summary="Header navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <th colspan="3" align="center">
-            Privoxy Developer Manual
-          </th>
-        </tr>
-        <tr>
-          <td width="10%" align="left" valign="bottom">
-            <a href="newrelease.html" accesskey="P">Prev</a>
-          </td>
-          <td width="80%" align="center" valign="bottom">
-          </td>
-          <td width="10%" align="right" valign="bottom">
-            <a href="contact.html" accesskey="N">Next</a>
-          </td>
-        </tr>
-      </table>
-      <hr width="100%" class="c1">
-    </div>
-    <div class="SECT1">
-      <h1 class="SECT1">
-        <a name="WEBSERVER-UPDATE">7. Update the Webserver</a>
-      </h1>
-      <p>
-        The webserver should be updated at least with each stable release.
-        When updating, please follow these steps to make sure that no broken
-        links, inconsistent contents or permission problems will occur (as it
-        has many times in the past!):
-      </p>
-      <p>
-        If you have changed anything in the stable-branch documentation
-        source SGML files, do:
-      </p>
-      <p>
-      </p>
-      <table border="0" bgcolor="#E0E0E0" width="100%">
-        <tr>
-          <td>
-<pre class="PROGRAMLISTING">
+  }
+  :link { color: #0000FF }
+  :visited { color: #840084 }
+  :active { color: #0000FF }
+  span.c3 {font-style: italic}
+  table.c2 {background-color: #E0E0E0}
+  hr.c1 {text-align: left}
+  </style>
+</head>
+
+<body class="SECT1">
+  <div class="NAVHEADER">
+    <table summary="Header navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <th colspan="3" align="center">Privoxy Developer Manual</th>
+      </tr>
+
+      <tr>
+        <td width="10%" align="left" valign="bottom"><a href=
+        "newrelease.html" accesskey="P">Prev</a></td>
+
+        <td width="80%" align="center" valign="bottom"></td>
+
+        <td width="10%" align="right" valign="bottom"><a href="contact.html"
+        accesskey="N">Next</a></td>
+      </tr>
+    </table>
+    <hr class="c1" width="100%">
+  </div>
+
+  <div class="SECT1">
+    <h1 class="SECT1"><a name="WEBSERVER-UPDATE" id="WEBSERVER-UPDATE">7.
+    Update the Webserver</a></h1>
+
+    <p>The webserver should be updated at least with each stable release.
+    When updating, please follow these steps to make sure that no broken
+    links, inconsistent contents or permission problems will occur (as it has
+    many times in the past!):</p>
+
+    <p>If you have changed anything in the stable-branch documentation source
+    SGML files, do:</p>
+
+    <table class="c2" border="0" width="100%">
+      <tr>
+        <td>
+          <pre class="PROGRAMLISTING">
   make dok dok-pdf # (or 'make redhat-dok dok-pdf' if 'make dok' doesn't work for you)
 </pre>
-          </td>
-        </tr>
-      </table>
-
-      <p>
-        That will generate <tt class=
-        "FILENAME">doc/webserver/user-manual</tt>, <tt class=
-        "FILENAME">doc/webserver/developer-manual</tt>, <tt class=
-        "FILENAME">doc/webserver/faq</tt>, <tt class=
-        "FILENAME">doc/pdf/*.pdf</tt> and <tt class=
-        "FILENAME">doc/webserver/index.html</tt> automatically.
-      </p>
-      <p>
-        If you changed the manual page sources, generate <tt class=
-        "FILENAME">doc/webserver/man-page/privoxy-man-page.html</tt> by
-        running <span class="QUOTE">"<b class="COMMAND">make man</b>"</span>.
-        (This is a separate target due to dependencies on some obscure perl
-        scripts [now in CVS, but not well tested]. See comments in <tt class=
-        "FILENAME">GNUmakefile</tt>.)
-      </p>
-      <p>
-        If you want to add new files to the webserver, create them locally in
-        the <tt class="FILENAME">doc/webserver/*</tt> directory (or create
-        new directories under <tt class="FILENAME">doc/webserver</tt>).
-      </p>
-      <p>
-        Next, commit any changes from the above steps to CVS. All set? If
-        these are docs in the stable branch, then do:
-      </p>
-      <p>
-      </p>
-      <table border="0" bgcolor="#E0E0E0" width="100%">
-        <tr>
-          <td>
-<pre class="PROGRAMLISTING">
+        </td>
+      </tr>
+    </table>
+
+    <p>That will generate <tt class=
+    "FILENAME">doc/webserver/user-manual</tt>, <tt class=
+    "FILENAME">doc/webserver/developer-manual</tt>, <tt class=
+    "FILENAME">doc/webserver/faq</tt>, <tt class=
+    "FILENAME">doc/pdf/*.pdf</tt> and <tt class=
+    "FILENAME">doc/webserver/index.html</tt> automatically.</p>
+
+    <p>If you changed the manual page sources, generate <tt class=
+    "FILENAME">doc/webserver/man-page/privoxy-man-page.html</tt> by running
+    <span class="QUOTE">"<b class="COMMAND">make man</b>"</span>. (This is a
+    separate target due to dependencies on some obscure perl scripts [now in
+    CVS, but not well tested]. See comments in <tt class=
+    "FILENAME">GNUmakefile</tt>.)</p>
+
+    <p>If you want to add new files to the webserver, create them locally in
+    the <tt class="FILENAME">doc/webserver/*</tt> directory (or create new
+    directories under <tt class="FILENAME">doc/webserver</tt>).</p>
+
+    <p>Next, commit any changes from the above steps to CVS. All set? If
+    these are docs in the stable branch, then do:</p>
+
+    <table class="c2" border="0" width="100%">
+      <tr>
+        <td>
+          <pre class="PROGRAMLISTING">
   make webserver
 </pre>
-          </td>
-        </tr>
-      </table>
-
-      <p>
-        This will do the upload to <a href="http://www.privoxy.org/" target=
-        "_top">the webserver</a> (www.privoxy.org) and ensure all files and
-        directories there are group writable.
-      </p>
-      <p>
-        Please do <span class="emphasis"><i class="EMPHASIS">NOT</i></span>
-        use any other means of transferring files to the webserver to avoid
-        permission problems. Also, please do not upload docs from development
-        branches or versions. The publicly posted docs should be in sync with
-        the last official release.
-      </p>
-    </div>
-    <div class="NAVFOOTER">
-      <hr width="100%" class="c1">
-      <table summary="Footer navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <td width="33%" align="left" valign="top">
-            <a href="newrelease.html" accesskey="P">Prev</a>
-          </td>
-          <td width="34%" align="center" valign="top">
-            <a href="index.html" accesskey="H">Home</a>
-          </td>
-          <td width="33%" align="right" valign="top">
-            <a href="contact.html" accesskey="N">Next</a>
-          </td>
-        </tr>
-        <tr>
-          <td width="33%" align="left" valign="top">
-            Releasing a New Version
-          </td>
-          <td width="34%" align="center" valign="top">
-            &nbsp;
-          </td>
-          <td width="33%" align="right" valign="top">
-            Contacting the developers, Bug Reporting and Feature Requests
-          </td>
-        </tr>
-      </table>
-    </div>
-  </body>
-</html>
+        </td>
+      </tr>
+    </table>
+
+    <p>This will do the upload to <a href="http://www.privoxy.org/" target=
+    "_top">the webserver</a> (www.privoxy.org) and ensure all files and
+    directories there are group writable.</p>
+
+    <p>Please do <span class="emphasis EMPHASIS c3">NOT</span> use any other
+    means of transferring files to the webserver to avoid permission
+    problems. Also, please do not upload docs from development branches or
+    versions. The publicly posted docs should be in sync with the last
+    official release.</p>
+  </div>
+
+  <div class="NAVFOOTER">
+    <hr class="c1" width="100%">
 
+    <table summary="Footer navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <td width="33%" align="left" valign="top"><a href="newrelease.html"
+        accesskey="P">Prev</a></td>
+
+        <td width="34%" align="center" valign="top"><a href="index.html"
+        accesskey="H">Home</a></td>
+
+        <td width="33%" align="right" valign="top"><a href="contact.html"
+        accesskey="N">Next</a></td>
+      </tr>
+
+      <tr>
+        <td width="33%" align="left" valign="top">Releasing a New
+        Version</td>
+
+        <td width="34%" align="center" valign="top">&nbsp;</td>
+
+        <td width="33%" align="right" valign="top">Contacting the developers,
+        Bug Reporting and Feature Requests</td>
+      </tr>
+    </table>
+  </div>
+</body>
+</html>
index 2c19d28..892e46b 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
-Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+
 <html>
-  <head>
-    <meta name="generator" content="HTML Tidy, see www.w3.org">
-    <title>
-      Configuration
-    </title>
-    <meta name="GENERATOR" content=
-    "Modular DocBook HTML Stylesheet Version 1.79">
-    <link rel="HOME" title="Privoxy Frequently Asked Questions" href=
-    "index.html">
-    <link rel="PREVIOUS" title="Installation" href="installation.html">
-    <link rel="NEXT" title="Miscellaneous" href="misc.html">
-    <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
-    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<style type="text/css">
- body {
+<head>
+  <meta name="generator" content=
+  "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
+
+  <title>Configuration</title>
+  <meta name="GENERATOR" content=
+  "Modular DocBook HTML Stylesheet Version 1.79">
+  <link rel="HOME" title="Privoxy Frequently Asked Questions" href=
+  "index.html">
+  <link rel="PREVIOUS" title="Installation" href="installation.html">
+  <link rel="NEXT" title="Miscellaneous" href="misc.html">
+  <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
+  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+  <style type="text/css">
+body {
   background-color: #EEEEEE;
   color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- hr.c1 {text-align: left}
-</style>
-  </head>
-  <body class="SECT1">
-    <div class="NAVHEADER">
-      <table summary="Header navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <th colspan="3" align="center">
-            Privoxy Frequently Asked Questions
-          </th>
-        </tr>
-        <tr>
-          <td width="10%" align="left" valign="bottom">
-            <a href="installation.html" accesskey="P">Prev</a>
-          </td>
-          <td width="80%" align="center" valign="bottom">
-          </td>
-          <td width="10%" align="right" valign="bottom">
-            <a href="misc.html" accesskey="N">Next</a>
-          </td>
-        </tr>
-      </table>
-      <hr width="100%" class="c1">
+  }
+  :link { color: #0000FF }
+  :visited { color: #840084 }
+  :active { color: #0000FF }
+  a.c4 {font-style: italic}
+  span.c3 {font-style: italic}
+  table.c2 {background-color: #E0E0E0}
+  hr.c1 {text-align: left}
+  </style>
+</head>
+
+<body class="SECT1">
+  <div class="NAVHEADER">
+    <table summary="Header navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <th colspan="3" align="center">Privoxy Frequently Asked
+        Questions</th>
+      </tr>
+
+      <tr>
+        <td width="10%" align="left" valign="bottom"><a href=
+        "installation.html" accesskey="P">Prev</a></td>
+
+        <td width="80%" align="center" valign="bottom"></td>
+
+        <td width="10%" align="right" valign="bottom"><a href="misc.html"
+        accesskey="N">Next</a></td>
+      </tr>
+    </table>
+    <hr class="c1" width="100%">
+  </div>
+
+  <div class="SECT1">
+    <h1 class="SECT1"><a name="CONFIGURATION" id="CONFIGURATION">3.
+    Configuration</a></h1>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="AEN369" id="AEN369">3.1. What exactly is an
+      <span class="QUOTE">"actions"</span> file?</a></h3>
+
+      <p><span class="APPLICATION">Privoxy</span> utilizes the concept of
+      <span class="QUOTE">" <a href=
+      "../user-manual/actions-file.html#ACTIONS" target=
+      "_top">actions</a>"</span> that are used to manipulate and control web
+      page data. <a href="../user-manual/actions-file.html" target=
+      "_top">Actions files</a> are where these <a href=
+      "../user-manual/actions-file.html#ACTIONS" target="_top">actions</a>
+      that <span class="APPLICATION">Privoxy</span> could take while
+      processing a certain request, are configured. Typically, you would
+      define a set of default actions that apply globally to all URLs, then
+      add exceptions to these defaults where needed. There is a wide array of
+      actions available that give the user a high degree of control and
+      flexibility on how to process each and every web page.</p>
+
+      <p>Actions can be defined on a <a href=
+      "../user-manual/actions-file.html#AF-PATTERNS" target="_top">URL
+      pattern</a> basis, i.e. for single URLs, whole web sites, groups or
+      parts thereof etc. Actions can also be grouped together and then
+      applied to requests matching one or more patterns. There are many
+      possible actions that might apply to any given site. As an example, if
+      you are blocking <a href="http://en.wikipedia.org/wiki/Browser_cookie"
+      target="_top">cookies</a> as one of your default actions, but need to
+      accept cookies from a given site, you would need to define an exception
+      for this site in one of your actions files, preferably in <tt class=
+      "FILENAME">user.action</tt>.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="ACTIONSS" id="ACTIONSS">3.2. The
+      <span class="QUOTE">"actions"</span> concept confuses me. Please list
+      some of these <span class="QUOTE">"actions"</span>.</a></h3>
+
+      <p>For a comprehensive discussion of the actions concept, please refer
+      to the <a href="../user-manual/actions-file.html" target="_top">actions
+      file chapter</a> in the <a href="../user-manual/index.html" target=
+      "_top">User Manual</a>. It includes a <a href=
+      "../user-manual/actions-file.html#ACTIONS" target="_top">list of all
+      actions</a> and an <a href=
+      "../user-manual/actions-file.html#ACT-EXAMPLES" target="_top">actions
+      file tutorial</a> to get you started.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="AEN392" id="AEN392">3.3. How are actions
+      files configured? What is the easiest way to do this?</a></h3>
+
+      <p>Actions files are just text files in a special syntax and can be
+      edited with a text editor. But probably the easiest way is to access
+      <span class="APPLICATION">Privoxy</span>'s user interface with your web
+      browser at <a href="http://config.privoxy.org/" target=
+      "_top">http://config.privoxy.org/</a> (Shortcut: <a href="http://p.p/"
+      target="_top">http://p.p/</a>) and then select <span class=
+      "QUOTE">"<a href="http://config.privoxy.org/show-status" target=
+      "_top">View &amp; change the current configuration</a>"</span> from the
+      menu. Note that this feature must be explicitly enabled in the main
+      config file (see <a href=
+      "../user-manual/config.html#ENABLE-EDIT-ACTIONS" target=
+      "_top">enable-edit-actions</a>).</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="AEN401" id="AEN401">3.4. There are several
+      different <span class="QUOTE">"actions"</span> files. What are the
+      differences?</a></h3>
+
+      <p>Please have a look at the <a href="../user-manual/actions-file.html"
+      target="_top">the actions chapter</a> in the <a href=
+      "../user-manual/index.html" target="_top">User Manual</a> for a
+      detailed explanation.</p>
     </div>
-    <div class="SECT1">
-      <h1 class="SECT1">
-        <a name="CONFIGURATION">3. Configuration</a>
-      </h1>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="AEN360">3.1. What exactly is an <span class=
-          "QUOTE">"actions"</span> file?</a>
-        </h3>
-        <p>
-          <span class="APPLICATION">Privoxy</span> utilizes the concept of
-          <span class="QUOTE">" <a href=
-          "../user-manual/actions-file.html#ACTIONS" target=
-          "_top">actions</a>"</span> that are used to manipulate and control
-          web page data. <a href="../user-manual/actions-file.html" target=
-          "_top">Actions files</a> are where these <a href=
-          "../user-manual/actions-file.html#ACTIONS" target=
-          "_top">actions</a> that <span class="APPLICATION">Privoxy</span>
-          could take while processing a certain request, are configured.
-          Typically, you would define a set of default actions that apply
-          globally to all URLs, then add exceptions to these defaults where
-          needed. There is a wide array of actions available that give the
-          user a high degree of control and flexibility on how to process
-          each and every web page.
-        </p>
-        <p>
-          Actions can be defined on a <a href=
-          "../user-manual/actions-file.html#AF-PATTERNS" target="_top">URL
-          pattern</a> basis, i.e. for single URLs, whole web sites, groups or
-          parts thereof etc. Actions can also be grouped together and then
-          applied to requests matching one or more patterns. There are many
-          possible actions that might apply to any given site. As an example,
-          if you are blocking <a href=
-          "http://en.wikipedia.org/wiki/Browser_cookie" target=
-          "_top">cookies</a> as one of your default actions, but need to
-          accept cookies from a given site, you would need to define an
-          exception for this site in one of your actions files, preferably in
-          <tt class="FILENAME">user.action</tt>.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="ACTIONSS">3.2. The <span class="QUOTE">"actions"</span>
-          concept confuses me. Please list some of these <span class=
-          "QUOTE">"actions"</span>.</a>
-        </h3>
-        <p>
-          For a comprehensive discussion of the actions concept, please refer
-          to the <a href="../user-manual/actions-file.html" target=
-          "_top">actions file chapter</a> in the <a href=
-          "../user-manual/index.html" target="_top">User Manual</a>. It
-          includes a <a href="../user-manual/actions-file.html#ACTIONS"
-          target="_top">list of all actions</a> and an <a href=
-          "../user-manual/actions-file.html#ACT-EXAMPLES" target=
-          "_top">actions file tutorial</a> to get you started.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="AEN383">3.3. How are actions files configured? What is the
-          easiest way to do this?</a>
-        </h3>
-        <p>
-          Actions files are just text files in a special syntax and can be
-          edited with a text editor. But probably the easiest way is to
-          access <span class="APPLICATION">Privoxy</span>'s user interface
-          with your web browser at <a href="http://config.privoxy.org/"
-          target="_top">http://config.privoxy.org/</a> (Shortcut: <a href=
-          "http://p.p/" target="_top">http://p.p/</a>) and then select <span
-          class="QUOTE">"<a href="http://config.privoxy.org/show-status"
-          target="_top">View &amp; change the current
-          configuration</a>"</span> from the menu. Note that this feature
-          must be explicitly enabled in the main config file (see <a href=
-          "../user-manual/config.html#ENABLE-EDIT-ACTIONS" target=
-          "_top">enable-edit-actions</a>).
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="AEN392">3.4. There are several different <span class=
-          "QUOTE">"actions"</span> files. What are the differences?</a>
-        </h3>
-        <p>
-          Please have a look at the <a href=
-          "../user-manual/actions-file.html" target="_top">the actions
-          chapter</a> in the <a href="../user-manual/index.html" target=
-          "_top">User Manual</a> for a detailed explanation.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="GETUPDATES">3.5. Where can I get updated Actions
-          Files?</a>
-        </h3>
-        <p>
-          Based on your feedback and the continuing development, updates of
-          <tt class="FILENAME">default.action</tt> will be made available
-          from time to time on the <a href=
-          "http://sourceforge.net/project/showfiles.php?group_id=11118"
-          target="_top">files section</a> of our <a href=
-          "http://sf.net/projects/ijbswa/" target="_top">project page</a>.
-        </p>
-        <p>
-          If you wish to receive an email notification whenever we release
-          updates of <span class="APPLICATION">Privoxy</span> or the actions
-          file, <a href=
-          "http://lists.sourceforge.net/lists/listinfo/ijbswa-announce/"
-          target="_top">subscribe to our announce mailing list</a>,
-          ijbswa-announce@lists.sourceforge.net.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="NEWCONFIG">3.6. Can I use my old config files?</a>
-        </h3>
-        <p>
-          The syntax and purpose of configuration files has remained roughly
-          the same throughout the 3.x series, but backwards compatibility is
-          not guaranteed. Also each release contains updated, <span class=
-          "QUOTE">"improved"</span> versions and it is therefore strongly
-          recommended to install the newer configuration files and merge back
-          your modifications.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="DIFFICULT">3.7. Why is the configuration so
-          complicated?</a>
-        </h3>
-        <p>
-          <span class="QUOTE">"Complicated"</span> is in the eye of the
-          beholder. Those that are familiar with some of the underlying
-          concepts, such as regular expression syntax, take to it like a fish
-          takes to water. Also, software that tries hard to be <span class=
-          "QUOTE">"user friendly"</span>, often lacks sophistication and
-          flexibility. There is always that trade-off there between power vs.
-          easy-of-use. Furthermore, anyone is welcome to contribute ideas and
-          implementations to enhance <span class=
-          "APPLICATION">Privoxy</span>.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="YAHOO">3.8. How can I make my Yahoo/Hotmail/Gmail account
-          work?</a>
-        </h3>
-        <p>
-          The default configuration shouldn't impact the usability of any of
-          these services. It may, however, make all <a href=
-          "http://en.wikipedia.org/wiki/Browser_cookie" target=
-          "_top">cookies</a> temporary, so that your browser will forget your
-          login credentials in between browser sessions. If you would like
-          not to have to log in manually each time you access those websites,
-          simply turn off all cookie handling for them in the <tt class=
-          "FILENAME">user.action</tt> file. An example for yahoo might look
-          like:
-        </p>
-        <p>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="GETUPDATES" id="GETUPDATES">3.5. Where can I
+      get updated Actions Files?</a></h3>
+
+      <p>Based on your feedback and the continuing development, updates of
+      <tt class="FILENAME">default.action</tt> will be made available from
+      time to time on the <a href=
+      "http://sourceforge.net/project/showfiles.php?group_id=11118" target=
+      "_top">files section</a> of our <a href=
+      "http://sf.net/projects/ijbswa/" target="_top">project page</a>.</p>
+
+      <p>If you wish to receive an email notification whenever we release
+      updates of <span class="APPLICATION">Privoxy</span> or the actions
+      file, <a href=
+      "http://lists.sourceforge.net/lists/listinfo/ijbswa-announce/" target=
+      "_top">subscribe to our announce mailing list</a>,
+      ijbswa-announce@lists.sourceforge.net.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="NEWCONFIG" id="NEWCONFIG">3.6. Can I use my
+      old config files?</a></h3>
+
+      <p>The syntax and purpose of configuration files has remained roughly
+      the same throughout the 3.x series, but backwards compatibility is not
+      guaranteed. Also each release contains updated, <span class=
+      "QUOTE">"improved"</span> versions and it is therefore strongly
+      recommended to install the newer configuration files and merge back
+      your modifications.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="DIFFICULT" id="DIFFICULT">3.7. Why is the
+      configuration so complicated?</a></h3>
+
+      <p><span class="QUOTE">"Complicated"</span> is in the eye of the
+      beholder. Those that are familiar with some of the underlying concepts,
+      such as regular expression syntax, take to it like a fish takes to
+      water. Also, software that tries hard to be <span class="QUOTE">"user
+      friendly"</span>, often lacks sophistication and flexibility. There is
+      always that trade-off there between power vs. easy-of-use. Furthermore,
+      anyone is welcome to contribute ideas and implementations to enhance
+      <span class="APPLICATION">Privoxy</span>.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="YAHOO" id="YAHOO">3.8. How can I make my
+      Yahoo/Hotmail/Gmail account work?</a></h3>
+
+      <p>The default configuration shouldn't impact the usability of any of
+      these services. It may, however, make all <a href=
+      "http://en.wikipedia.org/wiki/Browser_cookie" target="_top">cookies</a>
+      temporary, so that your browser will forget your login credentials in
+      between browser sessions. If you would like not to have to log in
+      manually each time you access those websites, simply turn off all
+      cookie handling for them in the <tt class="FILENAME">user.action</tt>
+      file. An example for yahoo might look like:</p>
+
+      <table class="c2" border="0" width="100%">
+        <tr>
+          <td>
+            <pre class="SCREEN">
 # Allow all cookies for Yahoo login:
 #
 { -<a href="../user-manual/actions-file.html#CRUNCH-INCOMING-COOKIES" target=
@@ -220,595 +203,514 @@ Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
 "_top">session-cookies-only</a> }
 .login.yahoo.com
 </pre>
-            </td>
-          </tr>
-        </table>
-
-        <p>
-          These kinds of sites are often quite complex and heavy with <a
-          href="http://en.wikipedia.org/wiki/Javascript" target=
-          "_top">Javascript</a> and thus <span class=
-          "QUOTE">"fragile"</span>. So if <span class="emphasis"><i class=
-          "EMPHASIS">still</i></span> a problem, we have an <a href=
-          "../user-manual/actions-file.html#ALIASES" target="_top">alias</a>
-          just for such sticky situations:
-        </p>
-        <p>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
+          </td>
+        </tr>
+      </table>
+
+      <p>These kinds of sites are often quite complex and heavy with <a href=
+      "http://en.wikipedia.org/wiki/Javascript" target="_top">Javascript</a>
+      and thus <span class="QUOTE">"fragile"</span>. So if <span class=
+      "emphasis EMPHASIS c3">still</span> a problem, we have an <a href=
+      "../user-manual/actions-file.html#ALIASES" target="_top">alias</a> just
+      for such sticky situations:</p>
+
+      <table class="c2" border="0" width="100%">
+        <tr>
+          <td>
+            <pre class="SCREEN">
 # Gmail is a _fragile_ site:
 #
 { <tt class="LITERAL">fragile</tt> }
  # Gmail is ...
  mail.google.com
 </pre>
-            </td>
-          </tr>
-        </table>
-
-        <p>
-          Be sure to flush your browser's caches whenever making these kinds
-          of changes, just to make sure the changes <span class=
-          "QUOTE">"take"</span>.
-        </p>
-        <p>
-          Make sure the domain, host and path are appropriate as well. Your
-          browser can tell you where you are specifically and you should use
-          that information for your configuration settings. Note that above
-          it is not referenced as <tt class="LITERAL">gmail.com</tt>, which
-          is a valid domain name.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="CONFIGFILES">3.9. What's the difference between the <span
-          class="QUOTE">"Cautious"</span>, <span class=
-          "QUOTE">"Medium"</span> and <span class="QUOTE">"Advanced"</span>
-          defaults?</a>
-        </h3>
-        <p>
-          Configuring <span class="APPLICATION">Privoxy</span> is not
-          entirely trivial. To help you get started, we provide you with
-          three different default action <span class=
-          "QUOTE">"profiles"</span> in the web based actions file editor at
-          <a href="http://config.privoxy.org/show-status" target=
-          "_top">http://config.privoxy.org/show-status</a>. See the <a href=
-          "../user-manual/actions-file.html" target="_top"><i class=
-          "CITETITLE">User Manual</i></a> for a list of actions, and how the
-          default profiles are set.
-        </p>
-        <p>
-          Where the defaults are likely to break some sites, exceptions for
-          known popular <span class="QUOTE">"problem"</span> sites are
-          included, but in general, the more aggressive your default settings
-          are, the more exceptions you will have to make later. New users are
-          best to start off in <span class="QUOTE">"Cautious"</span> setting.
-          This is safest and will have the fewest problems. See the <a href=
-          "../user-manual/index.html" target="_top"><i class="CITETITLE">User
-          Manual</i></a> for a more detailed discussion.
-        </p>
-        <p>
-          It should be noted that the <span class="QUOTE">"Advanced"</span>
-          profile (formerly known as the <span class=
-          "QUOTE">"Adventuresome"</span> profile) is more aggressive, and
-          will make use of some of <span class="APPLICATION">Privoxy's</span>
-          advanced features. Use at your own risk!
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="BROWSECONFIG">3.10. Why can I change the configuration
-          with a browser? Does that not raise security issues?</a>
-        </h3>
-        <p>
-          It may seem strange that regular users can edit the config files
-          with their browsers, although the whole <tt class=
-          "FILENAME">/etc/privoxy</tt> hierarchy belongs to the user <span
-          class="QUOTE">"privoxy"</span>, with only 644 permissions.
-        </p>
-        <p>
-          When you use the browser-based editor, <span class=
-          "APPLICATION">Privoxy</span> itself is writing to the config files.
-          Because <span class="APPLICATION">Privoxy</span> is running as the
-          user <span class="QUOTE">"privoxy"</span>, it can update its own
-          config files.
-        </p>
-        <p>
-          If you run <span class="APPLICATION">Privoxy</span> for multiple
-          untrusted users (e.g. in a LAN) or aren't entirely in control of
-          your own browser, you will probably want to make sure that the
-          web-based editor and remote toggle features are <span class=
-          "QUOTE">"off"</span> by setting <span class="QUOTE">"<tt class=
-          "LITERAL"><a href="../user-manual/config.html#ENABLE-EDIT-ACTIONS"
-          target="_top">enable-edit-actions</a> 0</tt>"</span> and <span
-          class="QUOTE">"<tt class="LITERAL"><a href=
-          "../user-manual/config.html#ENABLE-REMOTE-TOGGLE" target=
-          "_top">enable-remote-toggle</a> 0</tt>"</span> in the <a href=
-          "../user-manual/config.html" target="_top">main configuration
-          file</a>.
-        </p>
-        <p>
-          As of <span class="APPLICATION">Privoxy</span> 3.0.7 these options
-          are disabled by default.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="AEN480">3.11. What is the <tt class=
-          "FILENAME">default.filter</tt> file? What is a <span class=
-          "QUOTE">"filter"</span>?</a>
-        </h3>
-        <p>
-          The <a href="../user-manual/filter-file.html" target="_top"><tt
-          class="FILENAME">default.filter</tt></a> file is where <span class=
-          "emphasis"><i class="EMPHASIS">filters</i></span> as supplied by
-          the developers are defined. Filters are a special subset of actions
-          that can be used to modify or remove web page content or headers on
-          the fly. Content filters can be applied to <span class=
-          "emphasis"><i class="EMPHASIS">anything</i></span> in the page
-          source, header filters can be applied to either server or client
-          headers. Regular expressions are used to accomplish this.
-        </p>
-        <p>
-          There are a number of pre-defined filters to deal with common
-          annoyances. The filters are only defined here, to invoke them, you
-          need to use the <a href="../user-manual/actions-file.html#FILTER"
-          target="_top"><tt class="LITERAL">filter</tt> action</a> in one of
-          the actions files. Content filtering is automatically disabled for
-          inappropriate MIME types, but if you know better than Privoxy what
-          should or should not be filtered you can filter any content you
-          like.
-        </p>
-        <p>
-          Filters should <span class="emphasis"><i class=
-          "EMPHASIS">not</i></span> be confused with <a href=
-          "../user-manual/actions-file.html#BLOCK" target="_top"><tt class=
-          "LITERAL">blocks</tt></a>, which is a completely different action,
-          and is more typically used to block ads and unwanted sites.
-        </p>
-        <p>
-          If you are familiar with regular expressions, and HTML, you can
-          look at the provided <tt class="FILENAME">default.filter</tt> with
-          a text editor and define your own filters. This is potentially a
-          very powerful feature, but requires some expertise in both regular
-          expressions and HTML/HTTP. You should place any modifications to
-          the default filters, or any new ones you create in a separate file,
-          such as <tt class="FILENAME">user.filter</tt>, so they won't be
-          overwritten during upgrades. The ability to define multiple filter
-          files in <tt class="FILENAME">config</tt> is a new feature as of v.
-          3.0.5.
-        </p>
-        <p>
-          There is no GUI editor option for this part of the configuration,
-          but you can disable/enable the various pre-defined filters of the
-          included <tt class="FILENAME">default.filter</tt> file with the <a
-          href="http://config.privoxy.org/show-status" target=
-          "_top">web-based actions file editor</a>. Note that the custom
-          actions editor must be explicitly enabled in the main config file
-          (see <a href="../user-manual/config.html#ENABLE-EDIT-ACTIONS"
-          target="_top">enable-edit-actions</a>).
-        </p>
-        <p>
-          If you intend to develop your own filters, you might want to have a
-          look at <a href="http://www.fabiankeil.de/sourcecode/pft/" target=
-          "_top">Privoxy-Filter-Test</a>.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="LANCONFIG">3.12. How can I set up Privoxy to act as a
-          proxy for my LAN?</a>
-        </h3>
-        <p>
-          By default, <span class="APPLICATION">Privoxy</span> only responds
-          to requests from <tt class="LITERAL">127.0.0.1</tt> (localhost). To
-          have it act as a server for a network, this needs to be changed in
-          the <a href="../user-manual/config.html" target="_top">main
-          configuration file</a>. Look for the <tt class="LITERAL"><a href=
-          "../user-manual/config.html#LISTEN-ADDRESS" target=
-          "_top">listen-address</a></tt> option, which may be commented out
-          with a <span class="QUOTE">"#"</span> symbol. Make sure it is
-          uncommented, and assign it the address of the LAN gateway
-          interface, and port number to use. Assuming your LAN address is
-          192.168.1.1 and you wish to run <span class=
-          "APPLICATION">Privoxy</span> on port 8118, this line should look
-          like:
-        </p>
-        <p>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
+          </td>
+        </tr>
+      </table>
+
+      <p>Be sure to flush your browser's caches whenever making these kinds
+      of changes, just to make sure the changes <span class=
+      "QUOTE">"take"</span>.</p>
+
+      <p>Make sure the domain, host and path are appropriate as well. Your
+      browser can tell you where you are specifically and you should use that
+      information for your configuration settings. Note that above it is not
+      referenced as <tt class="LITERAL">gmail.com</tt>, which is a valid
+      domain name.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="CONFIGFILES" id="CONFIGFILES">3.9. What's
+      the difference between the <span class="QUOTE">"Cautious"</span>,
+      <span class="QUOTE">"Medium"</span> and <span class=
+      "QUOTE">"Advanced"</span> defaults?</a></h3>
+
+      <p>Configuring <span class="APPLICATION">Privoxy</span> is not entirely
+      trivial. To help you get started, we provide you with three different
+      default action <span class="QUOTE">"profiles"</span> in the web based
+      actions file editor at <a href="http://config.privoxy.org/show-status"
+      target="_top">http://config.privoxy.org/show-status</a>. See the
+      <a class="CITETITLE c4" href="../user-manual/actions-file.html" target=
+      "_top">User Manual</a> for a list of actions, and how the default
+      profiles are set.</p>
+
+      <p>Where the defaults are likely to break some sites, exceptions for
+      known popular <span class="QUOTE">"problem"</span> sites are included,
+      but in general, the more aggressive your default settings are, the more
+      exceptions you will have to make later. New users are best to start off
+      in <span class="QUOTE">"Cautious"</span> setting. This is safest and
+      will have the fewest problems. See the <a class="CITETITLE c4" href=
+      "../user-manual/index.html" target="_top">User Manual</a> for a more
+      detailed discussion.</p>
+
+      <p>It should be noted that the <span class="QUOTE">"Advanced"</span>
+      profile (formerly known as the <span class=
+      "QUOTE">"Adventuresome"</span> profile) is more aggressive, and will
+      make use of some of <span class="APPLICATION">Privoxy's</span> advanced
+      features. Use at your own risk!</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="BROWSECONFIG" id="BROWSECONFIG">3.10. Why
+      can I change the configuration with a browser? Does that not raise
+      security issues?</a></h3>
+
+      <p>It may seem strange that regular users can edit the config files
+      with their browsers, although the whole <tt class=
+      "FILENAME">/etc/privoxy</tt> hierarchy belongs to the user <span class=
+      "QUOTE">"privoxy"</span>, with only 644 permissions.</p>
+
+      <p>When you use the browser-based editor, <span class=
+      "APPLICATION">Privoxy</span> itself is writing to the config files.
+      Because <span class="APPLICATION">Privoxy</span> is running as the user
+      <span class="QUOTE">"privoxy"</span>, it can update its own config
+      files.</p>
+
+      <p>If you run <span class="APPLICATION">Privoxy</span> for multiple
+      untrusted users (e.g. in a LAN) or aren't entirely in control of your
+      own browser, you will probably want to make sure that the web-based
+      editor and remote toggle features are <span class="QUOTE">"off"</span>
+      by setting <span class="QUOTE">"<tt class="LITERAL"><a href=
+      "../user-manual/config.html#ENABLE-EDIT-ACTIONS" target=
+      "_top">enable-edit-actions</a> 0</tt>"</span> and <span class=
+      "QUOTE">"<tt class="LITERAL"><a href=
+      "../user-manual/config.html#ENABLE-REMOTE-TOGGLE" target=
+      "_top">enable-remote-toggle</a> 0</tt>"</span> in the <a href=
+      "../user-manual/config.html" target="_top">main configuration
+      file</a>.</p>
+
+      <p>As of <span class="APPLICATION">Privoxy</span> 3.0.7 these options
+      are disabled by default.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="AEN489" id="AEN489">3.11. What is the
+      <tt class="FILENAME">default.filter</tt> file? What is a <span class=
+      "QUOTE">"filter"</span>?</a></h3>
+
+      <p>The <a href="../user-manual/filter-file.html" target=
+      "_top"><tt class="FILENAME">default.filter</tt></a> file is where
+      <span class="emphasis EMPHASIS c3">filters</span> as supplied by the
+      developers are defined. Filters are a special subset of actions that
+      can be used to modify or remove web page content or headers on the fly.
+      Content filters can be applied to <span class=
+      "emphasis EMPHASIS c3">anything</span> in the page source, header
+      filters can be applied to either server or client headers. Regular
+      expressions are used to accomplish this.</p>
+
+      <p>There are a number of pre-defined filters to deal with common
+      annoyances. The filters are only defined here, to invoke them, you need
+      to use the <a href="../user-manual/actions-file.html#FILTER" target=
+      "_top"><tt class="LITERAL">filter</tt> action</a> in one of the actions
+      files. Content filtering is automatically disabled for inappropriate
+      MIME types, but if you know better than Privoxy what should or should
+      not be filtered you can filter any content you like.</p>
+
+      <p>Filters should <span class="emphasis EMPHASIS c3">not</span> be
+      confused with <a href="../user-manual/actions-file.html#BLOCK" target=
+      "_top"><tt class="LITERAL">blocks</tt></a>, which is a completely
+      different action, and is more typically used to block ads and unwanted
+      sites.</p>
+
+      <p>If you are familiar with regular expressions, and HTML, you can look
+      at the provided <tt class="FILENAME">default.filter</tt> with a text
+      editor and define your own filters. This is potentially a very powerful
+      feature, but requires some expertise in both regular expressions and
+      HTML/HTTP. You should place any modifications to the default filters,
+      or any new ones you create in a separate file, such as <tt class=
+      "FILENAME">user.filter</tt>, so they won't be overwritten during
+      upgrades. The ability to define multiple filter files in <tt class=
+      "FILENAME">config</tt> is a new feature as of v. 3.0.5.</p>
+
+      <p>There is no GUI editor option for this part of the configuration,
+      but you can disable/enable the various pre-defined filters of the
+      included <tt class="FILENAME">default.filter</tt> file with the
+      <a href="http://config.privoxy.org/show-status" target="_top">web-based
+      actions file editor</a>. Note that the custom actions editor must be
+      explicitly enabled in the main config file (see <a href=
+      "../user-manual/config.html#ENABLE-EDIT-ACTIONS" target=
+      "_top">enable-edit-actions</a>).</p>
+
+      <p>If you intend to develop your own filters, you might want to have a
+      look at <a href="http://www.fabiankeil.de/sourcecode/pft/" target=
+      "_top">Privoxy-Filter-Test</a>.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="LANCONFIG" id="LANCONFIG">3.12. How can I
+      set up Privoxy to act as a proxy for my LAN?</a></h3>
+
+      <p>By default, <span class="APPLICATION">Privoxy</span> only responds
+      to requests from <tt class="LITERAL">127.0.0.1</tt> (localhost). To
+      have it act as a server for a network, this needs to be changed in the
+      <a href="../user-manual/config.html" target="_top">main configuration
+      file</a>. Look for the <tt class="LITERAL"><a href=
+      "../user-manual/config.html#LISTEN-ADDRESS" target=
+      "_top">listen-address</a></tt> option, which may be commented out with
+      a <span class="QUOTE">"#"</span> symbol. Make sure it is uncommented,
+      and assign it the address of the LAN gateway interface, and port number
+      to use. Assuming your LAN address is 192.168.1.1 and you wish to run
+      <span class="APPLICATION">Privoxy</span> on port 8118, this line should
+      look like:</p>
+
+      <table class="c2" border="0" width="100%">
+        <tr>
+          <td>
+            <pre class="SCREEN">
   listen-address  192.168.1.1:8118
 </pre>
-            </td>
-          </tr>
-        </table>
-
-        <p>
-          Save the file, and restart <span class=
-          "APPLICATION">Privoxy</span>. Configure all browsers on the network
-          then to use this address and port number.
-        </p>
-        <p>
-          Alternately, you can have <span class="APPLICATION">Privoxy</span>
-          listen on all available interfaces:
-        </p>
-        <p>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
+          </td>
+        </tr>
+      </table>
+
+      <p>Save the file, and restart <span class="APPLICATION">Privoxy</span>.
+      Configure all browsers on the network then to use this address and port
+      number.</p>
+
+      <p>Alternately, you can have <span class="APPLICATION">Privoxy</span>
+      listen on all available interfaces:</p>
+
+      <table class="c2" border="0" width="100%">
+        <tr>
+          <td>
+            <pre class="SCREEN">
   listen-address    :8118
 </pre>
-            </td>
-          </tr>
-        </table>
-
-        <p>
-          And then use <span class="APPLICATION">Privoxy's</span> <a href=
-          "../user-manual/config.html#PERMIT-ACCESS" target=
-          "_top">permit-access</a> feature to limit connections. A firewall
-          in this situation is recommended as well.
-        </p>
-        <p>
-          The above steps should be the same for any TCP network, regardless
-          of operating system.
-        </p>
-        <p>
-          If you run <span class="APPLICATION">Privoxy</span> on a LAN with
-          untrusted users, we recommend that you double-check the <a href=
-          "../user-manual/config.html#ACCESS-CONTROL" target="_top">access
-          control and security</a> options!
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="AEN531">3.13. Instead of ads, now I get a checkerboard
-          pattern. I don't want to see anything.</a>
-        </h3>
-        <p>
-          The replacement for blocked images can be controlled with the <a
-          href="../user-manual/actions-file.html#SET-IMAGE-BLOCKER" target=
-          "_top"><tt class="LITERAL">set-image-blocker</tt> action</a>. You
-          have the choice of a checkerboard pattern, a transparent 1x1 GIF
-          image (aka <span class="QUOTE">"blank"</span>), or a redirect to a
-          custom image of your choice. Note that this choice only has effect
-          for images which are blocked as images, i.e. whose URLs match both
-          a <tt class="LITERAL"><a href=
-          "../user-manual/actions-file.html#HANDLE-AS-IMAGE" target=
-          "_top">handle-as-image</a></tt> <span class="emphasis"><i class=
-          "EMPHASIS">and</i></span> <tt class="LITERAL"><a href=
-          "../user-manual/actions-file.html#BLOCK" target=
-          "_top">block</a></tt> action.
-        </p>
-        <p>
-          If you want to see nothing, then change the <a href=
-          "../user-manual/actions-file.html#SET-IMAGE-BLOCKER" target=
-          "_top"><tt class="LITERAL">set-image-blocker</tt> action</a> to
-          <span class="QUOTE">"blank"</span>. This can be done by editing the
-          <tt class="FILENAME">user.action</tt> file, or through the <a href=
-          "http://config.privoxy.org/show-status" target="_top">web-based
-          actions file editor</a>.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="AEN548">3.14. Why would anybody want to see a checkerboard
-          pattern?</a>
-        </h3>
-        <p>
-          Remember that <a href="general.html#WHATSANAD">telling which image
-          is an ad and which isn't</a>, is an educated guess. While we hope
-          that the standard configuration is rather smart, it will make
-          occasional mistakes. The checkerboard image is visually decent, and
-          it shows you where images have been blocked, which can be very
-          helpful in case some navigation aid or otherwise innocent image was
-          erroneously blocked. It is recommended for new users so they can
-          <span class="QUOTE">"see"</span> what is happening. Some people
-          might also enjoy seeing how many banners they <span class=
-          "emphasis"><i class="EMPHASIS">don't</i></span> have to see.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="AEN554">3.15. I see some images being replaced with text
-          instead of the checkerboard image. Why and how do I get rid of
-          this?</a>
-        </h3>
-        <p>
-          This happens when the banners are not embedded in the HTML code of
-          the page itself, but in separate HTML (sub)documents that are
-          loaded into (i)frames or (i)layers, and these external HTML
-          documents are blocked. Being non-images they get replaced by a
-          substitute HTML page rather than a substitute image, which wouldn't
-          work out technically, since the browser expects and accepts only
-          HTML when it has requested an HTML document.
-        </p>
-        <p>
-          The substitute page adapts to the available space and shows itself
-          as a miniature two-liner if loaded into small frames, or full-blown
-          with a large red "BLOCKED" banner if space allows.
-        </p>
-        <p>
-          If you prefer the banners to be blocked by images, you must see to
-          it that the HTML documents in which they are embedded are not
-          blocked. Clicking the <span class="QUOTE">"See why"</span> link
-          offered in the substitute page will show you which rule blocked the
-          page. After changing the rule and un-blocking the HTML documents,
-          the browser will try to load the actual banner images and the usual
-          image blocking will (hopefully!) kick in.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="SRVANY">3.16. Can Privoxy run as a service on
-          Win2K/NT/XP?</a>
-        </h3>
-        <p>
-          Yes. Version 3.0.5 introduces full <span class=
-          "APPLICATION">Windows</span> service functionality. See <a href=
-          "../user-manual/installation.html#installation-pack-win" target=
-          "_top">the <i class="CITETITLE">User Manual</i></a> for details on
-          how to install and configure <span class=
-          "APPLICATION">Privoxy</span> as a service.
-        </p>
-        <p>
-          Earlier 3.x versions could run as a system service using <b class=
-          "COMMAND">srvany.exe</b>. See the discussion at <a href=
-          "http://sourceforge.net/tracker/?func=detail&amp;atid=361118&amp;aid=485617&amp;group_id=11118"
-           target=
-          "_top">http://sourceforge.net/tracker/?func=detail&amp;atid=361118&amp;aid=485617&amp;group_id=11118</a>,
-          for details, and a sample configuration.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="OTHERPROXY">3.17. How can I make Privoxy work with other
-          proxies?</a>
-        </h3>
-        <p>
-          This can be done and is often useful to combine the benefits of
-          <span class="APPLICATION">Privoxy</span> with those of a another
-          proxy, for example to cache content. See the <a href=
-          "../user-manual/config.html#FORWARDING" target="_top">forwarding
-          chapter</a> in the <a href="../user-manual/index.html" target=
-          "_top">User Manual</a> which describes how to do this. If you
-          intend to use Privoxy with Tor, please also have a look at <a href=
-          "misc.html#TOR">How do I use Privoxy together with Tor</a>.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="PORT-80">3.18. Can I just set Privoxy to use port 80 and
-          thus avoid individual browser configuration?</a>
-        </h3>
-        <p>
-          No, its more complicated than that. This only works with special
-          kinds of proxies known as <span class="QUOTE">"intercepting"</span>
-          proxies (<a href="configuration.html#INTERCEPTING">see below</a>).
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="TRANSPARENT">3.19. Can Privoxy run as a <span class=
-          "QUOTE">"transparent"</span> proxy?</a>
-        </h3>
-        <p>
-          The whole idea of Privoxy is to modify client requests and server
-          responses in all sorts of ways and therefore it's not a transparent
-          proxy as described in <a href="http://tools.ietf.org/html/rfc2616"
-          target="_top">RFC 2616</a>.
-        </p>
-        <p>
-          However, some people say <span class="QUOTE">"transparent
-          proxy"</span> when they mean <span class="QUOTE">"intercepting
-          proxy"</span>. If you are one of them, please read the <a href=
-          "configuration.html#INTERCEPTING">next entry</a>.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="INTERCEPTING">3.20. Can Privoxy run as a <span class=
-          "QUOTE">"intercepting"</span> proxy?</a>
-        </h3>
-        <p>
-          <span class="APPLICATION">Privoxy</span> can't intercept traffic
-          itself, but it can handle requests that where intercepted and
-          redirected with a packet filter (like <span class=
-          "APPLICATION">PF</span> or <span class=
-          "APPLICATION">iptables</span>), as long as the <tt class=
-          "LITERAL">Host</tt> header is present.
-        </p>
-        <p>
-          As the <tt class="LITERAL">Host</tt> header is required by HTTP/1.1
-          and as most web sites rely on it anyway, this limitation shouldn't
-          be a problem.
-        </p>
-        <p>
-          Please refer to your packet filter's documentation to learn how to
-          intercept and redirect traffic into <span class=
-          "APPLICATION">Privoxy</span>. Afterward you just have to configure
-          <span class="APPLICATION">Privoxy</span> to <a href=
-          "../user-manual/config.html#ACCEPT-INTERCEPTED-REQUESTS" target=
-          "_top">accept intercepted requests</a>.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="OUTLOOK">3.21. How can I configure Privoxy for use with
-          Outlook?</a>
-        </h3>
-        <p>
-          Versions of <span class="APPLICATION">Outlook</span> prior to
-          Office 2007, use <span class="APPLICATION">Internet Explorer</span>
-          components to both render HTML, and fetch any HTTP requests that
-          may be embedded in an HTML email. So however you have <span class=
-          "APPLICATION">Privoxy</span> configured to work with IE, this
-          configuration should automatically be shared, at least with older
-          version of Internet Explorer.
-        </p>
-        <p>
-          Starting with Office 2007, Microsoft is instead using the MS-Word
-          rendering engine with Outlook. It is unknown whether this can be
-          configured to use a proxy.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="OUTLOOK-MORE">3.22. How can I have separate rules just for
-          HTML mail?</a>
-        </h3>
-        <p>
-          The short answer is, you can't. <span class=
-          "APPLICATION">Privoxy</span> has no way of knowing which particular
-          application makes a request, so there is no way to distinguish
-          between web pages and HTML mail. <span class=
-          "APPLICATION">Privoxy</span> just blindly proxies all requests. In
-          the case of <span class="APPLICATION">Outlook Express</span> (see
-          above), OE uses IE anyway, and there is no way for <span class=
-          "APPLICATION">Privoxy</span> to ever be able to distinguish between
-          them (nor could any other proxy type application for that matter).
-        </p>
-        <p>
-          For a good discussion of some of the issues involved (including
-          privacy and security issues), see <a href=
-          "http://sourceforge.net/tracker/?func=detail&amp;atid=211118&amp;aid=629518&amp;group_id=11118"
-           target=
-          "_top">http://sourceforge.net/tracker/?func=detail&amp;atid=211118&amp;aid=629518&amp;group_id=11118</a>.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="SNEAKY-COOKIES">3.23. I sometimes notice cookies sneaking
-          through. How?</a>
-        </h3>
-        <p>
-          <a href="http://en.wikipedia.org/wiki/Browser_cookie" target=
-          "_top">Cookies</a> can be set in several ways. The classic method
-          is via the <tt class="LITERAL">Set-Cookie</tt> HTTP header. This is
-          straightforward, and an easy one to manipulate, such as the <span
-          class="APPLICATION">Privoxy</span> concept of <a href=
-          "../user-manual/actions-file.html#SESSION-COOKIES-ONLY" target=
-          "_top">session-cookies-only</a>. There is also the possibility of
-          using <a href="http://en.wikipedia.org/wiki/Javascript" target=
-          "_top">Javascript</a> to set cookies (<span class=
-          "APPLICATION">Privoxy</span> calls these <tt class=
-          "LITERAL">content-cookies</tt>). This is trickier because the
-          syntax can vary widely, and thus requires a certain amount of
-          guesswork. It is not realistic to catch all of these short of
-          disabling Javascript, which would break many sites. And lastly, if
-          the cookies are embedded in a HTTPS/SSL secure session via
-          Javascript, they are beyond <span class=
-          "APPLICATION">Privoxy's</span> reach.
-        </p>
-        <p>
-          All in all, <span class="APPLICATION">Privoxy</span> can help
-          manage cookies in general, can help minimize the loss of privacy
-          posed by cookies, but can't realistically stop all cookies.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="EVIL-COOKIES">3.24. Are all cookies bad? Why?</a>
-        </h3>
-        <p>
-          No, in fact there are many beneficial uses of <a href=
-          "http://en.wikipedia.org/wiki/Browser_cookie" target=
-          "_top">cookies</a>. Cookies are just a method that browsers can use
-          to store data between pages, or between browser sessions. Sometimes
-          there is a good reason for this, and the user's life is a bit
-          easier as a result. But there is a long history of some websites
-          taking advantage of this layer of trust, and using the data they
-          glean from you and your browsing habits for their own purposes, and
-          maybe to your potential detriment. Such sites are using you and
-          storing their data on your system. That is why the privacy
-          conscious watch from whom those cookies come, and why they really
-          <span class="emphasis"><i class="EMPHASIS">need</i></span> to be
-          there.
-        </p>
-        <p>
-          See the <a href="http://en.wikipedia.org/wiki/Browser_cookie"
-          target="_top">Wikipedia cookie definition</a> for more.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="ALLOW-COOKIES">3.25. How can I allow permanent cookies for
-          my trusted sites?</a>
-        </h3>
-        <p>
-          There are several actions that relate to cookies. The default
-          behavior is to allow only <span class="QUOTE">"session
-          cookies"</span>, which means the cookies only last for the current
-          browser session. This eliminates most kinds of abuse related to
-          cookies. But there may be cases where you want cookies to last.
-        </p>
-        <p>
-          To disable all cookie actions, so that cookies are allowed
-          unrestricted, both in and out, for <tt class=
-          "LITERAL">example.com</tt>:
-        </p>
-        <p>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
+          </td>
+        </tr>
+      </table>
+
+      <p>And then use <span class="APPLICATION">Privoxy's</span> <a href=
+      "../user-manual/config.html#PERMIT-ACCESS" target=
+      "_top">permit-access</a> feature to limit connections. A firewall in
+      this situation is recommended as well.</p>
+
+      <p>The above steps should be the same for any TCP network, regardless
+      of operating system.</p>
+
+      <p>If you run <span class="APPLICATION">Privoxy</span> on a LAN with
+      untrusted users, we recommend that you double-check the <a href=
+      "../user-manual/config.html#ACCESS-CONTROL" target="_top">access
+      control and security</a> options!</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="AEN540" id="AEN540">3.13. Instead of ads,
+      now I get a checkerboard pattern. I don't want to see
+      anything.</a></h3>
+
+      <p>The replacement for blocked images can be controlled with the
+      <a href="../user-manual/actions-file.html#SET-IMAGE-BLOCKER" target=
+      "_top"><tt class="LITERAL">set-image-blocker</tt> action</a>. You have
+      the choice of a checkerboard pattern, a transparent 1x1 GIF image (aka
+      <span class="QUOTE">"blank"</span>), or a redirect to a custom image of
+      your choice. Note that this choice only has effect for images which are
+      blocked as images, i.e. whose URLs match both a <tt class=
+      "LITERAL"><a href="../user-manual/actions-file.html#HANDLE-AS-IMAGE"
+      target="_top">handle-as-image</a></tt> <span class=
+      "emphasis EMPHASIS c3">and</span> <tt class="LITERAL"><a href=
+      "../user-manual/actions-file.html#BLOCK" target="_top">block</a></tt>
+      action.</p>
+
+      <p>If you want to see nothing, then change the <a href=
+      "../user-manual/actions-file.html#SET-IMAGE-BLOCKER" target=
+      "_top"><tt class="LITERAL">set-image-blocker</tt> action</a> to
+      <span class="QUOTE">"blank"</span>. This can be done by editing the
+      <tt class="FILENAME">user.action</tt> file, or through the <a href=
+      "http://config.privoxy.org/show-status" target="_top">web-based actions
+      file editor</a>.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="AEN557" id="AEN557">3.14. Why would anybody
+      want to see a checkerboard pattern?</a></h3>
+
+      <p>Remember that <a href="general.html#WHATSANAD">telling which image
+      is an ad and which isn't</a>, is an educated guess. While we hope that
+      the standard configuration is rather smart, it will make occasional
+      mistakes. The checkerboard image is visually decent, and it shows you
+      where images have been blocked, which can be very helpful in case some
+      navigation aid or otherwise innocent image was erroneously blocked. It
+      is recommended for new users so they can <span class=
+      "QUOTE">"see"</span> what is happening. Some people might also enjoy
+      seeing how many banners they <span class=
+      "emphasis EMPHASIS c3">don't</span> have to see.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="AEN563" id="AEN563">3.15. I see some images
+      being replaced with text instead of the checkerboard image. Why and how
+      do I get rid of this?</a></h3>
+
+      <p>This happens when the banners are not embedded in the HTML code of
+      the page itself, but in separate HTML (sub)documents that are loaded
+      into (i)frames or (i)layers, and these external HTML documents are
+      blocked. Being non-images they get replaced by a substitute HTML page
+      rather than a substitute image, which wouldn't work out technically,
+      since the browser expects and accepts only HTML when it has requested
+      an HTML document.</p>
+
+      <p>The substitute page adapts to the available space and shows itself
+      as a miniature two-liner if loaded into small frames, or full-blown
+      with a large red "BLOCKED" banner if space allows.</p>
+
+      <p>If you prefer the banners to be blocked by images, you must see to
+      it that the HTML documents in which they are embedded are not blocked.
+      Clicking the <span class="QUOTE">"See why"</span> link offered in the
+      substitute page will show you which rule blocked the page. After
+      changing the rule and un-blocking the HTML documents, the browser will
+      try to load the actual banner images and the usual image blocking will
+      (hopefully!) kick in.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="SRVANY" id="SRVANY">3.16. Can Privoxy run as
+      a service on Win2K/NT/XP?</a></h3>
+
+      <p>Yes. Version 3.0.5 introduces full <span class=
+      "APPLICATION">Windows</span> service functionality. See <a href=
+      "../user-manual/installation.html#installation-pack-win" target=
+      "_top">the <i class="CITETITLE">User Manual</i></a> for details on how
+      to install and configure <span class="APPLICATION">Privoxy</span> as a
+      service.</p>
+
+      <p>Earlier 3.x versions could run as a system service using <b class=
+      "COMMAND">srvany.exe</b>. See the discussion at <a href=
+      "http://sourceforge.net/tracker/?func=detail&amp;atid=361118&amp;aid=485617&amp;group_id=11118"
+      target=
+      "_top">http://sourceforge.net/tracker/?func=detail&amp;atid=361118&amp;aid=485617&amp;group_id=11118</a>,
+      for details, and a sample configuration.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="OTHERPROXY" id="OTHERPROXY">3.17. How can I
+      make Privoxy work with other proxies?</a></h3>
+
+      <p>This can be done and is often useful to combine the benefits of
+      <span class="APPLICATION">Privoxy</span> with those of a another proxy,
+      for example to cache content. See the <a href=
+      "../user-manual/config.html#FORWARDING" target="_top">forwarding
+      chapter</a> in the <a href="../user-manual/index.html" target=
+      "_top">User Manual</a> which describes how to do this. If you intend to
+      use Privoxy with Tor, please also have a look at <a href=
+      "misc.html#TOR">How do I use Privoxy together with Tor</a>.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="PORT-80" id="PORT-80">3.18. Can I just set
+      Privoxy to use port 80 and thus avoid individual browser
+      configuration?</a></h3>
+
+      <p>No, its more complicated than that. This only works with special
+      kinds of proxies known as <span class="QUOTE">"intercepting"</span>
+      proxies (<a href="configuration.html#INTERCEPTING">see below</a>).</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="TRANSPARENT" id="TRANSPARENT">3.19. Can
+      Privoxy run as a <span class="QUOTE">"transparent"</span>
+      proxy?</a></h3>
+
+      <p>The whole idea of Privoxy is to modify client requests and server
+      responses in all sorts of ways and therefore it's not a transparent
+      proxy as described in <a href="http://tools.ietf.org/html/rfc2616"
+      target="_top">RFC 2616</a>.</p>
+
+      <p>However, some people say <span class="QUOTE">"transparent
+      proxy"</span> when they mean <span class="QUOTE">"intercepting
+      proxy"</span>. If you are one of them, please read the <a href=
+      "configuration.html#INTERCEPTING">next entry</a>.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="INTERCEPTING" id="INTERCEPTING">3.20. Can
+      Privoxy run as a <span class="QUOTE">"intercepting"</span>
+      proxy?</a></h3>
+
+      <p><span class="APPLICATION">Privoxy</span> can't intercept traffic
+      itself, but it can handle requests that where intercepted and
+      redirected with a packet filter (like <span class=
+      "APPLICATION">PF</span> or <span class="APPLICATION">iptables</span>),
+      as long as the <tt class="LITERAL">Host</tt> header is present.</p>
+
+      <p>As the <tt class="LITERAL">Host</tt> header is required by HTTP/1.1
+      and as most web sites rely on it anyway, this limitation shouldn't be a
+      problem.</p>
+
+      <p>Please refer to your packet filter's documentation to learn how to
+      intercept and redirect traffic into <span class=
+      "APPLICATION">Privoxy</span>. Afterward you just have to configure
+      <span class="APPLICATION">Privoxy</span> to <a href=
+      "../user-manual/config.html#ACCEPT-INTERCEPTED-REQUESTS" target=
+      "_top">accept intercepted requests</a>.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="OUTLOOK" id="OUTLOOK">3.21. How can I
+      configure Privoxy for use with Outlook?</a></h3>
+
+      <p>Versions of <span class="APPLICATION">Outlook</span> prior to Office
+      2007, use <span class="APPLICATION">Internet Explorer</span> components
+      to both render HTML, and fetch any HTTP requests that may be embedded
+      in an HTML email. So however you have <span class=
+      "APPLICATION">Privoxy</span> configured to work with IE, this
+      configuration should automatically be shared, at least with older
+      version of Internet Explorer.</p>
+
+      <p>Starting with Office 2007, Microsoft is instead using the MS-Word
+      rendering engine with Outlook. It is unknown whether this can be
+      configured to use a proxy.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="OUTLOOK-MORE" id="OUTLOOK-MORE">3.22. How
+      can I have separate rules just for HTML mail?</a></h3>
+
+      <p>The short answer is, you can't. <span class=
+      "APPLICATION">Privoxy</span> has no way of knowing which particular
+      application makes a request, so there is no way to distinguish between
+      web pages and HTML mail. <span class="APPLICATION">Privoxy</span> just
+      blindly proxies all requests. In the case of <span class=
+      "APPLICATION">Outlook Express</span> (see above), OE uses IE anyway,
+      and there is no way for <span class="APPLICATION">Privoxy</span> to
+      ever be able to distinguish between them (nor could any other proxy
+      type application for that matter).</p>
+
+      <p>For a good discussion of some of the issues involved (including
+      privacy and security issues), see <a href=
+      "http://sourceforge.net/tracker/?func=detail&amp;atid=211118&amp;aid=629518&amp;group_id=11118"
+      target=
+      "_top">http://sourceforge.net/tracker/?func=detail&amp;atid=211118&amp;aid=629518&amp;group_id=11118</a>.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="SNEAKY-COOKIES" id="SNEAKY-COOKIES">3.23. I
+      sometimes notice cookies sneaking through. How?</a></h3>
+
+      <p><a href="http://en.wikipedia.org/wiki/Browser_cookie" target=
+      "_top">Cookies</a> can be set in several ways. The classic method is
+      via the <tt class="LITERAL">Set-Cookie</tt> HTTP header. This is
+      straightforward, and an easy one to manipulate, such as the
+      <span class="APPLICATION">Privoxy</span> concept of <a href=
+      "../user-manual/actions-file.html#SESSION-COOKIES-ONLY" target=
+      "_top">session-cookies-only</a>. There is also the possibility of using
+      <a href="http://en.wikipedia.org/wiki/Javascript" target=
+      "_top">Javascript</a> to set cookies (<span class=
+      "APPLICATION">Privoxy</span> calls these <tt class=
+      "LITERAL">content-cookies</tt>). This is trickier because the syntax
+      can vary widely, and thus requires a certain amount of guesswork. It is
+      not realistic to catch all of these short of disabling Javascript,
+      which would break many sites. And lastly, if the cookies are embedded
+      in a HTTPS/SSL secure session via Javascript, they are beyond
+      <span class="APPLICATION">Privoxy's</span> reach.</p>
+
+      <p>All in all, <span class="APPLICATION">Privoxy</span> can help manage
+      cookies in general, can help minimize the loss of privacy posed by
+      cookies, but can't realistically stop all cookies.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="EVIL-COOKIES" id="EVIL-COOKIES">3.24. Are
+      all cookies bad? Why?</a></h3>
+
+      <p>No, in fact there are many beneficial uses of <a href=
+      "http://en.wikipedia.org/wiki/Browser_cookie" target=
+      "_top">cookies</a>. Cookies are just a method that browsers can use to
+      store data between pages, or between browser sessions. Sometimes there
+      is a good reason for this, and the user's life is a bit easier as a
+      result. But there is a long history of some websites taking advantage
+      of this layer of trust, and using the data they glean from you and your
+      browsing habits for their own purposes, and maybe to your potential
+      detriment. Such sites are using you and storing their data on your
+      system. That is why the privacy conscious watch from whom those cookies
+      come, and why they really <span class=
+      "emphasis EMPHASIS c3">need</span> to be there.</p>
+
+      <p>See the <a href="http://en.wikipedia.org/wiki/Browser_cookie"
+      target="_top">Wikipedia cookie definition</a> for more.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="ALLOW-COOKIES" id="ALLOW-COOKIES">3.25. How
+      can I allow permanent cookies for my trusted sites?</a></h3>
+
+      <p>There are several actions that relate to cookies. The default
+      behavior is to allow only <span class="QUOTE">"session cookies"</span>,
+      which means the cookies only last for the current browser session. This
+      eliminates most kinds of abuse related to cookies. But there may be
+      cases where you want cookies to last.</p>
+
+      <p>To disable all cookie actions, so that cookies are allowed
+      unrestricted, both in and out, for <tt class=
+      "LITERAL">example.com</tt>:</p>
+
+      <table class="c2" border="0" width="100%">
+        <tr>
+          <td>
+            <pre class="SCREEN">
  { -crunch-incoming-cookies -crunch-outgoing-cookies -session-cookies-only -filter{content-cookies} }
   .example.com
 </pre>
-            </td>
-          </tr>
-        </table>
-
-        <p>
-          Place the above in <tt class="FILENAME">user.action</tt>. Note that
-          some of these may be off by default anyway, so this might be
-          redundant, but there is no harm being explicit in what you want to
-          happen. <tt class="FILENAME">user.action</tt> includes an alias for
-          this situation, called <tt class="LITERAL">allow-all-cookies</tt>.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="MULTIPLES">3.26. Can I have separate configurations for
-          different users?</a>
-        </h3>
-        <p>
-          Each instance of <span class="APPLICATION">Privoxy</span> has its
-          own configuration, including such attributes as the TCP port that
-          it listens on. What you can do is run multiple instances of <span
-          class="APPLICATION">Privoxy</span>, each with a unique <a href=
-          "../user-manual/config.html#LISTEN-ADDRESS" target=
-          "_top">listen-address</a> configuration setting, and configuration
-          path, and then each of these can have their own configurations.
-          Think of it as per-port configuration.
-        </p>
-        <p>
-          Simple enough for a few users, but for large installations,
-          consider having groups of users that might share like
-          configurations.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="WHITELISTS">3.27. Can I set-up Privoxy as a whitelist of
-          <span class="QUOTE">"good"</span> sites?</a>
-        </h3>
-        <p>
-          Sure. There are a couple of things you can do for simple
-          white-listing. Here's one real easy one:
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
+          </td>
+        </tr>
+      </table>
+
+      <p>Place the above in <tt class="FILENAME">user.action</tt>. Note that
+      some of these may be off by default anyway, so this might be redundant,
+      but there is no harm being explicit in what you want to happen.
+      <tt class="FILENAME">user.action</tt> includes an alias for this
+      situation, called <tt class="LITERAL">allow-all-cookies</tt>.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="MULTIPLES" id="MULTIPLES">3.26. Can I have
+      separate configurations for different users?</a></h3>
+
+      <p>Each instance of <span class="APPLICATION">Privoxy</span> has its
+      own configuration, including such attributes as the TCP port that it
+      listens on. What you can do is run multiple instances of <span class=
+      "APPLICATION">Privoxy</span>, each with a unique <a href=
+      "../user-manual/config.html#LISTEN-ADDRESS" target=
+      "_top">listen-address</a> configuration setting, and configuration
+      path, and then each of these can have their own configurations. Think
+      of it as per-port configuration.</p>
+
+      <p>Simple enough for a few users, but for large installations, consider
+      having groups of users that might share like configurations.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="WHITELISTS" id="WHITELISTS">3.27. Can I
+      set-up Privoxy as a whitelist of <span class="QUOTE">"good"</span>
+      sites?</a></h3>
+
+      <p>Sure. There are a couple of things you can do for simple
+      white-listing. Here's one real easy one:</p>
+
+      <table class="c2" border="0" width="100%">
+        <tr>
+          <td>
+            <pre class="SCREEN">
  ############################################################
  # Blacklist
  ############################################################
@@ -825,83 +727,71 @@ Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
   toys.example.com
   games.example.com
 </pre>
-            </td>
-          </tr>
-        </table>
-        <p>
-          This allows access to only those three sites by first blocking all
-          URLs, and then subsequently allowing three specific exceptions.
-        </p>
-        <p>
-          Another approach is <span class="APPLICATION">Privoxy's</span> <tt
-          class="LITERAL">trustfile</tt> concept, which incorporates the
-          notion of <span class="QUOTE">"trusted referrers"</span>. See the
-          <a href="../user-manual/config.html#TRUSTFILE" target="_top">Trust
-          documentation</a> for details.
-        </p>
-        <p>
-          These are fairly simple approaches and are not completely
-          foolproof. There are various other configuration options that
-          should be disabled (described elsewhere here and in <a href=
-          "../user-manual/" target="_top">the User Manual</a>) so that users
-          can't modify their own configuration and easily circumvent the
-          whitelist.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="NO-ADBLOCK">3.28. How can I turn off ad-blocking?</a>
-        </h3>
-        <p>
-          Ad blocking is achieved through a complex application of various
-          <span class="APPLICATION">Privoxy</span> <a href=
-          "../user-manual/actions-file.html" target="_top">actions</a>. These
-          actions are deployed against simple images, banners, flash
-          animations, text pages, JavaScript, pop-ups and pop-unders, etc.,
-          so its not as simple as just turning one or two actions off. The
-          various actions that make up <span class=
-          "APPLICATION">Privoxy</span> ad blocking are hard-coded into the
-          default configuration files. It has been assumed that everyone
-          using <span class="APPLICATION">Privoxy</span> is interested in
-          this particular feature.
-        </p>
-        <p>
-          If you want to do without this, there are several approaches you
-          can take: You can manually undo the many block rules in <tt class=
-          "FILENAME">default.action</tt>. Or even easier, just create your
-          own <tt class="FILENAME">default.action</tt> file from scratch
-          without the many ad blocking rules, and corresponding exceptions.
-          Or lastly, if you are not concerned about the additional blocks
-          that are done for privacy reasons, you can very easily over-ride
-          <span class="emphasis"><i class="EMPHASIS">all</i></span> blocking
-          with the following very simple rule in your <tt class=
-          "FILENAME">user.action</tt>:
-        </p>
-        <p>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
+          </td>
+        </tr>
+      </table>
+
+      <p>This allows access to only those three sites by first blocking all
+      URLs, and then subsequently allowing three specific exceptions.</p>
+
+      <p>Another approach is <span class="APPLICATION">Privoxy's</span>
+      <tt class="LITERAL">trustfile</tt> concept, which incorporates the
+      notion of <span class="QUOTE">"trusted referrers"</span>. See the
+      <a href="../user-manual/config.html#TRUSTFILE" target="_top">Trust
+      documentation</a> for details.</p>
+
+      <p>These are fairly simple approaches and are not completely foolproof.
+      There are various other configuration options that should be disabled
+      (described elsewhere here and in <a href="../user-manual/" target=
+      "_top">the User Manual</a>) so that users can't modify their own
+      configuration and easily circumvent the whitelist.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="NO-ADBLOCK" id="NO-ADBLOCK">3.28. How can I
+      turn off ad-blocking?</a></h3>
+
+      <p>Ad blocking is achieved through a complex application of various
+      <span class="APPLICATION">Privoxy</span> <a href=
+      "../user-manual/actions-file.html" target="_top">actions</a>. These
+      actions are deployed against simple images, banners, flash animations,
+      text pages, JavaScript, pop-ups and pop-unders, etc., so its not as
+      simple as just turning one or two actions off. The various actions that
+      make up <span class="APPLICATION">Privoxy</span> ad blocking are
+      hard-coded into the default configuration files. It has been assumed
+      that everyone using <span class="APPLICATION">Privoxy</span> is
+      interested in this particular feature.</p>
+
+      <p>If you want to do without this, there are several approaches you can
+      take: You can manually undo the many block rules in <tt class=
+      "FILENAME">default.action</tt>. Or even easier, just create your own
+      <tt class="FILENAME">default.action</tt> file from scratch without the
+      many ad blocking rules, and corresponding exceptions. Or lastly, if you
+      are not concerned about the additional blocks that are done for privacy
+      reasons, you can very easily over-ride <span class=
+      "emphasis EMPHASIS c3">all</span> blocking with the following very
+      simple rule in your <tt class="FILENAME">user.action</tt>:</p>
+
+      <table class="c2" border="0" width="100%">
+        <tr>
+          <td>
+            <pre class="SCREEN">
  # Unblock everybody, everywhere
  { <a href="../user-manual/actions-file.html#BLOCK" target=
 "_top">-block</a> }
  / # UN-Block *all* URLs
 </pre>
-            </td>
-          </tr>
-        </table>
-
-        <p>
-          Or even a more comprehensive reversing of various ad related
-          actions:
-        </p>
-        <p>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
+          </td>
+        </tr>
+      </table>
+
+      <p>Or even a more comprehensive reversing of various ad related
+      actions:</p>
+
+      <table class="c2" border="0" width="100%">
+        <tr>
+          <td>
+            <pre class="SCREEN">
  # Unblock everybody, everywhere, and turn off appropriate filtering, etc
  { <a href="../user-manual/actions-file.html#BLOCK" target=
 "_top">-block</a> \
@@ -913,115 +803,98 @@ Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
  }
  / # UN-Block *all* URLs and allow ads
 </pre>
-            </td>
-          </tr>
-        </table>
-
-        <p>
-          This last <span class="QUOTE">"action"</span> in this compound
-          statement, <tt class="LITERAL">allow-popups</tt>, is an <a href=
-          "../user-manual/actions-file.html#ALIASES" target="_top">alias</a>
-          that disables various pop-up blocking features.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="TEMPLATES">3.29. How can I have custom template pages,
-          like the <span class="emphasis"><i class=
-          "EMPHASIS">BLOCKED</i></span> page?</a>
-        </h3>
-        <p>
-          <span class="APPLICATION">Privoxy</span> <span class=
-          "QUOTE">"templates"</span> are specialized text files utilized by
-          <span class="APPLICATION">Privoxy</span> for various purposes and
-          can easily be modified using any text editor. All the template
-          pages are installed in a sub-directory appropriately named: <tt
-          class="FILENAME">templates</tt>. Knowing something about HTML
-          syntax will of course be helpful.
-        </p>
-        <p>
-          Be forewarned that the default templates are subject to being
-          overwritten during upgrades. You can, however, create completely
-          new templates, place them in another directory and specify the
-          alternate path in the main <tt class="FILENAME">config</tt>. For
-          details, have a look at the <a href=
-          "../user-manual/config.html#templdir" target="_top">templdir</a>
-          option.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="BLOCKALL">3.30. How can I remove the <span class=
-          "QUOTE">"Go There Anyway"</span> link from the <span class=
-          "emphasis"><i class="EMPHASIS">BLOCKED</i></span> page?</a>
-        </h3>
-        <p>
-          There is more than one way to do it (although Perl is not
-          involved).
-        </p>
-        <p>
-          Editing the BLOCKED template page (see above) may dissuade some
-          users, but this method is easily circumvented. Where you need this
-          level of control, you might want to build <span class=
-          "APPLICATION">Privoxy</span> from source, and disable various
-          features that are available as compile-time options. You should <b
-          class="COMMAND">configure</b> the sources as follows:
-        </p>
-        <p>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
- ./configure  --disable-toggle  --disable-editor  --disable-force
-</pre>
-            </td>
-          </tr>
-        </table>
-
-        <p>
-          This will create an executable with hard-coded security features so
-          that <span class="APPLICATION">Privoxy</span> does not allow easy
-          bypassing of blocked sites, or changing the current configuration
-          via any connected user's web browser.
-        </p>
-        <p>
-          Finally, all of these features can also be toggled on/off via
-          options in <span class="APPLICATION">Privoxy's</span> main <a href=
-          "../user-manual/config.html#ACCESS-CONTROL" target=
-          "_top">config</a> file which means you don't have to recompile
-          anything.
-        </p>
-      </div>
-    </div>
-    <div class="NAVFOOTER">
-      <hr width="100%" class="c1">
-      <table summary="Footer navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <td width="33%" align="left" valign="top">
-            <a href="installation.html" accesskey="P">Prev</a>
-          </td>
-          <td width="34%" align="center" valign="top">
-            <a href="index.html" accesskey="H">Home</a>
-          </td>
-          <td width="33%" align="right" valign="top">
-            <a href="misc.html" accesskey="N">Next</a>
           </td>
         </tr>
+      </table>
+
+      <p>This last <span class="QUOTE">"action"</span> in this compound
+      statement, <tt class="LITERAL">allow-popups</tt>, is an <a href=
+      "../user-manual/actions-file.html#ALIASES" target="_top">alias</a> that
+      disables various pop-up blocking features.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="TEMPLATES" id="TEMPLATES">3.29. How can I
+      have custom template pages, like the <span class=
+      "emphasis EMPHASIS c3">BLOCKED</span> page?</a></h3>
+
+      <p><span class="APPLICATION">Privoxy</span> <span class=
+      "QUOTE">"templates"</span> are specialized text files utilized by
+      <span class="APPLICATION">Privoxy</span> for various purposes and can
+      easily be modified using any text editor. All the template pages are
+      installed in a sub-directory appropriately named: <tt class=
+      "FILENAME">templates</tt>. Knowing something about HTML syntax will of
+      course be helpful.</p>
+
+      <p>Be forewarned that the default templates are subject to being
+      overwritten during upgrades. You can, however, create completely new
+      templates, place them in another directory and specify the alternate
+      path in the main <tt class="FILENAME">config</tt>. For details, have a
+      look at the <a href="../user-manual/config.html#templdir" target=
+      "_top">templdir</a> option.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="BLOCKALL" id="BLOCKALL">3.30. How can I
+      remove the <span class="QUOTE">"Go There Anyway"</span> link from the
+      <span class="emphasis EMPHASIS c3">BLOCKED</span> page?</a></h3>
+
+      <p>There is more than one way to do it (although Perl is not
+      involved).</p>
+
+      <p>Editing the BLOCKED template page (see above) may dissuade some
+      users, but this method is easily circumvented. Where you need this
+      level of control, you might want to build <span class=
+      "APPLICATION">Privoxy</span> from source, and disable various features
+      that are available as compile-time options. You should <b class=
+      "COMMAND">configure</b> the sources as follows:</p>
+
+      <table class="c2" border="0" width="100%">
         <tr>
-          <td width="33%" align="left" valign="top">
-            Installation
-          </td>
-          <td width="34%" align="center" valign="top">
-            &nbsp;
-          </td>
-          <td width="33%" align="right" valign="top">
-            Miscellaneous
+          <td>
+            <pre class="SCREEN">
+ ./configure  --disable-toggle  --disable-editor  --disable-force
+</pre>
           </td>
         </tr>
       </table>
+
+      <p>This will create an executable with hard-coded security features so
+      that <span class="APPLICATION">Privoxy</span> does not allow easy
+      bypassing of blocked sites, or changing the current configuration via
+      any connected user's web browser.</p>
+
+      <p>Finally, all of these features can also be toggled on/off via
+      options in <span class="APPLICATION">Privoxy's</span> main <a href=
+      "../user-manual/config.html#ACCESS-CONTROL" target="_top">config</a>
+      file which means you don't have to recompile anything.</p>
     </div>
-  </body>
-</html>
+  </div>
+
+  <div class="NAVFOOTER">
+    <hr class="c1" width="100%">
 
+    <table summary="Footer navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <td width="33%" align="left" valign="top"><a href="installation.html"
+        accesskey="P">Prev</a></td>
+
+        <td width="34%" align="center" valign="top"><a href="index.html"
+        accesskey="H">Home</a></td>
+
+        <td width="33%" align="right" valign="top"><a href="misc.html"
+        accesskey="N">Next</a></td>
+      </tr>
+
+      <tr>
+        <td width="33%" align="left" valign="top">Installation</td>
+
+        <td width="34%" align="center" valign="top">&nbsp;</td>
+
+        <td width="33%" align="right" valign="top">Miscellaneous</td>
+      </tr>
+    </table>
+  </div>
+</body>
+</html>
index 5ae45f2..ccb3f42 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
-Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+
 <html>
-  <head>
-    <meta name="generator" content="HTML Tidy, see www.w3.org">
-    <title>
-      Contacting the developers, Bug Reporting and Feature Requests
-    </title>
-    <meta name="GENERATOR" content=
-    "Modular DocBook HTML Stylesheet Version 1.79">
-    <link rel="HOME" title="Privoxy Frequently Asked Questions" href=
-    "index.html">
-    <link rel="PREVIOUS" title="Troubleshooting" href="trouble.html">
-    <link rel="NEXT" title="Privoxy Copyright, License and History" href=
-    "copyright.html">
-    <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
-    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<style type="text/css">
- body {
+<head>
+  <meta name="generator" content=
+  "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
+
+  <title>Contacting the developers, Bug Reporting and Feature
+  Requests</title>
+  <meta name="GENERATOR" content=
+  "Modular DocBook HTML Stylesheet Version 1.79">
+  <link rel="HOME" title="Privoxy Frequently Asked Questions" href=
+  "index.html">
+  <link rel="PREVIOUS" title="Troubleshooting" href="trouble.html">
+  <link rel="NEXT" title="Privoxy Copyright, License and History" href=
+  "copyright.html">
+  <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
+  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+  <style type="text/css">
+body {
   background-color: #EEEEEE;
   color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- hr.c1 {text-align: left}
-</style>
-  </head>
-  <body class="SECT1">
-    <div class="NAVHEADER">
-      <table summary="Header navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <th colspan="3" align="center">
-            Privoxy Frequently Asked Questions
-          </th>
-        </tr>
-        <tr>
-          <td width="10%" align="left" valign="bottom">
-            <a href="trouble.html" accesskey="P">Prev</a>
-          </td>
-          <td width="80%" align="center" valign="bottom">
-          </td>
-          <td width="10%" align="right" valign="bottom">
-            <a href="copyright.html" accesskey="N">Next</a>
-          </td>
-        </tr>
-      </table>
-      <hr width="100%" class="c1">
+  }
+  :link { color: #0000FF }
+  :visited { color: #840084 }
+  :active { color: #0000FF }
+  span.c2 {font-style: italic}
+  hr.c1 {text-align: left}
+  </style>
+</head>
+
+<body class="SECT1">
+  <div class="NAVHEADER">
+    <table summary="Header navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <th colspan="3" align="center">Privoxy Frequently Asked
+        Questions</th>
+      </tr>
+
+      <tr>
+        <td width="10%" align="left" valign="bottom"><a href="trouble.html"
+        accesskey="P">Prev</a></td>
+
+        <td width="80%" align="center" valign="bottom"></td>
+
+        <td width="10%" align="right" valign="bottom"><a href=
+        "copyright.html" accesskey="N">Next</a></td>
+      </tr>
+    </table>
+    <hr class="c1" width="100%">
+  </div>
+
+  <div class="SECT1">
+    <h1 class="SECT1"><a name="CONTACT" id="CONTACT">6. Contacting the
+    developers, Bug Reporting and Feature Requests</a></h1>
+
+    <p>We value your feedback. In fact, we rely on it to improve <span class=
+    "APPLICATION">Privoxy</span> and its configuration. However, please note
+    the following hints, so we can provide you with the best support:</p>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="CONTACT-SUPPORT" id="CONTACT-SUPPORT">6.1.
+      Get Support</a></h2>
+
+      <p>For casual users, our <a href=
+      "http://sourceforge.net/tracker/?group_id=11118&amp;atid=211118"
+      target="_top">support forum at SourceForge</a> is probably best suited:
+      <a href=
+      "http://sourceforge.net/tracker/?group_id=11118&amp;atid=211118"
+      target="_top">http://sourceforge.net/tracker/?group_id=11118&amp;atid=211118</a></p>
+
+      <p>All users are of course welcome to discuss their issues on the
+      <a href="http://lists.sourceforge.net/lists/listinfo/ijbswa-users"
+      target="_top">users mailing list</a>, where the developers also hang
+      around.</p>
+
+      <p>Please don't sent private support requests to individual Privoxy
+      developers, either use the mailing lists or the support trackers.</p>
+
+      <p>If you have to contact a Privoxy developer directly for other
+      reasons, please send a real mail and do not bother with SourceForge's
+      messaging system. Answers to SourceForge messages are usually bounced
+      by SourceForge's mail server in which case the developer wasted time
+      writing a response you don't get. From your point of view it will look
+      like your message has been completely ignored, so this is frustrating
+      for all parties involved.</p>
+
+      <p>Note that the Privoxy mailing lists are moderated. Posts from
+      unsubscribed addresses have to be accepted manually by a moderator.
+      This may cause a delay of several days and if you use a subject that
+      doesn't clearly mention Privoxy or one of its features, your message
+      may be accidentally discarded as spam.</p>
+
+      <p>If you aren't subscribed, you should therefore spend a few seconds
+      to come up with a proper subject. Additionally you should make it clear
+      that you want to get CC'd. Otherwise some responses will be directed to
+      the mailing list only, and you won't see them.</p>
     </div>
-    <div class="SECT1">
-      <h1 class="SECT1">
-        <a name="CONTACT">6. Contacting the developers, Bug Reporting and
-        Feature Requests</a>
-      </h1>
-      <p>
-        We value your feedback. In fact, we rely on it to improve <span
-        class="APPLICATION">Privoxy</span> and its configuration. However,
-        please note the following hints, so we can provide you with the best
-        support:
-      </p>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="CONTACT-SUPPORT">6.1. Get Support</a>
-        </h2>
-        <p>
-          For casual users, our <a href=
-          "http://sourceforge.net/tracker/?group_id=11118&amp;atid=211118"
-          target="_top">support forum at SourceForge</a> is probably best
-          suited: <a href=
-          "http://sourceforge.net/tracker/?group_id=11118&amp;atid=211118"
-          target=
-          "_top">http://sourceforge.net/tracker/?group_id=11118&amp;atid=211118</a>
-        </p>
-        <p>
-          All users are of course welcome to discuss their issues on the <a
-          href="http://lists.sourceforge.net/lists/listinfo/ijbswa-users"
-          target="_top">users mailing list</a>, where the developers also
-          hang around.
-        </p>
-        <p>
-          Please don't sent private support requests to individual Privoxy
-          developers, either use the mailing lists or the support trackers.
-        </p>
-        <p>
-          If you have to contact a Privoxy developer directly for other
-          reasons, please send a real mail and do not bother with
-          SourceForge's messaging system. Answers to SourceForge messages are
-          usually bounced by SourceForge's mail server in which case the
-          developer wasted time writing a response you don't get. From your
-          point of view it will look like your message has been completely
-          ignored, so this is frustrating for all parties involved.
-        </p>
-        <p>
-          Note that the Privoxy mailing lists are moderated. Posts from
-          unsubscribed addresses have to be accepted manually by a moderator.
-          This may cause a delay of several days and if you use a subject
-          that doesn't clearly mention Privoxy or one of its features, your
-          message may be accidentally discarded as spam.
-        </p>
-        <p>
-          If you aren't subscribed, you should therefore spend a few seconds
-          to come up with a proper subject. Additionally you should make it
-          clear that you want to get CC'd. Otherwise some responses will be
-          directed to the mailing list only, and you won't see them.
-        </p>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="REPORTING" id="REPORTING">6.2. Reporting
+      Problems</a></h2>
+
+      <p><span class="QUOTE">"Problems"</span> for our purposes, come in two
+      forms:</p>
+
+      <ul>
+        <li>
+          <p>Configuration issues, such as ads that slip through, or sites
+          that don't function properly due to one <span class=
+          "APPLICATION">Privoxy</span> <span class="QUOTE">"action"</span> or
+          another being turned <span class="QUOTE">"on"</span>.</p>
+        </li>
+
+        <li>
+          <p><span class="QUOTE">"Bugs"</span> in the programming code that
+          makes up <span class="APPLICATION">Privoxy</span>, such as that
+          might cause a crash.</p>
+        </li>
+      </ul>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="CONTACT-ADS" id="CONTACT-ADS">6.2.1.
+        Reporting Ads or Other Configuration Problems</a></h3>
+
+        <p>Please send feedback on ads that slipped through, innocent images
+        that were blocked, sites that don't work properly, and other
+        configuration related problem of <tt class=
+        "FILENAME">default.action</tt> file, to <a href=
+        "http://sourceforge.net/tracker/?group_id=11118&amp;atid=460288"
+        target=
+        "_top">http://sourceforge.net/tracker/?group_id=11118&amp;atid=460288</a>,
+        the Actions File Tracker.</p>
+
+        <p>New, improved <tt class="FILENAME">default.action</tt> files may
+        occasionally be made available based on your feedback. These will be
+        announced on the <a href=
+        "http://lists.sourceforge.net/lists/listinfo/ijbswa-announce" target=
+        "_top">ijbswa-announce</a> list and available from our the <a href=
+        "http://sourceforge.net/project/showfiles.php?group_id=11118" target=
+        "_top">files section</a> of our <a href=
+        "http://sf.net/projects/ijbswa/" target="_top">project page</a>.</p>
       </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="REPORTING">6.2. Reporting Problems</a>
-        </h2>
-        <p>
-          <span class="QUOTE">"Problems"</span> for our purposes, come in two
-          forms:
-        </p>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="CONTACT-BUGS" id="CONTACT-BUGS">6.2.2.
+        Reporting Bugs</a></h3>
+
+        <p>Please report all bugs through our bug tracker: <a href=
+        "http://sourceforge.net/tracker/?group_id=11118&amp;atid=111118"
+        target=
+        "_top">http://sourceforge.net/tracker/?group_id=11118&amp;atid=111118</a>.</p>
+
+        <p>Before doing so, please make sure that the bug has <span class=
+        "emphasis EMPHASIS c2">not already been submitted</span> and observe
+        the additional hints at the top of the <a href=
+        "http://sourceforge.net/tracker/?func=add&amp;group_id=11118&amp;atid=111118"
+        target="_top">submit form</a>. If already submitted, please feel free
+        to add any info to the original report that might help to solve the
+        issue.</p>
+
+        <p>Please try to verify that it is a <span class=
+        "APPLICATION">Privoxy</span> bug, and not a browser or site bug or
+        documented behaviour that just happens to be different than what you
+        expected. If unsure, try <a href=
+        "http://config.privoxy.org/toggle?set=disable" target="_top">toggling
+        off</a> <span class="APPLICATION">Privoxy</span>, and see if the
+        problem persists.</p>
+
+        <p>If you are using your own custom configuration, please try the
+        stock configs to see if the problem is configuration related. If
+        you're having problems with a feature that is disabled by default,
+        please ask around on the mailing list if others can reproduce the
+        problem.</p>
+
+        <p>If you aren't using the latest Privoxy version, the bug may have
+        been found and fixed in the meantime. We would appreciate if you
+        could take the time to <a href=
+        "http://www.privoxy.org/user-manual/installation.html" target=
+        "_top">upgrade to the latest version</a> (or even the latest CVS
+        snapshot) and verify that your bug still exists.</p>
+
+        <p>Please be sure to provide the following information:</p>
+
         <ul>
           <li>
-            <p>
-              Configuration issues, such as ads that slip through, or sites
-              that don't function properly due to one <span class=
-              "APPLICATION">Privoxy</span> <span class=
-              "QUOTE">"action"</span> or another being turned <span class=
-              "QUOTE">"on"</span>.
-            </p>
+            <p>The exact <span class="APPLICATION">Privoxy</span> version you
+            are using (if you got the source from CVS, please also provide
+            the source code revisions as shown in <a href=
+            "http://config.privoxy.org/show-version" target=
+            "_top">http://config.privoxy.org/show-version</a>).</p>
+          </li>
+
+          <li>
+            <p>The operating system and versions you run <span class=
+            "APPLICATION">Privoxy</span> on, (e.g. <span class=
+            "APPLICATION">Windows XP SP2</span>), if you are using a Unix
+            flavor, sending the output of <span class="QUOTE">"uname
+            -a"</span> should do, in case of GNU/Linux, please also name the
+            distribution.</p>
+          </li>
+
+          <li>
+            <p>The name, platform, and version of the <span class=
+            "APPLICATION">browser</span> you were using (e.g. <span class=
+            "APPLICATION">Internet Explorer v5.5</span> for Mac).</p>
+          </li>
+
+          <li>
+            <p>The URL where the problem occurred, or some way for us to
+            duplicate the problem (e.g. <tt class=
+            "LITERAL">http://somesite.example.com/?somethingelse=123</tt>).</p>
+          </li>
+
+          <li>
+            <p>Whether your version of <span class=
+            "APPLICATION">Privoxy</span> is one supplied by the <span class=
+            "APPLICATION">Privoxy</span> developers via SourceForge, or if
+            you got your copy somewhere else.</p>
+          </li>
+
+          <li>
+            <p>Whether you are using <span class="APPLICATION">Privoxy</span>
+            in tandem with another proxy such as <span class=
+            "APPLICATION">Tor</span>. If so, please temporary disable the
+            other proxy to see if the symptoms change.</p>
           </li>
+
           <li>
-            <p>
-              <span class="QUOTE">"Bugs"</span> in the programming code that
-              makes up <span class="APPLICATION">Privoxy</span>, such as that
-              might cause a crash.
-            </p>
+            <p>Whether you are using a personal firewall product. If so, does
+            <span class="APPLICATION">Privoxy</span> work without it?</p>
+          </li>
+
+          <li>
+            <p>Any other pertinent information to help identify the problem
+            such as config or log file excerpts (yes, you should have log
+            file entries for each action taken). To get a meaningful logfile,
+            please make sure that the <a href=
+            "../user-manual/config.html#LOGFILE" target="_top">logfile
+            directive</a> is being used and the following <a href=
+            "../user-manual/config.html#DEBUG" target="_top">debug
+            options</a> are enabled:</p>
+
+            <p class="LITERALLAYOUT">
+            debug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;#&nbsp;Log&nbsp;the&nbsp;destination&nbsp;for&nbsp;each&nbsp;request&nbsp;Privoxy&nbsp;let&nbsp;through.&nbsp;See&nbsp;also&nbsp;debug&nbsp;1024.<br>
+
+            debug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;#&nbsp;show&nbsp;each&nbsp;connection&nbsp;status<br>
+
+            debug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;#&nbsp;show&nbsp;I/O&nbsp;status<br>
+
+            debug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;#&nbsp;show&nbsp;header&nbsp;parsing<br>
+
+            debug&nbsp;&nbsp;&nbsp;128&nbsp;#&nbsp;debug&nbsp;redirects<br>
+            debug&nbsp;&nbsp;&nbsp;256&nbsp;#&nbsp;debug&nbsp;GIF&nbsp;de-animation<br>
+
+            debug&nbsp;&nbsp;&nbsp;512&nbsp;#&nbsp;Common&nbsp;Log&nbsp;Format<br>
+
+            debug&nbsp;&nbsp;1024&nbsp;#&nbsp;Log&nbsp;the&nbsp;destination&nbsp;for&nbsp;requests&nbsp;Privoxy&nbsp;didn't&nbsp;let&nbsp;through,&nbsp;and&nbsp;the&nbsp;reason&nbsp;why.<br>
+
+            debug&nbsp;&nbsp;4096&nbsp;#&nbsp;Startup&nbsp;banner&nbsp;and&nbsp;warnings.<br>
+
+            debug&nbsp;&nbsp;8192&nbsp;#&nbsp;Non-fatal&nbsp;errors</p>If you
+            are having trouble with a filter, please additionally enable
+
+            <p class="LITERALLAYOUT">
+            debug&nbsp;&nbsp;&nbsp;&nbsp;64&nbsp;#&nbsp;debug&nbsp;regular&nbsp;expression&nbsp;filters</p>If
+            you are using Privoxy 3.0.17 or later and suspect that it
+            interprets the request or the response incorrectly, please enable
+
+            <p class="LITERALLAYOUT">
+            debug&nbsp;32768&nbsp;#&nbsp;log&nbsp;all&nbsp;data&nbsp;read&nbsp;from&nbsp;the&nbsp;network</p>Note
+            that Privoxy log files may contain sensitive information so
+            please don't submit any logfiles you didn't read first. You can
+            mask sensitive information as long as it's clear that you removed
+            something.
           </li>
         </ul>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="CONTACT-ADS">6.2.1. Reporting Ads or Other Configuration
-            Problems</a>
-          </h3>
-          <p>
-            Please send feedback on ads that slipped through, innocent images
-            that were blocked, sites that don't work properly, and other
-            configuration related problem of <tt class=
-            "FILENAME">default.action</tt> file, to <a href=
-            "http://sourceforge.net/tracker/?group_id=11118&amp;atid=460288"
-            target=
-            "_top">http://sourceforge.net/tracker/?group_id=11118&amp;atid=460288</a>,
-            the Actions File Tracker.
-          </p>
-          <p>
-            New, improved <tt class="FILENAME">default.action</tt> files may
-            occasionally be made available based on your feedback. These will
-            be announced on the <a href=
-            "http://lists.sourceforge.net/lists/listinfo/ijbswa-announce"
-            target="_top">ijbswa-announce</a> list and available from our the
-            <a href=
-            "http://sourceforge.net/project/showfiles.php?group_id=11118"
-            target="_top">files section</a> of our <a href=
-            "http://sf.net/projects/ijbswa/" target="_top">project page</a>.
-          </p>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="CONTACT-BUGS">6.2.2. Reporting Bugs</a>
-          </h3>
-          <p>
-            Please report all bugs through our bug tracker: <a href=
-            "http://sourceforge.net/tracker/?group_id=11118&amp;atid=111118"
-            target=
-            "_top">http://sourceforge.net/tracker/?group_id=11118&amp;atid=111118</a>.
-          </p>
-          <p>
-            Before doing so, please make sure that the bug has <span class=
-            "emphasis"><i class="EMPHASIS">not already been
-            submitted</i></span> and observe the additional hints at the top
-            of the <a href=
-            "http://sourceforge.net/tracker/?func=add&amp;group_id=11118&amp;atid=111118"
-             target="_top">submit form</a>. If already submitted, please feel
-            free to add any info to the original report that might help to
-            solve the issue.
-          </p>
-          <p>
-            Please try to verify that it is a <span class=
-            "APPLICATION">Privoxy</span> bug, and not a browser or site bug
-            or documented behaviour that just happens to be different than
-            what you expected. If unsure, try <a href=
-            "http://config.privoxy.org/toggle?set=disable" target=
-            "_top">toggling off</a> <span class="APPLICATION">Privoxy</span>,
-            and see if the problem persists.
-          </p>
-          <p>
-            If you are using your own custom configuration, please try the
-            stock configs to see if the problem is configuration related. If
-            you're having problems with a feature that is disabled by
-            default, please ask around on the mailing list if others can
-            reproduce the problem.
-          </p>
-          <p>
-            If you aren't using the latest Privoxy version, the bug may have
-            been found and fixed in the meantime. We would appreciate if you
-            could take the time to <a href=
-            "http://www.privoxy.org/user-manual/installation.html" target=
-            "_top">upgrade to the latest version</a> (or even the latest CVS
-            snapshot) and verify that your bug still exists.
-          </p>
-          <p>
-            Please be sure to provide the following information:
-          </p>
-          <p>
-          </p>
-          <ul>
-            <li>
-              <p>
-                The exact <span class="APPLICATION">Privoxy</span> version
-                you are using (if you got the source from CVS, please also
-                provide the source code revisions as shown in <a href=
-                "http://config.privoxy.org/show-version" target=
-                "_top">http://config.privoxy.org/show-version</a>).
-              </p>
-            </li>
-            <li>
-              <p>
-                The operating system and versions you run <span class=
-                "APPLICATION">Privoxy</span> on, (e.g. <span class=
-                "APPLICATION">Windows XP SP2</span>), if you are using a Unix
-                flavor, sending the output of <span class="QUOTE">"uname
-                -a"</span> should do, in case of GNU/Linux, please also name
-                the distribution.
-              </p>
-            </li>
-            <li>
-              <p>
-                The name, platform, and version of the <span class=
-                "APPLICATION">browser</span> you were using (e.g. <span
-                class="APPLICATION">Internet Explorer v5.5</span> for Mac).
-              </p>
-            </li>
-            <li>
-              <p>
-                The URL where the problem occurred, or some way for us to
-                duplicate the problem (e.g. <tt class=
-                "LITERAL">http://somesite.example.com/?somethingelse=123</tt>).
-              </p>
-            </li>
-            <li>
-              <p>
-                Whether your version of <span class=
-                "APPLICATION">Privoxy</span> is one supplied by the <span
-                class="APPLICATION">Privoxy</span> developers via
-                SourceForge, or if you got your copy somewhere else.
-              </p>
-            </li>
-            <li>
-              <p>
-                Whether you are using <span class=
-                "APPLICATION">Privoxy</span> in tandem with another proxy
-                such as <span class="APPLICATION">Tor</span>. If so, please
-                temporary disable the other proxy to see if the symptoms
-                change.
-              </p>
-            </li>
-            <li>
-              <p>
-                Whether you are using a personal firewall product. If so,
-                does <span class="APPLICATION">Privoxy</span> work without
-                it?
-              </p>
-            </li>
-            <li>
-              <p>
-                Any other pertinent information to help identify the problem
-                such as config or log file excerpts (yes, you should have log
-                file entries for each action taken). To get a meaningful
-                logfile, please make sure that the <a href=
-                "../user-manual/config.html#LOGFILE" target="_top">logfile
-                directive</a> is being used and the following <a href=
-                "../user-manual/config.html#DEBUG" target="_top">debug
-                options</a> are enabled:
-              </p>
-              <p class="LITERALLAYOUT">
-                debug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;#&nbsp;Log&nbsp;the&nbsp;destination&nbsp;for&nbsp;each&nbsp;request&nbsp;Privoxy&nbsp;let&nbsp;through.&nbsp;See&nbsp;also&nbsp;debug&nbsp;1024.<br>
-
-                 debug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;#&nbsp;show&nbsp;each&nbsp;connection&nbsp;status<br>
-
-                 debug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;#&nbsp;show&nbsp;I/O&nbsp;status<br>
-
-                 debug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;#&nbsp;show&nbsp;header&nbsp;parsing<br>
-
-                 debug&nbsp;&nbsp;&nbsp;128&nbsp;#&nbsp;debug&nbsp;redirects<br>
-
-                 debug&nbsp;&nbsp;&nbsp;256&nbsp;#&nbsp;debug&nbsp;GIF&nbsp;de-animation<br>
-
-                 debug&nbsp;&nbsp;&nbsp;512&nbsp;#&nbsp;Common&nbsp;Log&nbsp;Format<br>
-
-                 debug&nbsp;&nbsp;1024&nbsp;#&nbsp;Log&nbsp;the&nbsp;destination&nbsp;for&nbsp;requests&nbsp;Privoxy&nbsp;didn't&nbsp;let&nbsp;through,&nbsp;and&nbsp;the&nbsp;reason&nbsp;why.<br>
-
-                 debug&nbsp;&nbsp;4096&nbsp;#&nbsp;Startup&nbsp;banner&nbsp;and&nbsp;warnings.<br>
-
-                 debug&nbsp;&nbsp;8192&nbsp;#&nbsp;Non-fatal&nbsp;errors
-              </p>
-              If you are having trouble with a filter, please additionally
-              enable
-              <p class="LITERALLAYOUT">
-                debug&nbsp;&nbsp;&nbsp;&nbsp;64&nbsp;#&nbsp;debug&nbsp;regular&nbsp;expression&nbsp;filters
-              </p>
-              If you are using Privoxy 3.0.17 or later and suspect that it
-              interprets the request or the response incorrectly, please
-              enable
-              <p class="LITERALLAYOUT">
-                debug&nbsp;32768&nbsp;#&nbsp;log&nbsp;all&nbsp;data&nbsp;read&nbsp;from&nbsp;the&nbsp;network
-              </p>
-              Note that Privoxy log files may contain sensitive information
-              so please don't submit any logfiles you didn't read first. You
-              can mask sensitive information as long as it's clear that you
-              removed something.<br>
-            </li>
-          </ul>
-
-          <p>
-            You don't have to tell us your actual name when filing a problem
-            report, but if you don't, please use a nickname so we can
-            differentiate between your messages and the ones entered by other
-            "anonymous" users that may respond to your request if they have
-            the same problem or already found a solution. Note that due to
-            spam the trackers may not always allow to post without being
-            logged into SourceForge. If that's the case, you are still free
-            to create a login that isn't directly linked to your name,
-            though.
-          </p>
-          <p>
-            Please also check the status of your request a few days after
-            submitting it, as we may request additional information. If you
-            use a SF id, you should automatically get a mail when someone
-            responds to your request. Please don't bother to add an email
-            address when using the tracker. If you prefer to communicate
-            through email, just use one of the mailing lists directly.
-          </p>
-          <p>
-            The <a href=
-            "http://www.privoxy.org/user-manual/appendix.html#ACTIONSANAT"
-            target="_top">appendix of the Privoxy User Manual</a> also has
-            helpful information on understanding <tt class=
-            "LITERAL">actions</tt>, and <tt class="LITERAL">action</tt>
-            debugging.
-          </p>
-        </div>
-      </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="CONTACT-FEATURE">6.3. Request New Features</a>
-        </h2>
-        <p>
-          You are welcome to submit ideas on new features or other proposals
-          for improvement through our feature request tracker at <a href=
-          "http://sourceforge.net/tracker/?atid=361118&amp;group_id=11118"
-          target=
-          "_top">http://sourceforge.net/tracker/?atid=361118&amp;group_id=11118</a>.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="MAILING-LISTS">6.4. Mailing Lists</a>
-        </h2>
-        <p>
-          If you prefer to communicate through email, instead of using a web
-          interface, feel free to use one of the mailing lists. To discuss
-          issues that haven't been completely diagnosed yet, please use the
-          Privoxy users list. Technically interested users and people who
-          wish to contribute to the project are always welcome on the
-          developers list. You can find an overview of all <span class=
-          "APPLICATION">Privoxy</span>-related mailing lists, including list
-          archives, at: <a href="http://sourceforge.net/mail/?group_id=11118"
-          target="_top">http://sourceforge.net/mail/?group_id=11118</a>.
-        </p>
+
+        <p>You don't have to tell us your actual name when filing a problem
+        report, but if you don't, please use a nickname so we can
+        differentiate between your messages and the ones entered by other
+        "anonymous" users that may respond to your request if they have the
+        same problem or already found a solution. Note that due to spam the
+        trackers may not always allow to post without being logged into
+        SourceForge. If that's the case, you are still free to create a login
+        that isn't directly linked to your name, though.</p>
+
+        <p>Please also check the status of your request a few days after
+        submitting it, as we may request additional information. If you use a
+        SF id, you should automatically get a mail when someone responds to
+        your request. Please don't bother to add an email address when using
+        the tracker. If you prefer to communicate through email, just use one
+        of the mailing lists directly.</p>
+
+        <p>If you are new to reporting problems, you might be interested in
+        <a href="http://www.chiark.greenend.org.uk/~sgtatham/bugs.html"
+        target="_top">How to Report Bugs Effectively</a>.</p>
+
+        <p>If you are new to reporting problems, you might be interested in
+        <a href="http://www.chiark.greenend.org.uk/~sgtatham/bugs.html"
+        target="_top">How to Report Bugs Effectively</a>.</p>
+
+        <p>The <a href=
+        "http://www.privoxy.org/user-manual/appendix.html#ACTIONSANAT"
+        target="_top">appendix of the Privoxy User Manual</a> also has
+        helpful information on understanding <tt class=
+        "LITERAL">actions</tt>, and <tt class="LITERAL">action</tt>
+        debugging.</p>
       </div>
     </div>
-    <div class="NAVFOOTER">
-      <hr width="100%" class="c1">
-      <table summary="Footer navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <td width="33%" align="left" valign="top">
-            <a href="trouble.html" accesskey="P">Prev</a>
-          </td>
-          <td width="34%" align="center" valign="top">
-            <a href="index.html" accesskey="H">Home</a>
-          </td>
-          <td width="33%" align="right" valign="top">
-            <a href="copyright.html" accesskey="N">Next</a>
-          </td>
-        </tr>
-        <tr>
-          <td width="33%" align="left" valign="top">
-            Troubleshooting
-          </td>
-          <td width="34%" align="center" valign="top">
-            &nbsp;
-          </td>
-          <td width="33%" align="right" valign="top">
-            Privoxy Copyright, License and History
-          </td>
-        </tr>
-      </table>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="CONTACT-FEATURE" id="CONTACT-FEATURE">6.3.
+      Request New Features</a></h2>
+
+      <p>You are welcome to submit ideas on new features or other proposals
+      for improvement through our feature request tracker at <a href=
+      "http://sourceforge.net/tracker/?atid=361118&amp;group_id=11118"
+      target="_top">http://sourceforge.net/tracker/?atid=361118&amp;group_id=11118</a>.</p>
     </div>
-  </body>
-</html>
 
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="MAILING-LISTS" id="MAILING-LISTS">6.4.
+      Mailing Lists</a></h2>
+
+      <p>If you prefer to communicate through email, instead of using a web
+      interface, feel free to use one of the mailing lists. To discuss issues
+      that haven't been completely diagnosed yet, please use the Privoxy
+      users list. Technically interested users and people who wish to
+      contribute to the project are always welcome on the developers list.
+      You can find an overview of all <span class=
+      "APPLICATION">Privoxy</span>-related mailing lists, including list
+      archives, at: <a href="http://sourceforge.net/mail/?group_id=11118"
+      target="_top">http://sourceforge.net/mail/?group_id=11118</a>.</p>
+    </div>
+  </div>
+
+  <div class="NAVFOOTER">
+    <hr class="c1" width="100%">
+
+    <table summary="Footer navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <td width="33%" align="left" valign="top"><a href="trouble.html"
+        accesskey="P">Prev</a></td>
+
+        <td width="34%" align="center" valign="top"><a href="index.html"
+        accesskey="H">Home</a></td>
+
+        <td width="33%" align="right" valign="top"><a href="copyright.html"
+        accesskey="N">Next</a></td>
+      </tr>
+
+      <tr>
+        <td width="33%" align="left" valign="top">Troubleshooting</td>
+
+        <td width="34%" align="center" valign="top">&nbsp;</td>
+
+        <td width="33%" align="right" valign="top">Privoxy Copyright, License
+        and History</td>
+      </tr>
+    </table>
+  </div>
+</body>
+</html>
index c071063..5e0eec5 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
-Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+
 <html>
-  <head>
-    <meta name="generator" content="HTML Tidy, see www.w3.org">
-    <title>
-      Privoxy Copyright, License and History
-    </title>
-    <meta name="GENERATOR" content=
-    "Modular DocBook HTML Stylesheet Version 1.79">
-    <link rel="HOME" title="Privoxy Frequently Asked Questions" href=
-    "index.html">
-    <link rel="PREVIOUS" title=
-    "Contacting the developers, Bug Reporting and Feature Requests" href=
-    "contact.html">
-    <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
-    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<style type="text/css">
- body {
+<head>
+  <meta name="generator" content=
+  "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
+
+  <title>Privoxy Copyright, License and History</title>
+  <meta name="GENERATOR" content=
+  "Modular DocBook HTML Stylesheet Version 1.79">
+  <link rel="HOME" title="Privoxy Frequently Asked Questions" href=
+  "index.html">
+  <link rel="PREVIOUS" title=
+  "Contacting the developers, Bug Reporting and Feature Requests" href=
+  "contact.html">
+  <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
+  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+  <style type="text/css">
+body {
   background-color: #EEEEEE;
   color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- hr.c1 {text-align: left}
-</style>
-  </head>
-  <body class="SECT1">
-    <div class="NAVHEADER">
-      <table summary="Header navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <th colspan="3" align="center">
-            Privoxy Frequently Asked Questions
-          </th>
-        </tr>
-        <tr>
-          <td width="10%" align="left" valign="bottom">
-            <a href="contact.html" accesskey="P">Prev</a>
-          </td>
-          <td width="80%" align="center" valign="bottom">
-          </td>
-          <td width="10%" align="right" valign="bottom">
-            &nbsp;
-          </td>
-        </tr>
-      </table>
-      <hr width="100%" class="c1">
-    </div>
-    <div class="SECT1">
-      <h1 class="SECT1">
-        <a name="COPYRIGHT">7. Privoxy Copyright, License and History</a>
-      </h1>
-      <p>
-        Copyright &copy; 2001-2011 by Privoxy Developers <code class=
-        "EMAIL">&lt;<a href=
-        "mailto:ijbswa-developers@lists.sourceforge.net">ijbswa-developers@lists.sourceforge.net</a>&gt;</code>
-      </p>
-      <p>
-        Some source code is based on code Copyright &copy; 1997 by Anonymous
-        Coders and Junkbusters, Inc. and licensed under the <i class=
-        "CITETITLE">GNU General Public License</i>.
-      </p>
-      <p>
-        Portions of this document are <span class="QUOTE">"borrowed"</span>
-        from the original <span class="APPLICATION">Junkbuster</span> (tm)
-        FAQ, and modified as appropriate for <span class=
-        "APPLICATION">Privoxy</span>.
-      </p>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="AEN1464">7.1. License</a>
-        </h2>
-        <p>
-          <span class="APPLICATION">Privoxy</span> is free software; you can
-          redistribute it and/or modify it under the terms of the <i class=
-          "CITETITLE">GNU General Public License</i>, version 2, as published
-          by the Free Software Foundation.
-        </p>
-        <p>
-          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 <a
-          href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html"
-          target="_top"><i class="CITETITLE">GNU General Public
-          License</i></a> for details.
-        </p>
-        <p>
-          You should have received a copy of the <i class="CITETITLE">GNU
-          GPL</i> along with this program; if not, write to the
-        </p>
-        <p class="ADDRESS">
-          &nbsp;Free&nbsp;Software<br>
-           &nbsp;Foundation,&nbsp;Inc.&nbsp;<span class="STREET">51 Franklin
-          Street, Fifth Floor</span><br>
-           &nbsp;<span class="CITY">Boston</span>,&nbsp;<span class=
-          "STATE">MA</span>&nbsp;<span class="POSTCODE">02110-1301</span><br>
-           &nbsp;<span class="COUNTRY">USA</span>&nbsp;
-        </p>
-      </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="AEN1480">7.2. History</a>
-        </h2>
-        <p>
-          A long time ago, there was the <a href=
-          "http://www.junkbusters.com/ijb.html" target="_top"><span class=
-          "APPLICATION">Internet Junkbuster</span></a>, by Anonymous Coders
-          and <a href="http://www.junkbusters.com/" target="_top">Junkbusters
-          Corporation</a>. This saved many users a lot of pain in the early
-          days of web advertising and user tracking.
-        </p>
-        <p>
-          But the web, its protocols and standards, and with it, the
-          techniques for forcing ads on users, give up autonomy over their
-          browsing, and for tracking them, keeps evolving. Unfortunately, the
-          <span class="APPLICATION">Internet Junkbuster</span> did not.
-          Version 2.0.2, published in 1998, was (and is) the last official <a
-          href="http://www.junkbusters.com/ijbdist.html#release" target=
-          "_top">release</a> available from <a href=
-          "http://www.junkbusters.com" target="_top">Junkbusters
-          Corporation</a>. Fortunately, it had been released under the GNU <a
-          href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html"
-          target="_top">GPL</a>, which allowed further development by others.
-        </p>
-        <p>
-          So Stefan Waldherr started maintaining an improved version of the
-          software, to which eventually a number of people contributed
-          patches. It could already replace banners with a transparent image,
-          and had a first version of pop-up killing, but it was still very
-          closely based on the original, with all its limitations, such as
-          the lack of HTTP/1.1 support, flexible per-site configuration, or
-          content modification. The last release from this effort was version
-          2.0.2-10, published in 2000.
-        </p>
-        <p>
-          Then, some <a href=
-          "http://www.privoxy.org/user-manual/copyright.html#AUTHORS" target=
-          "_top">developers</a> picked up the thread, and started turning the
-          software inside out, upside down, and then reassembled it, adding
-          many <a href=
-          "http://www.privoxy.org/user-manual/introduction.html#FEATURES"
-          target="_top">new features</a> along the way.
-        </p>
-        <p>
-          The result of this is <span class="APPLICATION">Privoxy</span>,
-          whose first stable version, 3.0, was released August, 2002.
-        </p>
-      </div>
+  }
+  :link { color: #0000FF }
+  :visited { color: #840084 }
+  :active { color: #0000FF }
+  a.c2 {font-style: italic}
+  hr.c1 {text-align: left}
+  </style>
+</head>
+
+<body class="SECT1">
+  <div class="NAVHEADER">
+    <table summary="Header navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <th colspan="3" align="center">Privoxy Frequently Asked
+        Questions</th>
+      </tr>
+
+      <tr>
+        <td width="10%" align="left" valign="bottom"><a href="contact.html"
+        accesskey="P">Prev</a></td>
+
+        <td width="80%" align="center" valign="bottom"></td>
+
+        <td width="10%" align="right" valign="bottom">&nbsp;</td>
+      </tr>
+    </table>
+    <hr class="c1" width="100%">
+  </div>
+
+  <div class="SECT1">
+    <h1 class="SECT1"><a name="COPYRIGHT" id="COPYRIGHT">7. Privoxy
+    Copyright, License and History</a></h1>
+
+    <p>Copyright &copy; 2001-2011 by Privoxy Developers <code class=
+    "EMAIL">&lt;<a href=
+    "mailto:ijbswa-developers@lists.sourceforge.net">ijbswa-developers@lists.sourceforge.net</a>&gt;</code></p>
+
+    <p>Some source code is based on code Copyright &copy; 1997 by Anonymous
+    Coders and Junkbusters, Inc. and licensed under the <i class=
+    "CITETITLE">GNU General Public License</i>.</p>
+
+    <p>Portions of this document are <span class="QUOTE">"borrowed"</span>
+    from the original <span class="APPLICATION">Junkbuster</span> (tm) FAQ,
+    and modified as appropriate for <span class=
+    "APPLICATION">Privoxy</span>.</p>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="AEN1477" id="AEN1477">7.1. License</a></h2>
+
+      <p><span class="APPLICATION">Privoxy</span> is free software; you can
+      redistribute it and/or modify it under the terms of the <i class=
+      "CITETITLE">GNU General Public License</i>, version 2, as published by
+      the Free Software Foundation.</p>
+
+      <p>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 <a class=
+      "CITETITLE c2" href=
+      "http://www.gnu.org/licenses/old-licenses/gpl-2.0.html" target=
+      "_top">GNU General Public License</a> for details.</p>
+
+      <p>You should have received a copy of the <i class="CITETITLE">GNU
+      GPL</i> along with this program; if not, write to the</p>
+
+      <p class="ADDRESS">&nbsp;Free&nbsp;Software<br>
+      &nbsp;Foundation,&nbsp;Inc.&nbsp;<span class="STREET">51 Franklin
+      Street, Fifth Floor</span><br>
+      &nbsp;<span class="CITY">Boston</span>,&nbsp;<span class=
+      "STATE">MA</span>&nbsp;<span class="POSTCODE">02110-1301</span><br>
+      &nbsp;<span class="COUNTRY">USA</span>&nbsp;</p>
     </div>
-    <div class="NAVFOOTER">
-      <hr width="100%" class="c1">
-      <table summary="Footer navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <td width="33%" align="left" valign="top">
-            <a href="contact.html" accesskey="P">Prev</a>
-          </td>
-          <td width="34%" align="center" valign="top">
-            <a href="index.html" accesskey="H">Home</a>
-          </td>
-          <td width="33%" align="right" valign="top">
-            &nbsp;
-          </td>
-        </tr>
-        <tr>
-          <td width="33%" align="left" valign="top">
-            Contacting the developers, Bug Reporting and Feature Requests
-          </td>
-          <td width="34%" align="center" valign="top">
-            &nbsp;
-          </td>
-          <td width="33%" align="right" valign="top">
-            &nbsp;
-          </td>
-        </tr>
-      </table>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="AEN1493" id="AEN1493">7.2. History</a></h2>
+
+      <p>A long time ago, there was the <a href=
+      "http://www.junkbusters.com/ijb.html" target="_top"><span class=
+      "APPLICATION">Internet Junkbuster</span></a>, by Anonymous Coders and
+      <a href="http://www.junkbusters.com/" target="_top">Junkbusters
+      Corporation</a>. This saved many users a lot of pain in the early days
+      of web advertising and user tracking.</p>
+
+      <p>But the web, its protocols and standards, and with it, the
+      techniques for forcing ads on users, give up autonomy over their
+      browsing, and for tracking them, keeps evolving. Unfortunately, the
+      <span class="APPLICATION">Internet Junkbuster</span> did not. Version
+      2.0.2, published in 1998, was (and is) the last official <a href=
+      "http://www.junkbusters.com/ijbdist.html#release" target=
+      "_top">release</a> available from <a href="http://www.junkbusters.com"
+      target="_top">Junkbusters Corporation</a>. Fortunately, it had been
+      released under the GNU <a href=
+      "http://www.gnu.org/licenses/old-licenses/gpl-2.0.html" target=
+      "_top">GPL</a>, which allowed further development by others.</p>
+
+      <p>So Stefan Waldherr started maintaining an improved version of the
+      software, to which eventually a number of people contributed patches.
+      It could already replace banners with a transparent image, and had a
+      first version of pop-up killing, but it was still very closely based on
+      the original, with all its limitations, such as the lack of HTTP/1.1
+      support, flexible per-site configuration, or content modification. The
+      last release from this effort was version 2.0.2-10, published in
+      2000.</p>
+
+      <p>Then, some <a href=
+      "http://www.privoxy.org/user-manual/copyright.html#AUTHORS" target=
+      "_top">developers</a> picked up the thread, and started turning the
+      software inside out, upside down, and then reassembled it, adding many
+      <a href="http://www.privoxy.org/user-manual/introduction.html#FEATURES"
+      target="_top">new features</a> along the way.</p>
+
+      <p>The result of this is <span class="APPLICATION">Privoxy</span>,
+      whose first stable version, 3.0, was released August, 2002.</p>
     </div>
-  </body>
-</html>
+  </div>
 
+  <div class="NAVFOOTER">
+    <hr class="c1" width="100%">
+
+    <table summary="Footer navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <td width="33%" align="left" valign="top"><a href="contact.html"
+        accesskey="P">Prev</a></td>
+
+        <td width="34%" align="center" valign="top"><a href="index.html"
+        accesskey="H">Home</a></td>
+
+        <td width="33%" align="right" valign="top">&nbsp;</td>
+      </tr>
+
+      <tr>
+        <td width="33%" align="left" valign="top">Contacting the developers,
+        Bug Reporting and Feature Requests</td>
+
+        <td width="34%" align="center" valign="top">&nbsp;</td>
+
+        <td width="33%" align="right" valign="top">&nbsp;</td>
+      </tr>
+    </table>
+  </div>
+</body>
+</html>
index 24a5442..3fb3b53 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
-Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+
 <html>
-  <head>
-    <meta name="generator" content="HTML Tidy, see www.w3.org">
-    <title>
-      General Information
-    </title>
-    <meta name="GENERATOR" content=
-    "Modular DocBook HTML Stylesheet Version 1.79">
-    <link rel="HOME" title="Privoxy Frequently Asked Questions" href=
-    "index.html">
-    <link rel="PREVIOUS" title="Privoxy Frequently Asked Questions" href=
-    "index.html">
-    <link rel="NEXT" title="Installation" href="installation.html">
-    <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
-    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<style type="text/css">
- body {
+<head>
+  <meta name="generator" content=
+  "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
+
+  <title>General Information</title>
+  <meta name="GENERATOR" content=
+  "Modular DocBook HTML Stylesheet Version 1.79">
+  <link rel="HOME" title="Privoxy Frequently Asked Questions" href=
+  "index.html">
+  <link rel="PREVIOUS" title="Privoxy Frequently Asked Questions" href=
+  "index.html">
+  <link rel="NEXT" title="Installation" href="installation.html">
+  <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
+  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+  <style type="text/css">
+body {
   background-color: #EEEEEE;
   color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- hr.c1 {text-align: left}
-</style>
-  </head>
-  <body class="SECT1">
-    <div class="NAVHEADER">
-      <table summary="Header navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <th colspan="3" align="center">
-            Privoxy Frequently Asked Questions
-          </th>
-        </tr>
-        <tr>
-          <td width="10%" align="left" valign="bottom">
-            <a href="index.html" accesskey="P">Prev</a>
-          </td>
-          <td width="80%" align="center" valign="bottom">
-          </td>
-          <td width="10%" align="right" valign="bottom">
-            <a href="installation.html" accesskey="N">Next</a>
-          </td>
-        </tr>
-      </table>
-      <hr width="100%" class="c1">
+  }
+  :link { color: #0000FF }
+  :visited { color: #840084 }
+  :active { color: #0000FF }
+  span.c2 {font-style: italic}
+  hr.c1 {text-align: left}
+  </style>
+</head>
+
+<body class="SECT1">
+  <div class="NAVHEADER">
+    <table summary="Header navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <th colspan="3" align="center">Privoxy Frequently Asked
+        Questions</th>
+      </tr>
+
+      <tr>
+        <td width="10%" align="left" valign="bottom"><a href="index.html"
+        accesskey="P">Prev</a></td>
+
+        <td width="80%" align="center" valign="bottom"></td>
+
+        <td width="10%" align="right" valign="bottom"><a href=
+        "installation.html" accesskey="N">Next</a></td>
+      </tr>
+    </table>
+    <hr class="c1" width="100%">
+  </div>
+
+  <div class="SECT1">
+    <h1 class="SECT1"><a name="GENERAL" id="GENERAL">1. General
+    Information</a></h1>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="WHO-USES" id="WHO-USES">1.1. Who should give
+      <span class="APPLICATION">Privoxy</span> a try?</a></h3>
+
+      <p>Anyone who is interested in security, privacy, or in finer-grained
+      control over their web and Internet experience.</p>
     </div>
-    <div class="SECT1">
-      <h1 class="SECT1">
-        <a name="GENERAL">1. General Information</a>
-      </h1>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="WHO-USES">1.1. Who should give <span class=
-          "APPLICATION">Privoxy</span> a try?</a>
-        </h3>
-        <p>
-          Anyone who is interested in security, privacy, or in finer-grained
-          control over their web and Internet experience.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="BESTCHOICE">1.2. Is Privoxy the best choice for me?</a>
-        </h3>
-        <p>
-          <span class="APPLICATION">Privoxy</span> is certainly a good
-          choice, especially for those who want more control and security.
-          Those with the willingness to read the documentation and the
-          ability to fine-tune their installation will benefit the most.
-        </p>
-        <p>
-          One of <span class="APPLICATION">Privoxy's</span> strengths is that
-          it is highly configurable giving you the ability to completely
-          personalize your installation. Being familiar with, or at least
-          having an interest in learning about <a href=
-          "http://en.wikipedia.org/wiki/Http" target="_top">HTTP</a> and
-          other networking protocols, <a href=
-          "http://en.wikipedia.org/wiki/Html" target="_top">HTML</a>, and <a
-          href="http://en.wikipedia.org/wiki/Regular_expressions" target=
-          "_top"><span class="QUOTE">"Regular Expressions"</span></a> will be
-          a big plus and will help you get the most out of <span class=
-          "APPLICATION">Privoxy</span>. A new installation just includes a
-          very basic configuration. The user should take this as a starting
-          point only, and enhance it as he or she sees fit. In fact, the user
-          is encouraged, and expected to, fine-tune the configuration.
-        </p>
-        <p>
-          Much of <span class="APPLICATION">Privoxy's</span> configuration
-          can be done with a <a href=
-          "http://en.wikipedia.org/wiki/Web_browser" target="_top">Web
-          browser</a>. But there are areas where configuration is done using
-          a <a href="http://en.wikipedia.org/wiki/Text_editors" target=
-          "_top">text editor</a> to edit configuration files. Also note that
-          the web-based action editor doesn't use authentication and should
-          only be enabled in environments where all clients with access to
-          <span class="APPLICATION">Privoxy</span> listening port can be
-          trusted.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="PROXYMORON">1.3. What is a <span class=
-          "QUOTE">"proxy"</span>? How does Privoxy work?</a>
-        </h3>
-        <p>
-          A <a href="http://en.wikipedia.org/wiki/Proxy_server" target=
-          "_top">web proxy</a> is a service, based on a software such as
-          <span class="APPLICATION">Privoxy</span>, that clients (i.e.
-          browsers) can use instead of connecting to web servers directly.
-          The clients then ask the proxy to request objects (web pages,
-          images, movies etc) on their behalf and to forward the data to the
-          clients. It is a <span class="QUOTE">"go-between"</span>. For
-          details, see <a href="http://en.wikipedia.org/wiki/Proxy_server"
-          target="_top">Wikipedia's proxy definition</a>.
-        </p>
-        <p>
-          There are many reasons to use web proxies, such as security
-          (firewalling), efficiency (caching) and others, and there are any
-          number of proxies to accommodate those needs.
-        </p>
-        <p>
-          <span class="APPLICATION">Privoxy</span> is a proxy that is
-          primarily focused on privacy enhancement, ad and junk elimination
-          and freeing the user from restrictions placed on his activities.
-          Sitting between your browser(s) and the Internet, it is in a
-          perfect position to filter outbound personal information that your
-          browser is leaking, as well as inbound junk. It uses a variety of
-          techniques to do this, all of which are under your complete control
-          via the various configuration files and options. Being a proxy also
-          makes it easier to share configurations among multiple browsers
-          and/or users.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="OTHERSTUFF">1.4. Does Privoxy do anything more than ad
-          blocking?</a>
-        </h3>
-        <p>
-          Yes, ad blocking is but one possible use. There are many, many ways
-          <span class="APPLICATION">Privoxy</span> can be used to sanitize
-          and customize web browsing.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="NEWJB">1.5. What is this new version of <span class=
-          "QUOTE">"Junkbuster"</span>?</a>
-        </h3>
-        <p>
-          A long time ago, there was the <a href=
-          "http://www.junkbusters.com/ijb.html" target="_top"><span class=
-          "APPLICATION">Internet Junkbuster</span></a>, by Anonymous Coders
-          and <a href="http://www.junkbusters.com/" target="_top">Junkbusters
-          Corporation</a>. This saved many users a lot of pain in the early
-          days of web advertising and user tracking.
-        </p>
-        <p>
-          But the web, its protocols and standards, and with it, the
-          techniques for forcing ads on users, give up autonomy over their
-          browsing, and for tracking them, keeps evolving. Unfortunately, the
-          <span class="APPLICATION">Internet Junkbuster</span> did not.
-          Version 2.0.2, published in 1998, was (and is) the last official <a
-          href="http://www.junkbusters.com/ijbdist.html#release" target=
-          "_top">release</a> available from <a href=
-          "http://www.junkbusters.com" target="_top">Junkbusters
-          Corporation</a>. Fortunately, it had been released under the GNU <a
-          href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html"
-          target="_top">GPL</a>, which allowed further development by others.
-        </p>
-        <p>
-          So Stefan Waldherr started maintaining an improved version of the
-          software, to which eventually a number of people contributed
-          patches. It could already replace banners with a transparent image,
-          and had a first version of pop-up killing, but it was still very
-          closely based on the original, with all its limitations, such as
-          the lack of HTTP/1.1 support, flexible per-site configuration, or
-          content modification. The last release from this effort was version
-          2.0.2-10, published in 2000.
-        </p>
-        <p>
-          Then, some <a href=
-          "http://www.privoxy.org/user-manual/copyright.html#AUTHORS" target=
-          "_top">developers</a> picked up the thread, and started turning the
-          software inside out, upside down, and then reassembled it, adding
-          many <a href=
-          "http://www.privoxy.org/user-manual/introduction.html#FEATURES"
-          target="_top">new features</a> along the way.
-        </p>
-        <p>
-          The result of this is <span class="APPLICATION">Privoxy</span>,
-          whose first stable version, 3.0, was released August, 2002.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="AEN85">1.6. Why <span class="QUOTE">"Privoxy"</span>? Why
-          change the name from Junkbuster at all?</a>
-        </h3>
-        <p>
-          Though outdated, <a href="http://junkbusters.com/" target=
-          "_top">Junkbusters Corporation</a> continues to offer their
-          original version of the <span class="APPLICATION">Internet
-          Junkbuster</span>, so publishing our <span class=
-          "APPLICATION">Junkbuster</span>-derived software under the same
-          name led to confusion.
-        </p>
-        <p>
-          There are also potential legal complications from our use of the
-          <span class="APPLICATION">Junkbuster</span> name, which is a
-          registered trademark of <a href="http://junkbusters.com/" target=
-          "_top">Junkbusters Corporation</a>. There are, however, no
-          objections from Junkbusters Corporation to the <span class=
-          "APPLICATION">Privoxy</span> project itself, and they, in fact,
-          still share our ideals and goals.
-        </p>
-        <p>
-          The developers also believed that there are so many improvements
-          over the original code, that it was time to make a clean break from
-          the past and make a name in their own right.
-        </p>
-        <p>
-          <span class="APPLICATION">Privoxy</span> is the <span class=
-          "QUOTE">"<span class="emphasis"><i class="EMPHASIS">Privacy
-          Enhancing Proxy</i></span>"</span>. Also, its content modification
-          and junk suppression gives <span class="emphasis"><i class=
-          "EMPHASIS">you</i></span>, the user, more control, more freedom,
-          and allows you to browse your personal and <span class=
-          "QUOTE">"<span class="emphasis"><i class=
-          "EMPHASIS">private</i></span> edition"</span> of the web.
-        </p>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="BESTCHOICE" id="BESTCHOICE">1.2. Is Privoxy
+      the best choice for me?</a></h3>
+
+      <p><span class="APPLICATION">Privoxy</span> is certainly a good choice,
+      especially for those who want more control and security. Those with the
+      willingness to read the documentation and the ability to fine-tune
+      their installation will benefit the most.</p>
+
+      <p>One of <span class="APPLICATION">Privoxy's</span> strengths is that
+      it is highly configurable giving you the ability to completely
+      personalize your installation. Being familiar with, or at least having
+      an interest in learning about <a href=
+      "http://en.wikipedia.org/wiki/Http" target="_top">HTTP</a> and other
+      networking protocols, <a href="http://en.wikipedia.org/wiki/Html"
+      target="_top">HTML</a>, and <a href=
+      "http://en.wikipedia.org/wiki/Regular_expressions" target=
+      "_top"><span class="QUOTE">"Regular Expressions"</span></a> will be a
+      big plus and will help you get the most out of <span class=
+      "APPLICATION">Privoxy</span>. A new installation just includes a very
+      basic configuration. The user should take this as a starting point
+      only, and enhance it as he or she sees fit. In fact, the user is
+      encouraged, and expected to, fine-tune the configuration.</p>
+
+      <p>Much of <span class="APPLICATION">Privoxy's</span> configuration can
+      be done with a <a href="http://en.wikipedia.org/wiki/Web_browser"
+      target="_top">Web browser</a>. But there are areas where configuration
+      is done using a <a href="http://en.wikipedia.org/wiki/Text_editors"
+      target="_top">text editor</a> to edit configuration files. Also note
+      that the web-based action editor doesn't use authentication and should
+      only be enabled in environments where all clients with access to
+      <span class="APPLICATION">Privoxy</span> listening port can be
+      trusted.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="PROXYMORON" id="PROXYMORON">1.3. What is a
+      <span class="QUOTE">"proxy"</span>? How does Privoxy work?</a></h3>
+
+      <p>A <a href="http://en.wikipedia.org/wiki/Proxy_server" target=
+      "_top">web proxy</a> is a service, based on a software such as
+      <span class="APPLICATION">Privoxy</span>, that clients (i.e. browsers)
+      can use instead of connecting to web servers directly. The clients then
+      ask the proxy to request objects (web pages, images, movies etc) on
+      their behalf and to forward the data to the clients. It is a
+      <span class="QUOTE">"go-between"</span>. For details, see <a href=
+      "http://en.wikipedia.org/wiki/Proxy_server" target="_top">Wikipedia's
+      proxy definition</a>.</p>
+
+      <p>There are many reasons to use web proxies, such as security
+      (firewalling), efficiency (caching) and others, and there are any
+      number of proxies to accommodate those needs.</p>
+
+      <p><span class="APPLICATION">Privoxy</span> is a proxy that is
+      primarily focused on privacy enhancement, ad and junk elimination and
+      freeing the user from restrictions placed on his activities. Sitting
+      between your browser(s) and the Internet, it is in a perfect position
+      to filter outbound personal information that your browser is leaking,
+      as well as inbound junk. It uses a variety of techniques to do this,
+      all of which are under your complete control via the various
+      configuration files and options. Being a proxy also makes it easier to
+      share configurations among multiple browsers and/or users.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="OTHERSTUFF" id="OTHERSTUFF">1.4. Does
+      Privoxy do anything more than ad blocking?</a></h3>
+
+      <p>Yes, ad blocking is but one possible use. There are many, many ways
+      <span class="APPLICATION">Privoxy</span> can be used to sanitize and
+      customize web browsing.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="NEWJB" id="NEWJB">1.5. What is this new
+      version of <span class="QUOTE">"Junkbuster"</span>?</a></h3>
+
+      <p>A long time ago, there was the <a href=
+      "http://www.junkbusters.com/ijb.html" target="_top"><span class=
+      "APPLICATION">Internet Junkbuster</span></a>, by Anonymous Coders and
+      <a href="http://www.junkbusters.com/" target="_top">Junkbusters
+      Corporation</a>. This saved many users a lot of pain in the early days
+      of web advertising and user tracking.</p>
+
+      <p>But the web, its protocols and standards, and with it, the
+      techniques for forcing ads on users, give up autonomy over their
+      browsing, and for tracking them, keeps evolving. Unfortunately, the
+      <span class="APPLICATION">Internet Junkbuster</span> did not. Version
+      2.0.2, published in 1998, was (and is) the last official <a href=
+      "http://www.junkbusters.com/ijbdist.html#release" target=
+      "_top">release</a> available from <a href="http://www.junkbusters.com"
+      target="_top">Junkbusters Corporation</a>. Fortunately, it had been
+      released under the GNU <a href=
+      "http://www.gnu.org/licenses/old-licenses/gpl-2.0.html" target=
+      "_top">GPL</a>, which allowed further development by others.</p>
+
+      <p>So Stefan Waldherr started maintaining an improved version of the
+      software, to which eventually a number of people contributed patches.
+      It could already replace banners with a transparent image, and had a
+      first version of pop-up killing, but it was still very closely based on
+      the original, with all its limitations, such as the lack of HTTP/1.1
+      support, flexible per-site configuration, or content modification. The
+      last release from this effort was version 2.0.2-10, published in
+      2000.</p>
+
+      <p>Then, some <a href=
+      "http://www.privoxy.org/user-manual/copyright.html#AUTHORS" target=
+      "_top">developers</a> picked up the thread, and started turning the
+      software inside out, upside down, and then reassembled it, adding many
+      <a href="http://www.privoxy.org/user-manual/introduction.html#FEATURES"
+      target="_top">new features</a> along the way.</p>
+
+      <p>The result of this is <span class="APPLICATION">Privoxy</span>,
+      whose first stable version, 3.0, was released August, 2002.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="AEN85" id="AEN85">1.6. Why <span class=
+      "QUOTE">"Privoxy"</span>? Why change the name from Junkbuster at
+      all?</a></h3>
+
+      <p>Though outdated, <a href="http://junkbusters.com/" target=
+      "_top">Junkbusters Corporation</a> continues to offer their original
+      version of the <span class="APPLICATION">Internet Junkbuster</span>, so
+      publishing our <span class="APPLICATION">Junkbuster</span>-derived
+      software under the same name led to confusion.</p>
+
+      <p>There are also potential legal complications from our use of the
+      <span class="APPLICATION">Junkbuster</span> name, which is a registered
+      trademark of <a href="http://junkbusters.com/" target=
+      "_top">Junkbusters Corporation</a>. There are, however, no objections
+      from Junkbusters Corporation to the <span class=
+      "APPLICATION">Privoxy</span> project itself, and they, in fact, still
+      share our ideals and goals.</p>
+
+      <p>The developers also believed that there are so many improvements
+      over the original code, that it was time to make a clean break from the
+      past and make a name in their own right.</p>
+
+      <p><span class="APPLICATION">Privoxy</span> is the <span class=
+      "QUOTE">"<span class="emphasis EMPHASIS c2">Privacy Enhancing
+      Proxy</span>"</span>. Also, its content modification and junk
+      suppression gives <span class="emphasis EMPHASIS c2">you</span>, the
+      user, more control, more freedom, and allows you to browse your
+      personal and <span class="QUOTE">"<span class=
+      "emphasis EMPHASIS c2">private</span> edition"</span> of the web.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="DIFFERS" id="DIFFERS">1.7. How does Privoxy
+      differ from the old Junkbuster?</a></h3>
+
+      <p><span class="APPLICATION">Privoxy</span> picks up where <span class=
+      "APPLICATION">Junkbuster</span> left off. The new <span class=
+      "APPLICATION">Privoxy</span> still blocks ads and banners, still
+      manages <a href="http://en.wikipedia.org/wiki/Browser_cookie" target=
+      "_top">cookies</a>, and still helps protect your privacy. But, most of
+      these features have been enhanced, and many new ones have been added,
+      all in the same vein.</p>
+
+      <p><span class="APPLICATION">Privoxy</span>'s new features include:</p>
+
+      <ul>
+        <li>
+          <p>Supports "Connection: keep-alive". Outgoing connections can be
+          kept alive independently from the client.</p>
+        </li>
+
+        <li>
+          <p>Supports IPv6, provided the operating system does so too, and
+          the configure script detects it.</p>
+        </li>
+
+        <li>
+          <p>Supports tagging which allows to change the behaviour based on
+          client and server headers.</p>
+        </li>
+
+        <li>
+          <p>Can be run as an "intercepting" proxy, which obviates the need
+          to configure browsers individually.</p>
+        </li>
+
+        <li>
+          <p>Sophisticated actions and filters for manipulating both server
+          and client headers.</p>
+        </li>
+
+        <li>
+          <p>Can be chained with other proxies.</p>
+        </li>
+
+        <li>
+          <p>Integrated browser-based configuration and control utility at
+          <a href="http://config.privoxy.org/" target=
+          "_top">http://config.privoxy.org/</a> (shortcut: <a href=
+          "http://p.p/" target="_top">http://p.p/</a>). Browser-based tracing
+          of rule and filter effects. Remote toggling.</p>
+        </li>
+
+        <li>
+          <p>Web page filtering (text replacements, removes banners based on
+          size, invisible <span class="QUOTE">"web-bugs"</span> and HTML
+          annoyances, etc.)</p>
+        </li>
+
+        <li>
+          <p>Modularized configuration that allows for standard settings and
+          user settings to reside in separate files, so that installing
+          updated actions files won't overwrite individual user settings.</p>
+        </li>
+
+        <li>
+          <p>Support for Perl Compatible Regular Expressions in the
+          configuration files, and a more sophisticated and flexible
+          configuration syntax.</p>
+        </li>
+
+        <li>
+          <p>GIF de-animation.</p>
+        </li>
+
+        <li>
+          <p>Bypass many click-tracking scripts (avoids script
+          redirection).</p>
+        </li>
+
+        <li>
+          <p>User-customizable HTML templates for most proxy-generated pages
+          (e.g. "blocked" page).</p>
+        </li>
+
+        <li>
+          <p>Auto-detection and re-reading of config file changes.</p>
+        </li>
+
+        <li>
+          <p>Most features are controllable on a per-site or per-location
+          basis.</p>
+        </li>
+
+        <li>
+          <p>Many smaller new features added, limitations and bugs
+          removed.</p>
+        </li>
+      </ul>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="WHATSANAD" id="WHATSANAD">1.8. How does
+      Privoxy know what is an ad, and what is not?</a></h3>
+
+      <p><span class="APPLICATION">Privoxy</span>'s approach to blocking ads
+      is twofold:</p>
+
+      <p>First, there are certain patterns in the <span class=
+      "emphasis EMPHASIS c2">locations</span> (URLs) of banner images. This
+      applies to both the path (you wouldn't guess how many web sites serve
+      their banners from a directory called <span class=
+      "QUOTE">"banners"</span>!) and the host (blocking the big banner
+      hosting services like doublecklick.net already helps a lot).
+      <span class="APPLICATION">Privoxy</span> takes advantage of this fact
+      by using <a href="../user-manual/actions-file.html#AF-PATTERNS" target=
+      "_top">URL patterns</a> to sort out and block the requests for things
+      that sound like they would be ads or banners.</p>
+
+      <p>Second, banners tend to come in certain <span class=
+      "emphasis EMPHASIS c2">sizes</span>. But you can't tell the size of an
+      image by its URL without downloading it, and if you do, it's too late
+      to save bandwidth. Therefore, <span class="APPLICATION">Privoxy</span>
+      also inspects the HTML sources of web pages while they are loaded, and
+      replaces references to images with standard banner sizes by dummy
+      references, so that your browser doesn't request them anymore in the
+      first place.</p>
+
+      <p>Both of this involves a certain amount of guesswork and is, of
+      course, freely and readily configurable.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="AEN163" id="AEN163">1.9. Can Privoxy make
+      mistakes? This does not sound very scientific.</a></h3>
+
+      <p>Actually, it's a black art ;-) And yes, it is always possible to
+      have a broad rule accidentally block or change something by mistake.
+      You will almost surely run into such situations at some point. It is
+      tricky writing rules to cover every conceivable possibility, and not
+      occasionally get false positives.</p>
+
+      <p>But this should not be a big concern since the <span class=
+      "APPLICATION">Privoxy</span> configuration is very flexible, and
+      includes tools to help identify these types of situations so they can
+      be addressed as needed, allowing you to customize your installation.
+      (<a href="trouble.html#BADSITE">See the Troubleshooting section
+      below</a>.)</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="AEN169" id="AEN169">1.10. Will I have to
+      configure Privoxy before I can use it?</a></h3>
+
+      <p>That depends on your expectations. The default installation should
+      give you a good starting point, and block <span class=
+      "emphasis EMPHASIS c2">most</span> ads and unwanted content, but many
+      of the more advanced features are off by default, and require you to
+      activate them.</p>
+
+      <p>You do have to set up your browser to use <span class=
+      "APPLICATION">Privoxy</span> (see the <a href=
+      "installation.html#FIRSTSTEP">Installation section below</a>).</p>
+
+      <p>And you will certainly run into situations where there are false
+      positives, or ads not being blocked that you may not want to see. In
+      these cases, you would certainly benefit by customizing <span class=
+      "APPLICATION">Privoxy's</span> configuration to more closely match your
+      individual situation. And we encourage you to do this. This is where
+      the real power of <span class="APPLICATION">Privoxy</span> lies!</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="LAN" id="LAN">1.11. Can Privoxy run as a
+      server on a network?</a></h3>
+
+      <p>Yes, <span class="APPLICATION">Privoxy</span> runs as a server
+      already, and can easily be configured to <span class=
+      "QUOTE">"serve"</span> more than one client. See <a href=
+      "configuration.html#LANCONFIG">How can I set up Privoxy to act as a
+      proxy for my LAN</a> below.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="BROWSERS2" id="BROWSERS2">1.12. My browser
+      does the same things as Privoxy. Why should I use Privoxy at
+      all?</a></h3>
+
+      <p>Modern browsers do indeed have <span class=
+      "emphasis EMPHASIS c2">some</span> of the same functionality as
+      <span class="APPLICATION">Privoxy</span>. Maybe this is adequate for
+      you. But <span class="APPLICATION">Privoxy</span> is very versatile and
+      powerful, and can probably do a number of things your browser just
+      can't.</p>
+
+      <p>In addition, a proxy is good choice if you use multiple browsers, or
+      have a LAN with multiple computers since <span class=
+      "APPLICATION">Privoxy</span> can run as a server application. This way
+      all the configuration is in one place, and you don't have to maintain a
+      similar configuration for possibly many browsers or users.</p>
+
+      <p>Note, however, that it's recommended to leverage both your browser's
+      and <span class="APPLICATION">Privoxy's</span> privacy enhancing
+      features at the same time. While your browser probably lacks some
+      features <span class="APPLICATION">Privoxy</span> offers, it should
+      also be able to do some things more reliable, for example restricting
+      and suppressing JavaScript.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="WHYTRUST" id="WHYTRUST">1.13. Why should I
+      trust Privoxy?</a></h3>
+
+      <p>The most important reason is because you have access to <span class=
+      "emphasis EMPHASIS c2">everything</span>, and you can control
+      everything. You can check every line of every configuration file
+      yourself. You can check every last bit of source code should you
+      desire. And even if you can't read code, there should be some comfort
+      in knowing that other people can, and do read it. You can build the
+      software from scratch, if you want, so that you know the executable is
+      clean, and that it is <span class="emphasis EMPHASIS c2">yours</span>.
+      In fact, we encourage this level of scrutiny. It is one reason we use
+      <span class="APPLICATION">Privoxy</span> ourselves.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="LICENSE" id="LICENSE">1.14. Is there is a
+      license or fee? What about a warranty? Registration?</a></h3>
+
+      <p><span class="APPLICATION">Privoxy</span> is free software and
+      licensed under the <a href=
+      "http://www.gnu.org/licenses/old-licenses/gpl-2.0.html" target=
+      "_top">GNU General Public License (GPL) version 2</a>. It is free to
+      use, copy, modify or distribute as you wish under the terms of this
+      license. Please see the <a href="copyright.html">Copyright</a> section
+      for more information on the license and copyright. Or the <tt class=
+      "FILENAME">LICENSE</tt> file that should be included.</p>
+
+      <p>There is <span class="emphasis EMPHASIS c2">no warranty</span> of
+      any kind, expressed, implied or otherwise. That is something that would
+      cost real money ;-) There is no registration either.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="SPYWARE" id="SPYWARE">1.15. Can Privoxy
+      remove spyware? Adware? Viruses?</a></h3>
+
+      <p>No, at least not reliably enough to trust it. <span class=
+      "APPLICATION">Privoxy</span> is not designed to be a malware removal
+      tool and the default configuration doesn't even try to filter out any
+      malware.</p>
+
+      <p><span class="APPLICATION">Privoxy</span> could help prevent contact
+      from (known) sites that use such tactics with appropriate configuration
+      rules, and thus could conceivably prevent contamination from such
+      sites. However, keeping such a configuration up to date would require a
+      lot of time and effort that would be better spend on keeping your
+      software itself up to date so it doesn't have known
+      vulnerabilities.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="OTHERADS" id="OTHERADS">1.16. Can I use
+      Privoxy with other ad-blocking software?</a></h3>
+
+      <p><span class="APPLICATION">Privoxy</span> should work fine with other
+      proxies and other software in general.</p>
+
+      <p>But it is probably not necessary to use <span class=
+      "APPLICATION">Privoxy</span> in conjunction with other ad-blocking
+      products, and this could conceivably cause undesirable results. It
+      might be better to choose one software or the other and work a little
+      to tweak its configuration to your liking.</p>
+
+      <p>Note that this is an advice specific to ad blocking.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="HELP-THE-DEVELOPERS" id=
+      "HELP-THE-DEVELOPERS">1.17. I would like to help you, what can I
+      do?</a></h3>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="PARTICIPATE" id="PARTICIPATE">1.17.1.
+        Would you like to participate?</a></h4>
+
+        <p>Well, we <span class="emphasis EMPHASIS c2">always</span> need
+        help. There is something for everybody who wants to help us. We
+        welcome new developers, packagers, testers, documentation writers or
+        really anyone with a desire to help in any way. You <span class=
+        "emphasis EMPHASIS c2">DO NOT</span> need to be a <span class=
+        "QUOTE">"programmer"</span>. There are many other tasks available. In
+        fact, the programmers often can't spend as much time programming
+        because of some of the other, more mundane things that need to be
+        done, like checking the Tracker feedback sections or responding to
+        user questions on the mailing lists.</p>
+
+        <p>So first thing, subscribe to the <a href=
+        "https://lists.sourceforge.net/lists/listinfo/ijbswa-users" target=
+        "_top">Privoxy Users</a> or the <a href=
+        "https://lists.sourceforge.net/lists/listinfo/ijbswa-developers"
+        target="_top">Privoxy Developers</a> mailing list, join the
+        discussion, help out other users, provide general feedback or report
+        problems you noticed.</p>
+
+        <p>If you intend to help out with the trackers, you also might want
+        to <a href="https://sourceforge.net/account/register.php" target=
+        "_top">get an account on SourceForge.net</a> so we don't confuse you
+        with the other name-less users.</p>
+
+        <p>We also have a <a href="../developer-manual/index.html" target=
+        "_top">Developer's Manual</a>. While it is partly out of date, it's
+        still worth reading.</p>
+
+        <p>Our <a href=
+        "http://ijbswa.cvs.sourceforge.net/viewvc/ijbswa/current/TODO?view=markup"
+        target="_top">TODO list</a> may be of interest to you as well. Please
+        let us know if you want to work on one of the items listed.</p>
       </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="DIFFERS">1.7. How does Privoxy differ from the old
-          Junkbuster?</a>
-        </h3>
-        <p>
-          <span class="APPLICATION">Privoxy</span> picks up where <span
-          class="APPLICATION">Junkbuster</span> left off. The new <span
-          class="APPLICATION">Privoxy</span> still blocks ads and banners,
-          still manages <a href="http://en.wikipedia.org/wiki/Browser_cookie"
-          target="_top">cookies</a>, and still helps protect your privacy.
-          But, most of these features have been enhanced, and many new ones
-          have been added, all in the same vein.
-        </p>
-        <p>
-          <span class="APPLICATION">Privoxy</span>'s new features include:
-        </p>
-        <p>
-        </p>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="DONATE" id="DONATE">1.17.2. Would you like
+        to donate?</a></h4>
+
+        <p><span class="APPLICATION">Privoxy</span> is developed by unpaid
+        volunteers and thus our current running costs are pretty low.
+        Nevertheless, we have plans that will cost money in the future. They
+        include, but aren't limited to spending money on:</p>
+
         <ul>
           <li>
-            <p>
-              Supports "Connection: keep-alive". Outgoing connections can be
-              kept alive independently from the client.
-            </p>
-          </li>
-          <li>
-            <p>
-              Supports IPv6, provided the operating system does so too, and
-              the configure script detects it.
-            </p>
-          </li>
-          <li>
-            <p>
-              Supports tagging which allows to change the behaviour based on
-              client and server headers.
-            </p>
-          </li>
-          <li>
-            <p>
-              Can be run as an "intercepting" proxy, which obviates the need
-              to configure browsers individually.
-            </p>
-          </li>
-          <li>
-            <p>
-              Sophisticated actions and filters for manipulating both server
-              and client headers.
-            </p>
-          </li>
-          <li>
-            <p>
-              Can be chained with other proxies.
-            </p>
-          </li>
-          <li>
-            <p>
-              Integrated browser-based configuration and control utility at
-              <a href="http://config.privoxy.org/" target=
-              "_top">http://config.privoxy.org/</a> (shortcut: <a href=
-              "http://p.p/" target="_top">http://p.p/</a>). Browser-based
-              tracing of rule and filter effects. Remote toggling.
-            </p>
-          </li>
-          <li>
-            <p>
-              Web page filtering (text replacements, removes banners based on
-              size, invisible <span class="QUOTE">"web-bugs"</span> and HTML
-              annoyances, etc.)
-            </p>
-          </li>
-          <li>
-            <p>
-              Modularized configuration that allows for standard settings and
-              user settings to reside in separate files, so that installing
-              updated actions files won't overwrite individual user settings.
-            </p>
-          </li>
-          <li>
-            <p>
-              Support for Perl Compatible Regular Expressions in the
-              configuration files, and a more sophisticated and flexible
-              configuration syntax.
-            </p>
-          </li>
-          <li>
-            <p>
-              GIF de-animation.
-            </p>
-          </li>
-          <li>
-            <p>
-              Bypass many click-tracking scripts (avoids script redirection).
-            </p>
-          </li>
-          <li>
-            <p>
-              User-customizable HTML templates for most proxy-generated pages
-              (e.g. "blocked" page).
-            </p>
-          </li>
-          <li>
-            <p>
-              Auto-detection and re-reading of config file changes.
-            </p>
+            <p>Hardware to help make sure <span class=
+            "APPLICATION">Privoxy</span> keeps running on platforms the
+            developers currently can't test on and can be ported to
+            others.</p>
           </li>
+
           <li>
-            <p>
-              Most features are controllable on a per-site or per-location
-              basis.
-            </p>
+            <p>Technical books to educate our developers about said platforms
+            or to improve their knowledge in general.</p>
           </li>
+
           <li>
-            <p>
-              Many smaller new features added, limitations and bugs removed.
-            </p>
+            <p>More reliable hosting,</p>
           </li>
         </ul>
+
+        <p>We would like to get this money through donations made by our
+        users.</p>
+
+        <p><span class="APPLICATION">Privoxy</span> has therefore become an
+        associated project of <a href=
+        "http://www.spi-inc.org/about-spi/about-spi" target="_top">Software
+        in the Public Interest (SPI)</a>, which allows us to receive
+        donations. In the United States they are tax-deductible, in a few
+        other western countries they might be tax-deductible in the
+        future.</p>
+
+        <p>If you read this section before you may notice that paying for the
+        project domain privoxy.org is no longer on the list. It has been
+        transferred to SPI is sponsored by Mythic Beasts Ltd.</p>
+
+        <p>If you enjoy our software and feel like helping out with a
+        donation, please have a look at <a href=
+        "http://www.spi-inc.org/donations" target="_top">SPI's donation
+        page</a> to see what the options are. If you have any questions
+        regarding donations please mail to either the public user mailing
+        list or, if it's a private matter, to <a href=
+        "mailto:fk@fabiankeil.de" target="_top">Fabian Keil</a> (Privoxy's
+        SPI liason) directly.</p>
       </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="WHATSANAD">1.8. How does Privoxy know what is an ad, and
-          what is not?</a>
-        </h3>
-        <p>
-          <span class="APPLICATION">Privoxy</span>'s approach to blocking ads
-          is twofold:
-        </p>
-        <p>
-          First, there are certain patterns in the <span class="emphasis"><i
-          class="EMPHASIS">locations</i></span> (URLs) of banner images. This
-          applies to both the path (you wouldn't guess how many web sites
-          serve their banners from a directory called <span class=
-          "QUOTE">"banners"</span>!) and the host (blocking the big banner
-          hosting services like doublecklick.net already helps a lot). <span
-          class="APPLICATION">Privoxy</span> takes advantage of this fact by
-          using <a href="../user-manual/actions-file.html#AF-PATTERNS"
-          target="_top">URL patterns</a> to sort out and block the requests
-          for things that sound like they would be ads or banners.
-        </p>
-        <p>
-          Second, banners tend to come in certain <span class="emphasis"><i
-          class="EMPHASIS">sizes</i></span>. But you can't tell the size of
-          an image by its URL without downloading it, and if you do, it's too
-          late to save bandwidth. Therefore, <span class=
-          "APPLICATION">Privoxy</span> also inspects the HTML sources of web
-          pages while they are loaded, and replaces references to images with
-          standard banner sizes by dummy references, so that your browser
-          doesn't request them anymore in the first place.
-        </p>
-        <p>
-          Both of this involves a certain amount of guesswork and is, of
-          course, freely and readily configurable.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="AEN163">1.9. Can Privoxy make mistakes? This does not
-          sound very scientific.</a>
-        </h3>
-        <p>
-          Actually, it's a black art ;-) And yes, it is always possible to
-          have a broad rule accidentally block or change something by
-          mistake. You will almost surely run into such situations at some
-          point. It is tricky writing rules to cover every conceivable
-          possibility, and not occasionally get false positives.
-        </p>
-        <p>
-          But this should not be a big concern since the <span class=
-          "APPLICATION">Privoxy</span> configuration is very flexible, and
-          includes tools to help identify these types of situations so they
-          can be addressed as needed, allowing you to customize your
-          installation. (<a href="trouble.html#BADSITE">See the
-          Troubleshooting section below</a>.)
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="AEN169">1.10. Will I have to configure Privoxy before I
-          can use it?</a>
-        </h3>
-        <p>
-          That depends on your expectations. The default installation should
-          give you a good starting point, and block <span class="emphasis"><i
-          class="EMPHASIS">most</i></span> ads and unwanted content, but many
-          of the more advanced features are off by default, and require you
-          to activate them.
-        </p>
-        <p>
-          You do have to set up your browser to use <span class=
-          "APPLICATION">Privoxy</span> (see the <a href=
-          "installation.html#FIRSTSTEP">Installation section below</a>).
-        </p>
-        <p>
-          And you will certainly run into situations where there are false
-          positives, or ads not being blocked that you may not want to see.
-          In these cases, you would certainly benefit by customizing <span
-          class="APPLICATION">Privoxy's</span> configuration to more closely
-          match your individual situation. And we encourage you to do this.
-          This is where the real power of <span class=
-          "APPLICATION">Privoxy</span> lies!
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="LAN">1.11. Can Privoxy run as a server on a network?</a>
-        </h3>
-        <p>
-          Yes, <span class="APPLICATION">Privoxy</span> runs as a server
-          already, and can easily be configured to <span class=
-          "QUOTE">"serve"</span> more than one client. See <a href=
-          "configuration.html#LANCONFIG">How can I set up Privoxy to act as a
-          proxy for my LAN</a> below.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="BROWSERS2">1.12. My browser does the same things as
-          Privoxy. Why should I use Privoxy at all?</a>
-        </h3>
-        <p>
-          Modern browsers do indeed have <span class="emphasis"><i class=
-          "EMPHASIS">some</i></span> of the same functionality as <span
-          class="APPLICATION">Privoxy</span>. Maybe this is adequate for you.
-          But <span class="APPLICATION">Privoxy</span> is very versatile and
-          powerful, and can probably do a number of things your browser just
-          can't.
-        </p>
-        <p>
-          In addition, a proxy is good choice if you use multiple browsers,
-          or have a LAN with multiple computers since <span class=
-          "APPLICATION">Privoxy</span> can run as a server application. This
-          way all the configuration is in one place, and you don't have to
-          maintain a similar configuration for possibly many browsers or
-          users.
-        </p>
-        <p>
-          Note, however, that it's recommended to leverage both your
-          browser's and <span class="APPLICATION">Privoxy's</span> privacy
-          enhancing features at the same time. While your browser probably
-          lacks some features <span class="APPLICATION">Privoxy</span>
-          offers, it should also be able to do some things more reliable, for
-          example restricting and suppressing JavaScript.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="WHYTRUST">1.13. Why should I trust Privoxy?</a>
-        </h3>
-        <p>
-          The most important reason is because you have access to <span
-          class="emphasis"><i class="EMPHASIS">everything</i></span>, and you
-          can control everything. You can check every line of every
-          configuration file yourself. You can check every last bit of source
-          code should you desire. And even if you can't read code, there
-          should be some comfort in knowing that other people can, and do
-          read it. You can build the software from scratch, if you want, so
-          that you know the executable is clean, and that it is <span class=
-          "emphasis"><i class="EMPHASIS">yours</i></span>. In fact, we
-          encourage this level of scrutiny. It is one reason we use <span
-          class="APPLICATION">Privoxy</span> ourselves.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="LICENSE">1.14. Is there is a license or fee? What about a
-          warranty? Registration?</a>
-        </h3>
-        <p>
-          <span class="APPLICATION">Privoxy</span> is free software and
-          licensed under the <a href=
-          "http://www.gnu.org/licenses/old-licenses/gpl-2.0.html" target=
-          "_top">GNU General Public License (GPL) version 2</a>. It is free
-          to use, copy, modify or distribute as you wish under the terms of
-          this license. Please see the <a href="copyright.html">Copyright</a>
-          section for more information on the license and copyright. Or the
-          <tt class="FILENAME">LICENSE</tt> file that should be included.
-        </p>
-        <p>
-          There is <span class="emphasis"><i class="EMPHASIS">no
-          warranty</i></span> of any kind, expressed, implied or otherwise.
-          That is something that would cost real money ;-) There is no
-          registration either.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="SPYWARE">1.15. Can Privoxy remove spyware? Adware?
-          Viruses?</a>
-        </h3>
-        <p>
-          No, at least not reliably enough to trust it. <span class=
-          "APPLICATION">Privoxy</span> is not designed to be a malware
-          removal tool and the default configuration doesn't even try to
-          filter out any malware.
-        </p>
-        <p>
-          <span class="APPLICATION">Privoxy</span> could help prevent contact
-          from (known) sites that use such tactics with appropriate
-          configuration rules, and thus could conceivably prevent
-          contamination from such sites. However, keeping such a
-          configuration up to date would require a lot of time and effort
-          that would be better spend on keeping your software itself up to
-          date so it doesn't have known vulnerabilities.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="OTHERADS">1.16. Can I use Privoxy with other ad-blocking
-          software?</a>
-        </h3>
-        <p>
-          <span class="APPLICATION">Privoxy</span> should work fine with
-          other proxies and other software in general.
-        </p>
-        <p>
-          But it is probably not necessary to use <span class=
-          "APPLICATION">Privoxy</span> in conjunction with other ad-blocking
-          products, and this could conceivably cause undesirable results. It
-          might be better to choose one software or the other and work a
-          little to tweak its configuration to your liking.
-        </p>
-        <p>
-          Note that this is an advice specific to ad blocking.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="HELP-THE-DEVELOPERS">1.17. I would like to help you, what
-          can I do?</a>
-        </h3>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="PARTICIPATE">1.17.1. Would you like to participate?</a>
-          </h4>
-          <p>
-            Well, we <span class="emphasis"><i class=
-            "EMPHASIS">always</i></span> need help. There is something for
-            everybody who wants to help us. We welcome new developers,
-            packagers, testers, documentation writers or really anyone with a
-            desire to help in any way. You <span class="emphasis"><i class=
-            "EMPHASIS">DO NOT</i></span> need to be a <span class=
-            "QUOTE">"programmer"</span>. There are many other tasks
-            available. In fact, the programmers often can't spend as much
-            time programming because of some of the other, more mundane
-            things that need to be done, like checking the Tracker feedback
-            sections or responding to user questions on the mailing lists.
-          </p>
-          <p>
-            So first thing, subscribe to the <a href=
-            "https://lists.sourceforge.net/lists/listinfo/ijbswa-users"
-            target="_top">Privoxy Users</a> or the <a href=
-            "https://lists.sourceforge.net/lists/listinfo/ijbswa-developers"
-            target="_top">Privoxy Developers</a> mailing list, join the
-            discussion, help out other users, provide general feedback or
-            report problems you noticed.
-          </p>
-          <p>
-            If you intend to help out with the trackers, you also might want
-            to <a href="https://sourceforge.net/account/register.php" target=
-            "_top">get an account on SourceForge.net</a> so we don't confuse
-            you with the other name-less users.
-          </p>
-          <p>
-            We also have a <a href="../developer-manual/index.html" target=
-            "_top">Developer's Manual</a>. While it is partly out of date,
-            it's still worth reading.
-          </p>
-          <p>
-            Our <a href=
-            "http://ijbswa.cvs.sourceforge.net/viewvc/ijbswa/current/TODO?view=markup"
-             target="_top">TODO list</a> may be of interest to you as well.
-            Please let us know if you want to work on one of the items
-            listed.
-          </p>
-        </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="DONATE">1.17.2. Would you like to donate?</a>
-          </h4>
-          <p>
-            <span class="APPLICATION">Privoxy</span> is developed by unpaid
-            volunteers and thus our current running costs are pretty low.
-            Nevertheless, we have plans that will cost money in the future.
-            We would like to get this money through donations made by our
-            users.
-          </p>
-          <p>
-            <span class="APPLICATION">Privoxy</span> has therefore become an
-            associated project of <a href=
-            "http://www.spi-inc.org/about-spi/about-spi" target=
-            "_top">Software in the Public Interest (SPI)</a>, which allows us
-            to receive tax-deductible donations in most western countries.
-          </p>
-          <p>
-            We intend to use the donations to pay for our domain after
-            transferring it to SPI. Our goal is to make sure there's no
-            single point of failure and the bill gets paid and the site keeps
-            running even if a some of the currently active developers were to
-            suddenly disappear for a while.
-          </p>
-          <p>
-            We would also like to spend some money on more reliable hosting,
-            on hardware to help make sure <span class=
-            "APPLICATION">Privoxy</span> keeps running on platforms the
-            developers currently can't test on, and on technical books to
-            educate our developers about said platforms or to improve their
-            knowledge in general.
-          </p>
-          <p>
-            If you enjoy our software and feel like helping out with a
-            donation, please have a look at <a href=
-            "http://www.spi-inc.org/donations" target="_top">SPI's donation
-            page</a> to see what the options are.
-          </p>
-        </div>
-      </div>
-    </div>
-    <div class="NAVFOOTER">
-      <hr width="100%" class="c1">
-      <table summary="Footer navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <td width="33%" align="left" valign="top">
-            <a href="index.html" accesskey="P">Prev</a>
-          </td>
-          <td width="34%" align="center" valign="top">
-            <a href="index.html" accesskey="H">Home</a>
-          </td>
-          <td width="33%" align="right" valign="top">
-            <a href="installation.html" accesskey="N">Next</a>
-          </td>
-        </tr>
-        <tr>
-          <td width="33%" align="left" valign="top">
-            Privoxy Frequently Asked Questions
-          </td>
-          <td width="34%" align="center" valign="top">
-            &nbsp;
-          </td>
-          <td width="33%" align="right" valign="top">
-            Installation
-          </td>
-        </tr>
-      </table>
     </div>
-  </body>
-</html>
+  </div>
+
+  <div class="NAVFOOTER">
+    <hr class="c1" width="100%">
+
+    <table summary="Footer navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <td width="33%" align="left" valign="top"><a href="index.html"
+        accesskey="P">Prev</a></td>
 
+        <td width="34%" align="center" valign="top"><a href="index.html"
+        accesskey="H">Home</a></td>
+
+        <td width="33%" align="right" valign="top"><a href=
+        "installation.html" accesskey="N">Next</a></td>
+      </tr>
+
+      <tr>
+        <td width="33%" align="left" valign="top">Privoxy Frequently Asked
+        Questions</td>
+
+        <td width="34%" align="center" valign="top">&nbsp;</td>
+
+        <td width="33%" align="right" valign="top">Installation</td>
+      </tr>
+    </table>
+  </div>
+</body>
+</html>
index d73498c..4ba7e89 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
-Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+
 <html>
-  <head>
-    <meta name="generator" content="HTML Tidy, see www.w3.org">
-    <title>
-      Privoxy Frequently Asked Questions
-    </title>
-    <meta name="GENERATOR" content=
-    "Modular DocBook HTML Stylesheet Version 1.79">
-    <link rel="NEXT" title="General Information" href="general.html">
-    <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
-    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<style type="text/css">
- body {
+<head>
+  <meta name="generator" content=
+  "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
+
+  <title>Privoxy Frequently Asked Questions</title>
+  <meta name="GENERATOR" content=
+  "Modular DocBook HTML Stylesheet Version 1.79">
+  <link rel="NEXT" title="General Information" href="general.html">
+  <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
+  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+  <style type="text/css">
+body {
   background-color: #EEEEEE;
   color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- hr.c2 {text-align: left}
- dt.c1 {font-weight: bold}
-</style>
-  </head>
-  <body class="ARTICLE">
-    <div class="ARTICLE">
-      <div class="TITLEPAGE">
-        <h1 class="TITLE">
-          <a name="AEN2">Privoxy Frequently Asked Questions</a>
-        </h1>
-        <p class="PUBDATE">
-          <sub><a href="copyright.html">Copyright</a> &copy; 2001-2011 by <a
-          href="http://www.privoxy.org/" target="_top">Privoxy
-          Developers</a></sub><br>
-        </p>
-        <p class="PUBDATE">
-          $Id: index.html,v 1.67 2011/08/26 16:14:03 fabiankeil Exp $<br>
-        </p>
-        <div>
-          <a name="AEN9"></a>
-          <p>
-            This FAQ gives quick answers to frequently asked questions about
-            <a href="http://www.privoxy.org/" target="_top">Privoxy</a>. It
-            is not a substitute for the <a href="../user-manual/index.html"
-            target="_top"><i class="CITETITLE">Privoxy User Manual</i></a>.
-          </p>
-          <p>
-            What is Privoxy?
-          </p>
-          <p>
-            Privoxy is a non-caching web proxy with advanced filtering
-            capabilities for enhancing privacy, modifying web page data and
-            HTTP headers, controlling access, and removing ads and other
-            obnoxious Internet junk. Privoxy has a flexible configuration and
-            can be customized to suit individual needs and tastes. It has
-            application for both stand-alone systems and multi-user networks.
-          </p>
-          <p>
-            Privoxy is Free Software and licensed under the GNU GPLv2.
-          </p>
-          <p>
-            Privoxy is an associated project of Software in the Public
-            Interest (SPI).
-          </p>
-          <p>
-            Helping hands and donations are welcome:
-          </p>
-          <ul>
-            <li>
-              <p>
-                <a href="http://www.privoxy.org/faq/general.html#PARTICIPATE"
-                target=
-                "_top">http://www.privoxy.org/faq/general.html#PARTICIPATE</a>
-              </p>
-            </li>
-            <li>
-              <p>
-                <a href="http://www.privoxy.org/faq/general.html#DONATE"
-                target=
-                "_top">http://www.privoxy.org/faq/general.html#DONATE</a>
-              </p>
-            </li>
-          </ul>
-
-          <p>
-            Please note that this document is a work in progress. This copy
-            represents the state at the release of version 3.0.18. You can
-            find the latest version of the document at <a href=
-            "http://www.privoxy.org/faq/" target=
-            "_top">http://www.privoxy.org/faq/</a>. Please see the <a href=
-            "contact.html">Contact section</a> if you want to contact the
-            developers.
-          </p>
-        </div>
-        <hr>
-      </div>
-      <div class="TOC">
-        <dl>
-          <dt class="c1">
-            Table of Contents
-          </dt>
-          <dt>
-            1. <a href="general.html">General Information</a>
-          </dt>
-          <dd>
-            <dl>
-              <dt>
-                1.1. <a href="general.html#WHO-USES">Who should give <span
-                class="APPLICATION">Privoxy</span> a try?</a>
-              </dt>
-              <dt>
-                1.2. <a href="general.html#BESTCHOICE">Is Privoxy the best
-                choice for me?</a>
-              </dt>
-              <dt>
-                1.3. <a href="general.html#PROXYMORON">What is a <span class=
-                "QUOTE">"proxy"</span>? How does Privoxy work?</a>
-              </dt>
-              <dt>
-                1.4. <a href="general.html#OTHERSTUFF">Does Privoxy do
-                anything more than ad blocking?</a>
-              </dt>
-              <dt>
-                1.5. <a href="general.html#NEWJB">What is this new version of
-                <span class="QUOTE">"Junkbuster"</span>?</a>
-              </dt>
-              <dt>
-                1.6. <a href="general.html#AEN85">Why <span class=
-                "QUOTE">"Privoxy"</span>? Why change the name from Junkbuster
-                at all?</a>
-              </dt>
-              <dt>
-                1.7. <a href="general.html#DIFFERS">How does Privoxy differ
-                from the old Junkbuster?</a>
-              </dt>
-              <dt>
-                1.8. <a href="general.html#WHATSANAD">How does Privoxy know
-                what is an ad, and what is not?</a>
-              </dt>
-              <dt>
-                1.9. <a href="general.html#AEN163">Can Privoxy make mistakes?
-                This does not sound very scientific.</a>
-              </dt>
-              <dt>
-                1.10. <a href="general.html#AEN169">Will I have to configure
-                Privoxy before I can use it?</a>
-              </dt>
-              <dt>
-                1.11. <a href="general.html#LAN">Can Privoxy run as a server
-                on a network?</a>
-              </dt>
-              <dt>
-                1.12. <a href="general.html#BROWSERS2">My browser does the
-                same things as Privoxy. Why should I use Privoxy at all?</a>
-              </dt>
-              <dt>
-                1.13. <a href="general.html#WHYTRUST">Why should I trust
-                Privoxy?</a>
-              </dt>
-              <dt>
-                1.14. <a href="general.html#LICENSE">Is there is a license or
-                fee? What about a warranty? Registration?</a>
-              </dt>
-              <dt>
-                1.15. <a href="general.html#SPYWARE">Can Privoxy remove
-                spyware? Adware? Viruses?</a>
-              </dt>
-              <dt>
-                1.16. <a href="general.html#OTHERADS">Can I use Privoxy with
-                other ad-blocking software?</a>
-              </dt>
-              <dt>
-                1.17. <a href="general.html#HELP-THE-DEVELOPERS">I would like
-                to help you, what can I do?</a>
-              </dt>
-              <dd>
-                <dl>
-                  <dt>
-                    1.17.1. <a href="general.html#PARTICIPATE">Would you like
-                    to participate?</a>
-                  </dt>
-                  <dt>
-                    1.17.2. <a href="general.html#DONATE">Would you like to
-                    donate?</a>
-                  </dt>
-                </dl>
-              </dd>
-            </dl>
-          </dd>
-          <dt>
-            2. <a href="installation.html">Installation</a>
-          </dt>
-          <dd>
-            <dl>
-              <dt>
-                2.1. <a href="installation.html#WHICHBROWSERS">Which browsers
-                are supported by Privoxy?</a>
-              </dt>
-              <dt>
-                2.2. <a href="installation.html#WHICHOS">Which operating
-                systems are supported?</a>
-              </dt>
-              <dt>
-                2.3. <a href="installation.html#EMAIL-CLIENT">Can I use
-                Privoxy with my email client?</a>
-              </dt>
-              <dt>
-                2.4. <a href="installation.html#FIRSTSTEP">I just installed
-                Privoxy. Is there anything special I have to do now?</a>
-              </dt>
-              <dt>
-                2.5. <a href="installation.html#LOCALHOST">What is the proxy
-                address of Privoxy?</a>
-              </dt>
-              <dt>
-                2.6. <a href="installation.html#NOTHING">I just installed
-                Privoxy, and nothing is happening. All the ads are there.
-                What's wrong?</a>
-              </dt>
-              <dt>
-                2.7. <a href="installation.html#NOTUSED">I get a <span class=
-                "QUOTE">"Privoxy is not being used"</span> dummy page
-                although Privoxy is running and being used.</a>
-              </dt>
-            </dl>
-          </dd>
-          <dt>
-            3. <a href="configuration.html">Configuration</a>
-          </dt>
-          <dd>
-            <dl>
-              <dt>
-                3.1. <a href="configuration.html#AEN360">What exactly is an
-                <span class="QUOTE">"actions"</span> file?</a>
-              </dt>
-              <dt>
-                3.2. <a href="configuration.html#ACTIONSS">The <span class=
-                "QUOTE">"actions"</span> concept confuses me. Please list
-                some of these <span class="QUOTE">"actions"</span>.</a>
-              </dt>
-              <dt>
-                3.3. <a href="configuration.html#AEN383">How are actions
-                files configured? What is the easiest way to do this?</a>
-              </dt>
-              <dt>
-                3.4. <a href="configuration.html#AEN392">There are several
-                different <span class="QUOTE">"actions"</span> files. What
-                are the differences?</a>
-              </dt>
-              <dt>
-                3.5. <a href="configuration.html#GETUPDATES">Where can I get
-                updated Actions Files?</a>
-              </dt>
-              <dt>
-                3.6. <a href="configuration.html#NEWCONFIG">Can I use my old
-                config files?</a>
-              </dt>
-              <dt>
-                3.7. <a href="configuration.html#DIFFICULT">Why is the
-                configuration so complicated?</a>
-              </dt>
-              <dt>
-                3.8. <a href="configuration.html#YAHOO">How can I make my
-                Yahoo/Hotmail/Gmail account work?</a>
-              </dt>
-              <dt>
-                3.9. <a href="configuration.html#CONFIGFILES">What's the
-                difference between the <span class="QUOTE">"Cautious"</span>,
-                <span class="QUOTE">"Medium"</span> and <span class=
-                "QUOTE">"Advanced"</span> defaults?</a>
-              </dt>
-              <dt>
-                3.10. <a href="configuration.html#BROWSECONFIG">Why can I
-                change the configuration with a browser? Does that not raise
-                security issues?</a>
-              </dt>
-              <dt>
-                3.11. <a href="configuration.html#AEN480">What is the <tt
-                class="FILENAME">default.filter</tt> file? What is a <span
-                class="QUOTE">"filter"</span>?</a>
-              </dt>
-              <dt>
-                3.12. <a href="configuration.html#LANCONFIG">How can I set up
-                Privoxy to act as a proxy for my LAN?</a>
-              </dt>
-              <dt>
-                3.13. <a href="configuration.html#AEN531">Instead of ads, now
-                I get a checkerboard pattern. I don't want to see
-                anything.</a>
-              </dt>
-              <dt>
-                3.14. <a href="configuration.html#AEN548">Why would anybody
-                want to see a checkerboard pattern?</a>
-              </dt>
-              <dt>
-                3.15. <a href="configuration.html#AEN554">I see some images
-                being replaced with text instead of the checkerboard image.
-                Why and how do I get rid of this?</a>
-              </dt>
-              <dt>
-                3.16. <a href="configuration.html#SRVANY">Can Privoxy run as
-                a service on Win2K/NT/XP?</a>
-              </dt>
-              <dt>
-                3.17. <a href="configuration.html#OTHERPROXY">How can I make
-                Privoxy work with other proxies?</a>
-              </dt>
-              <dt>
-                3.18. <a href="configuration.html#PORT-80">Can I just set
-                Privoxy to use port 80 and thus avoid individual browser
-                configuration?</a>
-              </dt>
-              <dt>
-                3.19. <a href="configuration.html#TRANSPARENT">Can Privoxy
-                run as a <span class="QUOTE">"transparent"</span> proxy?</a>
-              </dt>
-              <dt>
-                3.20. <a href="configuration.html#INTERCEPTING">Can Privoxy
-                run as a <span class="QUOTE">"intercepting"</span> proxy?</a>
-              </dt>
-              <dt>
-                3.21. <a href="configuration.html#OUTLOOK">How can I
-                configure Privoxy for use with Outlook?</a>
-              </dt>
-              <dt>
-                3.22. <a href="configuration.html#OUTLOOK-MORE">How can I
-                have separate rules just for HTML mail?</a>
-              </dt>
-              <dt>
-                3.23. <a href="configuration.html#SNEAKY-COOKIES">I sometimes
-                notice cookies sneaking through. How?</a>
-              </dt>
-              <dt>
-                3.24. <a href="configuration.html#EVIL-COOKIES">Are all
-                cookies bad? Why?</a>
-              </dt>
-              <dt>
-                3.25. <a href="configuration.html#ALLOW-COOKIES">How can I
-                allow permanent cookies for my trusted sites?</a>
-              </dt>
-              <dt>
-                3.26. <a href="configuration.html#MULTIPLES">Can I have
-                separate configurations for different users?</a>
-              </dt>
-              <dt>
-                3.27. <a href="configuration.html#WHITELISTS">Can I set-up
-                Privoxy as a whitelist of <span class="QUOTE">"good"</span>
-                sites?</a>
-              </dt>
-              <dt>
-                3.28. <a href="configuration.html#NO-ADBLOCK">How can I turn
-                off ad-blocking?</a>
-              </dt>
-              <dt>
-                3.29. <a href="configuration.html#TEMPLATES">How can I have
-                custom template pages, like the <span class="emphasis"><i
-                class="EMPHASIS">BLOCKED</i></span> page?</a>
-              </dt>
-              <dt>
-                3.30. <a href="configuration.html#BLOCKALL">How can I remove
-                the <span class="QUOTE">"Go There Anyway"</span> link from
-                the <span class="emphasis"><i class=
-                "EMPHASIS">BLOCKED</i></span> page?</a>
-              </dt>
-            </dl>
-          </dd>
-          <dt>
-            4. <a href="misc.html">Miscellaneous</a>
-          </dt>
-          <dd>
-            <dl>
-              <dt>
-                4.1. <a href="misc.html#AEN729">How much does Privoxy slow my
-                browsing down? This has to add extra time to browsing.</a>
-              </dt>
-              <dt>
-                4.2. <a href="misc.html#LOADINGTIMES">I notice considerable
-                delays in page requests. What's wrong?</a>
-              </dt>
-              <dt>
-                4.3. <a href="misc.html#CONFIGURL">What are
-                "http://config.privoxy.org/" and "http://p.p/"?</a>
-              </dt>
-              <dt>
-                4.4. <a href="misc.html#NEWADS">How can I submit new ads, or
-                report problems?</a>
-              </dt>
-              <dt>
-                4.5. <a href="misc.html#NEWADS2">If I do submit missed ads,
-                will they be included in future updates?</a>
-              </dt>
-              <dt>
-                4.6. <a href="misc.html#NOONECARES">Why doesn't anyone answer
-                my support request?</a>
-              </dt>
-              <dt>
-                4.7. <a href="misc.html#IP">How can I hide my IP address?</a>
-              </dt>
-              <dt>
-                4.8. <a href="misc.html#AEN794">Can Privoxy guarantee I am
-                anonymous?</a>
-              </dt>
-              <dt>
-                4.9. <a href="misc.html#AEN812">A test site says I am not
-                using a Proxy.</a>
-              </dt>
-              <dt>
-                4.10. <a href="misc.html#TOR">How do I use Privoxy together
-                with Tor?</a>
-              </dt>
-              <dt>
-                4.11. <a href="misc.html#AEN868">Might some things break
-                because header information or content is being altered?</a>
-              </dt>
-              <dt>
-                4.12. <a href="misc.html#AEN882">Can Privoxy act as a <span
-                class="QUOTE">"caching"</span> proxy to speed up web
-                browsing?</a>
-              </dt>
-              <dt>
-                4.13. <a href="misc.html#AEN892">What about as a firewall?
-                Can Privoxy protect me?</a>
-              </dt>
-              <dt>
-                4.14. <a href="misc.html#AEN897">I have large empty spaces /
-                a checkerboard pattern now where ads used to be. Why?</a>
-              </dt>
-              <dt>
-                4.15. <a href="misc.html#AEN905">How can Privoxy filter
-                Secure (HTTPS) URLs?</a>
-              </dt>
-              <dt>
-                4.16. <a href="misc.html#AEN919">Privoxy runs as a <span
-                class="QUOTE">"server"</span>. How secure is it? Do I need to
-                take any special precautions?</a>
-              </dt>
-              <dt>
-                4.17. <a href="misc.html#TURNOFF">Can I temporarily disable
-                Privoxy?</a>
-              </dt>
-              <dt>
-                4.18. <a href="misc.html#REALLYOFF">When <span class=
-                "QUOTE">"disabled"</span> is Privoxy totally out of the
-                picture?</a>
-              </dt>
-              <dt>
-                4.19. <a href="misc.html#TURNOFF2">How can I tell Privoxy to
-                totally ignore certain sites?</a>
-              </dt>
-              <dt>
-                4.20. <a href="misc.html#CRUNCH">My logs show Privoxy <span
-                class="QUOTE">"crunches"</span> ads, but also its own
-                internal CGI pages. What is a <span class=
-                "QUOTE">"crunch"</span>?</a>
-              </dt>
-              <dt>
-                4.21. <a href="misc.html#DOWNLOADS">Can Privoxy effect files
-                that I download from a webserver? FTP server?</a>
-              </dt>
-              <dt>
-                4.22. <a href="misc.html#DOWNLOADS2">I just downloaded a Perl
-                script, and Privoxy altered it! Yikes, what is wrong!</a>
-              </dt>
-              <dt>
-                4.23. <a href="misc.html#HOSTSFILE">Should I continue to use
-                a <span class="QUOTE">"HOSTS"</span> file for
-                ad-blocking?</a>
-              </dt>
-              <dt>
-                4.24. <a href="misc.html#SEEALSO">Where can I find more
-                information about Privoxy and related issues?</a>
-              </dt>
-              <dt>
-                4.25. <a href="misc.html#MICROSUCK">I've noticed that Privoxy
-                changes <span class="QUOTE">"Microsoft"</span> to <span
-                class="QUOTE">"MicroSuck"</span>! Why are you manipulating my
-                browsing?</a>
-              </dt>
-              <dt>
-                4.26. <a href="misc.html#VALID">Does Privoxy produce <span
-                class="QUOTE">"valid"</span> HTML (or XHTML)?</a>
-              </dt>
-              <dt>
-                4.27. <a href="misc.html#SURPRISE-PRIVOXY">How did you manage
-                to get Privoxy on my computer without my consent?</a>
-              </dt>
-            </dl>
-          </dd>
-          <dt>
-            5. <a href="trouble.html">Troubleshooting</a>
-          </dt>
-          <dd>
-            <dl>
-              <dt>
-                5.1. <a href="trouble.html#AEN1091">I cannot connect to any
-                websites. Or, I am getting <span class="QUOTE">"connection
-                refused"</span> message with every web page. Why?</a>
-              </dt>
-              <dt>
-                5.2. <a href="trouble.html#ERROR503">Why am I getting a 503
-                Error (WSAECONNREFUSED) on every page?</a>
-              </dt>
-              <dt>
-                5.3. <a href="trouble.html#AEN1114">I just added a new rule,
-                but the steenkin ad is still getting through. How?</a>
-              </dt>
-              <dt>
-                5.4. <a href="trouble.html#BADSITE">One of my favorite sites
-                does not work with Privoxy. What can I do?</a>
-              </dt>
-              <dt>
-                5.5. <a href="trouble.html#DUN">After installing Privoxy, I
-                have to log in every time I start IE. What gives?</a>
-              </dt>
-              <dt>
-                5.6. <a href="trouble.html#FTP">I cannot connect to any FTP
-                sites. Privoxy is blocking me.</a>
-              </dt>
-              <dt>
-                5.7. <a href="trouble.html#MACOSXIE">In Mac OS X, I can't
-                configure Microsoft Internet Explorer to use Privoxy as the
-                HTTP proxy.</a>
-              </dt>
-              <dt>
-                5.8. <a href="trouble.html#MACOSXUNINSTALL">In Mac OS X, I
-                dragged the Privoxy folder to the trash in order to uninstall
-                it. Now the finder tells me I don't have sufficient
-                privileges to empty the trash.</a>
-              </dt>
-              <dt>
-                5.9. <a href="trouble.html#MACOSXIMAGES">In Mac OS X Panther
-                (10.3), images often fail to load and/or I experience random
-                delays in page loading. I'm using <tt class=
-                "LITERAL">localhost</tt> as my browser's proxy setting.</a>
-              </dt>
-              <dt>
-                5.10. <a href="trouble.html#BLANKPAGE">I get a completely
-                blank page at one site. <span class="QUOTE">"View
-                Source"</span> shows only: <span class=
-                "MARKUP">&lt;html&gt;&lt;body&gt;&lt;/body&gt;&lt;/html&gt;</span>.
-                Without Privoxy the page loads fine.</a>
-              </dt>
-              <dt>
-                5.11. <a href="trouble.html#NOHOSTNAME">My logs show many
-                <span class="QUOTE">"Unable to get my own hostname"</span>
-                lines. Why?</a>
-              </dt>
-              <dt>
-                5.12. <a href="trouble.html#INUSE">When I try to launch
-                Privoxy, I get an error message <span class="QUOTE">"port
-                8118 is already in use"</span> (or similar wording). Why?</a>
-              </dt>
-              <dt>
-                5.13. <a href="trouble.html#DEMORONIZER">Pages with UTF-8
-                fonts are garbled.</a>
-              </dt>
-              <dt>
-                5.14. <a href="trouble.html#DEMORONIZER2">Why are binary
-                files (such as images) corrupted when Privoxy is used?</a>
-              </dt>
-              <dt>
-                5.15. <a href="trouble.html#DEMORONIZER3">What is the <span
-                class="QUOTE">"demoronizer"</span> and why is it there?</a>
-              </dt>
-              <dt>
-                5.16. <a href="trouble.html#WINDOWOPEN">Why do I keep seeing
-                <span class="QUOTE">"PrivoxyWindowOpen()"</span> in raw
-                source code?</a>
-              </dt>
-              <dt>
-                5.17. <a href="trouble.html#DNSERRORS">I am getting too many
-                DNS errors like <span class="QUOTE">"404 No Such
-                Domain"</span>. Why can't Privoxy do this better?</a>
-              </dt>
-              <dt>
-                5.18. <a href="trouble.html#ALLCPU">At one site Privoxy just
-                hangs, and starts taking all CPU. Why is this?</a>
-              </dt>
-              <dt>
-                5.19. <a href="trouble.html#SLOWCRAWL">I just installed
-                Privoxy, and all my browsing has slowed to a crawl. What
-                gives?</a>
-              </dt>
-              <dt>
-                5.20. <a href="trouble.html#PREVENTCOMP">Why do my filters
-                work on some sites but not on others?</a>
-              </dt>
-              <dt>
-                5.21. <a href="trouble.html#SSL-WARNINGS">On some HTTPS sites
-                my browser warns me about unauthenticated content, the URL
-                bar doesn't get highlighted and the lock symbol appears to be
-                broken. What's going on?</a>
-              </dt>
-              <dt>
-                5.22. <a href="trouble.html#SE-LINUX">I get selinux error
-                messages. How can I fix this?</a>
-              </dt>
-              <dt>
-                5.23. <a href="trouble.html#GENTOO-RICERS">I compiled <span
-                class="APPLICATION">Privoxy</span> with Gentoo's portage and
-                it appears to be very slow. Why?</a>
-              </dt>
-            </dl>
-          </dd>
-          <dt>
-            6. <a href="contact.html">Contacting the developers, Bug
-            Reporting and Feature Requests</a>
-          </dt>
-          <dd>
-            <dl>
-              <dt>
-                6.1. <a href="contact.html#CONTACT-SUPPORT">Get Support</a>
-              </dt>
-              <dt>
-                6.2. <a href="contact.html#REPORTING">Reporting Problems</a>
-              </dt>
-              <dd>
-                <dl>
-                  <dt>
-                    6.2.1. <a href="contact.html#CONTACT-ADS">Reporting Ads
-                    or Other Configuration Problems</a>
-                  </dt>
-                  <dt>
-                    6.2.2. <a href="contact.html#CONTACT-BUGS">Reporting
-                    Bugs</a>
-                  </dt>
-                </dl>
-              </dd>
-              <dt>
-                6.3. <a href="contact.html#CONTACT-FEATURE">Request New
-                Features</a>
-              </dt>
-              <dt>
-                6.4. <a href="contact.html#MAILING-LISTS">Mailing Lists</a>
-              </dt>
-            </dl>
-          </dd>
-          <dt>
-            7. <a href="copyright.html">Privoxy Copyright, License and
-            History</a>
-          </dt>
-          <dd>
-            <dl>
-              <dt>
-                7.1. <a href="copyright.html#AEN1464">License</a>
-              </dt>
-              <dt>
-                7.2. <a href="copyright.html#AEN1480">History</a>
-              </dt>
-            </dl>
-          </dd>
-        </dl>
+  }
+  :link { color: #0000FF }
+  :visited { color: #840084 }
+  :active { color: #0000FF }
+  hr.c4 {text-align: left}
+  span.c3 {font-style: italic}
+  dt.c2 {font-weight: bold}
+  a.c1 {font-style: italic}
+  </style>
+</head>
+
+<body class="ARTICLE">
+  <div class="ARTICLE">
+    <div class="TITLEPAGE">
+      <h1 class="TITLE"><a name="AEN2" id="AEN2">Privoxy Frequently Asked
+      Questions</a></h1>
+
+      <p class="PUBDATE"><sub><a href="copyright.html">Copyright</a> &copy;
+      2001-2011 by <a href="http://www.privoxy.org/" target="_top">Privoxy
+      Developers</a></sub><br></p>
+
+      <p class="PUBDATE">$Id: faq.sgml,v 2.81 2011/09/04 11:10:12 fabiankeil
+      Exp $<br></p>
+
+      <div class="ABSTRACT">
+        <a name="AEN9" id="AEN9"></a>
+
+        <p>This FAQ gives quick answers to frequently asked questions about
+        <a href="http://www.privoxy.org/" target="_top">Privoxy</a>. It is
+        not a substitute for the <a class="CITETITLE c1" href=
+        "../user-manual/index.html" target="_top">Privoxy User
+        Manual</a>.</p>
+
+        <p>What is Privoxy?</p>
+
+        <p>Privoxy is a non-caching web proxy with advanced filtering
+        capabilities for enhancing privacy, modifying web page data and HTTP
+        headers, controlling access, and removing ads and other obnoxious
+        Internet junk. Privoxy has a flexible configuration and can be
+        customized to suit individual needs and tastes. It has application
+        for both stand-alone systems and multi-user networks.</p>
+
+        <p>Privoxy is Free Software and licensed under the GNU GPLv2.</p>
+
+        <p>Privoxy is an associated project of Software in the Public
+        Interest (SPI).</p>
+
+        <p>Helping hands and donations are welcome:</p>
+
+        <ul>
+          <li>
+            <p><a href="http://www.privoxy.org/faq/general.html#PARTICIPATE"
+            target=
+            "_top">http://www.privoxy.org/faq/general.html#PARTICIPATE</a></p>
+          </li>
+
+          <li>
+            <p><a href="http://www.privoxy.org/faq/general.html#DONATE"
+            target=
+            "_top">http://www.privoxy.org/faq/general.html#DONATE</a></p>
+          </li>
+        </ul>
+
+        <p>Please note that this document is a work in progress. This copy
+        represents the state at the release of version 3.0.18. You can find
+        the latest version of the document at <a href=
+        "http://www.privoxy.org/faq/" target=
+        "_top">http://www.privoxy.org/faq/</a>. Please see the <a href=
+        "contact.html">Contact section</a> if you want to contact the
+        developers.</p>
       </div>
+      <hr>
     </div>
-    <div class="NAVFOOTER">
-      <hr width="100%" class="c2">
-      <table summary="Footer navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <td width="33%" align="left" valign="top">
-            &nbsp;
-          </td>
-          <td width="34%" align="center" valign="top">
-            &nbsp;
-          </td>
-          <td width="33%" align="right" valign="top">
-            <a href="general.html" accesskey="N">Next</a>
-          </td>
-        </tr>
-        <tr>
-          <td width="33%" align="left" valign="top">
-            &nbsp;
-          </td>
-          <td width="34%" align="center" valign="top">
-            &nbsp;
-          </td>
-          <td width="33%" align="right" valign="top">
-            General Information
-          </td>
-        </tr>
-      </table>
+
+    <div class="TOC">
+      <dl>
+        <dt class="c2">Table of Contents</dt>
+
+        <dt>1. <a href="general.html">General Information</a></dt>
+
+        <dd>
+          <dl>
+            <dt>1.1. <a href="general.html#WHO-USES">Who should give
+            <span class="APPLICATION">Privoxy</span> a try?</a></dt>
+
+            <dt>1.2. <a href="general.html#BESTCHOICE">Is Privoxy the best
+            choice for me?</a></dt>
+
+            <dt>1.3. <a href="general.html#PROXYMORON">What is a <span class=
+            "QUOTE">"proxy"</span>? How does Privoxy work?</a></dt>
+
+            <dt>1.4. <a href="general.html#OTHERSTUFF">Does Privoxy do
+            anything more than ad blocking?</a></dt>
+
+            <dt>1.5. <a href="general.html#NEWJB">What is this new version of
+            <span class="QUOTE">"Junkbuster"</span>?</a></dt>
+
+            <dt>1.6. <a href="general.html#AEN85">Why <span class=
+            "QUOTE">"Privoxy"</span>? Why change the name from Junkbuster at
+            all?</a></dt>
+
+            <dt>1.7. <a href="general.html#DIFFERS">How does Privoxy differ
+            from the old Junkbuster?</a></dt>
+
+            <dt>1.8. <a href="general.html#WHATSANAD">How does Privoxy know
+            what is an ad, and what is not?</a></dt>
+
+            <dt>1.9. <a href="general.html#AEN163">Can Privoxy make mistakes?
+            This does not sound very scientific.</a></dt>
+
+            <dt>1.10. <a href="general.html#AEN169">Will I have to configure
+            Privoxy before I can use it?</a></dt>
+
+            <dt>1.11. <a href="general.html#LAN">Can Privoxy run as a server
+            on a network?</a></dt>
+
+            <dt>1.12. <a href="general.html#BROWSERS2">My browser does the
+            same things as Privoxy. Why should I use Privoxy at all?</a></dt>
+
+            <dt>1.13. <a href="general.html#WHYTRUST">Why should I trust
+            Privoxy?</a></dt>
+
+            <dt>1.14. <a href="general.html#LICENSE">Is there is a license or
+            fee? What about a warranty? Registration?</a></dt>
+
+            <dt>1.15. <a href="general.html#SPYWARE">Can Privoxy remove
+            spyware? Adware? Viruses?</a></dt>
+
+            <dt>1.16. <a href="general.html#OTHERADS">Can I use Privoxy with
+            other ad-blocking software?</a></dt>
+
+            <dt>1.17. <a href="general.html#HELP-THE-DEVELOPERS">I would like
+            to help you, what can I do?</a></dt>
+
+            <dd>
+              <dl>
+                <dt>1.17.1. <a href="general.html#PARTICIPATE">Would you like
+                to participate?</a></dt>
+
+                <dt>1.17.2. <a href="general.html#DONATE">Would you like to
+                donate?</a></dt>
+              </dl>
+            </dd>
+          </dl>
+        </dd>
+
+        <dt>2. <a href="installation.html">Installation</a></dt>
+
+        <dd>
+          <dl>
+            <dt>2.1. <a href="installation.html#WHICHBROWSERS">Which browsers
+            are supported by Privoxy?</a></dt>
+
+            <dt>2.2. <a href="installation.html#WHICHOS">Which operating
+            systems are supported?</a></dt>
+
+            <dt>2.3. <a href="installation.html#EMAIL-CLIENT">Can I use
+            Privoxy with my email client?</a></dt>
+
+            <dt>2.4. <a href="installation.html#FIRSTSTEP">I just installed
+            Privoxy. Is there anything special I have to do now?</a></dt>
+
+            <dt>2.5. <a href="installation.html#LOCALHOST">What is the proxy
+            address of Privoxy?</a></dt>
+
+            <dt>2.6. <a href="installation.html#NOTHING">I just installed
+            Privoxy, and nothing is happening. All the ads are there. What's
+            wrong?</a></dt>
+
+            <dt>2.7. <a href="installation.html#NOTUSED">I get a <span class=
+            "QUOTE">"Privoxy is not being used"</span> dummy page although
+            Privoxy is running and being used.</a></dt>
+          </dl>
+        </dd>
+
+        <dt>3. <a href="configuration.html">Configuration</a></dt>
+
+        <dd>
+          <dl>
+            <dt>3.1. <a href="configuration.html#AEN369">What exactly is an
+            <span class="QUOTE">"actions"</span> file?</a></dt>
+
+            <dt>3.2. <a href="configuration.html#ACTIONSS">The <span class=
+            "QUOTE">"actions"</span> concept confuses me. Please list some of
+            these <span class="QUOTE">"actions"</span>.</a></dt>
+
+            <dt>3.3. <a href="configuration.html#AEN392">How are actions
+            files configured? What is the easiest way to do this?</a></dt>
+
+            <dt>3.4. <a href="configuration.html#AEN401">There are several
+            different <span class="QUOTE">"actions"</span> files. What are
+            the differences?</a></dt>
+
+            <dt>3.5. <a href="configuration.html#GETUPDATES">Where can I get
+            updated Actions Files?</a></dt>
+
+            <dt>3.6. <a href="configuration.html#NEWCONFIG">Can I use my old
+            config files?</a></dt>
+
+            <dt>3.7. <a href="configuration.html#DIFFICULT">Why is the
+            configuration so complicated?</a></dt>
+
+            <dt>3.8. <a href="configuration.html#YAHOO">How can I make my
+            Yahoo/Hotmail/Gmail account work?</a></dt>
+
+            <dt>3.9. <a href="configuration.html#CONFIGFILES">What's the
+            difference between the <span class="QUOTE">"Cautious"</span>,
+            <span class="QUOTE">"Medium"</span> and <span class=
+            "QUOTE">"Advanced"</span> defaults?</a></dt>
+
+            <dt>3.10. <a href="configuration.html#BROWSECONFIG">Why can I
+            change the configuration with a browser? Does that not raise
+            security issues?</a></dt>
+
+            <dt>3.11. <a href="configuration.html#AEN489">What is the
+            <tt class="FILENAME">default.filter</tt> file? What is a
+            <span class="QUOTE">"filter"</span>?</a></dt>
+
+            <dt>3.12. <a href="configuration.html#LANCONFIG">How can I set up
+            Privoxy to act as a proxy for my LAN?</a></dt>
+
+            <dt>3.13. <a href="configuration.html#AEN540">Instead of ads, now
+            I get a checkerboard pattern. I don't want to see
+            anything.</a></dt>
+
+            <dt>3.14. <a href="configuration.html#AEN557">Why would anybody
+            want to see a checkerboard pattern?</a></dt>
+
+            <dt>3.15. <a href="configuration.html#AEN563">I see some images
+            being replaced with text instead of the checkerboard image. Why
+            and how do I get rid of this?</a></dt>
+
+            <dt>3.16. <a href="configuration.html#SRVANY">Can Privoxy run as
+            a service on Win2K/NT/XP?</a></dt>
+
+            <dt>3.17. <a href="configuration.html#OTHERPROXY">How can I make
+            Privoxy work with other proxies?</a></dt>
+
+            <dt>3.18. <a href="configuration.html#PORT-80">Can I just set
+            Privoxy to use port 80 and thus avoid individual browser
+            configuration?</a></dt>
+
+            <dt>3.19. <a href="configuration.html#TRANSPARENT">Can Privoxy
+            run as a <span class="QUOTE">"transparent"</span> proxy?</a></dt>
+
+            <dt>3.20. <a href="configuration.html#INTERCEPTING">Can Privoxy
+            run as a <span class="QUOTE">"intercepting"</span>
+            proxy?</a></dt>
+
+            <dt>3.21. <a href="configuration.html#OUTLOOK">How can I
+            configure Privoxy for use with Outlook?</a></dt>
+
+            <dt>3.22. <a href="configuration.html#OUTLOOK-MORE">How can I
+            have separate rules just for HTML mail?</a></dt>
+
+            <dt>3.23. <a href="configuration.html#SNEAKY-COOKIES">I sometimes
+            notice cookies sneaking through. How?</a></dt>
+
+            <dt>3.24. <a href="configuration.html#EVIL-COOKIES">Are all
+            cookies bad? Why?</a></dt>
+
+            <dt>3.25. <a href="configuration.html#ALLOW-COOKIES">How can I
+            allow permanent cookies for my trusted sites?</a></dt>
+
+            <dt>3.26. <a href="configuration.html#MULTIPLES">Can I have
+            separate configurations for different users?</a></dt>
+
+            <dt>3.27. <a href="configuration.html#WHITELISTS">Can I set-up
+            Privoxy as a whitelist of <span class="QUOTE">"good"</span>
+            sites?</a></dt>
+
+            <dt>3.28. <a href="configuration.html#NO-ADBLOCK">How can I turn
+            off ad-blocking?</a></dt>
+
+            <dt>3.29. <a href="configuration.html#TEMPLATES">How can I have
+            custom template pages, like the <span class=
+            "emphasis EMPHASIS c3">BLOCKED</span> page?</a></dt>
+
+            <dt>3.30. <a href="configuration.html#BLOCKALL">How can I remove
+            the <span class="QUOTE">"Go There Anyway"</span> link from the
+            <span class="emphasis EMPHASIS c3">BLOCKED</span> page?</a></dt>
+          </dl>
+        </dd>
+
+        <dt>4. <a href="misc.html">Miscellaneous</a></dt>
+
+        <dd>
+          <dl>
+            <dt>4.1. <a href="misc.html#AEN738">How much does Privoxy slow my
+            browsing down? This has to add extra time to browsing.</a></dt>
+
+            <dt>4.2. <a href="misc.html#LOADINGTIMES">I notice considerable
+            delays in page requests. What's wrong?</a></dt>
+
+            <dt>4.3. <a href="misc.html#CONFIGURL">What are
+            "http://config.privoxy.org/" and "http://p.p/"?</a></dt>
+
+            <dt>4.4. <a href="misc.html#NEWADS">How can I submit new ads, or
+            report problems?</a></dt>
+
+            <dt>4.5. <a href="misc.html#NEWADS2">If I do submit missed ads,
+            will they be included in future updates?</a></dt>
+
+            <dt>4.6. <a href="misc.html#NOONECARES">Why doesn't anyone answer
+            my support request?</a></dt>
+
+            <dt>4.7. <a href="misc.html#IP">How can I hide my IP
+            address?</a></dt>
+
+            <dt>4.8. <a href="misc.html#AEN803">Can Privoxy guarantee I am
+            anonymous?</a></dt>
+
+            <dt>4.9. <a href="misc.html#AEN821">A test site says I am not
+            using a Proxy.</a></dt>
+
+            <dt>4.10. <a href="misc.html#TOR">How do I use Privoxy together
+            with Tor?</a></dt>
+
+            <dt>4.11. <a href="misc.html#AEN877">Might some things break
+            because header information or content is being altered?</a></dt>
+
+            <dt>4.12. <a href="misc.html#AEN891">Can Privoxy act as a
+            <span class="QUOTE">"caching"</span> proxy to speed up web
+            browsing?</a></dt>
+
+            <dt>4.13. <a href="misc.html#AEN901">What about as a firewall?
+            Can Privoxy protect me?</a></dt>
+
+            <dt>4.14. <a href="misc.html#AEN906">I have large empty spaces /
+            a checkerboard pattern now where ads used to be. Why?</a></dt>
+
+            <dt>4.15. <a href="misc.html#AEN914">How can Privoxy filter
+            Secure (HTTPS) URLs?</a></dt>
+
+            <dt>4.16. <a href="misc.html#AEN928">Privoxy runs as a
+            <span class="QUOTE">"server"</span>. How secure is it? Do I need
+            to take any special precautions?</a></dt>
+
+            <dt>4.17. <a href="misc.html#TURNOFF">Can I temporarily disable
+            Privoxy?</a></dt>
+
+            <dt>4.18. <a href="misc.html#REALLYOFF">When <span class=
+            "QUOTE">"disabled"</span> is Privoxy totally out of the
+            picture?</a></dt>
+
+            <dt>4.19. <a href="misc.html#TURNOFF2">How can I tell Privoxy to
+            totally ignore certain sites?</a></dt>
+
+            <dt>4.20. <a href="misc.html#CRUNCH">My logs show Privoxy
+            <span class="QUOTE">"crunches"</span> ads, but also its own
+            internal CGI pages. What is a <span class=
+            "QUOTE">"crunch"</span>?</a></dt>
+
+            <dt>4.21. <a href="misc.html#DOWNLOADS">Can Privoxy effect files
+            that I download from a webserver? FTP server?</a></dt>
+
+            <dt>4.22. <a href="misc.html#DOWNLOADS2">I just downloaded a Perl
+            script, and Privoxy altered it! Yikes, what is wrong!</a></dt>
+
+            <dt>4.23. <a href="misc.html#HOSTSFILE">Should I continue to use
+            a <span class="QUOTE">"HOSTS"</span> file for
+            ad-blocking?</a></dt>
+
+            <dt>4.24. <a href="misc.html#SEEALSO">Where can I find more
+            information about Privoxy and related issues?</a></dt>
+
+            <dt>4.25. <a href="misc.html#MICROSUCK">I've noticed that Privoxy
+            changes <span class="QUOTE">"Microsoft"</span> to <span class=
+            "QUOTE">"MicroSuck"</span>! Why are you manipulating my
+            browsing?</a></dt>
+
+            <dt>4.26. <a href="misc.html#VALID">Does Privoxy produce
+            <span class="QUOTE">"valid"</span> HTML (or XHTML)?</a></dt>
+
+            <dt>4.27. <a href="misc.html#SURPRISE-PRIVOXY">How did you manage
+            to get Privoxy on my computer without my consent?</a></dt>
+          </dl>
+        </dd>
+
+        <dt>5. <a href="trouble.html">Troubleshooting</a></dt>
+
+        <dd>
+          <dl>
+            <dt>5.1. <a href="trouble.html#AEN1100">I cannot connect to any
+            websites. Or, I am getting <span class="QUOTE">"connection
+            refused"</span> message with every web page. Why?</a></dt>
+
+            <dt>5.2. <a href="trouble.html#ERROR503">Why am I getting a 503
+            Error (WSAECONNREFUSED) on every page?</a></dt>
+
+            <dt>5.3. <a href="trouble.html#AEN1123">I just added a new rule,
+            but the steenkin ad is still getting through. How?</a></dt>
+
+            <dt>5.4. <a href="trouble.html#BADSITE">One of my favorite sites
+            does not work with Privoxy. What can I do?</a></dt>
+
+            <dt>5.5. <a href="trouble.html#DUN">After installing Privoxy, I
+            have to log in every time I start IE. What gives?</a></dt>
+
+            <dt>5.6. <a href="trouble.html#FTP">I cannot connect to any FTP
+            sites. Privoxy is blocking me.</a></dt>
+
+            <dt>5.7. <a href="trouble.html#MACOSXIE">In Mac OS X, I can't
+            configure Microsoft Internet Explorer to use Privoxy as the HTTP
+            proxy.</a></dt>
+
+            <dt>5.8. <a href="trouble.html#MACOSXUNINSTALL">In Mac OS X, I
+            dragged the Privoxy folder to the trash in order to uninstall it.
+            Now the finder tells me I don't have sufficient privileges to
+            empty the trash.</a></dt>
+
+            <dt>5.9. <a href="trouble.html#MACOSXIMAGES">In Mac OS X Panther
+            (10.3), images often fail to load and/or I experience random
+            delays in page loading. I'm using <tt class=
+            "LITERAL">localhost</tt> as my browser's proxy setting.</a></dt>
+
+            <dt>5.10. <a href="trouble.html#BLANKPAGE">I get a completely
+            blank page at one site. <span class="QUOTE">"View Source"</span>
+            shows only: <span class=
+            "MARKUP">&lt;html&gt;&lt;body&gt;&lt;/body&gt;&lt;/html&gt;</span>.
+            Without Privoxy the page loads fine.</a></dt>
+
+            <dt>5.11. <a href="trouble.html#NOHOSTNAME">My logs show many
+            <span class="QUOTE">"Unable to get my own hostname"</span> lines.
+            Why?</a></dt>
+
+            <dt>5.12. <a href="trouble.html#INUSE">When I try to launch
+            Privoxy, I get an error message <span class="QUOTE">"port 8118 is
+            already in use"</span> (or similar wording). Why?</a></dt>
+
+            <dt>5.13. <a href="trouble.html#DEMORONIZER">Pages with UTF-8
+            fonts are garbled.</a></dt>
+
+            <dt>5.14. <a href="trouble.html#DEMORONIZER2">Why are binary
+            files (such as images) corrupted when Privoxy is used?</a></dt>
+
+            <dt>5.15. <a href="trouble.html#DEMORONIZER3">What is the
+            <span class="QUOTE">"demoronizer"</span> and why is it
+            there?</a></dt>
+
+            <dt>5.16. <a href="trouble.html#WINDOWOPEN">Why do I keep seeing
+            <span class="QUOTE">"PrivoxyWindowOpen()"</span> in raw source
+            code?</a></dt>
+
+            <dt>5.17. <a href="trouble.html#DNSERRORS">I am getting too many
+            DNS errors like <span class="QUOTE">"404 No Such Domain"</span>.
+            Why can't Privoxy do this better?</a></dt>
+
+            <dt>5.18. <a href="trouble.html#ALLCPU">At one site Privoxy just
+            hangs, and starts taking all CPU. Why is this?</a></dt>
+
+            <dt>5.19. <a href="trouble.html#SLOWCRAWL">I just installed
+            Privoxy, and all my browsing has slowed to a crawl. What
+            gives?</a></dt>
+
+            <dt>5.20. <a href="trouble.html#PREVENTCOMP">Why do my filters
+            work on some sites but not on others?</a></dt>
+
+            <dt>5.21. <a href="trouble.html#SSL-WARNINGS">On some HTTPS sites
+            my browser warns me about unauthenticated content, the URL bar
+            doesn't get highlighted and the lock symbol appears to be broken.
+            What's going on?</a></dt>
+
+            <dt>5.22. <a href="trouble.html#SE-LINUX">I get selinux error
+            messages. How can I fix this?</a></dt>
+
+            <dt>5.23. <a href="trouble.html#GENTOO-RICERS">I compiled
+            <span class="APPLICATION">Privoxy</span> with Gentoo's portage
+            and it appears to be very slow. Why?</a></dt>
+          </dl>
+        </dd>
+
+        <dt>6. <a href="contact.html">Contacting the developers, Bug
+        Reporting and Feature Requests</a></dt>
+
+        <dd>
+          <dl>
+            <dt>6.1. <a href="contact.html#CONTACT-SUPPORT">Get
+            Support</a></dt>
+
+            <dt>6.2. <a href="contact.html#REPORTING">Reporting
+            Problems</a></dt>
+
+            <dd>
+              <dl>
+                <dt>6.2.1. <a href="contact.html#CONTACT-ADS">Reporting Ads
+                or Other Configuration Problems</a></dt>
+
+                <dt>6.2.2. <a href="contact.html#CONTACT-BUGS">Reporting
+                Bugs</a></dt>
+              </dl>
+            </dd>
+
+            <dt>6.3. <a href="contact.html#CONTACT-FEATURE">Request New
+            Features</a></dt>
+
+            <dt>6.4. <a href="contact.html#MAILING-LISTS">Mailing
+            Lists</a></dt>
+          </dl>
+        </dd>
+
+        <dt>7. <a href="copyright.html">Privoxy Copyright, License and
+        History</a></dt>
+
+        <dd>
+          <dl>
+            <dt>7.1. <a href="copyright.html#AEN1477">License</a></dt>
+
+            <dt>7.2. <a href="copyright.html#AEN1493">History</a></dt>
+          </dl>
+        </dd>
+      </dl>
     </div>
-  </body>
-</html>
+  </div>
+
+  <div class="NAVFOOTER">
+    <hr class="c4" width="100%">
+
+    <table summary="Footer navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <td width="33%" align="left" valign="top">&nbsp;</td>
+
+        <td width="34%" align="center" valign="top">&nbsp;</td>
 
+        <td width="33%" align="right" valign="top"><a href="general.html"
+        accesskey="N">Next</a></td>
+      </tr>
+
+      <tr>
+        <td width="33%" align="left" valign="top">&nbsp;</td>
+
+        <td width="34%" align="center" valign="top">&nbsp;</td>
+
+        <td width="33%" align="right" valign="top">General Information</td>
+      </tr>
+    </table>
+  </div>
+</body>
+</html>
index 38841a8..47ecf73 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
-Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+
 <html>
-  <head>
-    <meta name="generator" content="HTML Tidy, see www.w3.org">
-    <title>
-      Installation
-    </title>
-    <meta name="GENERATOR" content=
-    "Modular DocBook HTML Stylesheet Version 1.79">
-    <link rel="HOME" title="Privoxy Frequently Asked Questions" href=
-    "index.html">
-    <link rel="PREVIOUS" title="General Information" href="general.html">
-    <link rel="NEXT" title="Configuration" href="configuration.html">
-    <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
-    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<style type="text/css">
- body {
+<head>
+  <meta name="generator" content=
+  "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
+
+  <title>Installation</title>
+  <meta name="GENERATOR" content=
+  "Modular DocBook HTML Stylesheet Version 1.79">
+  <link rel="HOME" title="Privoxy Frequently Asked Questions" href=
+  "index.html">
+  <link rel="PREVIOUS" title="General Information" href="general.html">
+  <link rel="NEXT" title="Configuration" href="configuration.html">
+  <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
+  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+  <style type="text/css">
+body {
   background-color: #EEEEEE;
   color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- hr.c1 {text-align: left}
-</style>
-  </head>
-  <body class="SECT1">
-    <div class="NAVHEADER">
-      <table summary="Header navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <th colspan="3" align="center">
-            Privoxy Frequently Asked Questions
-          </th>
-        </tr>
-        <tr>
-          <td width="10%" align="left" valign="bottom">
-            <a href="general.html" accesskey="P">Prev</a>
-          </td>
-          <td width="80%" align="center" valign="bottom">
-          </td>
-          <td width="10%" align="right" valign="bottom">
-            <a href="configuration.html" accesskey="N">Next</a>
-          </td>
-        </tr>
-      </table>
-      <hr width="100%" class="c1">
+  }
+  :link { color: #0000FF }
+  :visited { color: #840084 }
+  :active { color: #0000FF }
+  span.c2 {font-style: italic}
+  hr.c1 {text-align: left}
+  </style>
+</head>
+
+<body class="SECT1">
+  <div class="NAVHEADER">
+    <table summary="Header navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <th colspan="3" align="center">Privoxy Frequently Asked
+        Questions</th>
+      </tr>
+
+      <tr>
+        <td width="10%" align="left" valign="bottom"><a href="general.html"
+        accesskey="P">Prev</a></td>
+
+        <td width="80%" align="center" valign="bottom"></td>
+
+        <td width="10%" align="right" valign="bottom"><a href=
+        "configuration.html" accesskey="N">Next</a></td>
+      </tr>
+    </table>
+    <hr class="c1" width="100%">
+  </div>
+
+  <div class="SECT1">
+    <h1 class="SECT1"><a name="INSTALLATION" id="INSTALLATION">2.
+    Installation</a></h1>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="WHICHBROWSERS" id="WHICHBROWSERS">2.1. Which
+      browsers are supported by Privoxy?</a></h3>
+
+      <p>Any browser that can be configured to use a proxy, which should be
+      virtually all browsers, including <span class=
+      "APPLICATION">Firefox</span>, <span class="APPLICATION">Internet
+      Explorer</span>, <span class="APPLICATION">Opera</span>, and
+      <span class="APPLICATION">Safari</span> among others. Direct browser
+      support is not an absolute requirement since <span class=
+      "APPLICATION">Privoxy</span> runs as a separate application and talks
+      to the browser in the standardized HTTP protocol, just like a web
+      server does.</p>
     </div>
-    <div class="SECT1">
-      <h1 class="SECT1">
-        <a name="INSTALLATION">2. Installation</a>
-      </h1>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="WHICHBROWSERS">2.1. Which browsers are supported by
-          Privoxy?</a>
-        </h3>
-        <p>
-          Any browser that can be configured to use a proxy, which should be
-          virtually all browsers, including <span class=
-          "APPLICATION">Firefox</span>, <span class="APPLICATION">Internet
-          Explorer</span>, <span class="APPLICATION">Opera</span>, and <span
-          class="APPLICATION">Safari</span> among others. Direct browser
-          support is not an absolute requirement since <span class=
-          "APPLICATION">Privoxy</span> runs as a separate application and
-          talks to the browser in the standardized HTTP protocol, just like a
-          web server does.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="WHICHOS">2.2. Which operating systems are supported?</a>
-        </h3>
-        <p>
-          At present, <span class="APPLICATION">Privoxy</span> is known to
-          run on Windows(95, 98, ME, 2000, XP, Vista), GNU/Linux (RedHat,
-          SuSE, Debian, Fedora, Gentoo, Slackware and others), Mac OSX, OS/2,
-          AmigaOS, FreeBSD, NetBSD, OpenBSD, Solaris, and various other
-          flavors of Unix.
-        </p>
-        <p>
-          But any operating system that runs TCP/IP, can conceivably take
-          advantage of <span class="APPLICATION">Privoxy</span> in a
-          networked situation where <span class="APPLICATION">Privoxy</span>
-          would run as a server on a LAN gateway. Then only the <span class=
-          "QUOTE">"gateway"</span> needs to be running one of the above
-          operating systems.
-        </p>
-        <p>
-          Source code is freely available, so porting to other operating
-          systems is always a possibility.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="EMAIL-CLIENT">2.3. Can I use Privoxy with my email
-          client?</a>
-        </h3>
-        <p>
-          As long as there is some way to set a HTTP proxy for the client,
-          then yes, any application can be used, whether it is strictly
-          speaking a <span class="QUOTE">"browser"</span> or not. Though this
-          may not be the best approach for dealing with some of the common
-          abuses of HTML in email. See <a href=
-          "configuration.html#OUTLOOK">How can I configure <span class=
-          "APPLICATION">Privoxy</span> with <span class=
-          "APPLICATION">Outlook</span>?</a> below for more on this.
-        </p>
-        <p>
-          Be aware that HTML email presents a number of unique security and
-          privacy related issues, that can require advanced skills to
-          overcome. The developers recommend using email clients that can be
-          configured to convert HTML to plain text for these reasons.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="FIRSTSTEP">2.4. I just installed Privoxy. Is there
-          anything special I have to do now?</a>
-        </h3>
-        <p>
-          All browsers should be told to use <span class=
-          "APPLICATION">Privoxy</span> as a proxy by specifying the correct
-          proxy address and port number in the appropriate configuration area
-          for the browser. It's possible to combine <span class=
-          "APPLICATION">Privoxy</span> with a packet filter to intercept HTTP
-          requests even if the client isn't explicitly configured to use
-          <span class="APPLICATION">Privoxy</span>, but where possible,
-          configuring the client is recommended. See <a href=
-          "../user-manual/startup.html" target="_top">the User Manual for
-          more details</a>. You should also flush your browser's memory and
-          disk cache to get rid of any cached junk items, and remove any
-          stored <a href="http://en.wikipedia.org/wiki/Browser_cookie"
-          target="_top">cookies</a>.&#13;
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="LOCALHOST">2.5. What is the proxy address of Privoxy?</a>
-        </h3>
-        <p>
-          If you set up the <span class="APPLICATION">Privoxy</span> 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 <tt class=
-          "LITERAL">127.0.0.1</tt> (sometimes referred to as <span class=
-          "QUOTE">"localhost"</span>, which is the special name used by every
-          computer on the Internet to refer to itself) and the port will be
-          8118 (unless you used the <a href=
-          "../user-manual/config.html#LISTEN-ADDRESS" target=
-          "_top">listen-address</a> config option to tell <span class=
-          "APPLICATION">Privoxy</span> to run on a different port).
-        </p>
-        <p>
-          When configuring your browser's proxy settings you typically enter
-          the word <span class="QUOTE">"localhost"</span> or the IP address
-          <span class="QUOTE">"127.0.0.1"</span> in the boxes next to <span
-          class="QUOTE">"HTTP"</span> and <span class="QUOTE">"Secure"</span>
-          (HTTPS) and then the number <span class="QUOTE">"8118"</span> for
-          <span class="QUOTE">"port"</span>. This tells your browser to send
-          all web requests to <span class="APPLICATION">Privoxy</span>
-          instead of directly to the Internet.
-        </p>
-        <p>
-          <span class="APPLICATION">Privoxy</span> 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 <span class=
-          "APPLICATION">Privoxy</span> is running, or the equivalent
-          hostname, e.g. <tt class="LITERAL">192.168.1.1</tt>. Port
-          assignment would be same as above. Note that <span class=
-          "APPLICATION">Privoxy</span> doesn't listen on any LAN interfaces
-          by default.
-        </p>
-        <p>
-          <span class="APPLICATION">Privoxy</span> does not currently handle
-          any other protocols such as FTP, SMTP, IM, IRC, ICQ, etc.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="NOTHING">2.6. I just installed Privoxy, and nothing is
-          happening. All the ads are there. What's wrong?</a>
-        </h3>
-        <p>
-          Did you configure your browser to use <span class=
-          "APPLICATION">Privoxy</span> 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 <span class=
-          "APPLICATION">Privoxy</span> is running, and your browser is
-          correctly configured by entering the special URL: <a href=
-          "http://p.p/" target="_top">http://p.p/</a>. This should take you
-          to a page titled <span class="QUOTE">"This is Privoxy.."</span>
-          with access to <span class="APPLICATION">Privoxy's</span> internal
-          configuration. If you see this, then you are good to go. If you
-          receive a page saying <span class="QUOTE">"Privoxy is not
-          running"</span>, then the browser is not set up to use your <span
-          class="APPLICATION">Privoxy</span> installation. If you receive
-          anything else (probably nothing at all), it could either be that
-          the browser is not set up correctly, or that <span class=
-          "APPLICATION">Privoxy</span> is not running at all. Check the <a
-          href="../user-manual/config.html#LOGFILE" target="_top">log
-          file</a>. For instructions on starting <span class=
-          "APPLICATION">Privoxy</span> and browser configuration, see the <a
-          href="http://www.privoxy.org/user-manual/startup.html" target=
-          "_top">chapter on starting <span class=
-          "APPLICATION">Privoxy</span></a> in the <a href=
-          "http://www.privoxy.org/user-manual/" target="_top">User
-          Manual</a>.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="NOTUSED">2.7. I get a <span class="QUOTE">"Privoxy is not
-          being used"</span> dummy page although Privoxy is running and being
-          used.</a>
-        </h3>
-        <p>
-          First, make sure that Privoxy is <span class="emphasis"><i class=
-          "EMPHASIS">really</i></span> running and being used by visiting <a
-          href="http://p.p/" target="_top">http://p.p/</a>. You should see
-          the <span class="APPLICATION">Privoxy</span> main page. If not, see
-          the <a href="http://www.privoxy.org/user-manual/startup.html"
-          target="_top">chapter on starting <span class=
-          "APPLICATION">Privoxy</span></a> in the <a href=
-          "http://www.privoxy.org/user-manual/" target="_top">User
-          Manual</a>.
-        </p>
-        <p>
-          Now if <a href="http://p.p/" target="_top">http://p.p/</a> works
-          for you, but other parts of <span class=
-          "APPLICATION">Privoxy</span>'s web interface show the dummy page,
-          your browser has cached a redirection it encountered before <span
-          class="APPLICATION">Privoxy</span> was being used. You need to
-          clear your browser's cache. Note that shift-reloading the dummy
-          page won't help, since that'll only refresh the dummy page, not the
-          redirection that lead you there.
-        </p>
-        <p>
-          The procedure for clearing the cache varies from browser to
-          browser. For example, <span class=
-          "APPLICATION">Mozilla/Netscape</span> users would click <span
-          class="GUIBUTTON">Edit</span> --&gt; <span class=
-          "GUIBUTTON">Preferences</span> --&gt; <span class=
-          "GUIBUTTON">Advanced</span> --&gt; <span class=
-          "GUIBUTTON">Cache</span> and then click both <span class=
-          "QUOTE">"<span class="GUIBUTTON">Clear Memory Cache</span>"</span>
-          and <span class="QUOTE">"<span class="GUIBUTTON">Clear Disk
-          Cache</span>"</span>. In some <span class=
-          "APPLICATION">Firefox</span> versions it's <span class=
-          "GUIBUTTON">Tools</span> --&gt; <span class=
-          "GUIBUTTON">Options</span> --&gt; <span class=
-          "GUIBUTTON">Privacy</span> --&gt; <span class=
-          "GUIBUTTON">Cache</span> and then click <span class="QUOTE">"<span
-          class="GUIBUTTON">Clear Cache Now</span>"</span>.
-        </p>
-      </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="WHICHOS" id="WHICHOS">2.2. Which operating
+      systems are supported?</a></h3>
+
+      <p>At present, <span class="APPLICATION">Privoxy</span> is known to run
+      on Windows(95, 98, ME, 2000, XP, Vista), GNU/Linux (RedHat, SuSE,
+      Debian, Fedora, Gentoo, Slackware and others), Mac OSX, OS/2, AmigaOS,
+      FreeBSD, NetBSD, OpenBSD, Solaris, and various other flavors of
+      Unix.</p>
+
+      <p>But any operating system that runs TCP/IP, can conceivably take
+      advantage of <span class="APPLICATION">Privoxy</span> in a networked
+      situation where <span class="APPLICATION">Privoxy</span> would run as a
+      server on a LAN gateway. Then only the <span class=
+      "QUOTE">"gateway"</span> needs to be running one of the above operating
+      systems.</p>
+
+      <p>Source code is freely available, so porting to other operating
+      systems is always a possibility.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="EMAIL-CLIENT" id="EMAIL-CLIENT">2.3. Can I
+      use Privoxy with my email client?</a></h3>
+
+      <p>As long as there is some way to set a HTTP proxy for the client,
+      then yes, any application can be used, whether it is strictly speaking
+      a <span class="QUOTE">"browser"</span> or not. Though this may not be
+      the best approach for dealing with some of the common abuses of HTML in
+      email. See <a href="configuration.html#OUTLOOK">How can I configure
+      <span class="APPLICATION">Privoxy</span> with <span class=
+      "APPLICATION">Outlook</span>?</a> below for more on this.</p>
+
+      <p>Be aware that HTML email presents a number of unique security and
+      privacy related issues, that can require advanced skills to overcome.
+      The developers recommend using email clients that can be configured to
+      convert HTML to plain text for these reasons.</p>
     </div>
-    <div class="NAVFOOTER">
-      <hr width="100%" class="c1">
-      <table summary="Footer navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <td width="33%" align="left" valign="top">
-            <a href="general.html" accesskey="P">Prev</a>
-          </td>
-          <td width="34%" align="center" valign="top">
-            <a href="index.html" accesskey="H">Home</a>
-          </td>
-          <td width="33%" align="right" valign="top">
-            <a href="configuration.html" accesskey="N">Next</a>
-          </td>
-        </tr>
-        <tr>
-          <td width="33%" align="left" valign="top">
-            General Information
-          </td>
-          <td width="34%" align="center" valign="top">
-            &nbsp;
-          </td>
-          <td width="33%" align="right" valign="top">
-            Configuration
-          </td>
-        </tr>
-      </table>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="FIRSTSTEP" id="FIRSTSTEP">2.4. I just
+      installed Privoxy. Is there anything special I have to do now?</a></h3>
+
+      <p>All browsers should be told to use <span class=
+      "APPLICATION">Privoxy</span> as a proxy by specifying the correct proxy
+      address and port number in the appropriate configuration area for the
+      browser. It's possible to combine <span class=
+      "APPLICATION">Privoxy</span> with a packet filter to intercept HTTP
+      requests even if the client isn't explicitly configured to use
+      <span class="APPLICATION">Privoxy</span>, but where possible,
+      configuring the client is recommended. See <a href=
+      "../user-manual/startup.html" target="_top">the User Manual for more
+      details</a>. You should also flush your browser's memory and disk cache
+      to get rid of any cached junk items, and remove any stored <a href=
+      "http://en.wikipedia.org/wiki/Browser_cookie" target=
+      "_top">cookies</a>.</p>
     </div>
-  </body>
-</html>
 
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="LOCALHOST" id="LOCALHOST">2.5. What is the
+      proxy address of Privoxy?</a></h3>
+
+      <p>If you set up the <span class="APPLICATION">Privoxy</span> 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 <tt class=
+      "LITERAL">127.0.0.1</tt> (sometimes referred to as <span class=
+      "QUOTE">"localhost"</span>, which is the special name used by every
+      computer on the Internet to refer to itself) and the port will be 8118
+      (unless you used the <a href=
+      "../user-manual/config.html#LISTEN-ADDRESS" target=
+      "_top">listen-address</a> config option to tell <span class=
+      "APPLICATION">Privoxy</span> to run on a different port).</p>
+
+      <p>When configuring your browser's proxy settings you typically enter
+      the word <span class="QUOTE">"localhost"</span> or the IP address
+      <span class="QUOTE">"127.0.0.1"</span> in the boxes next to
+      <span class="QUOTE">"HTTP"</span> and <span class=
+      "QUOTE">"Secure"</span> (HTTPS) and then the number <span class=
+      "QUOTE">"8118"</span> for <span class="QUOTE">"port"</span>. This tells
+      your browser to send all web requests to <span class=
+      "APPLICATION">Privoxy</span> instead of directly to the Internet.</p>
+
+      <p><span class="APPLICATION">Privoxy</span> 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 <span class="APPLICATION">Privoxy</span>
+      is running, or the equivalent hostname, e.g. <tt class=
+      "LITERAL">192.168.1.1</tt>. Port assignment would be same as above.
+      Note that <span class="APPLICATION">Privoxy</span> doesn't listen on
+      any LAN interfaces by default.</p>
+
+      <p><span class="APPLICATION">Privoxy</span> does not currently handle
+      any other protocols such as FTP, SMTP, IM, IRC, ICQ, etc.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="NOTHING" id="NOTHING">2.6. I just installed
+      Privoxy, and nothing is happening. All the ads are there. What's
+      wrong?</a></h3>
+
+      <p>Did you configure your browser to use <span class=
+      "APPLICATION">Privoxy</span> 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 <span class=
+      "APPLICATION">Privoxy</span> is running, and your browser is correctly
+      configured by entering the special URL: <a href="http://p.p/" target=
+      "_top">http://p.p/</a>. This should take you to a page titled
+      <span class="QUOTE">"This is Privoxy.."</span> with access to
+      <span class="APPLICATION">Privoxy's</span> internal configuration. If
+      you see this, then you are good to go. If you receive a page saying
+      <span class="QUOTE">"Privoxy is not running"</span>, then the browser
+      is not set up to use your <span class="APPLICATION">Privoxy</span>
+      installation. If you receive anything else (probably nothing at all),
+      it could either be that the browser is not set up correctly, or that
+      <span class="APPLICATION">Privoxy</span> is not running at all. Check
+      the <a href="../user-manual/config.html#LOGFILE" target="_top">log
+      file</a>. For instructions on starting <span class=
+      "APPLICATION">Privoxy</span> and browser configuration, see the
+      <a href="http://www.privoxy.org/user-manual/startup.html" target=
+      "_top">chapter on starting <span class="APPLICATION">Privoxy</span></a>
+      in the <a href="http://www.privoxy.org/user-manual/" target="_top">User
+      Manual</a>.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="NOTUSED" id="NOTUSED">2.7. I get a
+      <span class="QUOTE">"Privoxy is not being used"</span> dummy page
+      although Privoxy is running and being used.</a></h3>
+
+      <p>First, make sure that Privoxy is <span class=
+      "emphasis EMPHASIS c2">really</span> running and being used by visiting
+      <a href="http://p.p/" target="_top">http://p.p/</a>. You should see the
+      <span class="APPLICATION">Privoxy</span> main page. If not, see the
+      <a href="http://www.privoxy.org/user-manual/startup.html" target=
+      "_top">chapter on starting <span class="APPLICATION">Privoxy</span></a>
+      in the <a href="http://www.privoxy.org/user-manual/" target="_top">User
+      Manual</a>.</p>
+
+      <p>Now if <a href="http://p.p/" target="_top">http://p.p/</a> works for
+      you, but other parts of <span class="APPLICATION">Privoxy</span>'s web
+      interface show the dummy page, your browser has cached a redirection it
+      encountered before <span class="APPLICATION">Privoxy</span> was being
+      used. You need to clear your browser's cache. Note that shift-reloading
+      the dummy page won't help, since that'll only refresh the dummy page,
+      not the redirection that lead you there.</p>
+
+      <p>The procedure for clearing the cache varies from browser to browser.
+      For example, <span class="APPLICATION">Mozilla/Netscape</span> users
+      would click <span class="GUIBUTTON">Edit</span> --&gt; <span class=
+      "GUIBUTTON">Preferences</span> --&gt; <span class=
+      "GUIBUTTON">Advanced</span> --&gt; <span class="GUIBUTTON">Cache</span>
+      and then click both <span class="QUOTE">"<span class="GUIBUTTON">Clear
+      Memory Cache</span>"</span> and <span class="QUOTE">"<span class=
+      "GUIBUTTON">Clear Disk Cache</span>"</span>. In some <span class=
+      "APPLICATION">Firefox</span> versions it's <span class=
+      "GUIBUTTON">Tools</span> --&gt; <span class="GUIBUTTON">Options</span>
+      --&gt; <span class="GUIBUTTON">Privacy</span> --&gt; <span class=
+      "GUIBUTTON">Cache</span> and then click <span class=
+      "QUOTE">"<span class="GUIBUTTON">Clear Cache Now</span>"</span>.</p>
+    </div>
+  </div>
+
+  <div class="NAVFOOTER">
+    <hr class="c1" width="100%">
+
+    <table summary="Footer navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <td width="33%" align="left" valign="top"><a href="general.html"
+        accesskey="P">Prev</a></td>
+
+        <td width="34%" align="center" valign="top"><a href="index.html"
+        accesskey="H">Home</a></td>
+
+        <td width="33%" align="right" valign="top"><a href=
+        "configuration.html" accesskey="N">Next</a></td>
+      </tr>
+
+      <tr>
+        <td width="33%" align="left" valign="top">General Information</td>
+
+        <td width="34%" align="center" valign="top">&nbsp;</td>
+
+        <td width="33%" align="right" valign="top">Configuration</td>
+      </tr>
+    </table>
+  </div>
+</body>
+</html>
index cc1b1ba..b028cf6 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
-Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+
 <html>
-  <head>
-    <meta name="generator" content="HTML Tidy, see www.w3.org">
-    <title>
-      Miscellaneous
-    </title>
-    <meta name="GENERATOR" content=
-    "Modular DocBook HTML Stylesheet Version 1.79">
-    <link rel="HOME" title="Privoxy Frequently Asked Questions" href=
-    "index.html">
-    <link rel="PREVIOUS" title="Configuration" href="configuration.html">
-    <link rel="NEXT" title="Troubleshooting" href="trouble.html">
-    <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
-    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<style type="text/css">
- body {
+<head>
+  <meta name="generator" content=
+  "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
+
+  <title>Miscellaneous</title>
+  <meta name="GENERATOR" content=
+  "Modular DocBook HTML Stylesheet Version 1.79">
+  <link rel="HOME" title="Privoxy Frequently Asked Questions" href=
+  "index.html">
+  <link rel="PREVIOUS" title="Configuration" href="configuration.html">
+  <link rel="NEXT" title="Troubleshooting" href="trouble.html">
+  <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
+  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+  <style type="text/css">
+body {
   background-color: #EEEEEE;
   color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- hr.c1 {text-align: left}
-</style>
-  </head>
-  <body class="SECT1">
-    <div class="NAVHEADER">
-      <table summary="Header navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <th colspan="3" align="center">
-            Privoxy Frequently Asked Questions
-          </th>
-        </tr>
+  }
+  :link { color: #0000FF }
+  :visited { color: #840084 }
+  :active { color: #0000FF }
+  table.c3 {background-color: #E0E0E0}
+  span.c2 {font-style: italic}
+  hr.c1 {text-align: left}
+  </style>
+</head>
+
+<body class="SECT1">
+  <div class="NAVHEADER">
+    <table summary="Header navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <th colspan="3" align="center">Privoxy Frequently Asked
+        Questions</th>
+      </tr>
+
+      <tr>
+        <td width="10%" align="left" valign="bottom"><a href=
+        "configuration.html" accesskey="P">Prev</a></td>
+
+        <td width="80%" align="center" valign="bottom"></td>
+
+        <td width="10%" align="right" valign="bottom"><a href="trouble.html"
+        accesskey="N">Next</a></td>
+      </tr>
+    </table>
+    <hr class="c1" width="100%">
+  </div>
+
+  <div class="SECT1">
+    <h1 class="SECT1"><a name="MISC" id="MISC">4. Miscellaneous</a></h1>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="AEN738" id="AEN738">4.1. How much does
+      Privoxy slow my browsing down? This has to add extra time to
+      browsing.</a></h3>
+
+      <p>How much of an impact depends on many things, including the CPU of
+      the host system, how aggressive the configuration is, which specific
+      actions are being triggered, the size of the page, the bandwidth of the
+      connection, etc.</p>
+
+      <p>Overall, 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
+      typically being retrieved and displayed. The actual processing time
+      required by <span class="APPLICATION">Privoxy</span> 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 and other junk content (if ad
+      blocking is being used).</p>
+
+      <p><span class="QUOTE">"Filtering"</span> content via the <tt class=
+      "LITERAL"><a href="../user-manual/actions-file.html#FILTER" target=
+      "_top">filter</a></tt> or <tt class="LITERAL"><a href=
+      "../user-manual/actions-file.html#DEANIMATE-GIFS" target=
+      "_top">deanimate-gifs</a></tt> actions may cause a perceived slowdown,
+      since the entire document needs to be buffered before displaying. And
+      on very large documents, filtering may have some measurable impact. How
+      much depends on the page size, the actual definition of the filter(s),
+      etc. See below. Most other actions have little to no impact on
+      speed.</p>
+
+      <p>Also, when filtering is enabled but zlib support isn't available,
+      compression is often disabled (see <a href=
+      "../user-manual/actions-file.html#PREVENT-COMPRESSION" target=
+      "_top">prevent-compression</a>). This can have an impact on speed as
+      well, although it's probably smaller than you might think. Again, the
+      page size, etc. will determine how much of an impact.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="LOADINGTIMES" id="LOADINGTIMES">4.2. I
+      notice considerable delays in page requests. What's wrong?</a></h3>
+
+      <p>If you use any <tt class="LITERAL"><a href=
+      "../user-manual/actions-file.html#FILTER" target="_top">filter</a></tt>
+      action, such as filtering banners by size, web-bugs etc, or the
+      <tt class="LITERAL"><a href=
+      "../user-manual/actions-file.html#DEANIMATE-GIFS" target=
+      "_top">deanimate-gifs</a></tt> action, the entire document must be
+      loaded into memory in order for the filtering mechanism to work, and
+      nothing is sent to the browser during this time.</p>
+
+      <p>The loading time typically does not really change much 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". This effect is more noticeable on slower dialup connections.
+      Extremely large documents may have some impact on the time to load the
+      page where there is filtering being done. But overall, the difference
+      should be very minimal. If there is a big impact, then probably some
+      other situation is contributing (like anti-virus software).</p>
+
+      <p>Filtering is automatically disabled for inappropriate MIME types.
+      But note that if the web server mis-reports the MIME type, then content
+      that should not be filtered, could be. <span class=
+      "APPLICATION">Privoxy</span> only knows how to differentiate filterable
+      content because of the MIME type as reported by the server, or because
+      of some configuration setting that enables/disables filtering.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="CONFIGURL" id="CONFIGURL">4.3. What are
+      "http://config.privoxy.org/" and "http://p.p/"?</a></h3>
+
+      <p><a href="http://config.privoxy.org/" target=
+      "_top">http://config.privoxy.org/</a> is the address of <span class=
+      "APPLICATION">Privoxy</span>'s built-in user interface, and <a href=
+      "http://p.p/" target="_top">http://p.p/</a> is a shortcut for it.</p>
+
+      <p>Since <span class="APPLICATION">Privoxy</span> sits between your web
+      browser and the Internet, it can simply intercept requests for these
+      addresses and answer them with its built-in <span class="QUOTE">"web
+      server"</span>.</p>
+
+      <p>This also makes for a good test for your browser configuration: If
+      entering the URL <a href="http://config.privoxy.org/" target=
+      "_top">http://config.privoxy.org/</a> takes you to a page saying
+      <span class="QUOTE">"This is Privoxy ..."</span>, everything is OK. If
+      you get a page saying <span class="QUOTE">"Privoxy is not
+      working"</span> instead, then your browser didn't use <span class=
+      "APPLICATION">Privoxy</span> for the request, hence it could not be
+      intercepted, and you have accessed the <span class=
+      "emphasis EMPHASIS c2">real</span> web site at config.privoxy.org.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="NEWADS" id="NEWADS">4.4. How can I submit
+      new ads, or report problems?</a></h3>
+
+      <p>Please see the <a href="contact.html">Contact section</a> for
+      various ways to interact with the developers.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="NEWADS2" id="NEWADS2">4.5. If I do submit
+      missed ads, will they be included in future updates?</a></h3>
+
+      <p>Whether such submissions are eventually included in the <tt class=
+      "FILENAME">default.action</tt> configuration file depends on how
+      significant the issue is. We of course want to address any potential
+      problem with major, high-profile sites such as <i class=
+      "CITETITLE">Google</i>, <i class="CITETITLE">Yahoo</i>, etc. Any site
+      with global or regional reach, has a good chance of being a candidate.
+      But at the other end of the spectrum are any number of smaller,
+      low-profile sites such as for local clubs or schools. Since their reach
+      and impact are much less, they are best handled by inclusion in the
+      user's <tt class="FILENAME">user.action</tt>, and thus would be
+      unlikely to be included.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="NOONECARES" id="NOONECARES">4.6. Why doesn't
+      anyone answer my support request?</a></h3>
+
+      <p>Rest assured that it has been read and considered. Why it is not
+      answered, could be for various reasons, including no one has a good
+      answer for it, no one has had time to yet investigate it thoroughly, it
+      has been reported numerous times already, or because not enough
+      information was provided to help us help you. Your efforts are not
+      wasted, and we do appreciate them.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="IP" id="IP">4.7. How can I hide my IP
+      address?</a></h3>
+
+      <p>If you run both the browser and <span class=
+      "APPLICATION">Privoxy</span> locally, you cannot hide your IP address
+      with <span class="APPLICATION">Privoxy</span> or ultimately any other
+      software alone. The server needs to know your IP address so that it
+      knows where to send the responses back.</p>
+
+      <p>There are many publicly usable "anonymous" proxies out there, which
+      provide a further level of indirection between you and the web
+      server.</p>
+
+      <p>However, these proxies are called "anonymous" because you don't need
+      to authenticate, not because they would offer any real anonymity. Most
+      of them will log your IP address and make it available to the
+      authorities in case you violate the law of the country they run in. 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.</p>
+
+      <p>If you want to hide your IP address from most adversaries, you
+      should consider chaining <span class="APPLICATION">Privoxy</span> with
+      <a href="https://www.torproject.org/" target="_top">Tor</a>. The
+      configuration details can be found in <a href="#TOR" target="_top">How
+      do I use <span class="APPLICATION">Privoxy</span> together with
+      <span class="APPLICATION">Tor</span> section</a> just below.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="AEN803" id="AEN803">4.8. Can Privoxy
+      guarantee I am anonymous?</a></h3>
+
+      <p>No. Your chances of remaining anonymous are improved, but unless you
+      <a href="#TOR" target="_top">chain <span class=
+      "APPLICATION">Privoxy</span> with <span class=
+      "APPLICATION">Tor</span></a> or a similar proxy and know what you're
+      doing when it comes to configuring the rest of your system, you should
+      assume that everything you do on the Web can be traced back to you.</p>
+
+      <p><span class="APPLICATION">Privoxy</span> can remove various
+      information about you, and allows <span class=
+      "emphasis EMPHASIS c2">you</span> more freedom to decide which sites
+      you can trust, and what details you want to reveal. But it neither
+      hides your IP address, nor can it guarantee that the rest of the system
+      behaves correctly. There are several possibilities how a web sites can
+      find out who you are, even if you are using a strict <span class=
+      "APPLICATION">Privoxy</span> configuration and chained it with
+      <span class="APPLICATION">Tor</span>.</p>
+
+      <p>Most of <span class="APPLICATION">Privoxy's</span> privacy-enhancing
+      features can be easily subverted by an insecure browser configuration,
+      therefore you should use a browser that can be configured to only
+      execute code from trusted sites, and be careful which sites you trust.
+      For example there is no point in having <span class=
+      "APPLICATION">Privoxy</span> modify the User-Agent header, if websites
+      can get all the information they want through JavaScript, ActiveX,
+      Flash, Java etc.</p>
+
+      <p>A few browsers disclose the user's email address in certain
+      situations, such as when transferring a file by FTP. <span class=
+      "APPLICATION">Privoxy</span> 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
+      <span class="APPLICATION">NSClean</span>.</p>
+
+      <p>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!</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="AEN821" id="AEN821">4.9. A test site says I
+      am not using a Proxy.</a></h3>
+
+      <p>Good! Actually, they are probably testing for some other kinds of
+      proxies. Hiding yourself completely would require additional steps.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="TOR" id="TOR">4.10. How do I use Privoxy
+      together with Tor?</a></h3>
+
+      <p>Before you configure <span class="APPLICATION">Privoxy</span> to use
+      <a href="https://www.torproject.org/" target="_top">Tor</a>, please
+      follow the <i class="CITETITLE">User Manual</i> chapters <a href=
+      "../user-manual/installation.html" target="_top">2. Installation</a>
+      and <a href="../user-manual/startup.html" target="_top">5. Startup</a>
+      to make sure <span class="APPLICATION">Privoxy</span> itself is setup
+      correctly.</p>
+
+      <p>If it is, refer to <a href=
+      "https://www.torproject.org/documentation.html" target="_top">Tor's
+      extensive documentation</a> to learn how to install <span class=
+      "APPLICATION">Tor</span>, and make sure <span class=
+      "APPLICATION">Tor</span>'s logfile says that <span class="QUOTE">"Tor
+      has successfully opened a circuit"</span> and it <span class=
+      "QUOTE">"looks like client functionality is working"</span>.</p>
+
+      <p>If either <span class="APPLICATION">Tor</span> or <span class=
+      "APPLICATION">Privoxy</span> isn't working, their combination most
+      likely will neither. Testing them on their own will also help you to
+      direct problem reports to the right audience. If <span class=
+      "APPLICATION">Privoxy</span> isn't working, don't bother the
+      <span class="APPLICATION">Tor</span> developers. If <span class=
+      "APPLICATION">Tor</span> isn't working, don't send bug reports to the
+      <span class="APPLICATION">Privoxy</span> Team.</p>
+
+      <p>If you verified that <span class="APPLICATION">Privoxy</span> and
+      <span class="APPLICATION">Tor</span> are working, it is time to connect
+      them. As far as <span class="APPLICATION">Privoxy</span> is concerned,
+      <span class="APPLICATION">Tor</span> is just another proxy that can be
+      reached by socks4, socks4a and socks5. Most likely you are interested
+      in <span class="APPLICATION">Tor</span> to increase your anonymity
+      level, therefore you should use socks5, to make sure DNS requests are
+      done through <span class="APPLICATION">Tor</span> and thus invisible to
+      your local network. Using socks4a would work too, but with socks5 you
+      get more precise error messages.</p>
+
+      <p>Since <span class="APPLICATION">Privoxy</span> 3.0.5, its <a href=
+      "../user-manual/config.html" target="_top">main configuration file</a>
+      is already prepared for <span class="APPLICATION">Tor</span>, if you
+      are using a default <span class="APPLICATION">Tor</span> configuration
+      and run it on the same system as <span class=
+      "APPLICATION">Privoxy</span>, you just have to edit the <a href=
+      "../user-manual/config.html#FORWARDING" target="_top">forwarding
+      section</a> and uncomment the line:</p>
+
+      <table class="c3" border="0" width="100%">
         <tr>
-          <td width="10%" align="left" valign="bottom">
-            <a href="configuration.html" accesskey="P">Prev</a>
-          </td>
-          <td width="80%" align="center" valign="bottom">
-          </td>
-          <td width="10%" align="right" valign="bottom">
-            <a href="trouble.html" accesskey="N">Next</a>
+          <td>
+            <pre class="SCREEN">
+#        forward-socks5             /     127.0.0.1:9050 .
+
+</pre>
           </td>
         </tr>
       </table>
-      <hr width="100%" class="c1">
-    </div>
-    <div class="SECT1">
-      <h1 class="SECT1">
-        <a name="MISC">4. Miscellaneous</a>
-      </h1>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="AEN729">4.1. How much does Privoxy slow my browsing down?
-          This has to add extra time to browsing.</a>
-        </h3>
-        <p>
-          How much of an impact depends on many things, including the CPU of
-          the host system, how aggressive the configuration is, which
-          specific actions are being triggered, the size of the page, the
-          bandwidth of the connection, etc.
-        </p>
-        <p>
-          Overall, 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 typically being retrieved and displayed. The actual processing
-          time required by <span class="APPLICATION">Privoxy</span> 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 and other junk
-          content (if ad blocking is being used).
-        </p>
-        <p>
-          <span class="QUOTE">"Filtering"</span> content via the <tt class=
-          "LITERAL"><a href="../user-manual/actions-file.html#FILTER" target=
-          "_top">filter</a></tt> or <tt class="LITERAL"><a href=
-          "../user-manual/actions-file.html#DEANIMATE-GIFS" target=
-          "_top">deanimate-gifs</a></tt> actions may cause a perceived
-          slowdown, since the entire document needs to be buffered before
-          displaying. And on very large documents, filtering may have some
-          measurable impact. How much depends on the page size, the actual
-          definition of the filter(s), etc. See below. Most other actions
-          have little to no impact on speed.
-        </p>
-        <p>
-          Also, when filtering is enabled but zlib support isn't available,
-          compression is often disabled (see <a href=
-          "../user-manual/actions-file.html#PREVENT-COMPRESSION" target=
-          "_top">prevent-compression</a>). This can have an impact on speed
-          as well, although it's probably smaller than you might think.
-          Again, the page size, etc. will determine how much of an impact.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="LOADINGTIMES">4.2. I notice considerable delays in page
-          requests. What's wrong?</a>
-        </h3>
-        <p>
-          If you use any <tt class="LITERAL"><a href=
-          "../user-manual/actions-file.html#FILTER" target=
-          "_top">filter</a></tt> action, such as filtering banners by size,
-          web-bugs etc, or the <tt class="LITERAL"><a href=
-          "../user-manual/actions-file.html#DEANIMATE-GIFS" target=
-          "_top">deanimate-gifs</a></tt> action, the entire document must be
-          loaded into memory in order for the filtering mechanism to work,
-          and nothing is sent to the browser during this time.
-        </p>
-        <p>
-          The loading time typically does not really change much 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". This effect is more noticeable on slower
-          dialup connections. Extremely large documents may have some impact
-          on the time to load the page where there is filtering being done.
-          But overall, the difference should be very minimal. If there is a
-          big impact, then probably some other situation is contributing
-          (like anti-virus software).
-        </p>
-        <p>
-          Filtering is automatically disabled for inappropriate MIME types.
-          But note that if the web server mis-reports the MIME type, then
-          content that should not be filtered, could be. <span class=
-          "APPLICATION">Privoxy</span> only knows how to differentiate
-          filterable content because of the MIME type as reported by the
-          server, or because of some configuration setting that
-          enables/disables filtering.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="CONFIGURL">4.3. What are "http://config.privoxy.org/" and
-          "http://p.p/"?</a>
-        </h3>
-        <p>
-          <a href="http://config.privoxy.org/" target=
-          "_top">http://config.privoxy.org/</a> is the address of <span
-          class="APPLICATION">Privoxy</span>'s built-in user interface, and
-          <a href="http://p.p/" target="_top">http://p.p/</a> is a shortcut
-          for it.
-        </p>
-        <p>
-          Since <span class="APPLICATION">Privoxy</span> sits between your
-          web browser and the Internet, it can simply intercept requests for
-          these addresses and answer them with its built-in <span class=
-          "QUOTE">"web server"</span>.
-        </p>
-        <p>
-          This also makes for a good test for your browser configuration: If
-          entering the URL <a href="http://config.privoxy.org/" target=
-          "_top">http://config.privoxy.org/</a> takes you to a page saying
-          <span class="QUOTE">"This is Privoxy ..."</span>, everything is OK.
-          If you get a page saying <span class="QUOTE">"Privoxy is not
-          working"</span> instead, then your browser didn't use <span class=
-          "APPLICATION">Privoxy</span> for the request, hence it could not be
-          intercepted, and you have accessed the <span class="emphasis"><i
-          class="EMPHASIS">real</i></span> web site at config.privoxy.org.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="NEWADS">4.4. How can I submit new ads, or report
-          problems?</a>
-        </h3>
-        <p>
-          Please see the <a href="contact.html">Contact section</a> for
-          various ways to interact with the developers.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="NEWADS2">4.5. If I do submit missed ads, will they be
-          included in future updates?</a>
-        </h3>
-        <p>
-          Whether such submissions are eventually included in the <tt class=
-          "FILENAME">default.action</tt> configuration file depends on how
-          significant the issue is. We of course want to address any
-          potential problem with major, high-profile sites such as <i class=
-          "CITETITLE">Google</i>, <i class="CITETITLE">Yahoo</i>, etc. Any
-          site with global or regional reach, has a good chance of being a
-          candidate. But at the other end of the spectrum are any number of
-          smaller, low-profile sites such as for local clubs or schools.
-          Since their reach and impact are much less, they are best handled
-          by inclusion in the user's <tt class="FILENAME">user.action</tt>,
-          and thus would be unlikely to be included.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="NOONECARES">4.6. Why doesn't anyone answer my support
-          request?</a>
-        </h3>
-        <p>
-          Rest assured that it has been read and considered. Why it is not
-          answered, could be for various reasons, including no one has a good
-          answer for it, no one has had time to yet investigate it
-          thoroughly, it has been reported numerous times already, or because
-          not enough information was provided to help us help you. Your
-          efforts are not wasted, and we do appreciate them.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="IP">4.7. How can I hide my IP address?</a>
-        </h3>
-        <p>
-          If you run both the browser and <span class=
-          "APPLICATION">Privoxy</span> locally, you cannot hide your IP
-          address with <span class="APPLICATION">Privoxy</span> or ultimately
-          any other software alone. The server needs to know your IP address
-          so that it knows where to send the responses back.
-        </p>
-        <p>
-          There are many publicly usable "anonymous" proxies out there, which
-          provide a further level of indirection between you and the web
-          server.
-        </p>
-        <p>
-          However, these proxies are called "anonymous" because you don't
-          need to authenticate, not because they would offer any real
-          anonymity. Most of them will log your IP address and make it
-          available to the authorities in case you violate the law of the
-          country they run in. 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.
-        </p>
-        <p>
-          If you want to hide your IP address from most adversaries, you
-          should consider chaining <span class="APPLICATION">Privoxy</span>
-          with <a href="https://www.torproject.org/" target="_top">Tor</a>.
-          The configuration details can be found in <a href="#TOR" target=
-          "_top">How do I use <span class="APPLICATION">Privoxy</span>
-          together with <span class="APPLICATION">Tor</span> section</a> just
-          below.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="AEN794">4.8. Can Privoxy guarantee I am anonymous?</a>
-        </h3>
-        <p>
-          No. Your chances of remaining anonymous are improved, but unless
-          you <a href="#TOR" target="_top">chain <span class=
-          "APPLICATION">Privoxy</span> with <span class=
-          "APPLICATION">Tor</span></a> or a similar proxy and know what
-          you're doing when it comes to configuring the rest of your system,
-          you should assume that everything you do on the Web can be traced
-          back to you.
-        </p>
-        <p>
-          <span class="APPLICATION">Privoxy</span> can remove various
-          information about you, and allows <span class="emphasis"><i class=
-          "EMPHASIS">you</i></span> more freedom to decide which sites you
-          can trust, and what details you want to reveal. But it neither
-          hides your IP address, nor can it guarantee that the rest of the
-          system behaves correctly. There are several possibilities how a web
-          sites can find out who you are, even if you are using a strict
-          <span class="APPLICATION">Privoxy</span> configuration and chained
-          it with <span class="APPLICATION">Tor</span>.
-        </p>
-        <p>
-          Most of <span class="APPLICATION">Privoxy's</span>
-          privacy-enhancing features can be easily subverted by an insecure
-          browser configuration, therefore you should use a browser that can
-          be configured to only execute code from trusted sites, and be
-          careful which sites you trust. For example there is no point in
-          having <span class="APPLICATION">Privoxy</span> modify the
-          User-Agent header, if websites can get all the information they
-          want through JavaScript, ActiveX, Flash, Java etc.
-        </p>
-        <p>
-          A few browsers disclose the user's email address in certain
-          situations, such as when transferring a file by FTP. <span class=
-          "APPLICATION">Privoxy</span> 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
-          <span class="APPLICATION">NSClean</span>.
-        </p>
-        <p>
-          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!
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="AEN812">4.9. A test site says I am not using a Proxy.</a>
-        </h3>
-        <p>
-          Good! Actually, they are probably testing for some other kinds of
-          proxies. Hiding yourself completely would require additional steps.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="TOR">4.10. How do I use Privoxy together with Tor?</a>
-        </h3>
-        <p>
-          Before you configure <span class="APPLICATION">Privoxy</span> to
-          use <a href="https://www.torproject.org/" target="_top">Tor</a>,
-          please follow the <i class="CITETITLE">User Manual</i> chapters <a
-          href="../user-manual/installation.html" target="_top">2.
-          Installation</a> and <a href="../user-manual/startup.html" target=
-          "_top">5. Startup</a> to make sure <span class=
-          "APPLICATION">Privoxy</span> itself is setup correctly.
-        </p>
-        <p>
-          If it is, refer to <a href=
-          "https://www.torproject.org/documentation.html" target="_top">Tor's
-          extensive documentation</a> to learn how to install <span class=
-          "APPLICATION">Tor</span>, and make sure <span class=
-          "APPLICATION">Tor</span>'s logfile says that <span class=
-          "QUOTE">"Tor has successfully opened a circuit"</span> and it <span
-          class="QUOTE">"looks like client functionality is working"</span>.
-        </p>
-        <p>
-          If either <span class="APPLICATION">Tor</span> or <span class=
-          "APPLICATION">Privoxy</span> isn't working, their combination most
-          likely will neither. Testing them on their own will also help you
-          to direct problem reports to the right audience. If <span class=
-          "APPLICATION">Privoxy</span> isn't working, don't bother the <span
-          class="APPLICATION">Tor</span> developers. If <span class=
-          "APPLICATION">Tor</span> isn't working, don't send bug reports to
-          the <span class="APPLICATION">Privoxy</span> Team.
-        </p>
-        <p>
-          If you verified that <span class="APPLICATION">Privoxy</span> and
-          <span class="APPLICATION">Tor</span> are working, it is time to
-          connect them. As far as <span class="APPLICATION">Privoxy</span> is
-          concerned, <span class="APPLICATION">Tor</span> is just another
-          proxy that can be reached by socks4, socks4a and socks5. Most
-          likely you are interested in <span class="APPLICATION">Tor</span>
-          to increase your anonymity level, therefore you should use socks5,
-          to make sure DNS requests are done through <span class=
-          "APPLICATION">Tor</span> and thus invisible to your local network.
-          Using socks4a would work too, but with socks5 you get more precise
-          error messages.
-        </p>
-        <p>
-          Since <span class="APPLICATION">Privoxy</span> 3.0.5, its <a href=
-          "../user-manual/config.html" target="_top">main configuration
-          file</a> is already prepared for <span class=
-          "APPLICATION">Tor</span>, if you are using a default <span class=
-          "APPLICATION">Tor</span> configuration and run it on the same
-          system as <span class="APPLICATION">Privoxy</span>, you just have
-          to edit the <a href="../user-manual/config.html#FORWARDING" target=
-          "_top">forwarding section</a> and uncomment the line:
-        </p>
-        <p>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
-#        forward-socks5             /     127.0.0.1:9050 .
-</pre>
-            </td>
-          </tr>
-        </table>
-
-        <p>
-          This is enough to reach the Internet, but additionally you might
-          want to uncomment the following forward rules, to make sure your
-          local network is still reachable through Privoxy:
-        </p>
-        <p>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
+
+      <p>This is enough to reach the Internet, but additionally you might
+      want to uncomment the following forward rules, to make sure your local
+      network is still reachable through Privoxy:</p>
+
+      <table class="c3" border="0" width="100%">
+        <tr>
+          <td>
+            <pre class="SCREEN">
 #        forward         192.168.*.*/     .
 #        forward            10.*.*.*/     .
 #        forward           127.*.*.*/     .
+
 </pre>
-            </td>
-          </tr>
-        </table>
-
-        <p>
-          Unencrypted connections to systems in these address ranges will be
-          as (un)secure as the local network is, but the alternative is that
-          your browser can't reach the network at all. Then again, that may
-          actually be desired and if you don't know for sure that your
-          browser has to be able to reach the local network, there's no
-          reason to allow it.
-        </p>
-        <p>
-          If you want your browser to be able to reach servers in your local
-          network by using their names, you will need additional exceptions
-          that look like this:
-        </p>
-        <p>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
+          </td>
+        </tr>
+      </table>
+
+      <p>Unencrypted connections to systems in these address ranges will be
+      as (un)secure as the local network is, but the alternative is that your
+      browser can't reach the network at all. Then again, that may actually
+      be desired and if you don't know for sure that your browser has to be
+      able to reach the local network, there's no reason to allow it.</p>
+
+      <p>If you want your browser to be able to reach servers in your local
+      network by using their names, you will need additional exceptions that
+      look like this:</p>
+
+      <table class="c3" border="0" width="100%">
+        <tr>
+          <td>
+            <pre class="SCREEN">
 #        forward           localhost/     .
+
 </pre>
-            </td>
-          </tr>
-        </table>
-
-        <p>
-          Save the modified configuration file and open <a href=
-          "http://config.privoxy.org/show-status" target=
-          "_top">http://config.privoxy.org/show-status/</a> in your browser,
-          confirm that <span class="APPLICATION">Privoxy</span> has reloaded
-          its configuration and that there are no other forward lines, unless
-          you know that you need them. If everything looks good, refer to <a
-          href=
-          "https://wiki.torproject.org/noreply/TheOnionRouter/TorFAQ#IsMyConnectionPrivate"
-           target="_top">Tor Faq 4.2</a> to learn how to verify that you are
-          really using <span class="APPLICATION">Tor</span>.
-        </p>
-        <p>
-          Afterward, please take the time to at least skim through the rest
-          of <span class="APPLICATION">Tor's</span> documentation. Make sure
-          you understand what <span class="APPLICATION">Tor</span> does, why
-          it is no replacement for application level security, and why you
-          probably don't want to use it for unencrypted logins.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="AEN868">4.11. Might some things break because header
-          information or content is being altered?</a>
-        </h3>
-        <p>
-          Definitely. It is common for sites to use browser type, browser
-          version, HTTP header content, and various other techniques in order
-          to dynamically decide what to display and how to display it. What
-          you see, and what I see, might be very different. There are many,
-          many ways that this can be handled, so having hard and fast rules,
-          is tricky.
-        </p>
-        <p>
-          The <span class="QUOTE">"User-Agent"</span> is sometimes used in
-          this way to identify the browser, and adjust content accordingly.
-        </p>
-        <p>
-          Also, different browsers use different encodings of non-English
-          characters, certain web servers convert pages on-the-fly according
-          to the User Agent header. Giving a <span class="QUOTE">"User
-          Agent"</span> 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
-          <span class="QUOTE">"Referer"</span> header; they may fail or break
-          if unavailable. The weather maps of Intellicast have been blocked
-          by their server when no <span class="QUOTE">"Referer"</span> or
-          cookie is provided, is another example. (But you can forge both
-          headers without giving information away). There are many other ways
-          things can go wrong when trying to fool a web server. The results
-          of which could inadvertently cause pages to load incorrectly,
-          partially, or even not at all. And there may be no obvious clues as
-          to just what went wrong, or why. Nowhere will there be a message
-          that says <span class="QUOTE">"<span class="emphasis"><i class=
-          "EMPHASIS">Turn off <tt class="LITERAL">fast-redirects</tt> or
-          else!</i></span> "</span>
-        </p>
-        <p>
-          Similar thoughts apply to modifying JavaScript, and, to a lesser
-          degree, HTML elements.
-        </p>
-        <p>
-          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.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="AEN882">4.12. Can Privoxy act as a <span class=
-          "QUOTE">"caching"</span> proxy to speed up web browsing?</a>
-        </h3>
-        <p>
-          No, it does not have this ability at all. You want something like
-          <a href="http://www.squid-cache.org/" target="_top">Squid</a> or <a
-          href="http://www.pps.jussieu.fr/~jch/software/polipo/" target=
-          "_top">Polipo</a> for this. And, yes, before you ask, <span class=
-          "APPLICATION">Privoxy</span> can co-exist with other kinds of
-          proxies like <span class="APPLICATION">Squid</span>. See the <a
-          href="../user-manual/config.html#FORWARDING" target=
-          "_top">forwarding chapter</a> in the <a href=
-          "../user-manual/index.html" target="_top">user manual</a> for
-          details.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="AEN892">4.13. What about as a firewall? Can Privoxy
-          protect me?</a>
-        </h3>
-        <p>
-          Not in the way you mean, or in the way some firewall vendors claim
-          they can. <span class="APPLICATION">Privoxy</span> can help protect
-          your privacy, but can't protect your system from intrusion
-          attempts. It is, of course, perfectly possible to use <span class=
-          "emphasis"><i class="EMPHASIS">both</i></span>.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="AEN897">4.14. I have large empty spaces / a checkerboard
-          pattern now where ads used to be. Why?</a>
-        </h3>
-        <p>
-          It is technically possible to eliminate banners and ads in a way
-          that frees their allocated page space. This could easily be done by
-          blocking with <span class="APPLICATION">Privoxy's</span> filters,
-          and eliminating the <span class="emphasis"><i class=
-          "EMPHASIS">entire</i></span> image references from the HTML page
-          source.
-        </p>
-        <p>
-          But, this would consume considerably more CPU resources (IOW, slow
-          things down), would likely destroy the layout of some web pages
-          which rely on the banners utilizing a certain amount of page space,
-          and might fail in other cases, where the screen space is reserved
-          (e.g. by HTML tables for instance). Also, making ads and banners
-          disappear without any trace complicates troubleshooting, and would
-          sooner or later be problematic.
-        </p>
-        <p>
-          The better alternative is to instead let them stay, and block the
-          resulting requests for the banners themselves as is now the case.
-          This leaves either empty space, or the familiar checkerboard
-          pattern.
-        </p>
-        <p>
-          So the developers won't support this in the default configuration,
-          but you can of course define appropriate filters yourself to
-          achieve this.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="AEN905">4.15. How can Privoxy filter Secure (HTTPS)
-          URLs?</a>
-        </h3>
-        <p>
-          Since secure HTTP connections are encrypted SSL sessions between
-          your browser and the secure site, and are meant to be reliably
-          <span class="emphasis"><i class="EMPHASIS">secure</i></span>, there
-          is little that <span class="APPLICATION">Privoxy</span> can do but
-          hand the raw gibberish data though from one end to the other
-          unprocessed.
-        </p>
-        <p>
-          The only exception to this is blocking by host patterns, as the
-          client needs to tell <span class="APPLICATION">Privoxy</span> the
-          name of the remote server, so that <span class=
-          "APPLICATION">Privoxy</span> can establish the connection. If that
-          name matches a host-only pattern, the connection will be blocked.
-        </p>
-        <p>
-          As far as ad blocking is concerned, this is less of a restriction
-          than it may seem, since ad sources are often identifiable by the
-          host name, and often the banners to be placed in an encrypted page
-          come unencrypted nonetheless for efficiency reasons, which exposes
-          them to the full power of <span class=
-          "APPLICATION">Privoxy</span>'s ad blocking.
-        </p>
-        <p>
-          <span class="QUOTE">"Content cookies"</span> (those that are
-          embedded in the actual HTML or JS page content, see <tt class=
-          "LITERAL"><a href=
-          "../user-manual/actions-file.html#FILTER-CONTENT-COOKIES" target=
-          "_top">filter{content-cookies}</a></tt>), in an SSL transaction
-          will be impossible to block under these conditions. Fortunately,
-          this does not seem to be a very common scenario since most cookies
-          come by traditional means.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="AEN919">4.16. Privoxy runs as a <span class=
-          "QUOTE">"server"</span>. How secure is it? Do I need to take any
-          special precautions?</a>
-        </h3>
-        <p>
-          On Unix-like systems, <span class="APPLICATION">Privoxy</span> can
-          run as a non-privileged user, which is how we recommend it be run.
-          Also, by default <span class="APPLICATION">Privoxy</span> listens
-          to requests from <span class="QUOTE">"localhost"</span> only.
-        </p>
-        <p>
-          The server aspect of <span class="APPLICATION">Privoxy</span> is
-          not itself directly exposed to the Internet in this configuration.
-          If you want to have <span class="APPLICATION">Privoxy</span> 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 <span class=
-          "APPLICATION">Privoxy</span> configuration file and check all <a
-          href="../user-manual/config.html#ACCESS-CONTROL" target=
-          "_top">access control and security options</a>. All LAN hosts can
-          then use this as their proxy address in the browser proxy
-          configuration, but <span class="APPLICATION">Privoxy</span> will
-          not listen on any external interfaces. ACLs can be defined in
-          addition, and using a firewall is always good too. Better safe than
-          sorry.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="TURNOFF">4.17. Can I temporarily disable Privoxy?</a>
-        </h3>
-        <p>
-          <span class="APPLICATION">Privoxy</span> doesn't have a transparent
-          proxy mode, but you can toggle off blocking and content filtering.
-        </p>
-        <p>
-          The easiest way to do that is to point your browser to the remote
-          toggle URL: <a href="http://config.privoxy.org/toggle" target=
-          "_top">http://config.privoxy.org/toggle</a>.
-        </p>
-        <p>
-          See the <a href="../user-manual/appendix.html#BOOKMARKLETS" target=
-          "_top">Bookmarklets section</a> of the <i class="CITETITLE">User
-          Manual</i> for an easy way to access this feature. Note that this
-          is a feature that may need to be enabled in the main <tt class=
-          "FILENAME">config</tt> file.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="REALLYOFF">4.18. When <span class=
-          "QUOTE">"disabled"</span> is Privoxy totally out of the
-          picture?</a>
-        </h3>
-        <p>
-          No, this just means all optional filtering and actions are
-          disabled. <span class="APPLICATION">Privoxy</span> is still acting
-          as a proxy, but just doing less of the things that <span class=
-          "APPLICATION">Privoxy</span> would normally be expected to do. It
-          is still a <span class="QUOTE">"middle-man"</span> in the
-          interaction between your browser and web sites. See below to bypass
-          the proxy.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="TURNOFF2">4.19. How can I tell Privoxy to totally ignore
-          certain sites?</a>
-        </h3>
-        <p>
-          Bypassing a proxy, or proxying based on arbitrary criteria, is
-          purely a browser configuration issue, not a <span class=
-          "APPLICATION">Privoxy</span> issue. Modern browsers typically do
-          have settings for not proxying certain sites. Check your browser's
-          help files.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="CRUNCH">4.20. My logs show Privoxy <span class=
-          "QUOTE">"crunches"</span> ads, but also its own internal CGI pages.
-          What is a <span class="QUOTE">"crunch"</span>?</a>
-        </h3>
-        <p>
-          A <span class="QUOTE">"crunch"</span> simply means <span class=
-          "APPLICATION">Privoxy</span> intercepted <span class="emphasis"><i
-          class="EMPHASIS">something</i></span>, nothing more. Often this is
-          indeed ads or banners, but <span class="APPLICATION">Privoxy</span>
-          uses the same mechanism for trapping requests for its own internal
-          pages. For instance, a request for <span class=
-          "APPLICATION">Privoxy's</span> configuration page at: <a href=
-          "http://config.privoxy.org" target=
-          "_top">http://config.privoxy.org</a>, is intercepted (i.e. it does
-          not go out to the 'net), and the familiar CGI configuration is
-          returned to the browser, and the log consequently will show a <span
-          class="QUOTE">"crunch"</span>.
-        </p>
-        <p>
-          Since version 3.0.7, Privoxy will also log the crunch reason. If
-          you are using an older version you might want to upgrade.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="DOWNLOADS">4.21. Can Privoxy effect files that I download
-          from a webserver? FTP server?</a>
-        </h3>
-        <p>
-          From the webserver's perspective, there is no difference between
-          viewing a document (i.e. a page), and downloading a file. The same
-          is true of <span class="APPLICATION">Privoxy</span>. If there is a
-          match for a <tt class="LITERAL"><a href=
-          "../user-manual/actions-file.html#BLOCK" target=
-          "_top">block</a></tt> pattern, it will still be blocked, and of
-          course this is obvious.
-        </p>
-        <p>
-          Filtering is potentially more of a concern since the results are
-          not always so obvious, and the effects of filtering are there
-          whether the file is simply viewed, or downloaded. And potentially
-          whether the content is some obnoxious advertisement, or Mr. Jimmy's
-          latest/greatest source code jewel. Of course, one of these
-          presumably is <span class="QUOTE">"bad"</span> content that we
-          don't want, and the other is <span class="QUOTE">"good"</span>
-          content that we do want. <span class="APPLICATION">Privoxy</span>
-          is blind to the differences, and can only distinguish <span class=
-          "QUOTE">"good from bad"</span> by the configuration parameters
-          <span class="emphasis"><i class="EMPHASIS">we</i></span> give it.
-        </p>
-        <p>
-          <span class="APPLICATION">Privoxy</span> knows the differences in
-          files according to the <span class="QUOTE">"Content Type"</span> as
-          reported by the webserver. If this is reported accurately (e.g.
-          <span class="QUOTE">"application/zip"</span> for a zip archive),
-          then <span class="APPLICATION">Privoxy</span> knows to ignore these
-          where appropriate. <span class="APPLICATION">Privoxy</span>
-          potentially can filter HTML as well as plain text documents,
-          subject to configuration parameters of course. Also, documents that
-          are of an unknown type (generally assumed to be <span class=
-          "QUOTE">"text/plain"</span>) can be filtered, as will those that
-          might be incorrectly reported by the webserver. If such a file is a
-          downloaded file that is intended to be saved to disk, then any
-          content that might have been altered by filtering, will be saved
-          too, for these (probably rare) cases.
-        </p>
-        <p>
-          Note that versions later than 3.0.2 do NOT filter document types
-          reported as <span class="QUOTE">"text/plain"</span>. Prior to this,
-          <span class="APPLICATION">Privoxy</span> did filter this document
-          type.
-        </p>
-        <p>
-          In short, filtering is <span class="QUOTE">"ON"</span> if a) the
-          content type as reported by the webserver is appropriate <span
-          class="emphasis"><i class="EMPHASIS">and</i></span> b) the
-          configuration allows it (or at least does not disallow it). That's
-          it. There is no magic cookie anywhere to say this is <span class=
-          "QUOTE">"good"</span> and this is <span class="QUOTE">"bad"</span>.
-          It's the configuration that lets it all happen or not.
-        </p>
-        <p>
-          If you download text files, you probably do not want these to be
-          filtered, particularly if the content is source code, or other
-          critical content. Source code sometimes might be mistaken for
-          Javascript (i.e. the kind that might open a pop-up window). It is
-          recommended to turn off filtering for download sites (particularly
-          if the content may be plain text files and you are using version
-          3.0.2 or earlier) in your <tt class="FILENAME">user.action</tt>
-          file. And also, for any site or page where making <span class=
-          "emphasis"><i class="EMPHASIS">any</i></span> changes at all to the
-          content is to be avoided.
-        </p>
-        <p>
-          <span class="APPLICATION">Privoxy</span> does not do FTP at all,
-          only HTTP and HTTPS (SSL) protocols.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="DOWNLOADS2">4.22. I just downloaded a Perl script, and
-          Privoxy altered it! Yikes, what is wrong!</a>
-        </h3>
-        <p>
-          Please read above.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="HOSTSFILE">4.23. Should I continue to use a <span class=
-          "QUOTE">"HOSTS"</span> file for ad-blocking?</a>
-        </h3>
-        <p>
-          One time-tested technique to defeat common ads is to trick the
-          local DNS system by giving a phony IP address for the ad generator
-          in the local <tt class="FILENAME">HOSTS</tt> file, typically using
-          <tt class="LITERAL">127.0.0.1</tt>, aka <tt class=
-          "LITERAL">localhost</tt>. This effectively blocks the ad.
-        </p>
-        <p>
-          There is no reason to use this technique in conjunction with <span
-          class="APPLICATION">Privoxy</span>. <span class=
-          "APPLICATION">Privoxy</span> does essentially the same thing, much
-          more elegantly and with much more flexibility. A large <tt class=
-          "FILENAME">HOSTS</tt> file, in fact, not only duplicates effort,
-          but may get in the way and seriously slow down your system. It is
-          recommended to remove such entries from your <tt class=
-          "FILENAME">HOSTS</tt> file. If you think your hosts list is
-          neglected by <span class="APPLICATION">Privoxy's</span>
-          configuration, consider adding your list to your <tt class=
-          "FILENAME">user.action</tt> file:
-        </p>
-        <p>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
+          </td>
+        </tr>
+      </table>
+
+      <p>Save the modified configuration file and open <a href=
+      "http://config.privoxy.org/show-status" target=
+      "_top">http://config.privoxy.org/show-status/</a> in your browser,
+      confirm that <span class="APPLICATION">Privoxy</span> has reloaded its
+      configuration and that there are no other forward lines, unless you
+      know that you need them. If everything looks good, refer to <a href=
+      "https://wiki.torproject.org/noreply/TheOnionRouter/TorFAQ#IsMyConnectionPrivate"
+      target="_top">Tor Faq 4.2</a> to learn how to verify that you are
+      really using <span class="APPLICATION">Tor</span>.</p>
+
+      <p>Afterward, please take the time to at least skim through the rest of
+      <span class="APPLICATION">Tor's</span> documentation. Make sure you
+      understand what <span class="APPLICATION">Tor</span> does, why it is no
+      replacement for application level security, and why you probably don't
+      want to use it for unencrypted logins.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="AEN877" id="AEN877">4.11. Might some things
+      break because header information or content is being altered?</a></h3>
+
+      <p>Definitely. It is common for sites to use browser type, browser
+      version, HTTP header content, and various other techniques in order to
+      dynamically decide what to display and how to display it. What you see,
+      and what I see, might be very different. There are many, many ways that
+      this can be handled, so having hard and fast rules, is tricky.</p>
+
+      <p>The <span class="QUOTE">"User-Agent"</span> is sometimes used in
+      this way to identify the browser, and adjust content accordingly.</p>
+
+      <p>Also, different browsers use different encodings of non-English
+      characters, certain web servers convert pages on-the-fly according to
+      the User Agent header. Giving a <span class="QUOTE">"User Agent"</span>
+      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 <span class="QUOTE">"Referer"</span>
+      header; they may fail or break if unavailable. The weather maps of
+      Intellicast have been blocked by their server when no <span class=
+      "QUOTE">"Referer"</span> or cookie is provided, is another example.
+      (But you can forge both headers without giving information away). There
+      are many other ways things can go wrong when trying to fool a web
+      server. The results of which could inadvertently cause pages to load
+      incorrectly, partially, or even not at all. And there may be no obvious
+      clues as to just what went wrong, or why. Nowhere will there be a
+      message that says <span class="QUOTE">"<span class=
+      "emphasis EMPHASIS c2">Turn off <tt class="LITERAL">fast-redirects</tt>
+      or else!</span> "</span></p>
+
+      <p>Similar thoughts apply to modifying JavaScript, and, to a lesser
+      degree, HTML elements.</p>
+
+      <p>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.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="AEN891" id="AEN891">4.12. Can Privoxy act as
+      a <span class="QUOTE">"caching"</span> proxy to speed up web
+      browsing?</a></h3>
+
+      <p>No, it does not have this ability at all. You want something like
+      <a href="http://www.squid-cache.org/" target="_top">Squid</a> or
+      <a href="http://www.pps.jussieu.fr/~jch/software/polipo/" target=
+      "_top">Polipo</a> for this. And, yes, before you ask, <span class=
+      "APPLICATION">Privoxy</span> can co-exist with other kinds of proxies
+      like <span class="APPLICATION">Squid</span>. See the <a href=
+      "../user-manual/config.html#FORWARDING" target="_top">forwarding
+      chapter</a> in the <a href="../user-manual/index.html" target=
+      "_top">user manual</a> for details.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="AEN901" id="AEN901">4.13. What about as a
+      firewall? Can Privoxy protect me?</a></h3>
+
+      <p>Not in the way you mean, or in the way some firewall vendors claim
+      they can. <span class="APPLICATION">Privoxy</span> can help protect
+      your privacy, but can't protect your system from intrusion attempts. It
+      is, of course, perfectly possible to use <span class=
+      "emphasis EMPHASIS c2">both</span>.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="AEN906" id="AEN906">4.14. I have large empty
+      spaces / a checkerboard pattern now where ads used to be. Why?</a></h3>
+
+      <p>It is technically possible to eliminate banners and ads in a way
+      that frees their allocated page space. This could easily be done by
+      blocking with <span class="APPLICATION">Privoxy's</span> filters, and
+      eliminating the <span class="emphasis EMPHASIS c2">entire</span> image
+      references from the HTML page source.</p>
+
+      <p>But, this would consume considerably more CPU resources (IOW, slow
+      things down), would likely destroy the layout of some web pages which
+      rely on the banners utilizing a certain amount of page space, and might
+      fail in other cases, where the screen space is reserved (e.g. by HTML
+      tables for instance). Also, making ads and banners disappear without
+      any trace complicates troubleshooting, and would sooner or later be
+      problematic.</p>
+
+      <p>The better alternative is to instead let them stay, and block the
+      resulting requests for the banners themselves as is now the case. This
+      leaves either empty space, or the familiar checkerboard pattern.</p>
+
+      <p>So the developers won't support this in the default configuration,
+      but you can of course define appropriate filters yourself to achieve
+      this.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="AEN914" id="AEN914">4.15. How can Privoxy
+      filter Secure (HTTPS) URLs?</a></h3>
+
+      <p>Since secure HTTP connections are encrypted SSL sessions between
+      your browser and the secure site, and are meant to be reliably
+      <span class="emphasis EMPHASIS c2">secure</span>, there is little that
+      <span class="APPLICATION">Privoxy</span> can do but hand the raw
+      gibberish data though from one end to the other unprocessed.</p>
+
+      <p>The only exception to this is blocking by host patterns, as the
+      client needs to tell <span class="APPLICATION">Privoxy</span> the name
+      of the remote server, so that <span class="APPLICATION">Privoxy</span>
+      can establish the connection. If that name matches a host-only pattern,
+      the connection will be blocked.</p>
+
+      <p>As far as ad blocking is concerned, this is less of a restriction
+      than it may seem, since ad sources are often identifiable by the host
+      name, and often the banners to be placed in an encrypted page come
+      unencrypted nonetheless for efficiency reasons, which exposes them to
+      the full power of <span class="APPLICATION">Privoxy</span>'s ad
+      blocking.</p>
+
+      <p><span class="QUOTE">"Content cookies"</span> (those that are
+      embedded in the actual HTML or JS page content, see <tt class=
+      "LITERAL"><a href=
+      "../user-manual/actions-file.html#FILTER-CONTENT-COOKIES" target=
+      "_top">filter{content-cookies}</a></tt>), in an SSL transaction will be
+      impossible to block under these conditions. Fortunately, this does not
+      seem to be a very common scenario since most cookies come by
+      traditional means.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="AEN928" id="AEN928">4.16. Privoxy runs as a
+      <span class="QUOTE">"server"</span>. How secure is it? Do I need to
+      take any special precautions?</a></h3>
+
+      <p>On Unix-like systems, <span class="APPLICATION">Privoxy</span> can
+      run as a non-privileged user, which is how we recommend it be run.
+      Also, by default <span class="APPLICATION">Privoxy</span> listens to
+      requests from <span class="QUOTE">"localhost"</span> only.</p>
+
+      <p>The server aspect of <span class="APPLICATION">Privoxy</span> is not
+      itself directly exposed to the Internet in this configuration. If you
+      want to have <span class="APPLICATION">Privoxy</span> 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 <span class="APPLICATION">Privoxy</span>
+      configuration file and check all <a href=
+      "../user-manual/config.html#ACCESS-CONTROL" target="_top">access
+      control and security options</a>. All LAN hosts can then use this as
+      their proxy address in the browser proxy configuration, but
+      <span class="APPLICATION">Privoxy</span> will not listen on any
+      external interfaces. ACLs can be defined in addition, and using a
+      firewall is always good too. Better safe than sorry.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="TURNOFF" id="TURNOFF">4.17. Can I
+      temporarily disable Privoxy?</a></h3>
+
+      <p><span class="APPLICATION">Privoxy</span> doesn't have a transparent
+      proxy mode, but you can toggle off blocking and content filtering.</p>
+
+      <p>The easiest way to do that is to point your browser to the remote
+      toggle URL: <a href="http://config.privoxy.org/toggle" target=
+      "_top">http://config.privoxy.org/toggle</a>.</p>
+
+      <p>See the <a href="../user-manual/appendix.html#BOOKMARKLETS" target=
+      "_top">Bookmarklets section</a> of the <i class="CITETITLE">User
+      Manual</i> for an easy way to access this feature. Note that this is a
+      feature that may need to be enabled in the main <tt class=
+      "FILENAME">config</tt> file.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="REALLYOFF" id="REALLYOFF">4.18. When
+      <span class="QUOTE">"disabled"</span> is Privoxy totally out of the
+      picture?</a></h3>
+
+      <p>No, this just means all optional filtering and actions are disabled.
+      <span class="APPLICATION">Privoxy</span> is still acting as a proxy,
+      but just doing less of the things that <span class=
+      "APPLICATION">Privoxy</span> would normally be expected to do. It is
+      still a <span class="QUOTE">"middle-man"</span> in the interaction
+      between your browser and web sites. See below to bypass the proxy.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="TURNOFF2" id="TURNOFF2">4.19. How can I tell
+      Privoxy to totally ignore certain sites?</a></h3>
+
+      <p>Bypassing a proxy, or proxying based on arbitrary criteria, is
+      purely a browser configuration issue, not a <span class=
+      "APPLICATION">Privoxy</span> issue. Modern browsers typically do have
+      settings for not proxying certain sites. Check your browser's help
+      files.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="CRUNCH" id="CRUNCH">4.20. My logs show
+      Privoxy <span class="QUOTE">"crunches"</span> ads, but also its own
+      internal CGI pages. What is a <span class=
+      "QUOTE">"crunch"</span>?</a></h3>
+
+      <p>A <span class="QUOTE">"crunch"</span> simply means <span class=
+      "APPLICATION">Privoxy</span> intercepted <span class=
+      "emphasis EMPHASIS c2">something</span>, nothing more. Often this is
+      indeed ads or banners, but <span class="APPLICATION">Privoxy</span>
+      uses the same mechanism for trapping requests for its own internal
+      pages. For instance, a request for <span class=
+      "APPLICATION">Privoxy's</span> configuration page at: <a href=
+      "http://config.privoxy.org" target=
+      "_top">http://config.privoxy.org</a>, is intercepted (i.e. it does not
+      go out to the 'net), and the familiar CGI configuration is returned to
+      the browser, and the log consequently will show a <span class=
+      "QUOTE">"crunch"</span>.</p>
+
+      <p>Since version 3.0.7, Privoxy will also log the crunch reason. If you
+      are using an older version you might want to upgrade.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="DOWNLOADS" id="DOWNLOADS">4.21. Can Privoxy
+      effect files that I download from a webserver? FTP server?</a></h3>
+
+      <p>From the webserver's perspective, there is no difference between
+      viewing a document (i.e. a page), and downloading a file. The same is
+      true of <span class="APPLICATION">Privoxy</span>. If there is a match
+      for a <tt class="LITERAL"><a href=
+      "../user-manual/actions-file.html#BLOCK" target="_top">block</a></tt>
+      pattern, it will still be blocked, and of course this is obvious.</p>
+
+      <p>Filtering is potentially more of a concern since the results are not
+      always so obvious, and the effects of filtering are there whether the
+      file is simply viewed, or downloaded. And potentially whether the
+      content is some obnoxious advertisement, or Mr. Jimmy's latest/greatest
+      source code jewel. Of course, one of these presumably is <span class=
+      "QUOTE">"bad"</span> content that we don't want, and the other is
+      <span class="QUOTE">"good"</span> content that we do want. <span class=
+      "APPLICATION">Privoxy</span> is blind to the differences, and can only
+      distinguish <span class="QUOTE">"good from bad"</span> by the
+      configuration parameters <span class="emphasis EMPHASIS c2">we</span>
+      give it.</p>
+
+      <p><span class="APPLICATION">Privoxy</span> knows the differences in
+      files according to the <span class="QUOTE">"Content Type"</span> as
+      reported by the webserver. If this is reported accurately (e.g.
+      <span class="QUOTE">"application/zip"</span> for a zip archive), then
+      <span class="APPLICATION">Privoxy</span> knows to ignore these where
+      appropriate. <span class="APPLICATION">Privoxy</span> potentially can
+      filter HTML as well as plain text documents, subject to configuration
+      parameters of course. Also, documents that are of an unknown type
+      (generally assumed to be <span class="QUOTE">"text/plain"</span>) can
+      be filtered, as will those that might be incorrectly reported by the
+      webserver. If such a file is a downloaded file that is intended to be
+      saved to disk, then any content that might have been altered by
+      filtering, will be saved too, for these (probably rare) cases.</p>
+
+      <p>Note that versions later than 3.0.2 do NOT filter document types
+      reported as <span class="QUOTE">"text/plain"</span>. Prior to this,
+      <span class="APPLICATION">Privoxy</span> did filter this document
+      type.</p>
+
+      <p>In short, filtering is <span class="QUOTE">"ON"</span> if a) the
+      content type as reported by the webserver is appropriate <span class=
+      "emphasis EMPHASIS c2">and</span> b) the configuration allows it (or at
+      least does not disallow it). That's it. There is no magic cookie
+      anywhere to say this is <span class="QUOTE">"good"</span> and this is
+      <span class="QUOTE">"bad"</span>. It's the configuration that lets it
+      all happen or not.</p>
+
+      <p>If you download text files, you probably do not want these to be
+      filtered, particularly if the content is source code, or other critical
+      content. Source code sometimes might be mistaken for Javascript (i.e.
+      the kind that might open a pop-up window). It is recommended to turn
+      off filtering for download sites (particularly if the content may be
+      plain text files and you are using version 3.0.2 or earlier) in your
+      <tt class="FILENAME">user.action</tt> file. And also, for any site or
+      page where making <span class="emphasis EMPHASIS c2">any</span> changes
+      at all to the content is to be avoided.</p>
+
+      <p><span class="APPLICATION">Privoxy</span> does not do FTP at all,
+      only HTTP and HTTPS (SSL) protocols.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="DOWNLOADS2" id="DOWNLOADS2">4.22. I just
+      downloaded a Perl script, and Privoxy altered it! Yikes, what is
+      wrong!</a></h3>
+
+      <p>Please read above.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="HOSTSFILE" id="HOSTSFILE">4.23. Should I
+      continue to use a <span class="QUOTE">"HOSTS"</span> file for
+      ad-blocking?</a></h3>
+
+      <p>One time-tested technique to defeat common ads is to trick the local
+      DNS system by giving a phony IP address for the ad generator in the
+      local <tt class="FILENAME">HOSTS</tt> file, typically using <tt class=
+      "LITERAL">127.0.0.1</tt>, aka <tt class="LITERAL">localhost</tt>. This
+      effectively blocks the ad.</p>
+
+      <p>There is no reason to use this technique in conjunction with
+      <span class="APPLICATION">Privoxy</span>. <span class=
+      "APPLICATION">Privoxy</span> does essentially the same thing, much more
+      elegantly and with much more flexibility. A large <tt class=
+      "FILENAME">HOSTS</tt> file, in fact, not only duplicates effort, but
+      may get in the way and seriously slow down your system. It is
+      recommended to remove such entries from your <tt class=
+      "FILENAME">HOSTS</tt> file. If you think your hosts list is neglected
+      by <span class="APPLICATION">Privoxy's</span> configuration, consider
+      adding your list to your <tt class="FILENAME">user.action</tt>
+      file:</p>
+
+      <table class="c3" border="0" width="100%">
+        <tr>
+          <td>
+            <pre class="SCREEN">
   { +block }
    www.ad.example1.com
    ad.example2.com
    ads.galore.example.com
    etc.example.com
 </pre>
-            </td>
-          </tr>
-        </table>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="SEEALSO">4.24. Where can I find more information about
-          Privoxy and related issues?</a>
-        </h3>
-        <p>
-          Other references and sites of interest to <span class=
-          "APPLICATION">Privoxy</span> users:
-        </p>
-        <p>
-        </p>
-        <table border="0">
-          <tbody>
-            <tr>
-              <td>
-                <a href="http://www.privoxy.org/" target=
-                "_top">http://www.privoxy.org/</a>, the <span class=
-                "APPLICATION">Privoxy</span> Home page.
-              </td>
-            </tr>
-          </tbody>
-        </table>
-        <table border="0">
-          <tbody>
-            <tr>
-              <td>
-                <a href="http://www.privoxy.org/faq/" target=
-                "_top">http://www.privoxy.org/faq/</a>, the <span class=
-                "APPLICATION">Privoxy</span> FAQ.
-              </td>
-            </tr>
-          </tbody>
-        </table>
-        <table border="0">
-          <tbody>
-            <tr>
-              <td>
-                <a href="http://www.privoxy.org/developer-manual/" target=
-                "_top">http://www.privoxy.org/developer-manual/</a>, the
-                <span class="APPLICATION">Privoxy</span> developer manual.
-              </td>
-            </tr>
-          </tbody>
-        </table>
-        <table border="0">
-          <tbody>
-            <tr>
-              <td>
-                <a href="https://sourceforge.net/projects/ijbswa/" target=
-                "_top">https://sourceforge.net/projects/ijbswa/</a>, the
-                Project Page for <span class="APPLICATION">Privoxy</span> on
-                <a href="http://sourceforge.net" target=
-                "_top">SourceForge</a>.
-              </td>
-            </tr>
-          </tbody>
-        </table>
-        <table border="0">
-          <tbody>
-            <tr>
-              <td>
-                <a href="http://config.privoxy.org/" target=
-                "_top">http://config.privoxy.org/</a>, the web-based user
-                interface. <span class="APPLICATION">Privoxy</span> must be
-                running for this to work. Shortcut: <a href="http://p.p/"
-                target="_top">http://p.p/</a>
-              </td>
-            </tr>
-          </tbody>
-        </table>
-        <table border="0">
-          <tbody>
-            <tr>
-              <td>
-                <a href=
-                "https://sourceforge.net/tracker/?group_id=11118&amp;atid=460288"
-                 target=
-                "_top">https://sourceforge.net/tracker/?group_id=11118&amp;atid=460288</a>,
-                to submit <span class="QUOTE">"misses"</span> and other
-                configuration related suggestions to the developers.
-              </td>
-            </tr>
-          </tbody>
-        </table>
-        <table border="0">
-          <tbody>
-            <tr>
-              <td>
-                <a href="http://www.junkbusters.com/ht/en/cookies.html"
-                target=
-                "_top">http://www.junkbusters.com/ht/en/cookies.html</a>, an
-                explanation how cookies are used to track web users.
-              </td>
-            </tr>
-          </tbody>
-        </table>
-        <table border="0">
-          <tbody>
-            <tr>
-              <td>
-                <a href="http://www.junkbusters.com/ijb.html" target=
-                "_top">http://www.junkbusters.com/ijb.html</a>, the original
-                Internet Junkbuster.
-              </td>
-            </tr>
-          </tbody>
-        </table>
-        <table border="0">
-          <tbody>
-            <tr>
-              <td>
-                <a href="http://www.squid-cache.org/" target=
-                "_top">http://www.squid-cache.org/</a>, a popular caching
-                proxy, which is often used together with <span class=
-                "APPLICATION">Privoxy</span>.
-              </td>
-            </tr>
-          </tbody>
-        </table>
-        <table border="0">
-          <tbody>
-            <tr>
-              <td>
-                <a href="http://www.pps.jussieu.fr/~jch/software/polipo/"
-                target=
-                "_top">http://www.pps.jussieu.fr/~jch/software/polipo/</a>,
-                <span class="APPLICATION">Polipo</span> is a caching proxy
-                with advanced features like pipelining, multiplexing and
-                caching of partial instances. In many setups it can be used
-                as <span class="APPLICATION">Squid</span> replacement.
-              </td>
-            </tr>
-          </tbody>
-        </table>
-        <table border="0">
-          <tbody>
-            <tr>
-              <td>
-                <a href="https://www.torproject.org/" target=
-                "_top">https://www.torproject.org/</a>, <span class=
-                "APPLICATION">Tor</span> can help anonymize web browsing, web
-                publishing, instant messaging, IRC, SSH, and other
-                applications.
-              </td>
-            </tr>
-          </tbody>
-        </table>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="MICROSUCK">4.25. I've noticed that Privoxy changes <span
-          class="QUOTE">"Microsoft"</span> to <span class=
-          "QUOTE">"MicroSuck"</span>! Why are you manipulating my
-          browsing?</a>
-        </h3>
-        <p>
-          We're not. The text substitutions that you are seeing are disabled
-          in the default configuration as shipped. You have either manually
-          activated the <span class="QUOTE">"<tt class=
-          "LITERAL">fun</tt>"</span> filter which is clearly labeled <span
-          class="QUOTE">"Text replacements for subversive browsing
-          fun!"</span> or you are using an older Privoxy version and have
-          implicitly activated it by choosing the <span class=
-          "QUOTE">"Advanced"</span> profile in the web-based editor. Please
-          upgrade.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="VALID">4.26. Does Privoxy produce <span class=
-          "QUOTE">"valid"</span> HTML (or XHTML)?</a>
-        </h3>
-        <p>
-          Privoxy generates HTML in both its own <span class=
-          "QUOTE">"templates"</span>, and possibly whenever there are text
-          substitutions via a <span class="APPLICATION">Privoxy</span>
-          filter. While this should always conform to the HTML 4.01
-          specifications, it has not been validated against this or any other
-          standard.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="SURPRISE-PRIVOXY">4.27. How did you manage to get Privoxy
-          on my computer without my consent?</a>
-        </h3>
-        <p>
-          We didn't. We make Privoxy available for download, but we don't go
-          around installing it on other people's systems behind their back.
-          If you discover Privoxy running on your system and are sure you
-          didn't install it yourself, somebody else did. You may not even be
-          running the real Privoxy, but maybe something else that only
-          pretends to be Privoxy, or maybe something that is based on the
-          real Privoxy, but has been modified.
-        </p>
-        <p>
-          Lately there have been reports of problems with some kind of
-          Privoxy versions that come preinstalled on some Netbooks. Some of
-          the problems described are inconsistent with the behaviour of
-          official Privoxy versions, which suggests that the preinstalled
-          software may contain vendor modifications that we don't know about
-          and thus can't debug.
-        </p>
-        <p>
-          Privoxy's <a href="copyright.html">license</a> allows vendor
-          modifications, but the vendor has to comply with the license, which
-          involves informing the user about the changes and to make the
-          changes available under the same license as Privoxy itself.
-        </p>
-        <p>
-          If you are having trouble with a modified Privoxy version, please
-          try to talk to whoever made the modifications before reporting the
-          problem to us. Please also try to convince whoever made the
-          modifications to talk to us. If you think somebody gave you a
-          modified Privoxy version without complying to the license, please
-          let us know.
-        </p>
-      </div>
-    </div>
-    <div class="NAVFOOTER">
-      <hr width="100%" class="c1">
-      <table summary="Footer navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <td width="33%" align="left" valign="top">
-            <a href="configuration.html" accesskey="P">Prev</a>
-          </td>
-          <td width="34%" align="center" valign="top">
-            <a href="index.html" accesskey="H">Home</a>
-          </td>
-          <td width="33%" align="right" valign="top">
-            <a href="trouble.html" accesskey="N">Next</a>
-          </td>
-        </tr>
-        <tr>
-          <td width="33%" align="left" valign="top">
-            Configuration
-          </td>
-          <td width="34%" align="center" valign="top">
-            &nbsp;
-          </td>
-          <td width="33%" align="right" valign="top">
-            Troubleshooting
           </td>
         </tr>
       </table>
     </div>
-  </body>
-</html>
 
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="SEEALSO" id="SEEALSO">4.24. Where can I find
+      more information about Privoxy and related issues?</a></h3>
+
+      <p>Other references and sites of interest to <span class=
+      "APPLICATION">Privoxy</span> users:</p>
+
+      <table border="0">
+        <tbody>
+          <tr>
+            <td><a href="http://www.privoxy.org/" target=
+            "_top">http://www.privoxy.org/</a>, the <span class=
+            "APPLICATION">Privoxy</span> Home page.</td>
+          </tr>
+        </tbody>
+      </table>
+
+      <table border="0">
+        <tbody>
+          <tr>
+            <td><a href="http://www.privoxy.org/faq/" target=
+            "_top">http://www.privoxy.org/faq/</a>, the <span class=
+            "APPLICATION">Privoxy</span> FAQ.</td>
+          </tr>
+        </tbody>
+      </table>
+
+      <table border="0">
+        <tbody>
+          <tr>
+            <td><a href="http://www.privoxy.org/developer-manual/" target=
+            "_top">http://www.privoxy.org/developer-manual/</a>, the
+            <span class="APPLICATION">Privoxy</span> developer manual.</td>
+          </tr>
+        </tbody>
+      </table>
+
+      <table border="0">
+        <tbody>
+          <tr>
+            <td><a href="https://sourceforge.net/projects/ijbswa/" target=
+            "_top">https://sourceforge.net/projects/ijbswa/</a>, the Project
+            Page for <span class="APPLICATION">Privoxy</span> on <a href=
+            "http://sourceforge.net" target="_top">SourceForge</a>.</td>
+          </tr>
+        </tbody>
+      </table>
+
+      <table border="0">
+        <tbody>
+          <tr>
+            <td><a href="http://config.privoxy.org/" target=
+            "_top">http://config.privoxy.org/</a>, the web-based user
+            interface. <span class="APPLICATION">Privoxy</span> must be
+            running for this to work. Shortcut: <a href="http://p.p/" target=
+            "_top">http://p.p/</a></td>
+          </tr>
+        </tbody>
+      </table>
+
+      <table border="0">
+        <tbody>
+          <tr>
+            <td><a href=
+            "https://sourceforge.net/tracker/?group_id=11118&amp;atid=460288"
+            target=
+            "_top">https://sourceforge.net/tracker/?group_id=11118&amp;atid=460288</a>,
+            to submit <span class="QUOTE">"misses"</span> and other
+            configuration related suggestions to the developers.</td>
+          </tr>
+        </tbody>
+      </table>
+
+      <table border="0">
+        <tbody>
+          <tr>
+            <td><a href="http://www.junkbusters.com/ht/en/cookies.html"
+            target="_top">http://www.junkbusters.com/ht/en/cookies.html</a>,
+            an explanation how cookies are used to track web users.</td>
+          </tr>
+        </tbody>
+      </table>
+
+      <table border="0">
+        <tbody>
+          <tr>
+            <td><a href="http://www.junkbusters.com/ijb.html" target=
+            "_top">http://www.junkbusters.com/ijb.html</a>, the original
+            Internet Junkbuster.</td>
+          </tr>
+        </tbody>
+      </table>
+
+      <table border="0">
+        <tbody>
+          <tr>
+            <td><a href="http://www.squid-cache.org/" target=
+            "_top">http://www.squid-cache.org/</a>, a popular caching proxy,
+            which is often used together with <span class=
+            "APPLICATION">Privoxy</span>.</td>
+          </tr>
+        </tbody>
+      </table>
+
+      <table border="0">
+        <tbody>
+          <tr>
+            <td><a href="http://www.pps.jussieu.fr/~jch/software/polipo/"
+            target=
+            "_top">http://www.pps.jussieu.fr/~jch/software/polipo/</a>,
+            <span class="APPLICATION">Polipo</span> is a caching proxy with
+            advanced features like pipelining, multiplexing and caching of
+            partial instances. In many setups it can be used as <span class=
+            "APPLICATION">Squid</span> replacement.</td>
+          </tr>
+        </tbody>
+      </table>
+
+      <table border="0">
+        <tbody>
+          <tr>
+            <td><a href="https://www.torproject.org/" target=
+            "_top">https://www.torproject.org/</a>, <span class=
+            "APPLICATION">Tor</span> can help anonymize web browsing, web
+            publishing, instant messaging, IRC, SSH, and other
+            applications.</td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="MICROSUCK" id="MICROSUCK">4.25. I've noticed
+      that Privoxy changes <span class="QUOTE">"Microsoft"</span> to
+      <span class="QUOTE">"MicroSuck"</span>! Why are you manipulating my
+      browsing?</a></h3>
+
+      <p>We're not. The text substitutions that you are seeing are disabled
+      in the default configuration as shipped. You have either manually
+      activated the <span class="QUOTE">"<tt class="LITERAL">fun</tt>"</span>
+      filter which is clearly labeled <span class="QUOTE">"Text replacements
+      for subversive browsing fun!"</span> or you are using an older Privoxy
+      version and have implicitly activated it by choosing the <span class=
+      "QUOTE">"Advanced"</span> profile in the web-based editor. Please
+      upgrade.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="VALID" id="VALID">4.26. Does Privoxy produce
+      <span class="QUOTE">"valid"</span> HTML (or XHTML)?</a></h3>
+
+      <p>Privoxy generates HTML in both its own <span class=
+      "QUOTE">"templates"</span>, and possibly whenever there are text
+      substitutions via a <span class="APPLICATION">Privoxy</span> filter.
+      While this should always conform to the HTML 4.01 specifications, it
+      has not been validated against this or any other standard.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="SURPRISE-PRIVOXY" id=
+      "SURPRISE-PRIVOXY">4.27. How did you manage to get Privoxy on my
+      computer without my consent?</a></h3>
+
+      <p>We didn't. We make Privoxy available for download, but we don't go
+      around installing it on other people's systems behind their back. If
+      you discover Privoxy running on your system and are sure you didn't
+      install it yourself, somebody else did. You may not even be running the
+      real Privoxy, but maybe something else that only pretends to be
+      Privoxy, or maybe something that is based on the real Privoxy, but has
+      been modified.</p>
+
+      <p>Lately there have been reports of problems with some kind of Privoxy
+      versions that come preinstalled on some Netbooks. Some of the problems
+      described are inconsistent with the behaviour of official Privoxy
+      versions, which suggests that the preinstalled software may contain
+      vendor modifications that we don't know about and thus can't debug.</p>
+
+      <p>Privoxy's <a href="copyright.html">license</a> allows vendor
+      modifications, but the vendor has to comply with the license, which
+      involves informing the user about the changes and to make the changes
+      available under the same license as Privoxy itself.</p>
+
+      <p>If you are having trouble with a modified Privoxy version, please
+      try to talk to whoever made the modifications before reporting the
+      problem to us. Please also try to convince whoever made the
+      modifications to talk to us. If you think somebody gave you a modified
+      Privoxy version without complying to the license, please let us
+      know.</p>
+    </div>
+  </div>
+
+  <div class="NAVFOOTER">
+    <hr class="c1" width="100%">
+
+    <table summary="Footer navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <td width="33%" align="left" valign="top"><a href=
+        "configuration.html" accesskey="P">Prev</a></td>
+
+        <td width="34%" align="center" valign="top"><a href="index.html"
+        accesskey="H">Home</a></td>
+
+        <td width="33%" align="right" valign="top"><a href="trouble.html"
+        accesskey="N">Next</a></td>
+      </tr>
+
+      <tr>
+        <td width="33%" align="left" valign="top">Configuration</td>
+
+        <td width="34%" align="center" valign="top">&nbsp;</td>
+
+        <td width="33%" align="right" valign="top">Troubleshooting</td>
+      </tr>
+    </table>
+  </div>
+</body>
+</html>
index 141a835..12fc01d 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
-Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+
 <html>
-  <head>
-    <meta name="generator" content="HTML Tidy, see www.w3.org">
-    <title>
-      Troubleshooting
-    </title>
-    <meta name="GENERATOR" content=
-    "Modular DocBook HTML Stylesheet Version 1.79">
-    <link rel="HOME" title="Privoxy Frequently Asked Questions" href=
-    "index.html">
-    <link rel="PREVIOUS" title="Miscellaneous" href="misc.html">
-    <link rel="NEXT" title=
-    "Contacting the developers, Bug Reporting and Feature Requests" href=
-    "contact.html">
-    <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
-    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<style type="text/css">
- body {
+<head>
+  <meta name="generator" content=
+  "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
+
+  <title>Troubleshooting</title>
+  <meta name="GENERATOR" content=
+  "Modular DocBook HTML Stylesheet Version 1.79">
+  <link rel="HOME" title="Privoxy Frequently Asked Questions" href=
+  "index.html">
+  <link rel="PREVIOUS" title="Miscellaneous" href="misc.html">
+  <link rel="NEXT" title=
+  "Contacting the developers, Bug Reporting and Feature Requests" href=
+  "contact.html">
+  <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
+  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+  <style type="text/css">
+body {
   background-color: #EEEEEE;
   color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- hr.c1 {text-align: left}
-</style>
-  </head>
-  <body class="SECT1">
-    <div class="NAVHEADER">
-      <table summary="Header navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <th colspan="3" align="center">
-            Privoxy Frequently Asked Questions
-          </th>
-        </tr>
-        <tr>
-          <td width="10%" align="left" valign="bottom">
-            <a href="misc.html" accesskey="P">Prev</a>
-          </td>
-          <td width="80%" align="center" valign="bottom">
-          </td>
-          <td width="10%" align="right" valign="bottom">
-            <a href="contact.html" accesskey="N">Next</a>
-          </td>
-        </tr>
-      </table>
-      <hr width="100%" class="c1">
+  }
+  :link { color: #0000FF }
+  :visited { color: #840084 }
+  :active { color: #0000FF }
+  span.c3 {font-style: italic}
+  table.c2 {background-color: #E0E0E0}
+  hr.c1 {text-align: left}
+  </style>
+</head>
+
+<body class="SECT1">
+  <div class="NAVHEADER">
+    <table summary="Header navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <th colspan="3" align="center">Privoxy Frequently Asked
+        Questions</th>
+      </tr>
+
+      <tr>
+        <td width="10%" align="left" valign="bottom"><a href="misc.html"
+        accesskey="P">Prev</a></td>
+
+        <td width="80%" align="center" valign="bottom"></td>
+
+        <td width="10%" align="right" valign="bottom"><a href="contact.html"
+        accesskey="N">Next</a></td>
+      </tr>
+    </table>
+    <hr class="c1" width="100%">
+  </div>
+
+  <div class="SECT1">
+    <h1 class="SECT1"><a name="TROUBLE" id="TROUBLE">5.
+    Troubleshooting</a></h1>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="AEN1100" id="AEN1100">5.1. I cannot connect
+      to any websites. Or, I am getting <span class="QUOTE">"connection
+      refused"</span> message with every web page. Why?</a></h3>
+
+      <p>There are several possibilities:</p>
+
+      <ul>
+        <li>
+          <p><span class="APPLICATION">Privoxy</span> is not running.
+          Solution: verify that <span class="APPLICATION">Privoxy</span> is
+          installed correctly, has not crashed, and is indeed running. Turn
+          on <span class="APPLICATION">Privoxy's</span> logging, and look at
+          the logs to see what they say.</p>
+        </li>
+
+        <li>
+          <p>Or your browser is configured for a different port than what
+          <span class="APPLICATION">Privoxy</span> is using. Solution: verify
+          that <span class="APPLICATION">Privoxy</span> and your browser are
+          set to the same port (<tt class="LITERAL">listen-address</tt>).</p>
+        </li>
+
+        <li>
+          <p>Or if using a forwarding rule, you have a configuration problem
+          or a problem with a host in the forwarding chain. Solution:
+          temporarily alter your configuration and take the forwarders out of
+          the equation.</p>
+        </li>
+
+        <li>
+          <p>Or you have a firewall that is interfering and blocking you.
+          Solution: try disabling or removing the firewall as a simple
+          test.</p>
+        </li>
+      </ul>
     </div>
-    <div class="SECT1">
-      <h1 class="SECT1">
-        <a name="TROUBLE">5. Troubleshooting</a>
-      </h1>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="AEN1091">5.1. I cannot connect to any websites. Or, I am
-          getting <span class="QUOTE">"connection refused"</span> message
-          with every web page. Why?</a>
-        </h3>
-        <p>
-          There are several possibilities:
-        </p>
-        <ul>
-          <li>
-            <p>
-              <span class="APPLICATION">Privoxy</span> is not running.
-              Solution: verify that <span class="APPLICATION">Privoxy</span>
-              is installed correctly, has not crashed, and is indeed running.
-              Turn on <span class="APPLICATION">Privoxy's</span> logging, and
-              look at the logs to see what they say.
-            </p>
-          </li>
-          <li>
-            <p>
-              Or your browser is configured for a different port than what
-              <span class="APPLICATION">Privoxy</span> is using. Solution:
-              verify that <span class="APPLICATION">Privoxy</span> and your
-              browser are set to the same port (<tt class=
-              "LITERAL">listen-address</tt>).
-            </p>
-          </li>
-          <li>
-            <p>
-              Or if using a forwarding rule, you have a configuration problem
-              or a problem with a host in the forwarding chain. Solution:
-              temporarily alter your configuration and take the forwarders
-              out of the equation.
-            </p>
-          </li>
-          <li>
-            <p>
-              Or you have a firewall that is interfering and blocking you.
-              Solution: try disabling or removing the firewall as a simple
-              test.
-            </p>
-          </li>
-        </ul>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="ERROR503">5.2. Why am I getting a 503 Error
-          (WSAECONNREFUSED) on every page?</a>
-        </h3>
-        <p>
-          More than likely this is a problem with your TCP/IP networking.
-          ZoneAlarm has been reported to cause this symptom -- even if not
-          running! The solution is to either fight the ZA configuration, or
-          uninstall ZoneAlarm, and then find something better behaved in its
-          place. Other personal firewall type products may cause similar type
-          problems if not configured correctly.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="AEN1114">5.3. I just added a new rule, but the steenkin ad
-          is still getting through. How?</a>
-        </h3>
-        <p>
-          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
-          <span class="APPLICATION">Privoxy</span> will not be involved.
-          Flush the browser's caches, and then try again.
-        </p>
-        <p>
-          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 <a href=
-          "http://config.privoxy.org/show-url-info" target=
-          "_top">http://config.privoxy.org/show-url-info</a> and see if it
-          really matches your new rule. Blocking ads is like blocking spam: a
-          lot of tinkering is required to stay ahead of the game. And
-          remember you need to block the URL of the ad in question, which may
-          be entirely different from the site URL itself. Most ads are hosted
-          on different servers than the main site itself. If you right-click
-          on the ad, you should be able to get all the relevant information
-          you need. Alternately, you can find the correct URL by looking at
-          <span class="APPLICATION">Privoxy's</span> logs (you may need to
-          enable logging in the main config file if its disabled).
-        </p>
-        <p>
-          Below is a slightly modified real-life log snippet that originates
-          with one requested URL: <tt class="LITERAL">www.example.com</tt>
-          (name of site was changed for this example, the number of requests
-          is real). You can see in this the complexity of what goes into
-          making up this one <span class="QUOTE">"page"</span>. There are
-          eight different domains involved here, with thirty two separate
-          URLs requested in all, making up all manner of images, Shockwave
-          Flash, JavaScript, CSS stylesheets, scripts, and other related
-          content. Some of this content is obviously <span class=
-          "QUOTE">"good"</span> or <span class="QUOTE">"bad"</span>, but not
-          all. Many of the more questionable looking requests, are going to
-          outside domains that seem to be identifying themselves with
-          suspicious looking names, making our job a little easier. <span
-          class="APPLICATION">Privoxy</span> has <span class=
-          "QUOTE">"crunched"</span> (meaning caught and BLOCKED) quite a few
-          items in this example, but perhaps missed a few as well.
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="ERROR503" id="ERROR503">5.2. Why am I
+      getting a 503 Error (WSAECONNREFUSED) on every page?</a></h3>
+
+      <p>More than likely this is a problem with your TCP/IP networking.
+      ZoneAlarm has been reported to cause this symptom -- even if not
+      running! The solution is to either fight the ZA configuration, or
+      uninstall ZoneAlarm, and then find something better behaved in its
+      place. Other personal firewall type products may cause similar type
+      problems if not configured correctly.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="AEN1123" id="AEN1123">5.3. I just added a
+      new rule, but the steenkin ad is still getting through. How?</a></h3>
+
+      <p>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
+      <span class="APPLICATION">Privoxy</span> will not be involved. Flush
+      the browser's caches, and then try again.</p>
+
+      <p>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 <a href=
+      "http://config.privoxy.org/show-url-info" target=
+      "_top">http://config.privoxy.org/show-url-info</a> and see if it really
+      matches your new rule. Blocking ads is like blocking spam: a lot of
+      tinkering is required to stay ahead of the game. And remember you need
+      to block the URL of the ad in question, which may be entirely different
+      from the site URL itself. Most ads are hosted on different servers than
+      the main site itself. If you right-click on the ad, you should be able
+      to get all the relevant information you need. Alternately, you can find
+      the correct URL by looking at <span class=
+      "APPLICATION">Privoxy's</span> logs (you may need to enable logging in
+      the main config file if its disabled).</p>
+
+      <p>Below is a slightly modified real-life log snippet that originates
+      with one requested URL: <tt class="LITERAL">www.example.com</tt> (name
+      of site was changed for this example, the number of requests is real).
+      You can see in this the complexity of what goes into making up this one
+      <span class="QUOTE">"page"</span>. There are eight different domains
+      involved here, with thirty two separate URLs requested in all, making
+      up all manner of images, Shockwave Flash, JavaScript, CSS stylesheets,
+      scripts, and other related content. Some of this content is obviously
+      <span class="QUOTE">"good"</span> or <span class="QUOTE">"bad"</span>,
+      but not all. Many of the more questionable looking requests, are going
+      to outside domains that seem to be identifying themselves with
+      suspicious looking names, making our job a little easier. <span class=
+      "APPLICATION">Privoxy</span> has <span class="QUOTE">"crunched"</span>
+      (meaning caught and BLOCKED) quite a few items in this example, but
+      perhaps missed a few as well.</p>
+
+      <table class="c2" border="0" width="100%">
+        <tr>
+          <td>
+            <pre class="SCREEN">
 Request: www.example.com/
 Request: www.example.com/favicon.ico
 Request: img.example.com/main.css
@@ -195,636 +185,552 @@ Request: 66.70.21.80/img/pixel.gif
 Request: www.adtrak.net/adlog.php?bannerid=1309&amp;clientid=439&amp;zoneid=58&amp;source=Ua&amp;block=86400 crunch! (Blocked)
 Request: 66.70.21.80/scripts/click.php?hid=a71b9f6504b0c5681fa5&amp;si=Ua
 </pre>
-            </td>
-          </tr>
-        </table>
-
-        <p>
-          Despite 12 out of 32 requests being blocked, the page looked, and
-          seemed to behave perfectly <span class="QUOTE">"normal"</span>
-          (minus some ads, of course).
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="BADSITE">5.4. One of my favorite sites does not work with
-          Privoxy. What can I do?</a>
-        </h3>
-        <p>
-          First verify that it is indeed a <span class=
-          "APPLICATION">Privoxy</span> problem, by toggling off <span class=
-          "APPLICATION">Privoxy</span> through <a href=
-          "http://config.privoxy.org/toggle" target=
-          "_top">http://config.privoxy.org/toggle</a> (the toggle feature may
-          need to be enabled in the main <tt class="FILENAME">config</tt>),
-          and then shift-reloading the problem page (i.e. holding down the
-          shift key while clicking reload. Alternatively, flush your
-          browser's disk and memory caches).
-        </p>
-        <p>
-          If the problem went away, we know we have a configuration related
-          problem. Now go to <a href=
-          "http://config.privoxy.org/show-url-info" target=
-          "_top">http://config.privoxy.org/show-url-info</a> and paste the
-          full URL of the page in question into the prompt. See which actions
-          are being applied to the URL, and which matches in which actions
-          files are responsible for that. It might be helpful also to look at
-          your logs for this site too, to see what else might be happening
-          (note: logging may need to be enabled in the main config file).
-          Many sites are complex and require a number of related pages to
-          help present their content. Look at what else might be used by the
-          page in question, and what of that might be <span class=
-          "emphasis"><i class="EMPHASIS">required</i></span>. Now, armed with
-          this information, go to <a href=
-          "http://config.privoxy.org/show-status" target=
-          "_top">http://config.privoxy.org/show-status</a> and select the
-          appropriate actions files for editing.
-        </p>
-        <p>
-          You can now either look for a section which disables the actions
-          that you suspect to cause the problem and add a pattern for your
-          site there, or make up a completely new section for your site. In
-          any case, the recommended way is to disable only the prime suspect,
-          reload the problem page, and only if the problem persists, disable
-          more and more actions until you have identified the culprit. You
-          may or may not want to turn the other actions on again. Remember to
-          flush your browser's caches in between any such changes!
-        </p>
-        <p>
-          Alternately, if you are comfortable with a text editor, you can
-          accomplish the same thing by editing the appropriate actions file.
-          Probably the easiest way to deal with such problems when editing by
-          hand is to add your site to a <tt class="LITERAL">{ fragile }</tt>
-          section in <tt class="FILENAME">user.action</tt>, which is an alias
-          that turns off most <span class="QUOTE">"dangerous"</span> actions,
-          but is also likely to turn off more actions then needed, and thus
-          lower your privacy and protection more than necessary,
-        </p>
-        <p>
-          Troubleshooting actions is discussed in more detail in the <a href=
-          "../user-manual/appendix.html#ACTIONSANAT" target="_top">User
-          Manual appendix, Troubleshooting: the Anatomy of an Action</a>.
-          There is also an <a href=
-          "../user-manual/actions-file.html#ACT-EXAMPLES" target=
-          "_top">actions tutorial</a> with general configuration information
-          and examples.
-        </p>
-        <p>
-          As a last resort, you can always see if your browser has a setting
-          that will bypass the proxy setting for selective sites. Modern
-          browsers can do this.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="DUN">5.5. After installing Privoxy, I have to log in every
-          time I start IE. What gives?</a>
-        </h3>
-        <p>
-          This is a quirk that effects the installation of <span class=
-          "APPLICATION">Privoxy</span>, in conjunction with Internet Explorer
-          and Internet Connection Sharing on Windows 2000 and Windows XP. The
-          symptoms may appear to be corrupted or invalid DUN settings, or
-          passwords.
-        </p>
-        <p>
-          When setting up an NT based Windows system with <span class=
-          "APPLICATION">Privoxy</span> you may find that things do not seem
-          to be doing what you expect. When you set your system up you will
-          probably have set up Internet Connection Sharing (ICS) with Dial up
-          Networking (DUN) when logged in with administrator privileges. You
-          will probably have made this DUN connection available to other
-          accounts that you may have set-up on your system. E.g. Mum or Dad
-          sets up the system and makes accounts suitably configured for the
-          kids.
-        </p>
-        <p>
-          When setting up <span class="APPLICATION">Privoxy</span> in this
-          environment you will have to alter the proxy set-up of Internet
-          Explorer (IE) for the specific DUN connection on which you wish to
-          use <span class="APPLICATION">Privoxy</span>. When you do this the
-          ICS DUN set-up becomes user specific. In this instance you will see
-          no difference if you change the DUN connection under the account
-          used to set-up the connection. However when you do this from
-          another user you will notice that the DUN connection changes to
-          make available to "Me only". You will also find that you have to
-          store the password under each different user!
-        </p>
-        <p>
-          The reason for this is that each user's set-up for IE is user
-          specific. Each set-up DUN connection and each LAN connection in IE
-          store the settings for each user individually. As such this
-          enforces individual configurations rather than common ones. Hence
-          the first time you use a DUN connection after re-booting your
-          system it may not perform as you expect, and prompt you for the
-          password. Just set and save the password again and all should be
-          OK.
-        </p>
-        <p>
-          [Thanks to Ray Griffith for this submission.]
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="FTP">5.6. I cannot connect to any FTP sites. Privoxy is
-          blocking me.</a>
-        </h3>
-        <p>
-          <span class="APPLICATION">Privoxy</span> cannot act as a proxy for
-          FTP traffic, so do not configure your browser to use <span class=
-          "APPLICATION">Privoxy</span> as an FTP proxy. The same is true for
-          <span class="emphasis"><i class="EMPHASIS">any protocol other than
-          HTTP or HTTPS (SSL)</i></span>.
-        </p>
-        <p>
-          Most browsers understand FTP as well as HTTP. If you connect to a
-          site, with a URL like <tt class=
-          "LITERAL">ftp://ftp.example.com</tt>, your browser is making an FTP
-          connection, and not a HTTP connection. So while your browser may
-          speak FTP, <span class="APPLICATION">Privoxy</span> does not, and
-          cannot proxy such traffic.
-        </p>
-        <p>
-          To complicate matters, some systems may have a generic <span class=
-          "QUOTE">"proxy"</span> setting, which will enable various
-          protocols, including <span class="emphasis"><i class=
-          "EMPHASIS">both</i></span> HTTP and FTP proxying! So it is possible
-          to accidentally enable FTP proxying in these cases. And of course,
-          if this happens, <span class="APPLICATION">Privoxy</span> will
-          indeed cause problems since it does not know FTP. Newer version
-          will give a sane error message if a FTP connection is attempted.
-          Just disable the FTP setting and all will be well again.
-        </p>
-        <p>
-          Will <span class="APPLICATION">Privoxy</span> ever proxy FTP
-          traffic? Unlikely. There just is not much reason, and the work to
-          make this happen is more than it may seem.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="MACOSXIE">5.7. In Mac OS X, I can't configure Microsoft
-          Internet Explorer to use Privoxy as the HTTP proxy.</a>
-        </h3>
-        <p>
-          Microsoft Internet Explorer (in versions like 5.1) respects
-          system-wide network settings. In order to change the HTTP proxy,
-          open System Preferences, and click on the Network icon. In the
-          settings pane that comes up, click on the Proxies tab. Ensure the
-          "Web Proxy (HTTP)" checkbox is checked and enter <tt class=
-          "LITERAL">127.0.0.1</tt> in the entry field. Enter <tt class=
-          "LITERAL">8118</tt> in the Port field. The next time you start IE,
-          it should reflect these values.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="MACOSXUNINSTALL">5.8. In Mac OS X, I dragged the Privoxy
-          folder to the trash in order to uninstall it. Now the finder tells
-          me I don't have sufficient privileges to empty the trash.</a>
-        </h3>
-        <p>
-          Note: This ONLY applies to privoxy 3.0.6 and earlier.
-        </p>
-        <p>
-          Just dragging the <span class="APPLICATION">Privoxy</span> folder
-          to the trash is not enough to delete it. <span class=
-          "APPLICATION">Privoxy</span> supplies an <span class=
-          "APPLICATION">uninstall.command</span> file that takes care of
-          these details. Open the trash, drag the <span class=
-          "APPLICATION">uninstall.command</span> file out of the trash and
-          double-click on it. You will be prompted for confirmation and the
-          administration password.
-        </p>
-        <p>
-          The trash may still appear full after this command; emptying the
-          trash from the desktop should make it appear empty again.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="MACOSXIMAGES">5.9. In Mac OS X Panther (10.3), images
-          often fail to load and/or I experience random delays in page
-          loading. I'm using <tt class="LITERAL">localhost</tt> as my
-          browser's proxy setting.</a>
-        </h3>
-        <p>
-          We believe this is due to an IPv6-related bug in Mac OS X, but
-          don't fully understand the issue yet. In any case, changing the
-          proxy setting to <tt class="LITERAL">127.0.0.1</tt> instead of <tt
-          class="LITERAL">localhost</tt> works around the problem.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="BLANKPAGE">5.10. I get a completely blank page at one
-          site. <span class="QUOTE">"View Source"</span> shows only: <span
-          class=
-          "MARKUP">&lt;html&gt;&lt;body&gt;&lt;/body&gt;&lt;/html&gt;</span>.
-          Without Privoxy the page loads fine.</a>
-        </h3>
-        <p>
-          Chances are that the site suffers from a bug in <a href=
-          "http://www.php.net/" target="_top"><span class=
-          "APPLICATION">PHP</span></a>, which results in empty pages being
-          sent if the client explicitly requests an uncompressed page, like
-          <span class="APPLICATION">Privoxy</span> does. This bug has been
-          fixed in PHP 4.2.3.
-        </p>
-        <p>
-          To find out if this is in fact the source of the problem, try
-          adding the site to a <tt class="LITERAL">-prevent-compression</tt>
-          section in <tt class="FILENAME">user.action</tt>:
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
+          </td>
+        </tr>
+      </table>
+
+      <p>Despite 12 out of 32 requests being blocked, the page looked, and
+      seemed to behave perfectly <span class="QUOTE">"normal"</span> (minus
+      some ads, of course).</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="BADSITE" id="BADSITE">5.4. One of my
+      favorite sites does not work with Privoxy. What can I do?</a></h3>
+
+      <p>First verify that it is indeed a <span class=
+      "APPLICATION">Privoxy</span> problem, by toggling off <span class=
+      "APPLICATION">Privoxy</span> through <a href=
+      "http://config.privoxy.org/toggle" target=
+      "_top">http://config.privoxy.org/toggle</a> (the toggle feature may
+      need to be enabled in the main <tt class="FILENAME">config</tt>), and
+      then shift-reloading the problem page (i.e. holding down the shift key
+      while clicking reload. Alternatively, flush your browser's disk and
+      memory caches).</p>
+
+      <p>If the problem went away, we know we have a configuration related
+      problem. Now go to <a href="http://config.privoxy.org/show-url-info"
+      target="_top">http://config.privoxy.org/show-url-info</a> and paste the
+      full URL of the page in question into the prompt. See which actions are
+      being applied to the URL, and which matches in which actions files are
+      responsible for that. It might be helpful also to look at your logs for
+      this site too, to see what else might be happening (note: logging may
+      need to be enabled in the main config file). Many sites are complex and
+      require a number of related pages to help present their content. Look
+      at what else might be used by the page in question, and what of that
+      might be <span class="emphasis EMPHASIS c3">required</span>. Now, armed
+      with this information, go to <a href=
+      "http://config.privoxy.org/show-status" target=
+      "_top">http://config.privoxy.org/show-status</a> and select the
+      appropriate actions files for editing.</p>
+
+      <p>You can now either look for a section which disables the actions
+      that you suspect to cause the problem and add a pattern for your site
+      there, or make up a completely new section for your site. In any case,
+      the recommended way is to disable only the prime suspect, reload the
+      problem page, and only if the problem persists, disable more and more
+      actions until you have identified the culprit. You may or may not want
+      to turn the other actions on again. Remember to flush your browser's
+      caches in between any such changes!</p>
+
+      <p>Alternately, if you are comfortable with a text editor, you can
+      accomplish the same thing by editing the appropriate actions file.
+      Probably the easiest way to deal with such problems when editing by
+      hand is to add your site to a <tt class="LITERAL">{ fragile }</tt>
+      section in <tt class="FILENAME">user.action</tt>, which is an alias
+      that turns off most <span class="QUOTE">"dangerous"</span> actions, but
+      is also likely to turn off more actions then needed, and thus lower
+      your privacy and protection more than necessary,</p>
+
+      <p>Troubleshooting actions is discussed in more detail in the <a href=
+      "../user-manual/appendix.html#ACTIONSANAT" target="_top">User Manual
+      appendix, Troubleshooting: the Anatomy of an Action</a>. There is also
+      an <a href="../user-manual/actions-file.html#ACT-EXAMPLES" target=
+      "_top">actions tutorial</a> with general configuration information and
+      examples.</p>
+
+      <p>As a last resort, you can always see if your browser has a setting
+      that will bypass the proxy setting for selective sites. Modern browsers
+      can do this.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="DUN" id="DUN">5.5. After installing Privoxy,
+      I have to log in every time I start IE. What gives?</a></h3>
+
+      <p>This is a quirk that effects the installation of <span class=
+      "APPLICATION">Privoxy</span>, in conjunction with Internet Explorer and
+      Internet Connection Sharing on Windows 2000 and Windows XP. The
+      symptoms may appear to be corrupted or invalid DUN settings, or
+      passwords.</p>
+
+      <p>When setting up an NT based Windows system with <span class=
+      "APPLICATION">Privoxy</span> you may find that things do not seem to be
+      doing what you expect. When you set your system up you will probably
+      have set up Internet Connection Sharing (ICS) with Dial up Networking
+      (DUN) when logged in with administrator privileges. You will probably
+      have made this DUN connection available to other accounts that you may
+      have set-up on your system. E.g. Mum or Dad sets up the system and
+      makes accounts suitably configured for the kids.</p>
+
+      <p>When setting up <span class="APPLICATION">Privoxy</span> in this
+      environment you will have to alter the proxy set-up of Internet
+      Explorer (IE) for the specific DUN connection on which you wish to use
+      <span class="APPLICATION">Privoxy</span>. When you do this the ICS DUN
+      set-up becomes user specific. In this instance you will see no
+      difference if you change the DUN connection under the account used to
+      set-up the connection. However when you do this from another user you
+      will notice that the DUN connection changes to make available to "Me
+      only". You will also find that you have to store the password under
+      each different user!</p>
+
+      <p>The reason for this is that each user's set-up for IE is user
+      specific. Each set-up DUN connection and each LAN connection in IE
+      store the settings for each user individually. As such this enforces
+      individual configurations rather than common ones. Hence the first time
+      you use a DUN connection after re-booting your system it may not
+      perform as you expect, and prompt you for the password. Just set and
+      save the password again and all should be OK.</p>
+
+      <p>[Thanks to Ray Griffith for this submission.]</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="FTP" id="FTP">5.6. I cannot connect to any
+      FTP sites. Privoxy is blocking me.</a></h3>
+
+      <p><span class="APPLICATION">Privoxy</span> cannot act as a proxy for
+      FTP traffic, so do not configure your browser to use <span class=
+      "APPLICATION">Privoxy</span> as an FTP proxy. The same is true for
+      <span class="emphasis EMPHASIS c3">any protocol other than HTTP or
+      HTTPS (SSL)</span>.</p>
+
+      <p>Most browsers understand FTP as well as HTTP. If you connect to a
+      site, with a URL like <tt class="LITERAL">ftp://ftp.example.com</tt>,
+      your browser is making an FTP connection, and not a HTTP connection. So
+      while your browser may speak FTP, <span class=
+      "APPLICATION">Privoxy</span> does not, and cannot proxy such
+      traffic.</p>
+
+      <p>To complicate matters, some systems may have a generic <span class=
+      "QUOTE">"proxy"</span> setting, which will enable various protocols,
+      including <span class="emphasis EMPHASIS c3">both</span> HTTP and FTP
+      proxying! So it is possible to accidentally enable FTP proxying in
+      these cases. And of course, if this happens, <span class=
+      "APPLICATION">Privoxy</span> will indeed cause problems since it does
+      not know FTP. Newer version will give a sane error message if a FTP
+      connection is attempted. Just disable the FTP setting and all will be
+      well again.</p>
+
+      <p>Will <span class="APPLICATION">Privoxy</span> ever proxy FTP
+      traffic? Unlikely. There just is not much reason, and the work to make
+      this happen is more than it may seem.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="MACOSXIE" id="MACOSXIE">5.7. In Mac OS X, I
+      can't configure Microsoft Internet Explorer to use Privoxy as the HTTP
+      proxy.</a></h3>
+
+      <p>Microsoft Internet Explorer (in versions like 5.1) respects
+      system-wide network settings. In order to change the HTTP proxy, open
+      System Preferences, and click on the Network icon. In the settings pane
+      that comes up, click on the Proxies tab. Ensure the "Web Proxy (HTTP)"
+      checkbox is checked and enter <tt class="LITERAL">127.0.0.1</tt> in the
+      entry field. Enter <tt class="LITERAL">8118</tt> in the Port field. The
+      next time you start IE, it should reflect these values.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="MACOSXUNINSTALL" id="MACOSXUNINSTALL">5.8.
+      In Mac OS X, I dragged the Privoxy folder to the trash in order to
+      uninstall it. Now the finder tells me I don't have sufficient
+      privileges to empty the trash.</a></h3>
+
+      <p>Note: This ONLY applies to privoxy 3.0.6 and earlier.</p>
+
+      <p>Just dragging the <span class="APPLICATION">Privoxy</span> folder to
+      the trash is not enough to delete it. <span class=
+      "APPLICATION">Privoxy</span> supplies an <span class=
+      "APPLICATION">uninstall.command</span> file that takes care of these
+      details. Open the trash, drag the <span class=
+      "APPLICATION">uninstall.command</span> file out of the trash and
+      double-click on it. You will be prompted for confirmation and the
+      administration password.</p>
+
+      <p>The trash may still appear full after this command; emptying the
+      trash from the desktop should make it appear empty again.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="MACOSXIMAGES" id="MACOSXIMAGES">5.9. In Mac
+      OS X Panther (10.3), images often fail to load and/or I experience
+      random delays in page loading. I'm using <tt class=
+      "LITERAL">localhost</tt> as my browser's proxy setting.</a></h3>
+
+      <p>We believe this is due to an IPv6-related bug in Mac OS X, but don't
+      fully understand the issue yet. In any case, changing the proxy setting
+      to <tt class="LITERAL">127.0.0.1</tt> instead of <tt class=
+      "LITERAL">localhost</tt> works around the problem.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="BLANKPAGE" id="BLANKPAGE">5.10. I get a
+      completely blank page at one site. <span class="QUOTE">"View
+      Source"</span> shows only: <span class=
+      "MARKUP">&lt;html&gt;&lt;body&gt;&lt;/body&gt;&lt;/html&gt;</span>.
+      Without Privoxy the page loads fine.</a></h3>
+
+      <p>Chances are that the site suffers from a bug in <a href=
+      "http://www.php.net/" target="_top"><span class=
+      "APPLICATION">PHP</span></a>, which results in empty pages being sent
+      if the client explicitly requests an uncompressed page, like
+      <span class="APPLICATION">Privoxy</span> does. This bug has been fixed
+      in PHP 4.2.3.</p>
+
+      <p>To find out if this is in fact the source of the problem, try adding
+      the site to a <tt class="LITERAL">-prevent-compression</tt> section in
+      <tt class="FILENAME">user.action</tt>:</p>
+
+      <table class="c2" border="0" width="100%">
+        <tr>
+          <td>
+            <pre class="SCREEN">
    # Make exceptions for ill-behaved sites:
    #
    {-prevent-compression}
     .example.com
 </pre>
-            </td>
-          </tr>
-        </table>
-        <p>
-          If that works, you may also want to report the problem to the
-          site's webmasters, telling them to use zlib.output_compression
-          instead of ob_gzhandler in their PHP applications (workaround) or
-          upgrade to PHP 4.2.3 or later (fix).
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="NOHOSTNAME">5.11. My logs show many <span class=
-          "QUOTE">"Unable to get my own hostname"</span> lines. Why?</a>
-        </h3>
-        <p>
-          <span class="APPLICATION">Privoxy</span> tries to get the hostname
-          of the system its running on from the IP address of the system
-          interface it is bound to (from the <tt class="FILENAME">config</tt>
-          file <span class="emphasis"><i class=
-          "EMPHASIS">listen-address</i></span> setting). If the system cannot
-          supply this information, <span class="APPLICATION">Privoxy</span>
-          logs this condition.
-        </p>
-        <p>
-          Typically, this would be considered a minor system configuration
-          error. It is not a fatal error to <span class=
-          "APPLICATION">Privoxy</span> however, but may result in a much
-          slower response from <span class="APPLICATION">Privoxy</span> on
-          some platforms due to DNS timeouts.
-        </p>
-        <p>
-          This can be caused by a problem with the local <tt class=
-          "FILENAME">hosts</tt> file. If this file has been changed from the
-          original, try reverting it to see if that helps. Make sure whatever
-          name(s) are used for the local system, that they resolve both ways.
-        </p>
-        <p>
-          You should also be able to work around the problem with the <a
-          href="../user-manual/config.html#HOSTNAME" target="_top">hostname
-          option</a>.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="INUSE">5.12. When I try to launch Privoxy, I get an error
-          message <span class="QUOTE">"port 8118 is already in use"</span>
-          (or similar wording). Why?</a>
-        </h3>
-        <p>
-          Port 8118 is <span class="APPLICATION">Privoxy's</span> default TCP
-          <span class="QUOTE">"listening"</span> port. Typically this message
-          would mean that there is already one instance of <span class=
-          "APPLICATION">Privoxy</span> running, and your system is actually
-          trying to start a second <span class="APPLICATION">Privoxy</span>
-          on the same port, which will not work. (You can have multiple
-          instances but they must be assigned different ports.) How and why
-          this might happen varies from platform to platform, but you need to
-          check your installation and start-up procedures.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="DEMORONIZER">5.13. Pages with UTF-8 fonts are garbled.</a>
-        </h3>
-        <p>
-          This is caused by the <span class="QUOTE">"demoronizer"</span>
-          filter. You should either upgrade <span class=
-          "APPLICATION">Privoxy</span>, or at least upgrade to the most
-          recent <tt class="FILENAME">default.action</tt> file available from
-          <a href=
-          "http://sourceforge.net/project/showfiles.php?group_id=11118"
-          target="_top">SourceForge</a>. Or you can simply disable the
-          demoronizer filter.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="DEMORONIZER2">5.14. Why are binary files (such as images)
-          corrupted when Privoxy is used?</a>
-        </h3>
-        <p>
-          This may also be caused by the <span class=
-          "QUOTE">"demoronizer"</span> filter, in conjunction with a web
-          server that is misreporting the content type. Binary files are
-          exempted from <span class="APPLICATION">Privoxy's</span> filtering
-          (unless the web server by mistake says the file is something else).
-          Either upgrade <span class="APPLICATION">Privoxy</span>, or go to
-          the most recent <tt class="FILENAME">default.action</tt> file
-          available from <a href=
-          "http://sourceforge.net/project/showfiles.php?group_id=11118"
-          target="_top">SourceForge</a>.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="DEMORONIZER3">5.15. What is the <span class=
-          "QUOTE">"demoronizer"</span> and why is it there?</a>
-        </h3>
-        <p>
-          The original demoronizer was a Perl script that cleaned up HTML
-          pages which were created with certain Microsoft products. MS has
-          used proprietary extensions to standardized font encodings (ISO
-          8859-1), which has caused problems for pages that are viewed with
-          non-Microsoft products (and are expecting to see a standard set of
-          fonts). The demoronizer corrected these errors so the pages
-          displayed correctly. <span class="APPLICATION">Privoxy</span>
-          borrowed from this script, introducing a filter based on the
-          original demoronizer, which in turn could correct these errors on
-          the fly.
-        </p>
-        <p>
-          But this is only needed in some situations, and will cause serious
-          problems in some other situations.
-        </p>
-        <p>
-          If you are using Microsoft products, you do not need it. If you
-          need to view pages with UTF-8 characters (such as Cyrillic or
-          Chinese), then it will cause corruption of the fonts, and thus
-          <span class="emphasis"><i class="EMPHASIS">should not be
-          on</i></span>.
-        </p>
-        <p>
-          On the other hand, if you use non-Microsoft products, and you
-          occasionally notice weird characters on pages, you might want to
-          try it.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="WINDOWOPEN">5.16. Why do I keep seeing <span class=
-          "QUOTE">"PrivoxyWindowOpen()"</span> in raw source code?</a>
-        </h3>
-        <p>
-          <span class="APPLICATION">Privoxy</span> is attempting to disable
-          malicious <a href="http://en.wikipedia.org/wiki/Javascript" target=
-          "_top">Javascript</a> in this case, with the <tt class=
-          "LITERAL">unsolicited-popups</tt> filter. <span class=
-          "APPLICATION">Privoxy</span> cannot tell very well <span class=
-          "QUOTE">"good"</span> code snippets from <span class=
-          "QUOTE">"bad"</span> code snippets.
-        </p>
-        <p>
-          If you see this in HTML source, and the page displays without
-          problems, then this is good, and likely some pop-up window was
-          disabled. If you see this where it is causing a problem, such as a
-          downloaded program source code file, then you should set an
-          exception for this site or page such that the integrity of the page
-          stays in tact by disabling all filtering.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="DNSERRORS">5.17. I am getting too many DNS errors like
-          <span class="QUOTE">"404 No Such Domain"</span>. Why can't Privoxy
-          do this better?</a>
-        </h3>
-        <p>
-          There are potentially several factors here. First of all, the DNS
-          resolution is done by the underlying operating system -- not <span
-          class="APPLICATION">Privoxy</span> itself. <span class=
-          "APPLICATION">Privoxy</span> merely initiates the process and hands
-          it off, and then later reports whatever the outcome was and tries
-          to give a coherent message if there seems to be a problem. In some
-          cases, this might otherwise be mitigated by the browser itself
-          which might try some work-arounds and alternate approaches (e.g
-          adding <span class="QUOTE">"www."</span> to the URL).
-        </p>
-        <p>
-          In other cases, if <span class="APPLICATION">Privoxy</span> is
-          being chained with another proxy, this could complicate the issue,
-          and cause undue delays and timeouts. In the case of a <span class=
-          "QUOTE">"socks4a"</span> proxy, the socks server handles all the
-          DNS. <span class="APPLICATION">Privoxy</span> would just be the
-          <span class="QUOTE">"messenger"</span> which is reporting whatever
-          problem occurred downstream, and not the root cause of the error.
-        </p>
-        <p>
-          In any case, versions newer than 3.0.3 include various improvements
-          to help <span class="APPLICATION">Privoxy</span> better handle
-          these cases.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="ALLCPU">5.18. At one site Privoxy just hangs, and starts
-          taking all CPU. Why is this?</a>
-        </h3>
-        <p>
-          This is probably a manifestation of the <span class="QUOTE">"100%
-          cpu"</span> problem that occurs on pages containing many (thousands
-          upon thousands) of blank lines. The blank lines are in the raw HTML
-          source of the page, and the browser just ignores them. But the
-          pattern matching in <span class="APPLICATION">Privoxy's</span> page
-          filtering mechanism is trying to match against absurdly long
-          strings and this becomes very CPU-intensive, taking a long, long
-          time to complete.
-        </p>
-        <p>
-          Until a better solution comes along, disable filtering on these
-          pages, particularly the <tt class="LITERAL">js-annoyances</tt> and
-          <tt class="LITERAL">unsolicited-popups</tt> filters. If you run
-          into this problem with a recent <span class=
-          "APPLICATION">Privoxy</span> version, please send a problem report.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="SLOWCRAWL">5.19. I just installed Privoxy, and all my
-          browsing has slowed to a crawl. What gives?</a>
-        </h3>
-        <p>
-          This should not happen, and for the overwhelming number of users
-          world-wide, it does not happen. I would suspect some inadvertent
-          interaction of software components such as anti-virus software,
-          spyware protectors, personal firewalls or similar components. Try
-          disabling (or uninstalling) these one at a time and see if that
-          helps. Either way, if you are using a recent <span class=
-          "APPLICATION">Privoxy</span> version, please report the problem.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="PREVENTCOMP">5.20. Why do my filters work on some sites
-          but not on others?</a>
-        </h3>
-        <p>
-          It's probably due to compression. It is a common practice for web
-          servers to send their content <span class=
-          "QUOTE">"compressed"</span> in order to speed things up, and then
-          let the browser <span class="QUOTE">"uncompress"</span> them. When
-          compiled with zlib support <span class="APPLICATION">Privoxy</span>
-          can decompress content before filtering, otherwise you may want to
-          enable <a href=
-          "../user-manual/actions-file.html#PREVENT-COMPRESSION" target=
-          "_top">prevent-compression</a>.
-        </p>
-        <p>
-          As of <span class="APPLICATION">Privoxy</span> 3.0.9, zlib support
-          is enabled in the default builds.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="SSL-WARNINGS">5.21. On some HTTPS sites my browser warns
-          me about unauthenticated content, the URL bar doesn't get
-          highlighted and the lock symbol appears to be broken. What's going
-          on?</a>
-        </h3>
-        <p>
-          Probably the browser is requesting ads through HTTPS and <span
-          class="APPLICATION">Privoxy</span> is blocking the requests.
-          Privoxy's error messages are delivered unencrypted and while it's
-          obvious for the browser that the HTTPS request is already blocked
-          by the proxy, some warn about unauthenticated content anyway.
-        </p>
-        <p>
-          To work around the problem you can redirect those requests to an
-          invalid local address instead of blocking them. While the redirects
-          aren't encrypted either, many browsers don't care. They simply
-          follow the redirect, fail to reach a server and display an error
-          message instead of the ad.
-        </p>
-        <p>
-          To do that, enable logging to figure out which requests get blocked
-          by <span class="APPLICATION">Privoxy</span> and add the hosts (no
-          path patterns) to a section like this:
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
-{+redirect{http://127.0.0.1:0/} -block -limit-connect}
-.ivwbox.de:443/
-</pre>
-            </td>
-          </tr>
-        </table>
-
-        <p>
-          Additionally you have to configure your browser to contact <span
-          class="QUOTE">"127.0.0.1:0"</span> directly (instead of through
-          <span class="APPLICATION">Privoxy</span>).
-        </p>
-        <p>
-          To add a proxy exception in <span class="APPLICATION">Mozilla
-          Firefox</span> open the <span class="QUOTE">"Preferences"</span>,
-          click the <span class="QUOTE">"Settings"</span> button located on
-          the <span class="QUOTE">"Network"</span> tab in the <span class=
-          "QUOTE">"Advanced"</span> section, and add <span class=
-          "QUOTE">"127.0.0.1:0"</span> in the <span class="QUOTE">"No Proxy
-          for:"</span> field.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="SE-LINUX">5.22. I get selinux error messages. How can I
-          fix this?</a>
-        </h3>
-        <p>
-          Please report the problem to the creator of your selinux policies.
-        </p>
-        <p>
-          The problem is that some selinux policy writers aren't familiar
-          with the application they are trying to <span class=
-          "QUOTE">"secure"</span> and thus create policies that make no
-          sense.
-        </p>
-        <p>
-          In <span class="APPLICATION">Privoxy's</span> case the problem
-          usually is that the policy only allows outgoing connections for
-          certain destination ports (e.g. 80 and 443). While this may cover
-          the standard ports, websites occasionally use other ports as well.
-          This isn't a security problem and therefore <span class=
-          "APPLICATION">Privoxy's</span> default configuration doesn't block
-          these requests.
-        </p>
-        <p>
-          If you really want to block these ports (and don't be able to load
-          websites that don't use standard ports), you should configure
-          Privoxy to block these ports as well, so it doesn't trigger the
-          selinux warnings.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h3 class="SECT2">
-          <a name="GENTOO-RICERS">5.23. I compiled <span class=
-          "APPLICATION">Privoxy</span> with Gentoo's portage and it appears
-          to be very slow. Why?</a>
-        </h3>
-        <p>
-          Probably you unintentionally compiled <span class=
-          "APPLICATION">Privoxy</span> without threading support in which
-          case requests have to be serialized and only one can be served at
-          the same time.
-        </p>
-        <p>
-          Check your <span class="QUOTE">"USE"</span> flags and make sure
-          they include <span class="QUOTE">"threads"</span>. If they don't,
-          add the flag and rebuild <span class="APPLICATION">Privoxy</span>.
-        </p>
-        <p>
-          If you compiled <span class="APPLICATION">Privoxy</span> with
-          threading support (on POSIX-based systems), the <span class=
-          "QUOTE">"Conditional #defines"</span> section on <a href=
-          "http://config.privoxy.org/show-status" target=
-          "_top">http://config.privoxy.org/show-status</a> will list <span
-          class="QUOTE">"FEATURE_PTHREAD"</span> as <span class=
-          "QUOTE">"enabled"</span>.
-        </p>
-      </div>
-    </div>
-    <div class="NAVFOOTER">
-      <hr width="100%" class="c1">
-      <table summary="Footer navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <td width="33%" align="left" valign="top">
-            <a href="misc.html" accesskey="P">Prev</a>
-          </td>
-          <td width="34%" align="center" valign="top">
-            <a href="index.html" accesskey="H">Home</a>
-          </td>
-          <td width="33%" align="right" valign="top">
-            <a href="contact.html" accesskey="N">Next</a>
           </td>
         </tr>
+      </table>
+
+      <p>If that works, you may also want to report the problem to the site's
+      webmasters, telling them to use zlib.output_compression instead of
+      ob_gzhandler in their PHP applications (workaround) or upgrade to PHP
+      4.2.3 or later (fix).</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="NOHOSTNAME" id="NOHOSTNAME">5.11. My logs
+      show many <span class="QUOTE">"Unable to get my own hostname"</span>
+      lines. Why?</a></h3>
+
+      <p><span class="APPLICATION">Privoxy</span> tries to get the hostname
+      of the system its running on from the IP address of the system
+      interface it is bound to (from the <tt class="FILENAME">config</tt>
+      file <span class="emphasis EMPHASIS c3">listen-address</span> setting).
+      If the system cannot supply this information, <span class=
+      "APPLICATION">Privoxy</span> logs this condition.</p>
+
+      <p>Typically, this would be considered a minor system configuration
+      error. It is not a fatal error to <span class=
+      "APPLICATION">Privoxy</span> however, but may result in a much slower
+      response from <span class="APPLICATION">Privoxy</span> on some
+      platforms due to DNS timeouts.</p>
+
+      <p>This can be caused by a problem with the local <tt class=
+      "FILENAME">hosts</tt> file. If this file has been changed from the
+      original, try reverting it to see if that helps. Make sure whatever
+      name(s) are used for the local system, that they resolve both ways.</p>
+
+      <p>You should also be able to work around the problem with the <a href=
+      "../user-manual/config.html#HOSTNAME" target="_top">hostname
+      option</a>.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="INUSE" id="INUSE">5.12. When I try to launch
+      Privoxy, I get an error message <span class="QUOTE">"port 8118 is
+      already in use"</span> (or similar wording). Why?</a></h3>
+
+      <p>Port 8118 is <span class="APPLICATION">Privoxy's</span> default TCP
+      <span class="QUOTE">"listening"</span> port. Typically this message
+      would mean that there is already one instance of <span class=
+      "APPLICATION">Privoxy</span> running, and your system is actually
+      trying to start a second <span class="APPLICATION">Privoxy</span> on
+      the same port, which will not work. (You can have multiple instances
+      but they must be assigned different ports.) How and why this might
+      happen varies from platform to platform, but you need to check your
+      installation and start-up procedures.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="DEMORONIZER" id="DEMORONIZER">5.13. Pages
+      with UTF-8 fonts are garbled.</a></h3>
+
+      <p>This is caused by the <span class="QUOTE">"demoronizer"</span>
+      filter. You should either upgrade <span class=
+      "APPLICATION">Privoxy</span>, or at least upgrade to the most recent
+      <tt class="FILENAME">default.action</tt> file available from <a href=
+      "http://sourceforge.net/project/showfiles.php?group_id=11118" target=
+      "_top">SourceForge</a>. Or you can simply disable the demoronizer
+      filter.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="DEMORONIZER2" id="DEMORONIZER2">5.14. Why
+      are binary files (such as images) corrupted when Privoxy is
+      used?</a></h3>
+
+      <p>This may also be caused by the <span class=
+      "QUOTE">"demoronizer"</span> filter, in conjunction with a web server
+      that is misreporting the content type. Binary files are exempted from
+      <span class="APPLICATION">Privoxy's</span> filtering (unless the web
+      server by mistake says the file is something else). Either upgrade
+      <span class="APPLICATION">Privoxy</span>, or go to the most recent
+      <tt class="FILENAME">default.action</tt> file available from <a href=
+      "http://sourceforge.net/project/showfiles.php?group_id=11118" target=
+      "_top">SourceForge</a>.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="DEMORONIZER3" id="DEMORONIZER3">5.15. What
+      is the <span class="QUOTE">"demoronizer"</span> and why is it
+      there?</a></h3>
+
+      <p>The original demoronizer was a Perl script that cleaned up HTML
+      pages which were created with certain Microsoft products. MS has used
+      proprietary extensions to standardized font encodings (ISO 8859-1),
+      which has caused problems for pages that are viewed with non-Microsoft
+      products (and are expecting to see a standard set of fonts). The
+      demoronizer corrected these errors so the pages displayed correctly.
+      <span class="APPLICATION">Privoxy</span> borrowed from this script,
+      introducing a filter based on the original demoronizer, which in turn
+      could correct these errors on the fly.</p>
+
+      <p>But this is only needed in some situations, and will cause serious
+      problems in some other situations.</p>
+
+      <p>If you are using Microsoft products, you do not need it. If you need
+      to view pages with UTF-8 characters (such as Cyrillic or Chinese), then
+      it will cause corruption of the fonts, and thus <span class=
+      "emphasis EMPHASIS c3">should not be on</span>.</p>
+
+      <p>On the other hand, if you use non-Microsoft products, and you
+      occasionally notice weird characters on pages, you might want to try
+      it.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="WINDOWOPEN" id="WINDOWOPEN">5.16. Why do I
+      keep seeing <span class="QUOTE">"PrivoxyWindowOpen()"</span> in raw
+      source code?</a></h3>
+
+      <p><span class="APPLICATION">Privoxy</span> is attempting to disable
+      malicious <a href="http://en.wikipedia.org/wiki/Javascript" target=
+      "_top">Javascript</a> in this case, with the <tt class=
+      "LITERAL">unsolicited-popups</tt> filter. <span class=
+      "APPLICATION">Privoxy</span> cannot tell very well <span class=
+      "QUOTE">"good"</span> code snippets from <span class=
+      "QUOTE">"bad"</span> code snippets.</p>
+
+      <p>If you see this in HTML source, and the page displays without
+      problems, then this is good, and likely some pop-up window was
+      disabled. If you see this where it is causing a problem, such as a
+      downloaded program source code file, then you should set an exception
+      for this site or page such that the integrity of the page stays in tact
+      by disabling all filtering.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="DNSERRORS" id="DNSERRORS">5.17. I am getting
+      too many DNS errors like <span class="QUOTE">"404 No Such
+      Domain"</span>. Why can't Privoxy do this better?</a></h3>
+
+      <p>There are potentially several factors here. First of all, the DNS
+      resolution is done by the underlying operating system -- not
+      <span class="APPLICATION">Privoxy</span> itself. <span class=
+      "APPLICATION">Privoxy</span> merely initiates the process and hands it
+      off, and then later reports whatever the outcome was and tries to give
+      a coherent message if there seems to be a problem. In some cases, this
+      might otherwise be mitigated by the browser itself which might try some
+      work-arounds and alternate approaches (e.g adding <span class=
+      "QUOTE">"www."</span> to the URL).</p>
+
+      <p>In other cases, if <span class="APPLICATION">Privoxy</span> is being
+      chained with another proxy, this could complicate the issue, and cause
+      undue delays and timeouts. In the case of a <span class=
+      "QUOTE">"socks4a"</span> proxy, the socks server handles all the DNS.
+      <span class="APPLICATION">Privoxy</span> would just be the <span class=
+      "QUOTE">"messenger"</span> which is reporting whatever problem occurred
+      downstream, and not the root cause of the error.</p>
+
+      <p>In any case, versions newer than 3.0.3 include various improvements
+      to help <span class="APPLICATION">Privoxy</span> better handle these
+      cases.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="ALLCPU" id="ALLCPU">5.18. At one site
+      Privoxy just hangs, and starts taking all CPU. Why is this?</a></h3>
+
+      <p>This is probably a manifestation of the <span class="QUOTE">"100%
+      cpu"</span> problem that occurs on pages containing many (thousands
+      upon thousands) of blank lines. The blank lines are in the raw HTML
+      source of the page, and the browser just ignores them. But the pattern
+      matching in <span class="APPLICATION">Privoxy's</span> page filtering
+      mechanism is trying to match against absurdly long strings and this
+      becomes very CPU-intensive, taking a long, long time to complete.</p>
+
+      <p>Until a better solution comes along, disable filtering on these
+      pages, particularly the <tt class="LITERAL">js-annoyances</tt> and
+      <tt class="LITERAL">unsolicited-popups</tt> filters. If you run into
+      this problem with a recent <span class="APPLICATION">Privoxy</span>
+      version, please send a problem report.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="SLOWCRAWL" id="SLOWCRAWL">5.19. I just
+      installed Privoxy, and all my browsing has slowed to a crawl. What
+      gives?</a></h3>
+
+      <p>This should not happen, and for the overwhelming number of users
+      world-wide, it does not happen. I would suspect some inadvertent
+      interaction of software components such as anti-virus software, spyware
+      protectors, personal firewalls or similar components. Try disabling (or
+      uninstalling) these one at a time and see if that helps. Either way, if
+      you are using a recent <span class="APPLICATION">Privoxy</span>
+      version, please report the problem.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="PREVENTCOMP" id="PREVENTCOMP">5.20. Why do
+      my filters work on some sites but not on others?</a></h3>
+
+      <p>It's probably due to compression. It is a common practice for web
+      servers to send their content <span class="QUOTE">"compressed"</span>
+      in order to speed things up, and then let the browser <span class=
+      "QUOTE">"uncompress"</span> them. When compiled with zlib support
+      <span class="APPLICATION">Privoxy</span> can decompress content before
+      filtering, otherwise you may want to enable <a href=
+      "../user-manual/actions-file.html#PREVENT-COMPRESSION" target=
+      "_top">prevent-compression</a>.</p>
+
+      <p>As of <span class="APPLICATION">Privoxy</span> 3.0.9, zlib support
+      is enabled in the default builds.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="SSL-WARNINGS" id="SSL-WARNINGS">5.21. On
+      some HTTPS sites my browser warns me about unauthenticated content, the
+      URL bar doesn't get highlighted and the lock symbol appears to be
+      broken. What's going on?</a></h3>
+
+      <p>Probably the browser is requesting ads through HTTPS and
+      <span class="APPLICATION">Privoxy</span> is blocking the requests.
+      Privoxy's error messages are delivered unencrypted and while it's
+      obvious for the browser that the HTTPS request is already blocked by
+      the proxy, some warn about unauthenticated content anyway.</p>
+
+      <p>To work around the problem you can redirect those requests to an
+      invalid local address instead of blocking them. While the redirects
+      aren't encrypted either, many browsers don't care. They simply follow
+      the redirect, fail to reach a server and display an error message
+      instead of the ad.</p>
+
+      <p>To do that, enable logging to figure out which requests get blocked
+      by <span class="APPLICATION">Privoxy</span> and add the hosts (no path
+      patterns) to a section like this:</p>
+
+      <table class="c2" border="0" width="100%">
         <tr>
-          <td width="33%" align="left" valign="top">
-            Miscellaneous
-          </td>
-          <td width="34%" align="center" valign="top">
-            &nbsp;
-          </td>
-          <td width="33%" align="right" valign="top">
-            Contacting the developers, Bug Reporting and Feature Requests
+          <td>
+            <pre class="SCREEN">
+{+redirect{http://127.0.0.1:0/} -block -limit-connect}
+.ivwbox.de:443/
+</pre>
           </td>
         </tr>
       </table>
+
+      <p>Additionally you have to configure your browser to contact
+      <span class="QUOTE">"127.0.0.1:0"</span> directly (instead of through
+      <span class="APPLICATION">Privoxy</span>).</p>
+
+      <p>To add a proxy exception in <span class="APPLICATION">Mozilla
+      Firefox</span> open the <span class="QUOTE">"Preferences"</span>, click
+      the <span class="QUOTE">"Settings"</span> button located on the
+      <span class="QUOTE">"Network"</span> tab in the <span class=
+      "QUOTE">"Advanced"</span> section, and add <span class=
+      "QUOTE">"127.0.0.1:0"</span> in the <span class="QUOTE">"No Proxy
+      for:"</span> field.</p>
     </div>
-  </body>
-</html>
 
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="SE-LINUX" id="SE-LINUX">5.22. I get selinux
+      error messages. How can I fix this?</a></h3>
+
+      <p>Please report the problem to the creator of your selinux
+      policies.</p>
+
+      <p>The problem is that some selinux policy writers aren't familiar with
+      the application they are trying to <span class="QUOTE">"secure"</span>
+      and thus create policies that make no sense.</p>
+
+      <p>In <span class="APPLICATION">Privoxy's</span> case the problem
+      usually is that the policy only allows outgoing connections for certain
+      destination ports (e.g. 80 and 443). While this may cover the standard
+      ports, websites occasionally use other ports as well. This isn't a
+      security problem and therefore <span class=
+      "APPLICATION">Privoxy's</span> default configuration doesn't block
+      these requests.</p>
+
+      <p>If you really want to block these ports (and don't be able to load
+      websites that don't use standard ports), you should configure Privoxy
+      to block these ports as well, so it doesn't trigger the selinux
+      warnings.</p>
+    </div>
+
+    <div class="SECT2">
+      <h3 class="SECT2"><a name="GENTOO-RICERS" id="GENTOO-RICERS">5.23. I
+      compiled <span class="APPLICATION">Privoxy</span> with Gentoo's portage
+      and it appears to be very slow. Why?</a></h3>
+
+      <p>Probably you unintentionally compiled <span class=
+      "APPLICATION">Privoxy</span> without threading support in which case
+      requests have to be serialized and only one can be served at the same
+      time.</p>
+
+      <p>Check your <span class="QUOTE">"USE"</span> flags and make sure they
+      include <span class="QUOTE">"threads"</span>. If they don't, add the
+      flag and rebuild <span class="APPLICATION">Privoxy</span>.</p>
+
+      <p>If you compiled <span class="APPLICATION">Privoxy</span> with
+      threading support (on POSIX-based systems), the <span class=
+      "QUOTE">"Conditional #defines"</span> section on <a href=
+      "http://config.privoxy.org/show-status" target=
+      "_top">http://config.privoxy.org/show-status</a> will list <span class=
+      "QUOTE">"FEATURE_PTHREAD"</span> as <span class=
+      "QUOTE">"enabled"</span>.</p>
+    </div>
+  </div>
+
+  <div class="NAVFOOTER">
+    <hr class="c1" width="100%">
+
+    <table summary="Footer navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <td width="33%" align="left" valign="top"><a href="misc.html"
+        accesskey="P">Prev</a></td>
+
+        <td width="34%" align="center" valign="top"><a href="index.html"
+        accesskey="H">Home</a></td>
+
+        <td width="33%" align="right" valign="top"><a href="contact.html"
+        accesskey="N">Next</a></td>
+      </tr>
+
+      <tr>
+        <td width="33%" align="left" valign="top">Miscellaneous</td>
+
+        <td width="34%" align="center" valign="top">&nbsp;</td>
+
+        <td width="33%" align="right" valign="top">Contacting the developers,
+        Bug Reporting and Feature Requests</td>
+      </tr>
+    </table>
+  </div>
+</body>
+</html>
index 4920dc4..c3fbe90 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
-Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+
 <html>
-  <head>
-    <meta name="generator" content="HTML Tidy, see www.w3.org">
-    <title>
-      Privoxy - Home Page
-    </title>
-    <meta name="GENERATOR" content=
-    "Modular DocBook HTML Stylesheet Version 1.79">
-    <meta name="KEYWORD" content="privoxy">
-    <meta name="KEYWORD" content="HTTP">
-    <meta name="KEYWORD" content="proxy">
-    <meta name="KEYWORD" content="privacy">
-    <meta name="KEYWORD" content="popups">
-    <meta name="KEYWORD" content="po-ups">
-    <meta name="KEYWORD" content="HTML">
-    <meta name="KEYWORD" content="JavaScript">
-    <meta name="KEYWORD" content="cleaning">
-    <meta name="KEYWORD" content="blocking">
-    <meta name="KEYWORD" content="cleaner">
-    <meta name="KEYWORD" content="blocker">
-    <meta name="KEYWORD" content="filter">
-    <meta name="KEYWORD" content="proxy">
-    <meta name="KEYWORD" content="junk">
-    <meta name="KEYWORD" content="ad">
-    <meta name="KEYWORD" content="advertisement">
-    <meta name="KEYWORD" content="banner">
-    <meta name="KEYWORD" content="webbugs">
-    <meta name="KEYWORD" content="web-bugs">
-    <meta name="KEYWORD" content="werbung">
-    <meta name="KEYWORD" content="junkbusters">
-    <meta name="KEYWORD" content="junkbuster">
-    <link rel="STYLESHEET" type="text/css" href="p_doc.css">
-    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-    <meta name="description" content=
-    "Privoxy helps users to protect their privacy.">
-    <meta name="MSSmartTagsPreventParsing" content="TRUE">
-<style type="text/css">
- body {
+<head>
+  <meta name="generator" content=
+  "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
+
+  <title>Privoxy - Home Page</title>
+  <meta name="GENERATOR" content=
+  "Modular DocBook HTML Stylesheet Version 1.79">
+  <meta name="KEYWORD" content="privoxy">
+  <meta name="KEYWORD" content="HTTP">
+  <meta name="KEYWORD" content="proxy">
+  <meta name="KEYWORD" content="privacy">
+  <meta name="KEYWORD" content="popups">
+  <meta name="KEYWORD" content="po-ups">
+  <meta name="KEYWORD" content="HTML">
+  <meta name="KEYWORD" content="JavaScript">
+  <meta name="KEYWORD" content="cleaning">
+  <meta name="KEYWORD" content="blocking">
+  <meta name="KEYWORD" content="cleaner">
+  <meta name="KEYWORD" content="blocker">
+  <meta name="KEYWORD" content="filter">
+  <meta name="KEYWORD" content="proxy">
+  <meta name="KEYWORD" content="junk">
+  <meta name="KEYWORD" content="ad">
+  <meta name="KEYWORD" content="advertisement">
+  <meta name="KEYWORD" content="banner">
+  <meta name="KEYWORD" content="webbugs">
+  <meta name="KEYWORD" content="web-bugs">
+  <meta name="KEYWORD" content="werbung">
+  <meta name="KEYWORD" content="junkbusters">
+  <meta name="KEYWORD" content="junkbuster">
+  <link rel="STYLESHEET" type="text/css" href="p_doc.css">
+  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+  <meta name="description" content=
+  "Privoxy helps users to protect their privacy.">
+  <meta name="MSSmartTagsPreventParsing" content="TRUE">
+  <style type="text/css">
+body {
   background-color: #EEEEEE;
   color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- col.c1 {text-align: center}
-</style>
-  </head>
-  <body class="ARTICLE">
-    <div class="ARTICLE">
-      <div class="TITLEPAGE">
-        <h1 class="TITLE">
-          <a name="AEN2">Privoxy - Home Page</a>
-        </h1>
-        <div>
-          <a name="AEN28"></a>
-          <p>
-            Privoxy is a non-caching web proxy with advanced filtering
-            capabilities for enhancing privacy, modifying web page data and
-            HTTP headers, controlling access, and removing ads and other
-            obnoxious Internet junk. Privoxy has a flexible configuration and
-            can be customized to suit individual needs and tastes. It has
-            application for both stand-alone systems and multi-user networks.
-          </p>
-          <p>
-            Privoxy is Free Software and licensed under the GNU GPLv2.
-          </p>
-          <p>
-            Privoxy is an associated project of Software in the Public
-            Interest (SPI).
-          </p>
-          <p>
-            Helping hands and donations are welcome:
-          </p>
-          <ul>
-            <li>
-              <p>
-                <a href="http://www.privoxy.org/faq/general.html#PARTICIPATE"
-                target=
-                "_top">http://www.privoxy.org/faq/general.html#PARTICIPATE</a>
-              </p>
-            </li>
-            <li>
-              <p>
-                <a href="http://www.privoxy.org/faq/general.html#DONATE"
-                target=
-                "_top">http://www.privoxy.org/faq/general.html#DONATE</a>
-              </p>
-            </li>
-          </ul>
-
-          <p>
-            The most recent release is <a href="announce.txt" target=
-            "_top">3.0.18 (UNRELEASED)</a>.
-          </p>
-        </div>
-        <hr>
-      </div>
-      <div class="SECT1">
-        <h3 class="SECT1">
-          <a name="DOWNLOAD">Download</a>
-        </h3>
-        <p>
-        </p>
-        <ul>
-          <li>
-            <p>
-              <a href="https://sourceforge.net/projects/ijbswa/files/"
-              target="_top">Download recent releases</a>
-            </p>
-          </li>
-          <li>
-            <p>
-              <a href="user-manual/quickstart.html" target="_top">Quickstart
-              after installation</a>
-            </p>
-          </li>
-        </ul>
-      </div>
-      <div class="SECT1">
-        <hr>
-        <h3 class="SECT1">
-          <a name="DOCS">Documentation</a>
-        </h3>
-        <p>
-        </p>
-        <ul>
-          <li>
-            <p>
-              <a href="user-manual/index.html" target="_top">User manual</a>
-            </p>
-          </li>
-          <li>
-            <p>
-              <a href="faq/index.html" target="_top">Frequently Asked
-              Questions</a>
-            </p>
-          </li>
-          <li>
-            <p>
-              <a href="developer-manual/index.html" target="_top">Developer
-              Manual</a>
-            </p>
-          </li>
-          <li>
-            <p>
-              <a href="man-page/privoxy-man-page.html" target="_top">Classic
-              Man Page</a>
-            </p>
-          </li>
-        </ul>
-      </div>
-      <div class="SECT1">
-        <hr>
-        <h3 class="SECT1">
-          <a name="MOREINFO">More information</a>
-        </h3>
-        <p>
-        </p>
+  }
+  :link { color: #0000FF }
+  :visited { color: #840084 }
+  :active { color: #0000FF }
+  col.c1 {text-align: center}
+  </style>
+</head>
+
+<body class="ARTICLE">
+  <div class="ARTICLE">
+    <div class="TITLEPAGE">
+      <h1 class="TITLE"><a name="AEN2" id="AEN2">Privoxy - Home Page</a></h1>
+
+      <div class="ABSTRACT">
+        <a name="AEN28" id="AEN28"></a>
+
+        <p>Privoxy is a non-caching web proxy with advanced filtering
+        capabilities for enhancing privacy, modifying web page data and HTTP
+        headers, controlling access, and removing ads and other obnoxious
+        Internet junk. Privoxy has a flexible configuration and can be
+        customized to suit individual needs and tastes. It has application
+        for both stand-alone systems and multi-user networks.</p>
+
+        <p>Privoxy is Free Software and licensed under the GNU GPLv2.</p>
+
+        <p>Privoxy is an associated project of Software in the Public
+        Interest (SPI).</p>
+
+        <p>Helping hands and donations are welcome:</p>
+
         <ul>
           <li>
-            <p>
-              <a href="user-manual/contact.html" target="_top">Support &amp;
-              Service</a>
-            </p>
-          </li>
-          <li>
-            <p>
-              <a href="user-manual/copyright.html" target="_top">Copyright,
-              License, History &amp; Authors</a>
-            </p>
-          </li>
-          <li>
-            <p>
-              <a href="user-manual/introduction.html#FEATURES" target=
-              "_top">List of (new) Features</a>
-            </p>
-          </li>
-          <li>
-            <p>
-              <a href="https://sourceforge.net/projects/ijbswa/" target=
-              "_top">The project page</a>
-            </p>
-          </li>
-          <li>
-            <p>
-              <a href="user-manual/seealso.html" target="_top">Related
-              links</a>
-            </p>
+            <p><a href="http://www.privoxy.org/faq/general.html#PARTICIPATE"
+            target=
+            "_top">http://www.privoxy.org/faq/general.html#PARTICIPATE</a></p>
           </li>
+
           <li>
-            <p>
-              <a href="http://www.privoxy.org/team/index.html" target=
-              "_top">Pictures of the Privoxy Team</a>
-            </p>
+            <p><a href="http://www.privoxy.org/faq/general.html#DONATE"
+            target=
+            "_top">http://www.privoxy.org/faq/general.html#DONATE</a></p>
           </li>
         </ul>
+
+        <p>The most recent release is <a href="announce.txt" target=
+        "_top">3.0.18 (stable)</a>.</p>
       </div>
-      <div class="SECT1">
-        <hr>
-        <h2 class="SECT1">
-          <a name="AEN90"></a>
-        </h2>
-        <div class="INFORMALTABLE">
-          <a name="AEN93"></a>
-          <table border="0" frame="void" rules="all" width="100%" class=
-          "CALSTABLE">
-            <col width="100%" title="C1" class="c1">
-            <tbody>
-              <tr>
-                <td align="CENTER">
-                  Privoxy is developed on:
-                </td>
-              </tr>
-              <tr>
-                <td align="CENTER">
-                  <a href="http://sourceforge.net/" target="_top"><img src=
-                  "http://sourceforge.net/sflogo.php?group_id=11118&amp;type=1&amp;dummy=.gif">
-                  </a>
-                </td>
-              </tr>
-            </tbody>
-          </table>
-        </div>
-
-        <p>
-          <sub>Copyright &copy; 2001-2010 by Privoxy Developers</sub>
-        </p>
+      <hr>
+    </div>
+
+    <div class="SECT1">
+      <h3 class="SECT1"><a name="DOWNLOAD" id="DOWNLOAD">Download</a></h3>
+
+      <ul>
+        <li>
+          <p><a href="https://sourceforge.net/projects/ijbswa/files/" target=
+          "_top">Download recent releases</a></p>
+        </li>
+
+        <li>
+          <p><a href="user-manual/quickstart.html" target="_top">Quickstart
+          after installation</a></p>
+        </li>
+      </ul>
+    </div>
+
+    <div class="SECT1">
+      <hr>
+
+      <h3 class="SECT1"><a name="DOCS" id="DOCS">Documentation</a></h3>
+
+      <ul>
+        <li>
+          <p><a href="user-manual/index.html" target="_top">User
+          manual</a></p>
+        </li>
+
+        <li>
+          <p><a href="faq/index.html" target="_top">Frequently Asked
+          Questions</a></p>
+        </li>
+
+        <li>
+          <p><a href="developer-manual/index.html" target="_top">Developer
+          Manual</a></p>
+        </li>
+
+        <li>
+          <p><a href="man-page/privoxy-man-page.html" target="_top">Classic
+          Man Page</a></p>
+        </li>
+      </ul>
+    </div>
+
+    <div class="SECT1">
+      <hr>
+
+      <h3 class="SECT1"><a name="MOREINFO" id="MOREINFO">More
+      information</a></h3>
+
+      <ul>
+        <li>
+          <p><a href="user-manual/contact.html" target="_top">Support &amp;
+          Service</a></p>
+        </li>
+
+        <li>
+          <p><a href="user-manual/copyright.html" target="_top">Copyright,
+          License, History &amp; Authors</a></p>
+        </li>
+
+        <li>
+          <p><a href="user-manual/introduction.html#FEATURES" target=
+          "_top">List of (new) Features</a></p>
+        </li>
+
+        <li>
+          <p><a href="https://sourceforge.net/projects/ijbswa/" target=
+          "_top">The project page</a></p>
+        </li>
+
+        <li>
+          <p><a href="user-manual/seealso.html" target="_top">Related
+          links</a></p>
+        </li>
+
+        <li>
+          <p><a href="http://www.privoxy.org/team/index.html" target=
+          "_top">Pictures of the Privoxy Team</a></p>
+        </li>
+      </ul>
+    </div>
+
+    <div class="SECT1">
+      <hr>
+
+      <h2 class="SECT1"><a name="AEN90" id="AEN90"></a></h2>
+
+      <div class="INFORMALTABLE">
+        <a name="AEN93" id="AEN93"></a>
+
+        <table border="0" frame="void" rules="all" width="100%" class=
+        "CALSTABLE">
+          <col class="c1" width="100%" title="C1">
+
+          <tbody>
+            <tr>
+              <td align="center">Privoxy is developed on:</td>
+            </tr>
+
+            <tr>
+              <td align="center"><a href="http://sourceforge.net/" target=
+              "_top"><img src=
+              "http://sourceforge.net/sflogo.php?group_id=11118&amp;type=1&amp;dummy=.gif"></a></td>
+            </tr>
+          </tbody>
+        </table>
       </div>
+
+      <p><sub>Copyright &copy; 2001-2010 by Privoxy Developers</sub></p>
     </div>
-  </body>
+  </div>
+</body>
 </html>
-
index 1bb72e2..e9e7885 100644 (file)
@@ -1,24 +1,23 @@
-<!DOCTYPE html PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+
 <html>
-  <head>
-    <meta name="generator" content="HTML Tidy, see www.w3.org">
-    <title>
-      Privoxy Man page
-    </title>
-    <link rel="stylesheet" type="text/css" href="../p_web.css">
-  </head>
-  <body>
-    <h2>
-      NAME
-    </h2>
-<pre>
+<head>
+  <meta name="generator" content=
+  "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
+
+  <title>Privoxy Man page</title>
+  <link rel="stylesheet" type="text/css" href="../p_web.css">
+</head>
+
+<body>
+  <h2>NAME</h2>
+  <pre>
 <!-- Manpage converted by man2html 3.0.1 -->
 
 </pre>
-    <h2>
-      SYNOPSIS
-    </h2>
-<pre>
+
+  <h2>SYNOPSIS</h2>
+  <pre>
        <b>privoxy</b>   [<b>--help</b>   ]  [<b>--version</b>   ]  [<b>--no-daemon</b>  ] [<b>--pidfile</b> <i>pidfile</i> ]
        [<b>--user</b> <i>user[.group]</i> ] [<b>--chroot</b>    ]  [<b>--pre-chroot-nslookup</b>  <i>hostname</i>  ]
        [<i>configfile</i> ]
 
 
 </pre>
-    <h2>
-      OPTIONS
-    </h2>
-<pre>
+
+  <h2>OPTIONS</h2>
+  <pre>
        <b>Privoxy</b> may be invoked with the following command line options:
 
        <b>--help</b> Print brief usage  info and exit.
 
 
 </pre>
-    <h2>
-      DESCRIPTION
-    </h2>
-<pre>
+
+  <h2>DESCRIPTION</h2>
+  <pre>
        Privoxy is a non-caching web proxy with advanced filtering capabilities
        for enhancing privacy, modifying web page data and HTTP  headers,  con-
        trolling  access,  and  removing ads and other obnoxious Internet junk.
 
 
 </pre>
-    <h2>
-      INSTALLATION AND USAGE
-    </h2>
-<pre>
+
+  <h2>INSTALLATION AND USAGE</h2>
+  <pre>
        Browsers can either be individually configured to use <b>Privoxy</b> as  a HTTP
        proxy (recommended), or <b>Privoxy</b> can be combined with a packet filter to
        build  an intercepting proxy (see <i>config</i>).  The default setting is  for
 
 
 </pre>
-    <h2>
-      CONFIGURATION
-    </h2>
-<pre>
+
+  <h2>CONFIGURATION</h2>
+  <pre>
        <b>Privoxy</b>   can  be  configured  with the various configuration files. The
        default configuration files are: <i>config</i>,  <i>default.filter</i>,  <i>default.action</i>
        and  <i>default.action</i>.  <i>user.action</i>  should  be  used for locally defined
 
 
 </pre>
-    <h2>
-      FILES
-    </h2>
-<pre>
+
+  <h2>FILES</h2>
+  <pre>
     <i>/usr/sbin/privoxy</i>
     <i>/etc/privoxy/config</i>
     <i>/etc/privoxy/match-all.action</i>
 
 
 </pre>
-    <h2>
-      NOTES
-    </h2>
-<pre>
+
+  <h2>NOTES</h2>
+  <pre>
        This  is  a  UNRELEASED  version  of <b>Privoxy</b>. Not all features are well
        tested.
 
 
 
 </pre>
-    <h2>
-      SEE ALSO
-    </h2>
-<pre>
+
+  <h2>SEE ALSO</h2>
+  <pre>
        Other references and sites of interest to <b>Privoxy</b> users:
 
 
 
 
 </pre>
-    <h2>
-      DEVELOPMENT TEAM
-    </h2>
-<pre>
+
+  <h2>DEVELOPMENT TEAM</h2>
+  <pre>
     Fabian Keil, lead developer
     David Schmidt, developer
 
 
 
 </pre>
-    <h2>
-      COPYRIGHT AND LICENSE
-    </h2>
-<pre>
+
+  <h2>COPYRIGHT AND LICENSE</h2>
+  <pre>
    <b>COPYRIGHT</b>
        Copyright  (C)  2001-2011  by   Privoxy   Developers   &lt;ijbswa-develop-
        ers@lists.sourceforge.net&gt;
        under the terms of the <i>GNU</i> <i>General</i> <i>Public</i> <i>License</i>, version 2,  as  pub-
        lished by the Free Software Foundation.
 </pre>
-  </body>
+</body>
 </html>
-
index 83d0598..01511ec 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
-Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+
 <html>
-  <head>
-    <meta name="generator" content="HTML Tidy, see www.w3.org">
-    <title>
-      Privoxy - The Privacy Enhancing Proxy
-    </title>
-    <meta name="GENERATOR" content=
-    "Modular DocBook HTML Stylesheet Version 1.79">
-    <meta name="KEYWORD" content="privoxy">
-    <meta name="KEYWORD" content="HTTP">
-    <meta name="KEYWORD" content="proxy">
-    <meta name="KEYWORD" content="privacy">
-    <meta name="KEYWORD" content="popups">
-    <meta name="KEYWORD" content="po-ups">
-    <meta name="KEYWORD" content="HTML">
-    <meta name="KEYWORD" content="JavaScript">
-    <meta name="KEYWORD" content="cleaning">
-    <meta name="KEYWORD" content="blocking">
-    <meta name="KEYWORD" content="cleaner">
-    <meta name="KEYWORD" content="blocker">
-    <meta name="KEYWORD" content="filter">
-    <meta name="KEYWORD" content="proxy">
-    <meta name="KEYWORD" content="junk">
-    <meta name="KEYWORD" content="ad">
-    <meta name="KEYWORD" content="advertisement">
-    <meta name="KEYWORD" content="banner">
-    <meta name="KEYWORD" content="webbugs">
-    <meta name="KEYWORD" content="web-bugs">
-    <meta name="KEYWORD" content="werbung">
-    <meta name="KEYWORD" content="junkbusters">
-    <meta name="KEYWORD" content="junkbuster">
-    <link rel="STYLESHEET" type="text/css" href="p_doc.css">
-    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-    <meta name="description" content=
-    "Privoxy helps users to protect their privacy.">
-    <meta name="MSSmartTagsPreventParsing" content="TRUE">
-<style type="text/css">
- body {
+<head>
+  <meta name="generator" content=
+  "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
+
+  <title>Privoxy - The Privacy Enhancing Proxy</title>
+  <meta name="GENERATOR" content=
+  "Modular DocBook HTML Stylesheet Version 1.79">
+  <meta name="KEYWORD" content="privoxy">
+  <meta name="KEYWORD" content="HTTP">
+  <meta name="KEYWORD" content="proxy">
+  <meta name="KEYWORD" content="privacy">
+  <meta name="KEYWORD" content="popups">
+  <meta name="KEYWORD" content="po-ups">
+  <meta name="KEYWORD" content="HTML">
+  <meta name="KEYWORD" content="JavaScript">
+  <meta name="KEYWORD" content="cleaning">
+  <meta name="KEYWORD" content="blocking">
+  <meta name="KEYWORD" content="cleaner">
+  <meta name="KEYWORD" content="blocker">
+  <meta name="KEYWORD" content="filter">
+  <meta name="KEYWORD" content="proxy">
+  <meta name="KEYWORD" content="junk">
+  <meta name="KEYWORD" content="ad">
+  <meta name="KEYWORD" content="advertisement">
+  <meta name="KEYWORD" content="banner">
+  <meta name="KEYWORD" content="webbugs">
+  <meta name="KEYWORD" content="web-bugs">
+  <meta name="KEYWORD" content="werbung">
+  <meta name="KEYWORD" content="junkbusters">
+  <meta name="KEYWORD" content="junkbuster">
+  <link rel="STYLESHEET" type="text/css" href="p_doc.css">
+  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+  <meta name="description" content=
+  "Privoxy helps users to protect their privacy.">
+  <meta name="MSSmartTagsPreventParsing" content="TRUE">
+  <style type="text/css">
+body {
   background-color: #EEEEEE;
   color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
-</style>
-  </head>
-  <body class="ARTICLE">
-    <div class="ARTICLE">
-      <div class="TITLEPAGE">
-        <h1 class="TITLE">
-          <a name="AEN2">Privoxy - The Privacy Enhancing Proxy</a>
-        </h1>
-        <h2 class="SUBTITLE">
-          Project Index Page v3.0.18
-        </h2>
-        <div>
-          <a name="AEN29"></a>
-          <p>
-            Privoxy is a non-caching web proxy with advanced filtering
-            capabilities for enhancing privacy, modifying web page data and
-            HTTP headers, controlling access, and removing ads and other
-            obnoxious Internet junk. Privoxy has a flexible configuration and
-            can be customized to suit individual needs and tastes. It has
-            application for both stand-alone systems and multi-user networks.
-          </p>
-          <p>
-            Privoxy is Free Software and licensed under the GNU GPLv2.
-          </p>
-          <p>
-            Privoxy is an associated project of Software in the Public
-            Interest (SPI).
-          </p>
-          <p>
-            Helping hands and donations are welcome:
-          </p>
-          <ul>
-            <li>
-              <p>
-                <a href="http://www.privoxy.org/faq/general.html#PARTICIPATE"
-                target=
-                "_top">http://www.privoxy.org/faq/general.html#PARTICIPATE</a>
-              </p>
-            </li>
-            <li>
-              <p>
-                <a href="http://www.privoxy.org/faq/general.html#DONATE"
-                target=
-                "_top">http://www.privoxy.org/faq/general.html#DONATE</a>
-              </p>
-            </li>
-          </ul>
-        </div>
-        <hr>
-      </div>
-      <div class="SECT1">
-        <h3 class="SECT1">
-          <a name="DOWNLOAD">Download</a>
-        </h3>
-        <p>
-        </p>
-        <ul>
-          <li>
-            <p>
-              <a href="https://sourceforge.net/projects/ijbswa/files/"
-              target="_top">Download recent releases</a>
-            </p>
-          </li>
-          <li>
-            <p>
-              <a href="user-manual/quickstart.html" target="_top">Quickstart
-              after installation</a>
-            </p>
-          </li>
-        </ul>
-      </div>
-      <div class="SECT1">
-        <hr>
-        <h3 class="SECT1">
-          <a name="DOCS">Documentation</a>
-        </h3>
-        <p>
-        </p>
-        <ul>
-          <li>
-            <p>
-              <a href="user-manual/index.html" target="_top">User manual</a>
-            </p>
-          </li>
-          <li>
-            <p>
-              <a href="faq/index.html" target="_top">Frequently Asked
-              Questions</a>
-            </p>
-          </li>
-          <li>
-            <p>
-              <a href="developer-manual/index.html" target="_top">Developer
-              Manual</a>
-            </p>
-          </li>
-          <li>
-            <p>
-              <a href="man-page/privoxy-man-page.html" target="_top">Classic
-              Man Page</a>
-            </p>
-          </li>
-        </ul>
-      </div>
-      <div class="SECT1">
-        <hr>
-        <h3 class="SECT1">
-          <a name="MOREINFO">More information</a>
-        </h3>
-        <p>
-        </p>
+  }
+  :link { color: #0000FF }
+  :visited { color: #840084 }
+  :active { color: #0000FF }
+  </style>
+</head>
+
+<body class="ARTICLE">
+  <div class="ARTICLE">
+    <div class="TITLEPAGE">
+      <h1 class="TITLE"><a name="AEN2" id="AEN2">Privoxy - The Privacy
+      Enhancing Proxy</a></h1>
+
+      <h2 class="SUBTITLE">Project Index Page v3.0.18</h2>
+
+      <div class="ABSTRACT">
+        <a name="AEN29" id="AEN29"></a>
+
+        <p>Privoxy is a non-caching web proxy with advanced filtering
+        capabilities for enhancing privacy, modifying web page data and HTTP
+        headers, controlling access, and removing ads and other obnoxious
+        Internet junk. Privoxy has a flexible configuration and can be
+        customized to suit individual needs and tastes. It has application
+        for both stand-alone systems and multi-user networks.</p>
+
+        <p>Privoxy is Free Software and licensed under the GNU GPLv2.</p>
+
+        <p>Privoxy is an associated project of Software in the Public
+        Interest (SPI).</p>
+
+        <p>Helping hands and donations are welcome:</p>
+
         <ul>
           <li>
-            <p>
-              <a href="user-manual/contact.html" target="_top">Support &amp;
-              Service</a>
-            </p>
-          </li>
-          <li>
-            <p>
-              <a href="user-manual/copyright.html" target="_top">Copyright,
-              License, History &amp; Authors</a>
-            </p>
-          </li>
-          <li>
-            <p>
-              <a href="user-manual/introduction.html#FEATURES" target=
-              "_top">List of (new) Features</a>
-            </p>
-          </li>
-          <li>
-            <p>
-              <a href="https://sourceforge.net/projects/ijbswa/" target=
-              "_top">The project page</a>
-            </p>
-          </li>
-          <li>
-            <p>
-              <a href="user-manual/seealso.html" target="_top">Related
-              links</a>
-            </p>
+            <p><a href="http://www.privoxy.org/faq/general.html#PARTICIPATE"
+            target=
+            "_top">http://www.privoxy.org/faq/general.html#PARTICIPATE</a></p>
           </li>
+
           <li>
-            <p>
-              <a href="http://www.privoxy.org/team/index.html" target=
-              "_top">Pictures of the Privoxy Team</a>
-            </p>
+            <p><a href="http://www.privoxy.org/faq/general.html#DONATE"
+            target=
+            "_top">http://www.privoxy.org/faq/general.html#DONATE</a></p>
           </li>
         </ul>
       </div>
-      <div class="SECT1">
-        <hr>
-        <h2 class="SECT1">
-          <a name="AEN89"></a>
-        </h2>
-        <p>
-          <sub>Copyright &copy; 2001-2010 by Privoxy Developers</sub>
-        </p>
-      </div>
+      <hr>
     </div>
-  </body>
-</html>
 
+    <div class="SECT1">
+      <h3 class="SECT1"><a name="DOWNLOAD" id="DOWNLOAD">Download</a></h3>
+
+      <ul>
+        <li>
+          <p><a href="https://sourceforge.net/projects/ijbswa/files/" target=
+          "_top">Download recent releases</a></p>
+        </li>
+
+        <li>
+          <p><a href="user-manual/quickstart.html" target="_top">Quickstart
+          after installation</a></p>
+        </li>
+      </ul>
+    </div>
+
+    <div class="SECT1">
+      <hr>
+
+      <h3 class="SECT1"><a name="DOCS" id="DOCS">Documentation</a></h3>
+
+      <ul>
+        <li>
+          <p><a href="user-manual/index.html" target="_top">User
+          manual</a></p>
+        </li>
+
+        <li>
+          <p><a href="faq/index.html" target="_top">Frequently Asked
+          Questions</a></p>
+        </li>
+
+        <li>
+          <p><a href="developer-manual/index.html" target="_top">Developer
+          Manual</a></p>
+        </li>
+
+        <li>
+          <p><a href="man-page/privoxy-man-page.html" target="_top">Classic
+          Man Page</a></p>
+        </li>
+      </ul>
+    </div>
+
+    <div class="SECT1">
+      <hr>
+
+      <h3 class="SECT1"><a name="MOREINFO" id="MOREINFO">More
+      information</a></h3>
+
+      <ul>
+        <li>
+          <p><a href="user-manual/contact.html" target="_top">Support &amp;
+          Service</a></p>
+        </li>
+
+        <li>
+          <p><a href="user-manual/copyright.html" target="_top">Copyright,
+          License, History &amp; Authors</a></p>
+        </li>
+
+        <li>
+          <p><a href="user-manual/introduction.html#FEATURES" target=
+          "_top">List of (new) Features</a></p>
+        </li>
+
+        <li>
+          <p><a href="https://sourceforge.net/projects/ijbswa/" target=
+          "_top">The project page</a></p>
+        </li>
+
+        <li>
+          <p><a href="user-manual/seealso.html" target="_top">Related
+          links</a></p>
+        </li>
+
+        <li>
+          <p><a href="http://www.privoxy.org/team/index.html" target=
+          "_top">Pictures of the Privoxy Team</a></p>
+        </li>
+      </ul>
+    </div>
+
+    <div class="SECT1">
+      <hr>
+
+      <h2 class="SECT1"><a name="AEN89" id="AEN89"></a></h2>
+
+      <p><sub>Copyright &copy; 2001-2010 by Privoxy Developers</sub></p>
+    </div>
+  </div>
+</body>
+</html>
index 0d093d1..168c963 100644 (file)
@@ -1,62 +1,52 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+
 <html>
-  <head>
-    <meta name="generator" content="HTML Tidy, see www.w3.org">
-    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-    <title>
-      Privoxy - Team Photos
-    </title>
-    <link rel="stylesheet" type="text/css" href="../p_doc.css">
-<style type="text/css">
- h1.c1 {margin-left: 0%}
-</style>
-  </head>
-  <body>
-    <h1 class="c1">
-      Privoxy - Team Photos
-    </h1>
-    <hr>
-    <p>
-      In our day jobs, we're all models ;-)
-    </p>
-    <table align="center">
-      <tr>
-        <td>
-          <a href="01stefanw.jpg"><img src="01stefanw_t.jpg" width="80"
-          height="80" border="0" title="Stefan Waldherr"></a>
-        </td>
-        <td>
-          <a href="02jon.jpg"><img src="02jon_t.jpg" width="80" height="80"
-          border="0" title="Jon Foster"></a>
-        </td>
-        <td>
-          <a href="03andreas.jpg"><img src="03andreas_t.jpg" width="80"
-          height="80" border="0" title="Andreas Oesterhelt"></a>
-        </td>
-        <td>
-          <a href="04rodney.jpg"><img src="04rodney_t.jpg" width="80" height=
-          "80" border="0" title="Rodney Stromlund"></a>
-        </td>
-      </tr>
-      <tr>
-        <td>
-          <a href="05david.jpg"><img src="05david_t.jpg" width="80" height=
-          "80" border="0" title="David Schmidt"></a>
-        </td>
-        <td>
-          <a href="06member.jpg"><img src="06member_t.jpg" width="80" height=
-          "80" border="0" title="N/A"></a>
-        </td>
-        <td>
-          <a href="07member.jpg"><img src="07member_t.jpg" width="80" height=
-          "80" border="0" title="N/A"></a>
-        </td>
-        <td>
-          <a href="08member.jpg"><img src="08member_t.jpg" width="80" height=
-          "80" border="0" title="N/A"></a>
-        </td>
-      </tr>
-    </table>
-  </body>
-</html>
+<head>
+  <meta name="generator" content=
+  "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
+  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+
+  <title>Privoxy - Team Photos</title>
+  <link rel="stylesheet" type="text/css" href="../p_doc.css">
+  <style type="text/css">
+h1.c1 {margin-left: 0%}
+  </style>
+</head>
+
+<body>
+  <h1 class="c1">Privoxy - Team Photos</h1>
+  <hr>
+
+  <p>In our day jobs, we're all models ;-)</p>
+
+  <table align="center">
+    <tr>
+      <td><a href="01stefanw.jpg"><img src="01stefanw_t.jpg" width="80"
+      height="80" border="0" title="Stefan Waldherr"></a></td>
+
+      <td><a href="02jon.jpg"><img src="02jon_t.jpg" width="80" height="80"
+      border="0" title="Jon Foster"></a></td>
 
+      <td><a href="03andreas.jpg"><img src="03andreas_t.jpg" width="80"
+      height="80" border="0" title="Andreas Oesterhelt"></a></td>
+
+      <td><a href="04rodney.jpg"><img src="04rodney_t.jpg" width="80" height=
+      "80" border="0" title="Rodney Stromlund"></a></td>
+    </tr>
+
+    <tr>
+      <td><a href="05david.jpg"><img src="05david_t.jpg" width="80" height=
+      "80" border="0" title="David Schmidt"></a></td>
+
+      <td><a href="06member.jpg"><img src="06member_t.jpg" width="80" height=
+      "80" border="0" title="N/A"></a></td>
+
+      <td><a href="07member.jpg"><img src="07member_t.jpg" width="80" height=
+      "80" border="0" title="N/A"></a></td>
+
+      <td><a href="08member.jpg"><img src="08member_t.jpg" width="80" height=
+      "80" border="0" title="N/A"></a></td>
+    </tr>
+  </table>
+</body>
+</html>
index cbffcee..f888572 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
-Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+
 <html>
-  <head>
-    <meta name="generator" content="HTML Tidy, see www.w3.org">
-    <title>
-      Actions Files
-    </title>
-    <meta name="GENERATOR" content=
-    "Modular DocBook HTML Stylesheet Version 1.79">
-    <link rel="HOME" title="Privoxy 3.0.18 User Manual" href="index.html">
-    <link rel="PREVIOUS" title="The Main Configuration File" href=
-    "config.html">
-    <link rel="NEXT" title="Filter Files" href="filter-file.html">
-    <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
-    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-    <link rel="STYLESHEET" type="text/css" href="p_doc.css">
-<style type="text/css">
- body {
+<head>
+  <meta name="generator" content=
+  "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
+
+  <title>Actions Files</title>
+  <meta name="GENERATOR" content=
+  "Modular DocBook HTML Stylesheet Version 1.79">
+  <link rel="HOME" title="Privoxy 3.0.18 User Manual" href="index.html">
+  <link rel="PREVIOUS" title="The Main Configuration File" href=
+  "config.html">
+  <link rel="NEXT" title="Filter Files" href="filter-file.html">
+  <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
+  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+  <link rel="STYLESHEET" type="text/css" href="p_doc.css">
+  <style type="text/css">
+body {
   background-color: #EEEEEE;
   color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- p.c2 {font-weight: bold}
- hr.c1 {text-align: left}
-</style>
-  </head>
-  <body class="SECT1">
-    <div class="NAVHEADER">
-      <table summary="Header navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <th colspan="3" align="center">
-            Privoxy 3.0.18 User Manual
-          </th>
-        </tr>
-        <tr>
-          <td width="10%" align="left" valign="bottom">
-            <a href="config.html" accesskey="P">Prev</a>
-          </td>
-          <td width="80%" align="center" valign="bottom">
-          </td>
-          <td width="10%" align="right" valign="bottom">
-            <a href="filter-file.html" accesskey="N">Next</a>
-          </td>
-        </tr>
-      </table>
-      <hr width="100%" class="c1">
+  }
+  :link { color: #0000FF }
+  :visited { color: #840084 }
+  :active { color: #0000FF }
+  td.c6 {font-weight: bold}
+  tt.c5 {font-style: italic}
+  table.c4 {background-color: #E0E0E0}
+  p.c3 {font-weight: bold}
+  span.c2 {font-style: italic}
+  hr.c1 {text-align: left}
+  </style>
+</head>
+
+<body class="SECT1">
+  <div class="NAVHEADER">
+    <table summary="Header navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <th colspan="3" align="center">Privoxy 3.0.18 User Manual</th>
+      </tr>
+
+      <tr>
+        <td width="10%" align="left" valign="bottom"><a href="config.html"
+        accesskey="P">Prev</a></td>
+
+        <td width="80%" align="center" valign="bottom"></td>
+
+        <td width="10%" align="right" valign="bottom"><a href=
+        "filter-file.html" accesskey="N">Next</a></td>
+      </tr>
+    </table>
+    <hr class="c1" width="100%">
+  </div>
+
+  <div class="SECT1">
+    <h1 class="SECT1"><a name="ACTIONS-FILE" id="ACTIONS-FILE">8. Actions
+    Files</a></h1>
+
+    <p>The actions files are used to define what <span class=
+    "emphasis EMPHASIS c2">actions</span> <span class=
+    "APPLICATION">Privoxy</span> takes for which URLs, and thus determines
+    how ad images, cookies and various other aspects of HTTP content and
+    transactions are handled, and on which sites (or even parts thereof).
+    There are a number of such actions, with a wide range of functionality.
+    Each action does something a little different. These actions give us a
+    veritable arsenal of tools with which to exert our control, preferences
+    and independence. Actions can be combined so that their effects are
+    aggregated when applied against a given set of URLs.</p>
+
+    <p>There are three action files included with <span class=
+    "APPLICATION">Privoxy</span> with differing purposes:</p>
+
+    <ul>
+      <li>
+        <p><tt class="FILENAME">match-all.action</tt> - is used to define
+        which <span class="QUOTE">"actions"</span> relating to
+        banner-blocking, images, pop-ups, content modification, cookie
+        handling etc should be applied by default. It should be the first
+        actions file loaded</p>
+      </li>
+
+      <li>
+        <p><tt class="FILENAME">default.action</tt> - defines many exceptions
+        (both positive and negative) from the default set of actions that's
+        configured in <tt class="FILENAME">match-all.action</tt>. It is a set
+        of rules that should work reasonably well as-is for most users. This
+        file is only supposed to be edited by the developers. It should be
+        the second actions file loaded.</p>
+      </li>
+
+      <li>
+        <p><tt class="FILENAME">user.action</tt> - is intended to be for
+        local site preferences and exceptions. As an example, if your ISP or
+        your bank has specific requirements, and need special handling, this
+        kind of thing should go here. This file will not be upgraded.</p>
+      </li>
+
+      <li>
+        <p><span class="GUIBUTTON">Edit</span> <span class="GUIBUTTON">Set to
+        Cautious</span> <span class="GUIBUTTON">Set to Medium</span>
+        <span class="GUIBUTTON">Set to Advanced</span></p>
+
+        <p>These have increasing levels of aggressiveness <span class=
+        "emphasis EMPHASIS c2">and have no influence on your browsing unless
+        you select them explicitly in the editor</span>. A default
+        installation should be pre-set to <tt class="LITERAL">Cautious</tt>.
+        New users should try this for a while before adjusting the settings
+        to more aggressive levels. The more aggressive the settings, then the
+        more likelihood there is of problems such as sites not working as
+        they should.</p>
+
+        <p>The <span class="GUIBUTTON">Edit</span> button allows you to turn
+        each action on/off individually for fine-tuning. The <span class=
+        "GUIBUTTON">Cautious</span> button changes the actions list to
+        low/safe settings which will activate ad blocking and a minimal set
+        of <span class="APPLICATION">Privoxy</span>'s features, and
+        subsequently there will be less of a chance for accidental problems.
+        The <span class="GUIBUTTON">Medium</span> button sets the list to a
+        medium level of other features and a low level set of privacy
+        features. The <span class="GUIBUTTON">Advanced</span> button sets the
+        list to a high level of ad blocking and medium level of privacy. See
+        the chart below. The latter three buttons over-ride any changes via
+        with the <span class="GUIBUTTON">Edit</span> button. More fine-tuning
+        can be done in the lower sections of this internal page.</p>
+
+        <p>While the actions file editor allows to enable these settings in
+        all actions files, they are only supposed to be enabled in the first
+        one to make sure you don't unintentionally overrule earlier
+        rules.</p>
+
+        <p>The default profiles, and their associated actions, as pre-defined
+        in <tt class="FILENAME">default.action</tt> are:</p>
+
+        <div class="TABLE">
+          <a name="AEN2764" id="AEN2764"></a>
+
+          <p class="c3">Table 1. Default Configurations</p>
+
+          <table border="1" frame="border" rules="all" class="CALSTABLE">
+            <col width="1*" title="C1">
+            <col width="1*" title="C2">
+            <col width="1*" title="C3">
+            <col width="1*" title="C4">
+
+            <thead>
+              <tr>
+                <th>Feature</th>
+
+                <th>Cautious</th>
+
+                <th>Medium</th>
+
+                <th>Advanced</th>
+              </tr>
+            </thead>
+
+            <tbody>
+              <tr>
+                <td>Ad-blocking Aggressiveness</td>
+
+                <td>medium</td>
+
+                <td>high</td>
+
+                <td>high</td>
+              </tr>
+
+              <tr>
+                <td>Ad-filtering by size</td>
+
+                <td>no</td>
+
+                <td>yes</td>
+
+                <td>yes</td>
+              </tr>
+
+              <tr>
+                <td>Ad-filtering by link</td>
+
+                <td>no</td>
+
+                <td>no</td>
+
+                <td>yes</td>
+              </tr>
+
+              <tr>
+                <td>Pop-up killing</td>
+
+                <td>blocks only</td>
+
+                <td>blocks only</td>
+
+                <td>blocks only</td>
+              </tr>
+
+              <tr>
+                <td>Privacy Features</td>
+
+                <td>low</td>
+
+                <td>medium</td>
+
+                <td>medium/high</td>
+              </tr>
+
+              <tr>
+                <td>Cookie handling</td>
+
+                <td>none</td>
+
+                <td>session-only</td>
+
+                <td>kill</td>
+              </tr>
+
+              <tr>
+                <td>Referer forging</td>
+
+                <td>no</td>
+
+                <td>yes</td>
+
+                <td>yes</td>
+              </tr>
+
+              <tr>
+                <td>GIF de-animation</td>
+
+                <td>no</td>
+
+                <td>yes</td>
+
+                <td>yes</td>
+              </tr>
+
+              <tr>
+                <td>Fast redirects</td>
+
+                <td>no</td>
+
+                <td>no</td>
+
+                <td>yes</td>
+              </tr>
+
+              <tr>
+                <td>HTML taming</td>
+
+                <td>no</td>
+
+                <td>no</td>
+
+                <td>yes</td>
+              </tr>
+
+              <tr>
+                <td>JavaScript taming</td>
+
+                <td>no</td>
+
+                <td>no</td>
+
+                <td>yes</td>
+              </tr>
+
+              <tr>
+                <td>Web-bug killing</td>
+
+                <td>no</td>
+
+                <td>yes</td>
+
+                <td>yes</td>
+              </tr>
+
+              <tr>
+                <td>Image tag reordering</td>
+
+                <td>no</td>
+
+                <td>yes</td>
+
+                <td>yes</td>
+              </tr>
+            </tbody>
+          </table>
+        </div>
+      </li>
+    </ul>
+
+    <p>The list of actions files to be used are defined in the main
+    configuration file, and are processed in the order they are defined (e.g.
+    <tt class="FILENAME">default.action</tt> is typically processed before
+    <tt class="FILENAME">user.action</tt>). The content of these can all be
+    viewed and edited from <a href="http://config.privoxy.org/show-status"
+    target="_top">http://config.privoxy.org/show-status</a>. The over-riding
+    principle when applying actions, is that the last action that matches a
+    given URL wins. The broadest, most general rules go first (defined in
+    <tt class="FILENAME">default.action</tt>), followed by any exceptions
+    (typically also in <tt class="FILENAME">default.action</tt>), which are
+    then followed lastly by any local preferences (typically in <span class=
+    "emphasis EMPHASIS c2">user</span><tt class="FILENAME">.action</tt>).
+    Generally, <tt class="FILENAME">user.action</tt> has the last word.</p>
+
+    <p>An actions file typically has multiple sections. If you want to use
+    <span class="QUOTE">"aliases"</span> in an actions file, you have to
+    place the (optional) <a href="actions-file.html#ALIASES">alias
+    section</a> at the top of that file. Then comes the default set of rules
+    which will apply universally to all sites and pages (be <span class=
+    "emphasis EMPHASIS c2">very careful</span> with using such a universal
+    set in <tt class="FILENAME">user.action</tt> or any other actions file
+    after <tt class="FILENAME">default.action</tt>, because it will override
+    the result from consulting any previous file). And then below that,
+    exceptions to the defined universal policies. You can regard <tt class=
+    "FILENAME">user.action</tt> as an appendix to <tt class=
+    "FILENAME">default.action</tt>, with the advantage that it is a separate
+    file, which makes preserving your personal settings across <span class=
+    "APPLICATION">Privoxy</span> upgrades easier.</p>
+
+    <p>Actions can be used to block anything you want, including ads,
+    banners, or just some obnoxious URL whose content 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), content can be
+    modified, some JavaScripts tamed, user-tracking fooled, and much more.
+    See below for a <a href="actions-file.html#ACTIONS">complete list of
+    actions</a>.</p>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="AEN2863" id="AEN2863">8.1. Finding the Right
+      Mix</a></h2>
+
+      <p>Note that some <a href="actions-file.html#ACTIONS">actions</a>, like
+      cookie suppression or script disabling, may render some sites unusable
+      that rely on these techniques to work properly. Finding the right mix
+      of actions is not always easy and certainly a matter of personal taste.
+      And, things can always change, requiring refinements in the
+      configuration. In general, it can be said that the more <span class=
+      "QUOTE">"aggressive"</span> your default settings (in the top section
+      of the actions file) are, the more exceptions for <span class=
+      "QUOTE">"trusted"</span> sites you will have to make later. If, for
+      example, you want to crunch all cookies per default, you'll have to
+      make exceptions from that rule for sites that you regularly use and
+      that require cookies for actually useful purposes, like maybe your
+      bank, favorite shop, or newspaper.</p>
+
+      <p>We have tried to provide you with reasonable rules to start from in
+      the distribution actions files. But there is no general rule of thumb
+      on these things. There just are too many variables, and sites are
+      constantly changing. Sooner or later you will want to change the rules
+      (and read this chapter again :).</p>
     </div>
-    <div class="SECT1">
-      <h1 class="SECT1">
-        <a name="ACTIONS-FILE">8. Actions Files</a>
-      </h1>
-      <p>
-        The actions files are used to define what <span class="emphasis"><i
-        class="EMPHASIS">actions</i></span> <span class=
-        "APPLICATION">Privoxy</span> takes for which URLs, and thus
-        determines how ad images, cookies and various other aspects of HTTP
-        content and transactions are handled, and on which sites (or even
-        parts thereof). There are a number of such actions, with a wide range
-        of functionality. Each action does something a little different.
-        These actions give us a veritable arsenal of tools with which to
-        exert our control, preferences and independence. Actions can be
-        combined so that their effects are aggregated when applied against a
-        given set of URLs.
-      </p>
-      <p>
-        There are three action files included with <span class=
-        "APPLICATION">Privoxy</span> with differing purposes:
-      </p>
-      <p>
-      </p>
-      <ul>
-        <li>
-          <p>
-            <tt class="FILENAME">match-all.action</tt> - is used to define
-            which <span class="QUOTE">"actions"</span> relating to
-            banner-blocking, images, pop-ups, content modification, cookie
-            handling etc should be applied by default. It should be the first
-            actions file loaded
-          </p>
-        </li>
-        <li>
-          <p>
-            <tt class="FILENAME">default.action</tt> - defines many
-            exceptions (both positive and negative) from the default set of
-            actions that's configured in <tt class=
-            "FILENAME">match-all.action</tt>. It is a set of rules that
-            should work reasonably well as-is for most users. This file is
-            only supposed to be edited by the developers. It should be the
-            second actions file loaded.
-          </p>
-        </li>
-        <li>
-          <p>
-            <tt class="FILENAME">user.action</tt> - is intended to be for
-            local site preferences and exceptions. As an example, if your ISP
-            or your bank has specific requirements, and need special
-            handling, this kind of thing should go here. This file will not
-            be upgraded.
-          </p>
-        </li>
-        <li>
-          <p>
-            <span class="GUIBUTTON">Edit</span> <span class="GUIBUTTON">Set
-            to Cautious</span> <span class="GUIBUTTON">Set to Medium</span>
-            <span class="GUIBUTTON">Set to Advanced</span>
-          </p>
-          <p>
-            These have increasing levels of aggressiveness <span class=
-            "emphasis"><i class="EMPHASIS">and have no influence on your
-            browsing unless you select them explicitly in the
-            editor</i></span>. A default installation should be pre-set to
-            <tt class="LITERAL">Cautious</tt>. New users should try this for
-            a while before adjusting the settings to more aggressive levels.
-            The more aggressive the settings, then the more likelihood there
-            is of problems such as sites not working as they should.
-          </p>
-          <p>
-            The <span class="GUIBUTTON">Edit</span> button allows you to turn
-            each action on/off individually for fine-tuning. The <span class=
-            "GUIBUTTON">Cautious</span> button changes the actions list to
-            low/safe settings which will activate ad blocking and a minimal
-            set of <span class="APPLICATION">Privoxy</span>'s features, and
-            subsequently there will be less of a chance for accidental
-            problems. The <span class="GUIBUTTON">Medium</span> button sets
-            the list to a medium level of other features and a low level set
-            of privacy features. The <span class="GUIBUTTON">Advanced</span>
-            button sets the list to a high level of ad blocking and medium
-            level of privacy. See the chart below. The latter three buttons
-            over-ride any changes via with the <span class=
-            "GUIBUTTON">Edit</span> button. More fine-tuning can be done in
-            the lower sections of this internal page.
-          </p>
-          <p>
-            While the actions file editor allows to enable these settings in
-            all actions files, they are only supposed to be enabled in the
-            first one to make sure you don't unintentionally overrule earlier
-            rules.
-          </p>
-          <p>
-            The default profiles, and their associated actions, as
-            pre-defined in <tt class="FILENAME">default.action</tt> are:
-          </p>
-          <p>
-          </p>
-          <div class="TABLE">
-            <a name="AEN2625"></a>
-            <p class="c2">
-              Table 1. Default Configurations
-            </p>
-            <table border="1" frame="border" rules="all" class="CALSTABLE">
-              <col width="1*" title="C1">
-              <col width="1*" title="C2">
-              <col width="1*" title="C3">
-              <col width="1*" title="C4">
-              <thead>
-                <tr>
-                  <th>
-                    Feature
-                  </th>
-                  <th>
-                    Cautious
-                  </th>
-                  <th>
-                    Medium
-                  </th>
-                  <th>
-                    Advanced
-                  </th>
-                </tr>
-              </thead>
-              <tbody>
-                <tr>
-                  <td>
-                    Ad-blocking Aggressiveness
-                  </td>
-                  <td>
-                    medium
-                  </td>
-                  <td>
-                    high
-                  </td>
-                  <td>
-                    high
-                  </td>
-                </tr>
-                <tr>
-                  <td>
-                    Ad-filtering by size
-                  </td>
-                  <td>
-                    no
-                  </td>
-                  <td>
-                    yes
-                  </td>
-                  <td>
-                    yes
-                  </td>
-                </tr>
-                <tr>
-                  <td>
-                    Ad-filtering by link
-                  </td>
-                  <td>
-                    no
-                  </td>
-                  <td>
-                    no
-                  </td>
-                  <td>
-                    yes
-                  </td>
-                </tr>
-                <tr>
-                  <td>
-                    Pop-up killing
-                  </td>
-                  <td>
-                    blocks only
-                  </td>
-                  <td>
-                    blocks only
-                  </td>
-                  <td>
-                    blocks only
-                  </td>
-                </tr>
-                <tr>
-                  <td>
-                    Privacy Features
-                  </td>
-                  <td>
-                    low
-                  </td>
-                  <td>
-                    medium
-                  </td>
-                  <td>
-                    medium/high
-                  </td>
-                </tr>
-                <tr>
-                  <td>
-                    Cookie handling
-                  </td>
-                  <td>
-                    none
-                  </td>
-                  <td>
-                    session-only
-                  </td>
-                  <td>
-                    kill
-                  </td>
-                </tr>
-                <tr>
-                  <td>
-                    Referer forging
-                  </td>
-                  <td>
-                    no
-                  </td>
-                  <td>
-                    yes
-                  </td>
-                  <td>
-                    yes
-                  </td>
-                </tr>
-                <tr>
-                  <td>
-                    GIF de-animation
-                  </td>
-                  <td>
-                    no
-                  </td>
-                  <td>
-                    yes
-                  </td>
-                  <td>
-                    yes
-                  </td>
-                </tr>
-                <tr>
-                  <td>
-                    Fast redirects
-                  </td>
-                  <td>
-                    no
-                  </td>
-                  <td>
-                    no
-                  </td>
-                  <td>
-                    yes
-                  </td>
-                </tr>
-                <tr>
-                  <td>
-                    HTML taming
-                  </td>
-                  <td>
-                    no
-                  </td>
-                  <td>
-                    no
-                  </td>
-                  <td>
-                    yes
-                  </td>
-                </tr>
-                <tr>
-                  <td>
-                    JavaScript taming
-                  </td>
-                  <td>
-                    no
-                  </td>
-                  <td>
-                    no
-                  </td>
-                  <td>
-                    yes
-                  </td>
-                </tr>
-                <tr>
-                  <td>
-                    Web-bug killing
-                  </td>
-                  <td>
-                    no
-                  </td>
-                  <td>
-                    yes
-                  </td>
-                  <td>
-                    yes
-                  </td>
-                </tr>
-                <tr>
-                  <td>
-                    Image tag reordering
-                  </td>
-                  <td>
-                    no
-                  </td>
-                  <td>
-                    yes
-                  </td>
-                  <td>
-                    yes
-                  </td>
-                </tr>
-              </tbody>
-            </table>
-          </div>
-        </li>
-      </ul>
 
-      <p>
-        The list of actions files to be used are defined in the main
-        configuration file, and are processed in the order they are defined
-        (e.g. <tt class="FILENAME">default.action</tt> is typically processed
-        before <tt class="FILENAME">user.action</tt>). The content of these
-        can all be viewed and edited from <a href=
-        "http://config.privoxy.org/show-status" target=
-        "_top">http://config.privoxy.org/show-status</a>. The over-riding
-        principle when applying actions, is that the last action that matches
-        a given URL wins. The broadest, most general rules go first (defined
-        in <tt class="FILENAME">default.action</tt>), followed by any
-        exceptions (typically also in <tt class=
-        "FILENAME">default.action</tt>), which are then followed lastly by
-        any local preferences (typically in <span class="emphasis"><i class=
-        "EMPHASIS">user</i></span><tt class="FILENAME">.action</tt>).
-        Generally, <tt class="FILENAME">user.action</tt> has the last word.
-      </p>
-      <p>
-        An actions file typically has multiple sections. If you want to use
-        <span class="QUOTE">"aliases"</span> in an actions file, you have to
-        place the (optional) <a href="actions-file.html#ALIASES">alias
-        section</a> at the top of that file. Then comes the default set of
-        rules which will apply universally to all sites and pages (be <span
-        class="emphasis"><i class="EMPHASIS">very careful</i></span> with
-        using such a universal set in <tt class="FILENAME">user.action</tt>
-        or any other actions file after <tt class=
-        "FILENAME">default.action</tt>, because it will override the result
-        from consulting any previous file). And then below that, exceptions
-        to the defined universal policies. You can regard <tt class=
-        "FILENAME">user.action</tt> as an appendix to <tt class=
-        "FILENAME">default.action</tt>, with the advantage that it is a
-        separate file, which makes preserving your personal settings across
-        <span class="APPLICATION">Privoxy</span> upgrades easier.
-      </p>
-      <p>
-        Actions can be used to block anything you want, including ads,
-        banners, or just some obnoxious URL whose content 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), content can
-        be modified, some JavaScripts tamed, user-tracking fooled, and much
-        more. See below for a <a href="actions-file.html#ACTIONS">complete
-        list of actions</a>.
-      </p>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="AEN2724">8.1. Finding the Right Mix</a>
-        </h2>
-        <p>
-          Note that some <a href="actions-file.html#ACTIONS">actions</a>,
-          like cookie suppression or script disabling, may render some sites
-          unusable that rely on these techniques to work properly. Finding
-          the right mix of actions is not always easy and certainly a matter
-          of personal taste. And, things can always change, requiring
-          refinements in the configuration. In general, it can be said that
-          the more <span class="QUOTE">"aggressive"</span> your default
-          settings (in the top section of the actions file) are, the more
-          exceptions for <span class="QUOTE">"trusted"</span> sites you will
-          have to make later. If, for example, you want to crunch all cookies
-          per default, you'll have to make exceptions from that rule for
-          sites that you regularly use and that require cookies for actually
-          useful purposes, like maybe your bank, favorite shop, or newspaper.
-        </p>
-        <p>
-          We have tried to provide you with reasonable rules to start from in
-          the distribution actions files. But there is no general rule of
-          thumb on these things. There just are too many variables, and sites
-          are constantly changing. Sooner or later you will want to change
-          the rules (and read this chapter again :).
-        </p>
-      </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="AEN2731">8.2. How to Edit</a>
-        </h2>
-        <p>
-          The easiest way to edit the actions files is with a browser by
-          using our browser-based editor, which can be reached from <a href=
-          "http://config.privoxy.org/show-status" target=
-          "_top">http://config.privoxy.org/show-status</a>. Note: the config
-          file option <a href=
-          "config.html#ENABLE-EDIT-ACTIONS">enable-edit-actions</a> must be
-          enabled for this to work. The editor allows both fine-grained
-          control over every single feature on a per-URL basis, and easy
-          choosing from wholesale sets of defaults like <span class=
-          "QUOTE">"Cautious"</span>, <span class="QUOTE">"Medium"</span> or
-          <span class="QUOTE">"Advanced"</span>. Warning: the <span class=
-          "QUOTE">"Advanced"</span> setting is more aggressive, and will be
-          more likely to cause problems for some sites. Experienced users
-          only!
-        </p>
-        <p>
-          If you prefer plain text editing to GUIs, you can of course also
-          directly edit the the actions files with your favorite text editor.
-          Look at <tt class="FILENAME">default.action</tt> which is richly
-          commented with many good examples.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="ACTIONS-APPLY">8.3. How Actions are Applied to
-          Requests</a>
-        </h2>
-        <p>
-          Actions files are divided into sections. There are special
-          sections, like the <span class="QUOTE">"<a href=
-          "actions-file.html#ALIASES">alias</a>"</span> sections which will
-          be discussed later. For now let's concentrate on regular sections:
-          They have a heading line (often split up to multiple lines for
-          readability) which consist of a list of actions, separated by
-          whitespace and enclosed in curly braces. Below that, there is a
-          list of URL and tag patterns, each on a separate line.
-        </p>
-        <p>
-          To determine which actions apply to a request, the URL of the
-          request is compared to all URL patterns in each <span class=
-          "QUOTE">"action file"</span>. Every time it matches, the list of
-          applicable actions for the request is incrementally updated, using
-          the heading of the section in which the pattern is located. The
-          same is done again for tags and tag patterns later on.
-        </p>
-        <p>
-          If multiple applying sections set the same action differently, the
-          last match wins. If not, the effects are aggregated. E.g. a URL
-          might match a regular section with a heading line of <tt class=
-          "LITERAL">{ +<a href=
-          "actions-file.html#HANDLE-AS-IMAGE">handle-as-image</a> }</tt>,
-          then later another one with just <tt class="LITERAL">{ +<a href=
-          "actions-file.html#BLOCK">block</a> }</tt>, resulting in <span
-          class="emphasis"><i class="EMPHASIS">both</i></span> actions to
-          apply. And there may well be cases where you will want to combine
-          actions together. Such a section then might look like:
-        </p>
-        <p>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="AEN2870" id="AEN2870">8.2. How to
+      Edit</a></h2>
+
+      <p>The easiest way to edit the actions files is with a browser by using
+      our browser-based editor, which can be reached from <a href=
+      "http://config.privoxy.org/show-status" target=
+      "_top">http://config.privoxy.org/show-status</a>. Note: the config file
+      option <a href=
+      "config.html#ENABLE-EDIT-ACTIONS">enable-edit-actions</a> must be
+      enabled for this to work. The editor allows both fine-grained control
+      over every single feature on a per-URL basis, and easy choosing from
+      wholesale sets of defaults like <span class="QUOTE">"Cautious"</span>,
+      <span class="QUOTE">"Medium"</span> or <span class=
+      "QUOTE">"Advanced"</span>. Warning: the <span class=
+      "QUOTE">"Advanced"</span> setting is more aggressive, and will be more
+      likely to cause problems for some sites. Experienced users only!</p>
+
+      <p>If you prefer plain text editing to GUIs, you can of course also
+      directly edit the the actions files with your favorite text editor.
+      Look at <tt class="FILENAME">default.action</tt> which is richly
+      commented with many good examples.</p>
+    </div>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="ACTIONS-APPLY" id="ACTIONS-APPLY">8.3. How
+      Actions are Applied to Requests</a></h2>
+
+      <p>Actions files are divided into sections. There are special sections,
+      like the <span class="QUOTE">"<a href=
+      "actions-file.html#ALIASES">alias</a>"</span> sections which will be
+      discussed later. For now let's concentrate on regular sections: They
+      have a heading line (often split up to multiple lines for readability)
+      which consist of a list of actions, separated by whitespace and
+      enclosed in curly braces. Below that, there is a list of URL and tag
+      patterns, each on a separate line.</p>
+
+      <p>To determine which actions apply to a request, the URL of the
+      request is compared to all URL patterns in each <span class=
+      "QUOTE">"action file"</span>. Every time it matches, the list of
+      applicable actions for the request is incrementally updated, using the
+      heading of the section in which the pattern is located. The same is
+      done again for tags and tag patterns later on.</p>
+
+      <p>If multiple applying sections set the same action differently, the
+      last match wins. If not, the effects are aggregated. E.g. a URL might
+      match a regular section with a heading line of <tt class="LITERAL">{
+      +<a href="actions-file.html#HANDLE-AS-IMAGE">handle-as-image</a>
+      }</tt>, then later another one with just <tt class="LITERAL">{
+      +<a href="actions-file.html#BLOCK">block</a> }</tt>, resulting in
+      <span class="emphasis EMPHASIS c2">both</span> actions to apply. And
+      there may well be cases where you will want to combine actions
+      together. Such a section then might look like:</p>
+
+      <table class="c4" border="0" width="100%">
+        <tr>
+          <td>
+            <pre class="SCREEN">
   { +<tt class="LITERAL">handle-as-image</tt>  +<tt class=
 "LITERAL">block{Banner ads.}</tt> }
   # Block these as if they were images. Send no block page.
@@ -506,786 +419,663 @@ Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
    media.example.com/.*banners
    .example.com/images/ads/
 </pre>
-            </td>
-          </tr>
-        </table>
+          </td>
+        </tr>
+      </table>
+
+      <p>You can trace this process for URL patterns and any given URL by
+      visiting <a href="http://config.privoxy.org/show-url-info" target=
+      "_top">http://config.privoxy.org/show-url-info</a>.</p>
+
+      <p>Examples and more detail on this is provided in the Appendix,
+      <a href="appendix.html#ACTIONSANAT">Troubleshooting: Anatomy of an
+      Action</a> section.</p>
+    </div>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="AF-PATTERNS" id="AF-PATTERNS">8.4.
+      Patterns</a></h2>
+
+      <p>As mentioned, <span class="APPLICATION">Privoxy</span> uses
+      <span class="QUOTE">"patterns"</span> to determine what <span class=
+      "emphasis EMPHASIS c2">actions</span> might apply to which sites and
+      pages your browser attempts to access. These <span class=
+      "QUOTE">"patterns"</span> use wild card type <span class=
+      "emphasis EMPHASIS c2">pattern</span> matching to achieve a high degree
+      of flexibility. This allows one expression to be expanded and
+      potentially match against many similar patterns.</p>
+
+      <p>Generally, an URL pattern has the form <tt class=
+      "LITERAL">&lt;domain&gt;&lt;port&gt;/&lt;path&gt;</tt>, where the
+      <tt class="LITERAL">&lt;domain&gt;</tt>, the <tt class=
+      "LITERAL">&lt;port&gt;</tt> and the <tt class=
+      "LITERAL">&lt;path&gt;</tt> are optional. (This is why the special
+      <tt class="LITERAL">/</tt> pattern matches all URLs). Note that the
+      protocol portion of the URL pattern (e.g. <tt class=
+      "LITERAL">http://</tt>) should <span class=
+      "emphasis EMPHASIS c2">not</span> be included in the pattern. This is
+      assumed already!</p>
+
+      <p>The pattern matching syntax is different for the domain and path
+      parts of the URL. The domain part uses a simple globbing type matching
+      technique, while the path part uses more flexible <a href=
+      "http://en.wikipedia.org/wiki/Regular_expressions" target=
+      "_top"><span class="QUOTE">"Regular Expressions"</span></a> (POSIX
+      1003.2).</p>
 
-        <p>
-          You can trace this process for URL patterns and any given URL by
-          visiting <a href="http://config.privoxy.org/show-url-info" target=
-          "_top">http://config.privoxy.org/show-url-info</a>.
-        </p>
-        <p>
-          Examples and more detail on this is provided in the Appendix, <a
-          href="appendix.html#ACTIONSANAT">Troubleshooting: Anatomy of an
-          Action</a> section.
-        </p>
+      <p>The port part of a pattern is a decimal port number preceded by a
+      colon (<tt class="LITERAL">:</tt>). If the domain part contains a
+      numerical IPv6 address, it has to be put into angle brackets
+      (<tt class="LITERAL">&lt;</tt>, <tt class="LITERAL">&gt;</tt>).</p>
+
+      <div class="VARIABLELIST">
+        <dl>
+          <dt><tt class="LITERAL">www.example.com/</tt></dt>
+
+          <dd>
+            <p>is a domain-only pattern and will match any request to
+            <tt class="LITERAL">www.example.com</tt>, regardless of which
+            document on that server is requested. So ALL pages in this domain
+            would be covered by the scope of this action. Note that a simple
+            <tt class="LITERAL">example.com</tt> is different and would NOT
+            match.</p>
+          </dd>
+
+          <dt><tt class="LITERAL">www.example.com</tt></dt>
+
+          <dd>
+            <p>means exactly the same. For domain-only patterns, the trailing
+            <tt class="LITERAL">/</tt> may be omitted.</p>
+          </dd>
+
+          <dt><tt class="LITERAL">www.example.com/index.html</tt></dt>
+
+          <dd>
+            <p>matches all the documents on <tt class=
+            "LITERAL">www.example.com</tt> whose name starts with <tt class=
+            "LITERAL">/index.html</tt>.</p>
+          </dd>
+
+          <dt><tt class="LITERAL">www.example.com/index.html$</tt></dt>
+
+          <dd>
+            <p>matches only the single document <tt class=
+            "LITERAL">/index.html</tt> on <tt class=
+            "LITERAL">www.example.com</tt>.</p>
+          </dd>
+
+          <dt><tt class="LITERAL">/index.html$</tt></dt>
+
+          <dd>
+            <p>matches the document <tt class="LITERAL">/index.html</tt>,
+            regardless of the domain, i.e. on <span class=
+            "emphasis EMPHASIS c2">any</span> web server anywhere.</p>
+          </dd>
+
+          <dt><tt class="LITERAL">/</tt></dt>
+
+          <dd>
+            <p>Matches any URL because there's no requirement for either the
+            domain or the path to match anything.</p>
+          </dd>
+
+          <dt><tt class="LITERAL">:8000/</tt></dt>
+
+          <dd>
+            <p>Matches any URL pointing to TCP port 8000.</p>
+          </dd>
+
+          <dt><tt class="LITERAL">&lt;2001:db8::1&gt;/</tt></dt>
+
+          <dd>
+            <p>Matches any URL with the host address <tt class=
+            "LITERAL">2001:db8::1</tt>. (Note that the real URL uses plain
+            brackets, not angle brackets.)</p>
+          </dd>
+
+          <dt><tt class="LITERAL">index.html</tt></dt>
+
+          <dd>
+            <p>matches nothing, since it would be interpreted as a domain
+            name and there is no top-level domain called <tt class=
+            "LITERAL">.html</tt>. So its a mistake.</p>
+          </dd>
+        </dl>
       </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="AF-PATTERNS">8.4. Patterns</a>
-        </h2>
-        <p>
-          As mentioned, <span class="APPLICATION">Privoxy</span> uses <span
-          class="QUOTE">"patterns"</span> to determine what <span class=
-          "emphasis"><i class="EMPHASIS">actions</i></span> might apply to
-          which sites and pages your browser attempts to access. These <span
-          class="QUOTE">"patterns"</span> use wild card type <span class=
-          "emphasis"><i class="EMPHASIS">pattern</i></span> matching to
-          achieve a high degree of flexibility. This allows one expression to
-          be expanded and potentially match against many similar patterns.
-        </p>
-        <p>
-          Generally, an URL pattern has the form <tt class=
-          "LITERAL">&lt;domain&gt;&lt;port&gt;/&lt;path&gt;</tt>, where the
-          <tt class="LITERAL">&lt;domain&gt;</tt>, the <tt class=
-          "LITERAL">&lt;port&gt;</tt> and the <tt class=
-          "LITERAL">&lt;path&gt;</tt> are optional. (This is why the special
-          <tt class="LITERAL">/</tt> pattern matches all URLs). Note that the
-          protocol portion of the URL pattern (e.g. <tt class=
-          "LITERAL">http://</tt>) should <span class="emphasis"><i class=
-          "EMPHASIS">not</i></span> be included in the pattern. This is
-          assumed already!
-        </p>
-        <p>
-          The pattern matching syntax is different for the domain and path
-          parts of the URL. The domain part uses a simple globbing type
-          matching technique, while the path part uses more flexible <a href=
-          "http://en.wikipedia.org/wiki/Regular_expressions" target=
-          "_top"><span class="QUOTE">"Regular Expressions"</span></a> (POSIX
-          1003.2).
-        </p>
-        <p>
-          The port part of a pattern is a decimal port number preceded by a
-          colon (<tt class="LITERAL">:</tt>). If the domain part contains a
-          numerical IPv6 address, it has to be put into angle brackets (<tt
-          class="LITERAL">&lt;</tt>, <tt class="LITERAL">&gt;</tt>).
-        </p>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="AEN2982" id="AEN2982">8.4.1. The Domain
+        Pattern</a></h3>
+
+        <p>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:</p>
+
         <div class="VARIABLELIST">
           <dl>
-            <dt>
-              <tt class="LITERAL">www.example.com/</tt>
-            </dt>
-            <dd>
-              <p>
-                is a domain-only pattern and will match any request to <tt
-                class="LITERAL">www.example.com</tt>, regardless of which
-                document on that server is requested. So ALL pages in this
-                domain would be covered by the scope of this action. Note
-                that a simple <tt class="LITERAL">example.com</tt> is
-                different and would NOT match.
-              </p>
-            </dd>
-            <dt>
-              <tt class="LITERAL">www.example.com</tt>
-            </dt>
-            <dd>
-              <p>
-                means exactly the same. For domain-only patterns, the
-                trailing <tt class="LITERAL">/</tt> may be omitted.
-              </p>
-            </dd>
-            <dt>
-              <tt class="LITERAL">www.example.com/index.html</tt>
-            </dt>
-            <dd>
-              <p>
-                matches all the documents on <tt class=
-                "LITERAL">www.example.com</tt> whose name starts with <tt
-                class="LITERAL">/index.html</tt>.
-              </p>
-            </dd>
-            <dt>
-              <tt class="LITERAL">www.example.com/index.html$</tt>
-            </dt>
-            <dd>
-              <p>
-                matches only the single document <tt class=
-                "LITERAL">/index.html</tt> on <tt class=
-                "LITERAL">www.example.com</tt>.
-              </p>
-            </dd>
-            <dt>
-              <tt class="LITERAL">/index.html$</tt>
-            </dt>
-            <dd>
-              <p>
-                matches the document <tt class="LITERAL">/index.html</tt>,
-                regardless of the domain, i.e. on <span class="emphasis"><i
-                class="EMPHASIS">any</i></span> web server anywhere.
-              </p>
-            </dd>
-            <dt>
-              <tt class="LITERAL">/</tt>
-            </dt>
-            <dd>
-              <p>
-                Matches any URL because there's no requirement for either the
-                domain or the path to match anything.
-              </p>
-            </dd>
-            <dt>
-              <tt class="LITERAL">:8000/</tt>
-            </dt>
-            <dd>
-              <p>
-                Matches any URL pointing to TCP port 8000.
-              </p>
-            </dd>
-            <dt>
-              <tt class="LITERAL">&lt;2001:db8::1&gt;/</tt>
-            </dt>
-            <dd>
-              <p>
-                Matches any URL with the host address <tt class=
-                "LITERAL">2001:db8::1</tt>. (Note that the real URL uses
-                plain brackets, not angle brackets.)
-              </p>
-            </dd>
-            <dt>
-              <tt class="LITERAL">index.html</tt>
-            </dt>
-            <dd>
-              <p>
-                matches nothing, since it would be interpreted as a domain
-                name and there is no top-level domain called <tt class=
-                "LITERAL">.html</tt>. So its a mistake.
-              </p>
+            <dt><tt class="LITERAL">.example.com</tt></dt>
+
+            <dd>
+              <p>matches any domain with first-level domain <tt class=
+              "LITERAL">com</tt> and second-level domain <tt class=
+              "LITERAL">example</tt>. For example <tt class=
+              "LITERAL">www.example.com</tt>, <tt class=
+              "LITERAL">example.com</tt> and <tt class=
+              "LITERAL">foo.bar.baz.example.com</tt>. Note that it wouldn't
+              match if the second-level domain was <tt class=
+              "LITERAL">another-example</tt>.</p>
+            </dd>
+
+            <dt><tt class="LITERAL">www.</tt></dt>
+
+            <dd>
+              <p>matches any domain that <span class=
+              "emphasis EMPHASIS c2">STARTS</span> with <tt class=
+              "LITERAL">www.</tt> (It also matches the domain <tt class=
+              "LITERAL">www</tt> but most of the time that doesn't
+              matter.)</p>
+            </dd>
+
+            <dt><tt class="LITERAL">.example.</tt></dt>
+
+            <dd>
+              <p>matches any domain that <span class=
+              "emphasis EMPHASIS c2">CONTAINS</span> <tt class=
+              "LITERAL">.example.</tt>. And, by the way, also included would
+              be any files or documents that exist within that domain since
+              no path limitations are specified. (Correctly speaking: It
+              matches any FQDN that contains <tt class="LITERAL">example</tt>
+              as a domain.) This might be <tt class=
+              "LITERAL">www.example.com</tt>, <tt class=
+              "LITERAL">news.example.de</tt>, or <tt class=
+              "LITERAL">www.example.net/cgi/testing.pl</tt> for instance. All
+              these cases are matched.</p>
             </dd>
           </dl>
         </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="AEN2843">8.4.1. The Domain Pattern</a>
-          </h3>
-          <p>
-            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:
-          </p>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                <tt class="LITERAL">.example.com</tt>
-              </dt>
-              <dd>
-                <p>
-                  matches any domain with first-level domain <tt class=
-                  "LITERAL">com</tt> and second-level domain <tt class=
-                  "LITERAL">example</tt>. For example <tt class=
-                  "LITERAL">www.example.com</tt>, <tt class=
-                  "LITERAL">example.com</tt> and <tt class=
-                  "LITERAL">foo.bar.baz.example.com</tt>. Note that it
-                  wouldn't match if the second-level domain was <tt class=
-                  "LITERAL">another-example</tt>.
-                </p>
-              </dd>
-              <dt>
-                <tt class="LITERAL">www.</tt>
-              </dt>
-              <dd>
-                <p>
-                  matches any domain that <span class="emphasis"><i class=
-                  "EMPHASIS">STARTS</i></span> with <tt class=
-                  "LITERAL">www.</tt> (It also matches the domain <tt class=
-                  "LITERAL">www</tt> but most of the time that doesn't
-                  matter.)
-                </p>
-              </dd>
-              <dt>
-                <tt class="LITERAL">.example.</tt>
-              </dt>
-              <dd>
-                <p>
-                  matches any domain that <span class="emphasis"><i class=
-                  "EMPHASIS">CONTAINS</i></span> <tt class=
-                  "LITERAL">.example.</tt>. And, by the way, also included
-                  would be any files or documents that exist within that
-                  domain since no path limitations are specified. (Correctly
-                  speaking: It matches any FQDN that contains <tt class=
-                  "LITERAL">example</tt> as a domain.) This might be <tt
-                  class="LITERAL">www.example.com</tt>, <tt class=
-                  "LITERAL">news.example.de</tt>, or <tt class=
-                  "LITERAL">www.example.net/cgi/testing.pl</tt> for instance.
-                  All these cases are matched.
-                </p>
-              </dd>
-            </dl>
-          </div>
-          <p>
-            Additionally, there are wild-cards that you can use in the domain
-            names themselves. These work similarly to shell globbing type
-            wild-cards: <span class="QUOTE">"*"</span> represents zero or
-            more arbitrary characters (this is equivalent to the <a href=
-            "http://en.wikipedia.org/wiki/Regular_expressions" target=
-            "_top"><span class="QUOTE">"Regular Expression"</span></a> based
-            syntax of <span class="QUOTE">".*"</span>), <span class=
-            "QUOTE">"?"</span> represents any single character (this is
-            equivalent to the regular expression syntax of a simple <span
-            class="QUOTE">"."</span>), and you can define <span class=
-            "QUOTE">"character classes"</span> in square brackets which is
-            similar to the same regular expression technique. All of this can
-            be freely mixed:
-          </p>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                <tt class="LITERAL">ad*.example.com</tt>
-              </dt>
-              <dd>
-                <p>
-                  matches <span class="QUOTE">"adserver.example.com"</span>,
-                  <span class="QUOTE">"ads.example.com"</span>, etc but not
-                  <span class="QUOTE">"sfads.example.com"</span>
-                </p>
-              </dd>
-              <dt>
-                <tt class="LITERAL">*ad*.example.com</tt>
-              </dt>
-              <dd>
-                <p>
-                  matches all of the above, and then some.
-                </p>
-              </dd>
-              <dt>
-                <tt class="LITERAL">.?pix.com</tt>
-              </dt>
-              <dd>
-                <p>
-                  matches <tt class="LITERAL">www.ipix.com</tt>, <tt class=
-                  "LITERAL">pictures.epix.com</tt>, <tt class=
-                  "LITERAL">a.b.c.d.e.upix.com</tt> etc.
-                </p>
-              </dd>
-              <dt>
-                <tt class="LITERAL">www[1-9a-ez].example.c*</tt>
-              </dt>
-              <dd>
-                <p>
-                  matches <tt class="LITERAL">www1.example.com</tt>, <tt
-                  class="LITERAL">www4.example.cc</tt>, <tt class=
-                  "LITERAL">wwwd.example.cy</tt>, <tt class=
-                  "LITERAL">wwwz.example.com</tt> etc., but <span class=
-                  "emphasis"><i class="EMPHASIS">not</i></span> <tt class=
-                  "LITERAL">wwww.example.com</tt>.
-                </p>
-              </dd>
-            </dl>
-          </div>
-          <p>
-            While flexible, this is not the sophistication of full regular
-            expression based syntax.
-          </p>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="AEN2919">8.4.2. The Path Pattern</a>
-          </h3>
-          <p>
-            <span class="APPLICATION">Privoxy</span> uses <span class=
-            "QUOTE">"modern"</span> POSIX 1003.2 <a href=
-            "http://en.wikipedia.org/wiki/Regular_expressions" target=
-            "_top"><span class="QUOTE">"Regular Expressions"</span></a> for
-            matching the path portion (after the slash), and is thus more
-            flexible.
-          </p>
-          <p>
-            There is an <a href="appendix.html#REGEX">Appendix</a> with a
-            brief quick-start into regular expressions, you also might want
-            to have a look at your operating system's documentation on
-            regular expressions (try <tt class="LITERAL">man re_format</tt>).
-          </p>
-          <p>
-            Note that the path pattern is automatically left-anchored at the
-            <span class="QUOTE">"/"</span>, i.e. it matches as if it would
-            start with a <span class="QUOTE">"^"</span> (regular expression
-            speak for the beginning of a line).
-          </p>
-          <p>
-            Please also note that matching in the path is <span class=
-            "emphasis"><i class="EMPHASIS">CASE INSENSITIVE</i></span> by
-            default, but you can switch to case sensitive at any point in the
-            pattern by using the <span class="QUOTE">"(?-i)"</span> switch:
-            <tt class="LITERAL">www.example.com/(?-i)PaTtErN.*</tt> will
-            match only documents whose path starts with <tt class=
-            "LITERAL">PaTtErN</tt> in <span class="emphasis"><i class=
-            "EMPHASIS">exactly</i></span> this capitalization.
-          </p>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                <tt class="LITERAL">.example.com/.*</tt>
-              </dt>
-              <dd>
-                <p>
-                  Is equivalent to just <span class=
-                  "QUOTE">".example.com"</span>, since any documents within
-                  that domain are matched with or without the <span class=
-                  "QUOTE">".*"</span> regular expression. This is redundant
-                </p>
-              </dd>
-              <dt>
-                <tt class="LITERAL">.example.com/.*/index.html$</tt>
-              </dt>
-              <dd>
-                <p>
-                  Will match any page in the domain of <span class=
-                  "QUOTE">"example.com"</span> that is named <span class=
-                  "QUOTE">"index.html"</span>, and that is part of some path.
-                  For example, it matches <span class=
-                  "QUOTE">"www.example.com/testing/index.html"</span> but NOT
-                  <span class="QUOTE">"www.example.com/index.html"</span>
-                  because the regular expression called for at least two
-                  <span class="QUOTE">"/'s"</span>, thus the path
-                  requirement. It also would match <span class=
-                  "QUOTE">"www.example.com/testing/index_html"</span>,
-                  because of the special meta-character <span class=
-                  "QUOTE">"."</span>.
-                </p>
-              </dd>
-              <dt>
-                <tt class="LITERAL">.example.com/(.*/)?index\.html$</tt>
-              </dt>
-              <dd>
-                <p>
-                  This regular expression is conditional so it will match any
-                  page named <span class="QUOTE">"index.html"</span>
-                  regardless of path which in this case can have one or more
-                  <span class="QUOTE">"/'s"</span>. And this one must contain
-                  exactly <span class="QUOTE">".html"</span> (but does not
-                  have to end with that!).
-                </p>
-              </dd>
-              <dt>
-                <tt class=
-                "LITERAL">.example.com/(.*/)(ads|banners?|junk)</tt>
-              </dt>
-              <dd>
-                <p>
-                  This regular expression will match any path of <span class=
-                  "QUOTE">"example.com"</span> that contains any of the words
-                  <span class="QUOTE">"ads"</span>, <span class=
-                  "QUOTE">"banner"</span>, <span class=
-                  "QUOTE">"banners"</span> (because of the <span class=
-                  "QUOTE">"?"</span>) or <span class="QUOTE">"junk"</span>.
-                  The path does not have to end in these words, just contain
-                  them.
-                </p>
-              </dd>
-              <dt>
-                <tt class=
-                "LITERAL">.example.com/(.*/)(ads|banners?|junk)/.*\.(jpe?g|gif|png)$</tt>
-              </dt>
-              <dd>
-                <p>
-                  This is very much the same as above, except now it must end
-                  in either <span class="QUOTE">".jpg"</span>, <span class=
-                  "QUOTE">".jpeg"</span>, <span class="QUOTE">".gif"</span>
-                  or <span class="QUOTE">".png"</span>. So this one is
-                  limited to common image formats.
-                </p>
-              </dd>
-            </dl>
-          </div>
-          <p>
-            There are many, many good examples to be found in <tt class=
-            "FILENAME">default.action</tt>, and more tutorials below in <a
-            href="appendix.html#REGEX">Appendix on regular expressions</a>.
-          </p>
+
+        <p>Additionally, there are wild-cards that you can use in the domain
+        names themselves. These work similarly to shell globbing type
+        wild-cards: <span class="QUOTE">"*"</span> represents zero or more
+        arbitrary characters (this is equivalent to the <a href=
+        "http://en.wikipedia.org/wiki/Regular_expressions" target=
+        "_top"><span class="QUOTE">"Regular Expression"</span></a> based
+        syntax of <span class="QUOTE">".*"</span>), <span class=
+        "QUOTE">"?"</span> represents any single character (this is
+        equivalent to the regular expression syntax of a simple <span class=
+        "QUOTE">"."</span>), and you can define <span class=
+        "QUOTE">"character classes"</span> in square brackets which is
+        similar to the same regular expression technique. All of this can be
+        freely mixed:</p>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt><tt class="LITERAL">ad*.example.com</tt></dt>
+
+            <dd>
+              <p>matches <span class="QUOTE">"adserver.example.com"</span>,
+              <span class="QUOTE">"ads.example.com"</span>, etc but not
+              <span class="QUOTE">"sfads.example.com"</span></p>
+            </dd>
+
+            <dt><tt class="LITERAL">*ad*.example.com</tt></dt>
+
+            <dd>
+              <p>matches all of the above, and then some.</p>
+            </dd>
+
+            <dt><tt class="LITERAL">.?pix.com</tt></dt>
+
+            <dd>
+              <p>matches <tt class="LITERAL">www.ipix.com</tt>, <tt class=
+              "LITERAL">pictures.epix.com</tt>, <tt class=
+              "LITERAL">a.b.c.d.e.upix.com</tt> etc.</p>
+            </dd>
+
+            <dt><tt class="LITERAL">www[1-9a-ez].example.c*</tt></dt>
+
+            <dd>
+              <p>matches <tt class="LITERAL">www1.example.com</tt>,
+              <tt class="LITERAL">www4.example.cc</tt>, <tt class=
+              "LITERAL">wwwd.example.cy</tt>, <tt class=
+              "LITERAL">wwwz.example.com</tt> etc., but <span class=
+              "emphasis EMPHASIS c2">not</span> <tt class=
+              "LITERAL">wwww.example.com</tt>.</p>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="TAG-PATTERN">8.4.3. The Tag Pattern</a>
-          </h3>
-          <p>
-            Tag patterns are used to change the applying actions based on the
-            request's tags. Tags can be created with either the <a href=
-            "actions-file.html#CLIENT-HEADER-TAGGER">client-header-tagger</a>
-            or the <a href=
-            "actions-file.html#SERVER-HEADER-TAGGER">server-header-tagger</a>
-            action.
-          </p>
-          <p>
-            Tag patterns have to start with <span class=
-            "QUOTE">"TAG:"</span>, so <span class=
-            "APPLICATION">Privoxy</span> can tell them apart from URL
-            patterns. Everything after the colon including white space, is
-            interpreted as a regular expression with path pattern syntax,
-            except that tag patterns aren't left-anchored automatically
-            (<span class="APPLICATION">Privoxy</span> doesn't silently add a
-            <span class="QUOTE">"^"</span>, you have to do it yourself if you
-            need it).
-          </p>
-          <p>
-            To match all requests that are tagged with <span class=
-            "QUOTE">"foo"</span> your pattern line should be <span class=
-            "QUOTE">"TAG:^foo$"</span>, <span class="QUOTE">"TAG:foo"</span>
-            would work as well, but it would also match requests whose tags
-            contain <span class="QUOTE">"foo"</span> somewhere. <span class=
-            "QUOTE">"TAG: foo"</span> wouldn't work as it requires white
-            space.
-          </p>
-          <p>
-            Sections can contain URL and tag patterns at the same time, but
-            tag patterns are checked after the URL patterns and thus always
-            overrule them, even if they are located before the URL patterns.
-          </p>
-          <p>
-            Once a new tag is added, Privoxy checks right away if it's
-            matched by one of the tag patterns and updates the action
-            settings accordingly. As a result tags can be used to activate
-            other tagger actions, as long as these other taggers look for
-            headers that haven't already be parsed.
-          </p>
-          <p>
-            For example you could tag client requests which use the <tt
-            class="LITERAL">POST</tt> method, then use this tag to activate
-            another tagger that adds a tag if cookies are sent, and then use
-            a block action based on the cookie tag. This allows the outcome
-            of one action, to be input into a subsequent action. However if
-            you'd reverse the position of the described taggers, and
-            activated the method tagger based on the cookie tagger, no method
-            tags would be created. The method tagger would look for the
-            request line, but at the time the cookie tag is created, the
-            request line has already been parsed.
-          </p>
-          <p>
-            While this is a limitation you should be aware of, this kind of
-            indirection is seldom needed anyway and even the example doesn't
-            make too much sense.
-          </p>
+
+        <p>While flexible, this is not the sophistication of full regular
+        expression based syntax.</p>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="AEN3058" id="AEN3058">8.4.2. The Path
+        Pattern</a></h3>
+
+        <p><span class="APPLICATION">Privoxy</span> uses <span class=
+        "QUOTE">"modern"</span> POSIX 1003.2 <a href=
+        "http://en.wikipedia.org/wiki/Regular_expressions" target=
+        "_top"><span class="QUOTE">"Regular Expressions"</span></a> for
+        matching the path portion (after the slash), and is thus more
+        flexible.</p>
+
+        <p>There is an <a href="appendix.html#REGEX">Appendix</a> with a
+        brief quick-start into regular expressions, you also might want to
+        have a look at your operating system's documentation on regular
+        expressions (try <tt class="LITERAL">man re_format</tt>).</p>
+
+        <p>Note that the path pattern is automatically left-anchored at the
+        <span class="QUOTE">"/"</span>, i.e. it matches as if it would start
+        with a <span class="QUOTE">"^"</span> (regular expression speak for
+        the beginning of a line).</p>
+
+        <p>Please also note that matching in the path is <span class=
+        "emphasis EMPHASIS c2">CASE INSENSITIVE</span> by default, but you
+        can switch to case sensitive at any point in the pattern by using the
+        <span class="QUOTE">"(?-i)"</span> switch: <tt class=
+        "LITERAL">www.example.com/(?-i)PaTtErN.*</tt> will match only
+        documents whose path starts with <tt class="LITERAL">PaTtErN</tt> in
+        <span class="emphasis EMPHASIS c2">exactly</span> this
+        capitalization.</p>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt><tt class="LITERAL">.example.com/.*</tt></dt>
+
+            <dd>
+              <p>Is equivalent to just <span class=
+              "QUOTE">".example.com"</span>, since any documents within that
+              domain are matched with or without the <span class=
+              "QUOTE">".*"</span> regular expression. This is redundant</p>
+            </dd>
+
+            <dt><tt class="LITERAL">.example.com/.*/index.html$</tt></dt>
+
+            <dd>
+              <p>Will match any page in the domain of <span class=
+              "QUOTE">"example.com"</span> that is named <span class=
+              "QUOTE">"index.html"</span>, and that is part of some path. For
+              example, it matches <span class=
+              "QUOTE">"www.example.com/testing/index.html"</span> but NOT
+              <span class="QUOTE">"www.example.com/index.html"</span> because
+              the regular expression called for at least two <span class=
+              "QUOTE">"/'s"</span>, thus the path requirement. It also would
+              match <span class=
+              "QUOTE">"www.example.com/testing/index_html"</span>, because of
+              the special meta-character <span class="QUOTE">"."</span>.</p>
+            </dd>
+
+            <dt><tt class="LITERAL">.example.com/(.*/)?index\.html$</tt></dt>
+
+            <dd>
+              <p>This regular expression is conditional so it will match any
+              page named <span class="QUOTE">"index.html"</span> regardless
+              of path which in this case can have one or more <span class=
+              "QUOTE">"/'s"</span>. And this one must contain exactly
+              <span class="QUOTE">".html"</span> (but does not have to end
+              with that!).</p>
+            </dd>
+
+            <dt><tt class=
+            "LITERAL">.example.com/(.*/)(ads|banners?|junk)</tt></dt>
+
+            <dd>
+              <p>This regular expression will match any path of <span class=
+              "QUOTE">"example.com"</span> that contains any of the words
+              <span class="QUOTE">"ads"</span>, <span class=
+              "QUOTE">"banner"</span>, <span class="QUOTE">"banners"</span>
+              (because of the <span class="QUOTE">"?"</span>) or <span class=
+              "QUOTE">"junk"</span>. The path does not have to end in these
+              words, just contain them.</p>
+            </dd>
+
+            <dt><tt class=
+            "LITERAL">.example.com/(.*/)(ads|banners?|junk)/.*\.(jpe?g|gif|png)$</tt></dt>
+
+            <dd>
+              <p>This is very much the same as above, except now it must end
+              in either <span class="QUOTE">".jpg"</span>, <span class=
+              "QUOTE">".jpeg"</span>, <span class="QUOTE">".gif"</span> or
+              <span class="QUOTE">".png"</span>. So this one is limited to
+              common image formats.</p>
+            </dd>
+          </dl>
         </div>
+
+        <p>There are many, many good examples to be found in <tt class=
+        "FILENAME">default.action</tt>, and more tutorials below in <a href=
+        "appendix.html#REGEX">Appendix on regular expressions</a>.</p>
       </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="ACTIONS">8.5. Actions</a>
-        </h2>
-        <p>
-          All actions are disabled by default, until they are explicitly
-          enabled somewhere in an actions file. Actions are turned on if
-          preceded with a <span class="QUOTE">"+"</span>, and turned off if
-          preceded with a <span class="QUOTE">"-"</span>. So a <tt class=
-          "LITERAL">+action</tt> means <span class="QUOTE">"do that
-          action"</span>, e.g. <tt class="LITERAL">+block</tt> means <span
-          class="QUOTE">"please block URLs that match the following
-          patterns"</span>, and <tt class="LITERAL">-block</tt> means <span
-          class="QUOTE">"don't block URLs that match the following patterns,
-          even if <tt class="LITERAL">+block</tt> previously
-          applied."</span>&#13;
-        </p>
-        <p>
-          Again, actions are invoked by placing them on a line, enclosed in
-          curly braces and separated by whitespace, like in <tt class=
-          "LITERAL">{+some-action -some-other-action{some-parameter}}</tt>,
-          followed by a list of URL patterns, one per line, to which they
-          apply. Together, the actions line and the following pattern lines
-          make up a section of the actions file.
-        </p>
-        <p>
-          Actions fall into three categories:
-        </p>
-        <p>
-        </p>
-        <ul>
-          <li>
-            <p>
-              Boolean, i.e the action can only be <span class=
-              "QUOTE">"enabled"</span> or <span class=
-              "QUOTE">"disabled"</span>. Syntax:
-            </p>
-            <p>
-            </p>
-            <table border="0" bgcolor="#E0E0E0" width="90%">
-              <tr>
-                <td>
-<pre class="SCREEN">
-  +<tt class="REPLACEABLE"><i>name</i></tt>        # enable action <tt class=
-"REPLACEABLE"><i>name</i></tt>
-  -<tt class="REPLACEABLE"><i>name</i></tt>        # disable action <tt
-class="REPLACEABLE"><i>name</i></tt>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="TAG-PATTERN" id="TAG-PATTERN">8.4.3. The
+        Tag Pattern</a></h3>
+
+        <p>Tag patterns are used to change the applying actions based on the
+        request's tags. Tags can be created with either the <a href=
+        "actions-file.html#CLIENT-HEADER-TAGGER">client-header-tagger</a> or
+        the <a href=
+        "actions-file.html#SERVER-HEADER-TAGGER">server-header-tagger</a>
+        action.</p>
+
+        <p>Tag patterns have to start with <span class="QUOTE">"TAG:"</span>,
+        so <span class="APPLICATION">Privoxy</span> can tell them apart from
+        URL patterns. Everything after the colon including white space, is
+        interpreted as a regular expression with path pattern syntax, except
+        that tag patterns aren't left-anchored automatically (<span class=
+        "APPLICATION">Privoxy</span> doesn't silently add a <span class=
+        "QUOTE">"^"</span>, you have to do it yourself if you need it).</p>
+
+        <p>To match all requests that are tagged with <span class=
+        "QUOTE">"foo"</span> your pattern line should be <span class=
+        "QUOTE">"TAG:^foo$"</span>, <span class="QUOTE">"TAG:foo"</span>
+        would work as well, but it would also match requests whose tags
+        contain <span class="QUOTE">"foo"</span> somewhere. <span class=
+        "QUOTE">"TAG: foo"</span> wouldn't work as it requires white
+        space.</p>
+
+        <p>Sections can contain URL and tag patterns at the same time, but
+        tag patterns are checked after the URL patterns and thus always
+        overrule them, even if they are located before the URL patterns.</p>
+
+        <p>Once a new tag is added, Privoxy checks right away if it's matched
+        by one of the tag patterns and updates the action settings
+        accordingly. As a result tags can be used to activate other tagger
+        actions, as long as these other taggers look for headers that haven't
+        already be parsed.</p>
+
+        <p>For example you could tag client requests which use the <tt class=
+        "LITERAL">POST</tt> method, then use this tag to activate another
+        tagger that adds a tag if cookies are sent, and then use a block
+        action based on the cookie tag. This allows the outcome of one
+        action, to be input into a subsequent action. However if you'd
+        reverse the position of the described taggers, and activated the
+        method tagger based on the cookie tagger, no method tags would be
+        created. The method tagger would look for the request line, but at
+        the time the cookie tag is created, the request line has already been
+        parsed.</p>
+
+        <p>While this is a limitation you should be aware of, this kind of
+        indirection is seldom needed anyway and even the example doesn't make
+        too much sense.</p>
+      </div>
+    </div>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="ACTIONS" id="ACTIONS">8.5. Actions</a></h2>
+
+      <p>All actions are disabled by default, until they are explicitly
+      enabled somewhere in an actions file. Actions are turned on if preceded
+      with a <span class="QUOTE">"+"</span>, and turned off if preceded with
+      a <span class="QUOTE">"-"</span>. So a <tt class="LITERAL">+action</tt>
+      means <span class="QUOTE">"do that action"</span>, e.g. <tt class=
+      "LITERAL">+block</tt> means <span class="QUOTE">"please block URLs that
+      match the following patterns"</span>, and <tt class=
+      "LITERAL">-block</tt> means <span class="QUOTE">"don't block URLs that
+      match the following patterns, even if <tt class="LITERAL">+block</tt>
+      previously applied."</span></p>
+
+      <p>Again, actions are invoked by placing them on a line, enclosed in
+      curly braces and separated by whitespace, like in <tt class=
+      "LITERAL">{+some-action -some-other-action{some-parameter}}</tt>,
+      followed by a list of URL patterns, one per line, to which they apply.
+      Together, the actions line and the following pattern lines make up a
+      section of the actions file.</p>
+
+      <p>Actions fall into three categories:</p>
+
+      <ul>
+        <li>
+          <p>Boolean, i.e the action can only be <span class=
+          "QUOTE">"enabled"</span> or <span class="QUOTE">"disabled"</span>.
+          Syntax:</p>
+
+          <table class="c4" border="0" width="90%">
+            <tr>
+              <td>
+                <pre class="SCREEN">
+  +<tt class="REPLACEABLE c5">name</tt>        # enable action <tt class=
+"REPLACEABLE c5">name</tt>
+  -<tt class="REPLACEABLE c5">name</tt>        # disable action <tt class=
+"REPLACEABLE c5">name</tt>
 </pre>
-                </td>
-              </tr>
-            </table>
-
-            <p>
-              Example: <tt class="LITERAL">+handle-as-image</tt>
-            </p>
-          </li>
-          <li>
-            <p>
-              Parameterized, where some value is required in order to enable
-              this type of action. Syntax:
-            </p>
-            <p>
-            </p>
-            <table border="0" bgcolor="#E0E0E0" width="90%">
-              <tr>
-                <td>
-<pre class="SCREEN">
-  +<tt class="REPLACEABLE"><i>name</i></tt>{<tt class=
-"REPLACEABLE"><i>param</i></tt>}  # enable action and set parameter to <tt
-class="REPLACEABLE"><i>param</i></tt>,
+              </td>
+            </tr>
+          </table>
+
+          <p>Example: <tt class="LITERAL">+handle-as-image</tt></p>
+        </li>
+
+        <li>
+          <p>Parameterized, where some value is required in order to enable
+          this type of action. Syntax:</p>
+
+          <table class="c4" border="0" width="90%">
+            <tr>
+              <td>
+                <pre class="SCREEN">
+  +<tt class="REPLACEABLE c5">name</tt>{<tt class=
+"REPLACEABLE c5">param</tt>}  # enable action and set parameter to <tt class=
+"REPLACEABLE c5">param</tt>,
                # overwriting parameter from previous match if necessary
   -<tt class=
-"REPLACEABLE"><i>name</i></tt>         # disable action. The parameter can be omitted
+"REPLACEABLE c5">name</tt>         # disable action. The parameter can be omitted
 </pre>
-                </td>
-              </tr>
-            </table>
-
-            <p>
-              Note that if the URL matches multiple positive forms of a
-              parameterized action, the last match wins, i.e. the params from
-              earlier matches are simply ignored.
-            </p>
-            <p>
-              Example: <tt class="LITERAL">+hide-user-agent{Mozilla/5.0 (X11;
-              U; FreeBSD i386; en-US; rv:1.8.1.4) Gecko/20070602
-              Firefox/2.0.0.4}</tt>
-            </p>
-          </li>
-          <li>
-            <p>
-              Multi-value. These look exactly like parameterized actions, but
-              they behave differently: If the action applies multiple times
-              to the same URL, but with different parameters, <span class=
-              "emphasis"><i class="EMPHASIS">all</i></span> the parameters
-              from <span class="emphasis"><i class="EMPHASIS">all</i></span>
-              matches are remembered. This is used for actions that can be
-              executed for the same request repeatedly, like adding multiple
-              headers, or filtering through multiple filters. Syntax:
-            </p>
-            <p>
-            </p>
-            <table border="0" bgcolor="#E0E0E0" width="90%">
-              <tr>
-                <td>
-<pre class="SCREEN">
-  +<tt class="REPLACEABLE"><i>name</i></tt>{<tt class=
-"REPLACEABLE"><i>param</i></tt>}   # enable action and add <tt class=
-"REPLACEABLE"><i>param</i></tt> to the list of parameters
-  -<tt class="REPLACEABLE"><i>name</i></tt>{<tt class=
-"REPLACEABLE"><i>param</i></tt>}   # remove the parameter <tt class=
-"REPLACEABLE"><i>param</i></tt> from the list of parameters
+              </td>
+            </tr>
+          </table>
+
+          <p>Note that if the URL matches multiple positive forms of a
+          parameterized action, the last match wins, i.e. the params from
+          earlier matches are simply ignored.</p>
+
+          <p>Example: <tt class="LITERAL">+hide-user-agent{Mozilla/5.0 (X11;
+          U; FreeBSD i386; en-US; rv:1.8.1.4) Gecko/20070602
+          Firefox/2.0.0.4}</tt></p>
+        </li>
+
+        <li>
+          <p>Multi-value. These look exactly like parameterized actions, but
+          they behave differently: If the action applies multiple times to
+          the same URL, but with different parameters, <span class=
+          "emphasis EMPHASIS c2">all</span> the parameters from <span class=
+          "emphasis EMPHASIS c2">all</span> matches are remembered. This is
+          used for actions that can be executed for the same request
+          repeatedly, like adding multiple headers, or filtering through
+          multiple filters. Syntax:</p>
+
+          <table class="c4" border="0" width="90%">
+            <tr>
+              <td>
+                <pre class="SCREEN">
+  +<tt class="REPLACEABLE c5">name</tt>{<tt class=
+"REPLACEABLE c5">param</tt>}   # enable action and add <tt class=
+"REPLACEABLE c5">param</tt> to the list of parameters
+  -<tt class="REPLACEABLE c5">name</tt>{<tt class=
+"REPLACEABLE c5">param</tt>}   # remove the parameter <tt class=
+"REPLACEABLE c5">param</tt> from the list of parameters
                 # If it was the last one left, disable the action.
   <tt class=
-"REPLACEABLE"><i>-name</i></tt>          # disable this action completely and remove all parameters from the list
+"REPLACEABLE c5">-name</tt>          # disable this action completely and remove all parameters from the list
 </pre>
-                </td>
-              </tr>
-            </table>
-
-            <p>
-              Examples: <tt class="LITERAL">+add-header{X-Fun-Header: Some
-              text}</tt> and <tt class=
-              "LITERAL">+filter{html-annoyances}</tt>
-            </p>
-          </li>
-        </ul>
-
-        <p>
-          If nothing is specified in any actions file, no <span class=
-          "QUOTE">"actions"</span> are taken. So in this case <span class=
-          "APPLICATION">Privoxy</span> would just be a normal, non-blocking,
-          non-filtering proxy. You must specifically enable the privacy and
-          blocking features you need (although the provided default actions
-          files will give a good starting point).
-        </p>
-        <p>
-          Later defined action sections always over-ride earlier ones of the
-          same type. So exceptions to any rules you make, should come in the
-          latter part of the file (or in a file that is processed later when
-          using multiple actions files such as <tt class=
-          "FILENAME">user.action</tt>). For multi-valued actions, the actions
-          are applied in the order they are specified. Actions files are
-          processed in the order they are defined in <tt class=
-          "FILENAME">config</tt> (the default installation has three actions
-          files). It also quite possible for any given URL to match more than
-          one <span class="QUOTE">"pattern"</span> (because of wildcards and
-          regular expressions), and thus to trigger more than one set of
-          actions! Last match wins.
-        </p>
-        <p>
-          The list of valid <span class="APPLICATION">Privoxy</span> actions
-          are:
-        </p>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="ADD-HEADER">8.5.1. add-header</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Typical use:
-              </dt>
-              <dd>
-                <p>
-                  Confuse log analysis, custom applications
-                </p>
-              </dd>
-              <dt>
-                Effect:
-              </dt>
-              <dd>
-                <p>
-                  Sends a user defined HTTP header to the web server.
-                </p>
-              </dd>
-              <dt>
-                Type:
-              </dt>
-              <dd>
-                <p>
-                  Multi-value.
-                </p>
-              </dd>
-              <dt>
-                Parameter:
-              </dt>
-              <dd>
-                <p>
-                  Any string value is possible. Validity of the defined HTTP
-                  headers is not checked. It is recommended that you use the
-                  <span class="QUOTE">"<tt class="LITERAL">X-</tt>"</span>
-                  prefix for custom headers.
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  This action may be specified multiple times, in order to
-                  define multiple headers. This is rarely needed for the
-                  typical user. If you don't know what <span class=
-                  "QUOTE">"HTTP headers"</span> are, you definitely don't
-                  need to worry about this one.
-                </p>
-                <p>
-                  Headers added by this action are not modified by other
-                  actions.
-                </p>
-              </dd>
-              <dt>
-                Example usage:
-              </dt>
-              <dd>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+              </td>
+            </tr>
+          </table>
+
+          <p>Examples: <tt class="LITERAL">+add-header{X-Fun-Header: Some
+          text}</tt> and <tt class=
+          "LITERAL">+filter{html-annoyances}</tt></p>
+        </li>
+      </ul>
+
+      <p>If nothing is specified in any actions file, no <span class=
+      "QUOTE">"actions"</span> are taken. So in this case <span class=
+      "APPLICATION">Privoxy</span> would just be a normal, non-blocking,
+      non-filtering proxy. You must specifically enable the privacy and
+      blocking features you need (although the provided default actions files
+      will give a good starting point).</p>
+
+      <p>Later defined action sections always over-ride earlier ones of the
+      same type. So exceptions to any rules you make, should come in the
+      latter part of the file (or in a file that is processed later when
+      using multiple actions files such as <tt class=
+      "FILENAME">user.action</tt>). For multi-valued actions, the actions are
+      applied in the order they are specified. Actions files are processed in
+      the order they are defined in <tt class="FILENAME">config</tt> (the
+      default installation has three actions files). It also quite possible
+      for any given URL to match more than one <span class=
+      "QUOTE">"pattern"</span> (because of wildcards and regular
+      expressions), and thus to trigger more than one set of actions! Last
+      match wins.</p>
+
+      <p>The list of valid <span class="APPLICATION">Privoxy</span> actions
+      are:</p>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="ADD-HEADER" id="ADD-HEADER">8.5.1.
+        add-header</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Typical use:</dt>
+
+            <dd>
+              <p>Confuse log analysis, custom applications</p>
+            </dd>
+
+            <dt>Effect:</dt>
+
+            <dd>
+              <p>Sends a user defined HTTP header to the web server.</p>
+            </dd>
+
+            <dt>Type:</dt>
+
+            <dd>
+              <p>Multi-value.</p>
+            </dd>
+
+            <dt>Parameter:</dt>
+
+            <dd>
+              <p>Any string value is possible. Validity of the defined HTTP
+              headers is not checked. It is recommended that you use the
+              <span class="QUOTE">"<tt class="LITERAL">X-</tt>"</span> prefix
+              for custom headers.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>This action may be specified multiple times, in order to
+              define multiple headers. This is rarely needed for the typical
+              user. If you don't know what <span class="QUOTE">"HTTP
+              headers"</span> are, you definitely don't need to worry about
+              this one.</p>
+
+              <p>Headers added by this action are not modified by other
+              actions.</p>
+            </dd>
+
+            <dt>Example usage:</dt>
+
+            <dd>
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 +add-header{X-User-Tracking: sucks}
 </pre>
-                    </td>
-                  </tr>
-                </table>
-              </dd>
-            </dl>
-          </div>
+                  </td>
+                </tr>
+              </table>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="BLOCK">8.5.2. block</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Typical use:
-              </dt>
-              <dd>
-                <p>
-                  Block ads or other unwanted content
-                </p>
-              </dd>
-              <dt>
-                Effect:
-              </dt>
-              <dd>
-                <p>
-                  Requests for URLs to which this action applies are blocked,
-                  i.e. the requests are trapped by <span class=
-                  "APPLICATION">Privoxy</span> and the requested URL is never
-                  retrieved, but is answered locally with a substitute page
-                  or image, as determined by the <tt class="LITERAL"><a href=
-                  "actions-file.html#HANDLE-AS-IMAGE">handle-as-image</a></tt>,
-                  <tt class="LITERAL"><a href=
-                  "actions-file.html#SET-IMAGE-BLOCKER">set-image-blocker</a></tt>,
-                  and <tt class="LITERAL"><a href=
-                  "actions-file.html#HANDLE-AS-EMPTY-DOCUMENT">handle-as-empty-document</a></tt>
-                  actions.
-                </p>
-              </dd>
-              <dt>
-                Type:
-              </dt>
-              <dd>
-                <p>
-                  Parameterized.
-                </p>
-              </dd>
-              <dt>
-                Parameter:
-              </dt>
-              <dd>
-                <p>
-                  A block reason that should be given to the user.
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  <span class="APPLICATION">Privoxy</span> sends a special
-                  <span class="QUOTE">"BLOCKED"</span> page for requests to
-                  blocked pages. This page contains the block reason given as
-                  parameter, a link to find out why the block action applies,
-                  and a click-through to the blocked content (the latter only
-                  if the force feature is available and enabled).
-                </p>
-                <p>
-                  A very important exception occurs if <span class=
-                  "emphasis"><i class="EMPHASIS">both</i></span> <tt class=
-                  "LITERAL">block</tt> and <tt class="LITERAL"><a href=
-                  "actions-file.html#HANDLE-AS-IMAGE">handle-as-image</a></tt>,
-                  apply to the same request: it will then be replaced by an
-                  image. If <tt class="LITERAL"><a href=
-                  "actions-file.html#SET-IMAGE-BLOCKER">set-image-blocker</a></tt>
-                  (see below) also applies, the type of image will be
-                  determined by its parameter, if not, the standard
-                  checkerboard pattern is sent.
-                </p>
-                <p>
-                  It is important to understand this process, in order to
-                  understand how <span class="APPLICATION">Privoxy</span>
-                  deals with ads and other unwanted content. Blocking is a
-                  core feature, and one upon which various other features
-                  depend.
-                </p>
-                <p>
-                  The <tt class="LITERAL"><a href=
-                  "actions-file.html#FILTER">filter</a></tt> action can
-                  perform a very similar task, by <span class=
-                  "QUOTE">"blocking"</span> banner images and other content
-                  through rewriting the relevant URLs in the document's HTML
-                  source, so they don't get requested in the first place.
-                  Note that this is a totally different technique, and it's
-                  easy to confuse the two.
-                </p>
-              </dd>
-              <dt>
-                Example usage (section):
-              </dt>
-              <dd>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="BLOCK" id="BLOCK">8.5.2. block</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Typical use:</dt>
+
+            <dd>
+              <p>Block ads or other unwanted content</p>
+            </dd>
+
+            <dt>Effect:</dt>
+
+            <dd>
+              <p>Requests for URLs to which this action applies are blocked,
+              i.e. the requests are trapped by <span class=
+              "APPLICATION">Privoxy</span> and the requested URL is never
+              retrieved, but is answered locally with a substitute page or
+              image, as determined by the <tt class="LITERAL"><a href=
+              "actions-file.html#HANDLE-AS-IMAGE">handle-as-image</a></tt>,
+              <tt class="LITERAL"><a href=
+              "actions-file.html#SET-IMAGE-BLOCKER">set-image-blocker</a></tt>,
+              and <tt class="LITERAL"><a href=
+              "actions-file.html#HANDLE-AS-EMPTY-DOCUMENT">handle-as-empty-document</a></tt>
+              actions.</p>
+            </dd>
+
+            <dt>Type:</dt>
+
+            <dd>
+              <p>Parameterized.</p>
+            </dd>
+
+            <dt>Parameter:</dt>
+
+            <dd>
+              <p>A block reason that should be given to the user.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p><span class="APPLICATION">Privoxy</span> sends a special
+              <span class="QUOTE">"BLOCKED"</span> page for requests to
+              blocked pages. This page contains the block reason given as
+              parameter, a link to find out why the block action applies, and
+              a click-through to the blocked content (the latter only if the
+              force feature is available and enabled).</p>
+
+              <p>A very important exception occurs if <span class=
+              "emphasis EMPHASIS c2">both</span> <tt class=
+              "LITERAL">block</tt> and <tt class="LITERAL"><a href=
+              "actions-file.html#HANDLE-AS-IMAGE">handle-as-image</a></tt>,
+              apply to the same request: it will then be replaced by an
+              image. If <tt class="LITERAL"><a href=
+              "actions-file.html#SET-IMAGE-BLOCKER">set-image-blocker</a></tt>
+              (see below) also applies, the type of image will be determined
+              by its parameter, if not, the standard checkerboard pattern is
+              sent.</p>
+
+              <p>It is important to understand this process, in order to
+              understand how <span class="APPLICATION">Privoxy</span> deals
+              with ads and other unwanted content. Blocking is a core
+              feature, and one upon which various other features depend.</p>
+
+              <p>The <tt class="LITERAL"><a href=
+              "actions-file.html#FILTER">filter</a></tt> action can perform a
+              very similar task, by <span class="QUOTE">"blocking"</span>
+              banner images and other content through rewriting the relevant
+              URLs in the document's HTML source, so they don't get requested
+              in the first place. Note that this is a totally different
+              technique, and it's easy to confuse the two.</p>
+            </dd>
+
+            <dt>Example usage (section):</dt>
+
+            <dd>
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 {+block{No nasty stuff for you.}}
 # Block and replace with "blocked" page
  .nasty-stuff.example.com
@@ -1299,255 +1089,212 @@ class="REPLACEABLE"><i>param</i></tt>,
 # Block and then ignore
  adserver.example.net/.*\.js$
 </pre>
-                    </td>
-                  </tr>
-                </table>
-              </dd>
-            </dl>
-          </div>
+                  </td>
+                </tr>
+              </table>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="CHANGE-X-FORWARDED-FOR">8.5.3.
-            change-x-forwarded-for</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Typical use:
-              </dt>
-              <dd>
-                <p>
-                  Improve privacy by not forwarding the source of the request
-                  in the HTTP headers.
-                </p>
-              </dd>
-              <dt>
-                Effect:
-              </dt>
-              <dd>
-                <p>
-                  Deletes the <span class="QUOTE">"X-Forwarded-For:"</span>
-                  HTTP header from the client request, or adds a new one.
-                </p>
-              </dd>
-              <dt>
-                Type:
-              </dt>
-              <dd>
-                <p>
-                  Parameterized.
-                </p>
-              </dd>
-              <dt>
-                Parameter:
-              </dt>
-              <dd>
-                <ul>
-                  <li>
-                    <p>
-                      <span class="QUOTE">"block"</span> to delete the
-                      header.
-                    </p>
-                  </li>
-                  <li>
-                    <p>
-                      <span class="QUOTE">"add"</span> to create the header
-                      (or append the client's IP address to an already
-                      existing one).
-                    </p>
-                  </li>
-                </ul>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  It is safe and recommended to use <tt class=
-                  "LITERAL">block</tt>.
-                </p>
-                <p>
-                  Forwarding the source address of the request may make sense
-                  in some multi-user setups but is also a privacy risk.
-                </p>
-              </dd>
-              <dt>
-                Example usage:
-              </dt>
-              <dd>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="CHANGE-X-FORWARDED-FOR" id=
+        "CHANGE-X-FORWARDED-FOR">8.5.3. change-x-forwarded-for</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Typical use:</dt>
+
+            <dd>
+              <p>Improve privacy by not forwarding the source of the request
+              in the HTTP headers.</p>
+            </dd>
+
+            <dt>Effect:</dt>
+
+            <dd>
+              <p>Deletes the <span class="QUOTE">"X-Forwarded-For:"</span>
+              HTTP header from the client request, or adds a new one.</p>
+            </dd>
+
+            <dt>Type:</dt>
+
+            <dd>
+              <p>Parameterized.</p>
+            </dd>
+
+            <dt>Parameter:</dt>
+
+            <dd>
+              <ul>
+                <li>
+                  <p><span class="QUOTE">"block"</span> to delete the
+                  header.</p>
+                </li>
+
+                <li>
+                  <p><span class="QUOTE">"add"</span> to create the header
+                  (or append the client's IP address to an already existing
+                  one).</p>
+                </li>
+              </ul>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>It is safe and recommended to use <tt class=
+              "LITERAL">block</tt>.</p>
+
+              <p>Forwarding the source address of the request may make sense
+              in some multi-user setups but is also a privacy risk.</p>
+            </dd>
+
+            <dt>Example usage:</dt>
+
+            <dd>
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 +change-x-forwarded-for{block}
 </pre>
-                    </td>
-                  </tr>
-                </table>
-              </dd>
-            </dl>
-          </div>
+                  </td>
+                </tr>
+              </table>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="CLIENT-HEADER-FILTER">8.5.4. client-header-filter</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Typical use:
-              </dt>
-              <dd>
-                <p>
-                  Rewrite or remove single client headers.
-                </p>
-              </dd>
-              <dt>
-                Effect:
-              </dt>
-              <dd>
-                <p>
-                  All client headers to which this action applies are
-                  filtered on-the-fly through the specified regular
-                  expression based substitutions.
-                </p>
-              </dd>
-              <dt>
-                Type:
-              </dt>
-              <dd>
-                <p>
-                  Parameterized.
-                </p>
-              </dd>
-              <dt>
-                Parameter:
-              </dt>
-              <dd>
-                <p>
-                  The name of a client-header filter, as defined in one of
-                  the <a href="filter-file.html">filter files</a>.
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  Client-header filters are applied to each header on its
-                  own, not to all at once. This makes it easier to diagnose
-                  problems, but on the downside you can't write filters that
-                  only change header x if header y's value is z. You can do
-                  that by using tags though.
-                </p>
-                <p>
-                  Client-header filters are executed after the other header
-                  actions have finished and use their output as input.
-                </p>
-                <p>
-                  If the request URL gets changed, <span class=
-                  "APPLICATION">Privoxy</span> will detect that and use the
-                  new one. This can be used to rewrite the request
-                  destination behind the client's back, for example to
-                  specify a Tor exit relay for certain requests.
-                </p>
-                <p>
-                  Please refer to the <a href="filter-file.html">filter file
-                  chapter</a> to learn which client-header filters are
-                  available by default, and how to create your own.
-                </p>
-              </dd>
-              <dt>
-                Example usage (section):
-              </dt>
-              <dd>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="CLIENT-HEADER-FILTER" id=
+        "CLIENT-HEADER-FILTER">8.5.4. client-header-filter</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Typical use:</dt>
+
+            <dd>
+              <p>Rewrite or remove single client headers.</p>
+            </dd>
+
+            <dt>Effect:</dt>
+
+            <dd>
+              <p>All client headers to which this action applies are filtered
+              on-the-fly through the specified regular expression based
+              substitutions.</p>
+            </dd>
+
+            <dt>Type:</dt>
+
+            <dd>
+              <p>Parameterized.</p>
+            </dd>
+
+            <dt>Parameter:</dt>
+
+            <dd>
+              <p>The name of a client-header filter, as defined in one of the
+              <a href="filter-file.html">filter files</a>.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>Client-header filters are applied to each header on its own,
+              not to all at once. This makes it easier to diagnose problems,
+              but on the downside you can't write filters that only change
+              header x if header y's value is z. You can do that by using
+              tags though.</p>
+
+              <p>Client-header filters are executed after the other header
+              actions have finished and use their output as input.</p>
+
+              <p>If the request URL gets changed, <span class=
+              "APPLICATION">Privoxy</span> will detect that and use the new
+              one. This can be used to rewrite the request destination behind
+              the client's back, for example to specify a Tor exit relay for
+              certain requests.</p>
+
+              <p>Please refer to the <a href="filter-file.html">filter file
+              chapter</a> to learn which client-header filters are available
+              by default, and how to create your own.</p>
+            </dd>
+
+            <dt>Example usage (section):</dt>
+
+            <dd>
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 # Hide Tor exit notation in Host and Referer Headers
 {+client-header-filter{hide-tor-exit-notation}}
 /
 
 </pre>
-                    </td>
-                  </tr>
-                </table>
-              </dd>
-            </dl>
-          </div>
+                  </td>
+                </tr>
+              </table>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="CLIENT-HEADER-TAGGER">8.5.5. client-header-tagger</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Typical use:
-              </dt>
-              <dd>
-                <p>
-                  Block requests based on their headers.
-                </p>
-              </dd>
-              <dt>
-                Effect:
-              </dt>
-              <dd>
-                <p>
-                  Client headers to which this action applies are filtered
-                  on-the-fly through the specified regular expression based
-                  substitutions, the result is used as tag.
-                </p>
-              </dd>
-              <dt>
-                Type:
-              </dt>
-              <dd>
-                <p>
-                  Parameterized.
-                </p>
-              </dd>
-              <dt>
-                Parameter:
-              </dt>
-              <dd>
-                <p>
-                  The name of a client-header tagger, as defined in one of
-                  the <a href="filter-file.html">filter files</a>.
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  Client-header taggers are applied to each header on its
-                  own, and as the header isn't modified, each tagger <span
-                  class="QUOTE">"sees"</span> the original.
-                </p>
-                <p>
-                  Client-header taggers are the first actions that are
-                  executed and their tags can be used to control every other
-                  action.
-                </p>
-              </dd>
-              <dt>
-                Example usage (section):
-              </dt>
-              <dd>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="CLIENT-HEADER-TAGGER" id=
+        "CLIENT-HEADER-TAGGER">8.5.5. client-header-tagger</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Typical use:</dt>
+
+            <dd>
+              <p>Block requests based on their headers.</p>
+            </dd>
+
+            <dt>Effect:</dt>
+
+            <dd>
+              <p>Client headers to which this action applies are filtered
+              on-the-fly through the specified regular expression based
+              substitutions, the result is used as tag.</p>
+            </dd>
+
+            <dt>Type:</dt>
+
+            <dd>
+              <p>Parameterized.</p>
+            </dd>
+
+            <dt>Parameter:</dt>
+
+            <dd>
+              <p>The name of a client-header tagger, as defined in one of the
+              <a href="filter-file.html">filter files</a>.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>Client-header taggers are applied to each header on its own,
+              and as the header isn't modified, each tagger <span class=
+              "QUOTE">"sees"</span> the original.</p>
+
+              <p>Client-header taggers are the first actions that are
+              executed and their tags can be used to control every other
+              action.</p>
+            </dd>
+
+            <dt>Example usage (section):</dt>
+
+            <dd>
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 # Tag every request with the User-Agent header
 {+client-header-tagger{user-agent}}
 /
@@ -1571,126 +1318,107 @@ TAG:^User-Agent: fetch libfetch/
 TAG:^User-Agent: Ubuntu APT-HTTP/
 TAG:^User-Agent: MPlayer/
 
-</pre>
-                    </td>
-                  </tr>
-                </table>
-              </dd>
-            </dl>
-          </div>
-        </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="CONTENT-TYPE-OVERWRITE">8.5.6.
-            content-type-overwrite</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Typical use:
-              </dt>
-              <dd>
-                <p>
-                  Stop useless download menus from popping up, or change the
-                  browser's rendering mode
-                </p>
-              </dd>
-              <dt>
-                Effect:
-              </dt>
-              <dd>
-                <p>
-                  Replaces the <span class="QUOTE">"Content-Type:"</span>
-                  HTTP server header.
-                </p>
-              </dd>
-              <dt>
-                Type:
-              </dt>
-              <dd>
-                <p>
-                  Parameterized.
-                </p>
-              </dd>
-              <dt>
-                Parameter:
-              </dt>
-              <dd>
-                <p>
-                  Any string.
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  The <span class="QUOTE">"Content-Type:"</span> HTTP server
-                  header is used by the browser to decide what to do with the
-                  document. The value of this header can cause the browser to
-                  open a download menu instead of displaying the document by
-                  itself, even if the document's format is supported by the
-                  browser.
-                </p>
-                <p>
-                  The declared content type can also affect which rendering
-                  mode the browser chooses. If XHTML is delivered as <span
-                  class="QUOTE">"text/html"</span>, many browsers treat it as
-                  yet another broken HTML document. If it is send as <span
-                  class="QUOTE">"application/xml"</span>, browsers with XHTML
-                  support will only display it, if the syntax is correct.
-                </p>
-                <p>
-                  If you see a web site that proudly uses XHTML buttons, but
-                  sets <span class="QUOTE">"Content-Type: text/html"</span>,
-                  you can use <span class="APPLICATION">Privoxy</span> to
-                  overwrite it with <span class=
-                  "QUOTE">"application/xml"</span> and validate the web
-                  master's claim inside your XHTML-supporting browser. If the
-                  syntax is incorrect, the browser will complain loudly.
-                </p>
-                <p>
-                  You can also go the opposite direction: if your browser
-                  prints error messages instead of rendering a document
-                  falsely declared as XHTML, you can overwrite the content
-                  type with <span class="QUOTE">"text/html"</span> and have
-                  it rendered as broken HTML document.
-                </p>
-                <p>
-                  By default <tt class="LITERAL">content-type-overwrite</tt>
-                  only replaces <span class="QUOTE">"Content-Type:"</span>
-                  headers that look like some kind of text. If you want to
-                  overwrite it unconditionally, you have to combine it with
-                  <tt class="LITERAL"><a href=
-                  "actions-file.html#FORCE-TEXT-MODE">force-text-mode</a></tt>.
-                  This limitation exists for a reason, think twice before
-                  circumventing it.
-                </p>
-                <p>
-                  Most of the time it's easier to replace this action with a
-                  custom <tt class="LITERAL"><a href=
-                  "actions-file.html#SERVER-HEADER-FILTER">server-header
-                  filter</a></tt>. It allows you to activate it for every
-                  document of a certain site and it will still only replace
-                  the content types you aimed at.
-                </p>
-                <p>
-                  Of course you can apply <tt class=
-                  "LITERAL">content-type-overwrite</tt> to a whole site and
-                  then make URL based exceptions, but it's a lot more work to
-                  get the same precision.
-                </p>
-              </dd>
-              <dt>
-                Example usage (sections):
-              </dt>
-              <dd>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+</pre>
+                  </td>
+                </tr>
+              </table>
+            </dd>
+          </dl>
+        </div>
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="CONTENT-TYPE-OVERWRITE" id=
+        "CONTENT-TYPE-OVERWRITE">8.5.6. content-type-overwrite</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Typical use:</dt>
+
+            <dd>
+              <p>Stop useless download menus from popping up, or change the
+              browser's rendering mode</p>
+            </dd>
+
+            <dt>Effect:</dt>
+
+            <dd>
+              <p>Replaces the <span class="QUOTE">"Content-Type:"</span> HTTP
+              server header.</p>
+            </dd>
+
+            <dt>Type:</dt>
+
+            <dd>
+              <p>Parameterized.</p>
+            </dd>
+
+            <dt>Parameter:</dt>
+
+            <dd>
+              <p>Any string.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>The <span class="QUOTE">"Content-Type:"</span> HTTP server
+              header is used by the browser to decide what to do with the
+              document. The value of this header can cause the browser to
+              open a download menu instead of displaying the document by
+              itself, even if the document's format is supported by the
+              browser.</p>
+
+              <p>The declared content type can also affect which rendering
+              mode the browser chooses. If XHTML is delivered as <span class=
+              "QUOTE">"text/html"</span>, many browsers treat it as yet
+              another broken HTML document. If it is send as <span class=
+              "QUOTE">"application/xml"</span>, browsers with XHTML support
+              will only display it, if the syntax is correct.</p>
+
+              <p>If you see a web site that proudly uses XHTML buttons, but
+              sets <span class="QUOTE">"Content-Type: text/html"</span>, you
+              can use <span class="APPLICATION">Privoxy</span> to overwrite
+              it with <span class="QUOTE">"application/xml"</span> and
+              validate the web master's claim inside your XHTML-supporting
+              browser. If the syntax is incorrect, the browser will complain
+              loudly.</p>
+
+              <p>You can also go the opposite direction: if your browser
+              prints error messages instead of rendering a document falsely
+              declared as XHTML, you can overwrite the content type with
+              <span class="QUOTE">"text/html"</span> and have it rendered as
+              broken HTML document.</p>
+
+              <p>By default <tt class="LITERAL">content-type-overwrite</tt>
+              only replaces <span class="QUOTE">"Content-Type:"</span>
+              headers that look like some kind of text. If you want to
+              overwrite it unconditionally, you have to combine it with
+              <tt class="LITERAL"><a href=
+              "actions-file.html#FORCE-TEXT-MODE">force-text-mode</a></tt>.
+              This limitation exists for a reason, think twice before
+              circumventing it.</p>
+
+              <p>Most of the time it's easier to replace this action with a
+              custom <tt class="LITERAL"><a href=
+              "actions-file.html#SERVER-HEADER-FILTER">server-header
+              filter</a></tt>. It allows you to activate it for every
+              document of a certain site and it will still only replace the
+              content types you aimed at.</p>
+
+              <p>Of course you can apply <tt class=
+              "LITERAL">content-type-overwrite</tt> to a whole site and then
+              make URL based exceptions, but it's a lot more work to get the
+              same precision.</p>
+            </dd>
+
+            <dt>Example usage (sections):</dt>
+
+            <dd>
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 # Check if www.example.net/ really uses valid XHTML
 { +content-type-overwrite{application/xml} }
 www.example.net/
@@ -1700,197 +1428,166 @@ www.example.net/
 www.example.net/.*\.css$
 www.example.net/.*style
 </pre>
+                  </td>
+                </tr>
+              </table>
+            </dd>
+          </dl>
+        </div>
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="CRUNCH-CLIENT-HEADER" id=
+        "CRUNCH-CLIENT-HEADER">8.5.7. crunch-client-header</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Typical use:</dt>
+
+            <dd>
+              <p>Remove a client header <span class=
+              "APPLICATION">Privoxy</span> has no dedicated action for.</p>
+            </dd>
+
+            <dt>Effect:</dt>
+
+            <dd>
+              <p>Deletes every header sent by the client that contains the
+              string the user supplied as parameter.</p>
+            </dd>
+
+            <dt>Type:</dt>
+
+            <dd>
+              <p>Parameterized.</p>
+            </dd>
+
+            <dt>Parameter:</dt>
+
+            <dd>
+              <p>Any string.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>This action allows you to block client headers for which no
+              dedicated <span class="APPLICATION">Privoxy</span> action
+              exists. <span class="APPLICATION">Privoxy</span> will remove
+              every client header that contains the string you supplied as
+              parameter.</p>
+
+              <p>Regular expressions are <span class=
+              "emphasis EMPHASIS c2">not supported</span> and you can't use
+              this action to block different headers in the same request,
+              unless they contain the same string.</p>
+
+              <p><tt class="LITERAL">crunch-client-header</tt> is only meant
+              for quick tests. If you have to block several different
+              headers, or only want to modify parts of them, you should use a
+              <tt class="LITERAL"><a href=
+              "actions-file.html#CLIENT-HEADER-FILTER">client-header
+              filter</a></tt>.</p>
+
+              <div class="WARNING">
+                <table class="WARNING" border="1" width="90%">
+                  <tr>
+                    <td class="c6" align="center">Warning</td>
+                  </tr>
+
+                  <tr>
+                    <td align="left">
+                      <p>Don't block any header without understanding the
+                      consequences.</p>
                     </td>
                   </tr>
                 </table>
-              </dd>
-            </dl>
-          </div>
-        </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="CRUNCH-CLIENT-HEADER">8.5.7. crunch-client-header</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Typical use:
-              </dt>
-              <dd>
-                <p>
-                  Remove a client header <span class=
-                  "APPLICATION">Privoxy</span> has no dedicated action for.
-                </p>
-              </dd>
-              <dt>
-                Effect:
-              </dt>
-              <dd>
-                <p>
-                  Deletes every header sent by the client that contains the
-                  string the user supplied as parameter.
-                </p>
-              </dd>
-              <dt>
-                Type:
-              </dt>
-              <dd>
-                <p>
-                  Parameterized.
-                </p>
-              </dd>
-              <dt>
-                Parameter:
-              </dt>
-              <dd>
-                <p>
-                  Any string.
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  This action allows you to block client headers for which no
-                  dedicated <span class="APPLICATION">Privoxy</span> action
-                  exists. <span class="APPLICATION">Privoxy</span> will
-                  remove every client header that contains the string you
-                  supplied as parameter.
-                </p>
-                <p>
-                  Regular expressions are <span class="emphasis"><i class=
-                  "EMPHASIS">not supported</i></span> and you can't use this
-                  action to block different headers in the same request,
-                  unless they contain the same string.
-                </p>
-                <p>
-                  <tt class="LITERAL">crunch-client-header</tt> is only meant
-                  for quick tests. If you have to block several different
-                  headers, or only want to modify parts of them, you should
-                  use a <tt class="LITERAL"><a href=
-                  "actions-file.html#CLIENT-HEADER-FILTER">client-header
-                  filter</a></tt>.
-                </p>
-                <div class="WARNING">
-                  <table class="WARNING" border="1" width="90%">
-                    <tr>
-                      <td align="CENTER">
-                        <b>Warning</b>
-                      </td>
-                    </tr>
-                    <tr>
-                      <td align="LEFT">
-                        <p>
-                          Don't block any header without understanding the
-                          consequences.
-                        </p>
-                      </td>
-                    </tr>
-                  </table>
-                </div>
-              </dd>
-              <dt>
-                Example usage (section):
-              </dt>
-              <dd>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+              </div>
+            </dd>
+
+            <dt>Example usage (section):</dt>
+
+            <dd>
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 # Block the non-existent "Privacy-Violation:" client header
 { +crunch-client-header{Privacy-Violation:} }
 /
 
 </pre>
-                    </td>
-                  </tr>
-                </table>
-              </dd>
-            </dl>
-          </div>
+                  </td>
+                </tr>
+              </table>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="CRUNCH-IF-NONE-MATCH">8.5.8. crunch-if-none-match</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Typical use:
-              </dt>
-              <dd>
-                <p>
-                  Prevent yet another way to track the user's steps between
-                  sessions.
-                </p>
-              </dd>
-              <dt>
-                Effect:
-              </dt>
-              <dd>
-                <p>
-                  Deletes the <span class="QUOTE">"If-None-Match:"</span>
-                  HTTP client header.
-                </p>
-              </dd>
-              <dt>
-                Type:
-              </dt>
-              <dd>
-                <p>
-                  Boolean.
-                </p>
-              </dd>
-              <dt>
-                Parameter:
-              </dt>
-              <dd>
-                <p>
-                  N/A
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  Removing the <span class="QUOTE">"If-None-Match:"</span>
-                  HTTP client header is useful for filter testing, where you
-                  want to force a real reload instead of getting status code
-                  <span class="QUOTE">"304"</span> which would cause the
-                  browser to use a cached copy of the page.
-                </p>
-                <p>
-                  It is also useful to make sure the header isn't used as a
-                  cookie replacement (unlikely but possible).
-                </p>
-                <p>
-                  Blocking the <span class="QUOTE">"If-None-Match:"</span>
-                  header shouldn't cause any caching problems, as long as the
-                  <span class="QUOTE">"If-Modified-Since:"</span> header
-                  isn't blocked or missing as well.
-                </p>
-                <p>
-                  It is recommended to use this action together with <tt
-                  class="LITERAL"><a href=
-                  "actions-file.html#HIDE-IF-MODIFIED-SINCE">hide-if-modified-since</a></tt>
-                  and <tt class="LITERAL"><a href=
-                  "actions-file.html#OVERWRITE-LAST-MODIFIED">overwrite-last-modified</a></tt>.
-                </p>
-              </dd>
-              <dt>
-                Example usage (section):
-              </dt>
-              <dd>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="CRUNCH-IF-NONE-MATCH" id=
+        "CRUNCH-IF-NONE-MATCH">8.5.8. crunch-if-none-match</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Typical use:</dt>
+
+            <dd>
+              <p>Prevent yet another way to track the user's steps between
+              sessions.</p>
+            </dd>
+
+            <dt>Effect:</dt>
+
+            <dd>
+              <p>Deletes the <span class="QUOTE">"If-None-Match:"</span> HTTP
+              client header.</p>
+            </dd>
+
+            <dt>Type:</dt>
+
+            <dd>
+              <p>Boolean.</p>
+            </dd>
+
+            <dt>Parameter:</dt>
+
+            <dd>
+              <p>N/A</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>Removing the <span class="QUOTE">"If-None-Match:"</span>
+              HTTP client header is useful for filter testing, where you want
+              to force a real reload instead of getting status code
+              <span class="QUOTE">"304"</span> which would cause the browser
+              to use a cached copy of the page.</p>
+
+              <p>It is also useful to make sure the header isn't used as a
+              cookie replacement (unlikely but possible).</p>
+
+              <p>Blocking the <span class="QUOTE">"If-None-Match:"</span>
+              header shouldn't cause any caching problems, as long as the
+              <span class="QUOTE">"If-Modified-Since:"</span> header isn't
+              blocked or missing as well.</p>
+
+              <p>It is recommended to use this action together with
+              <tt class="LITERAL"><a href=
+              "actions-file.html#HIDE-IF-MODIFIED-SINCE">hide-if-modified-since</a></tt>
+              and <tt class="LITERAL"><a href=
+              "actions-file.html#OVERWRITE-LAST-MODIFIED">overwrite-last-modified</a></tt>.</p>
+            </dd>
+
+            <dt>Example usage (section):</dt>
+
+            <dd>
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 # Let the browser revalidate cached documents but don't
 # allow the server to use the revalidation headers for user tracking.
 {+hide-if-modified-since{-60} \
@@ -1898,1302 +1595,1140 @@ www.example.net/.*style
  +crunch-if-none-match}
 /
 </pre>
-                    </td>
-                  </tr>
-                </table>
-              </dd>
-            </dl>
-          </div>
+                  </td>
+                </tr>
+              </table>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="CRUNCH-INCOMING-COOKIES">8.5.9.
-            crunch-incoming-cookies</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Typical use:
-              </dt>
-              <dd>
-                <p>
-                  Prevent the web server from setting HTTP cookies on your
-                  system
-                </p>
-              </dd>
-              <dt>
-                Effect:
-              </dt>
-              <dd>
-                <p>
-                  Deletes any <span class="QUOTE">"Set-Cookie:"</span> HTTP
-                  headers from server replies.
-                </p>
-              </dd>
-              <dt>
-                Type:
-              </dt>
-              <dd>
-                <p>
-                  Boolean.
-                </p>
-              </dd>
-              <dt>
-                Parameter:
-              </dt>
-              <dd>
-                <p>
-                  N/A
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  This action is only concerned with <span class=
-                  "emphasis"><i class="EMPHASIS">incoming</i></span> HTTP
-                  cookies. For <span class="emphasis"><i class=
-                  "EMPHASIS">outgoing</i></span> HTTP cookies, use <tt class=
-                  "LITERAL"><a href=
-                  "actions-file.html#CRUNCH-OUTGOING-COOKIES">crunch-outgoing-cookies</a></tt>.
-                  Use <span class="emphasis"><i class=
-                  "EMPHASIS">both</i></span> to disable HTTP cookies
-                  completely.
-                </p>
-                <p>
-                  It makes <span class="emphasis"><i class="EMPHASIS">no
-                  sense at all</i></span> to use this action in conjunction
-                  with the <tt class="LITERAL"><a href=
-                  "actions-file.html#SESSION-COOKIES-ONLY">session-cookies-only</a></tt>
-                  action, since it would prevent the session cookies from
-                  being set. See also <tt class="LITERAL"><a href=
-                  "actions-file.html#FILTER-CONTENT-COOKIES">filter-content-cookies</a></tt>.
-                </p>
-              </dd>
-              <dt>
-                Example usage:
-              </dt>
-              <dd>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="CRUNCH-INCOMING-COOKIES" id=
+        "CRUNCH-INCOMING-COOKIES">8.5.9. crunch-incoming-cookies</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Typical use:</dt>
+
+            <dd>
+              <p>Prevent the web server from setting HTTP cookies on your
+              system</p>
+            </dd>
+
+            <dt>Effect:</dt>
+
+            <dd>
+              <p>Deletes any <span class="QUOTE">"Set-Cookie:"</span> HTTP
+              headers from server replies.</p>
+            </dd>
+
+            <dt>Type:</dt>
+
+            <dd>
+              <p>Boolean.</p>
+            </dd>
+
+            <dt>Parameter:</dt>
+
+            <dd>
+              <p>N/A</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>This action is only concerned with <span class=
+              "emphasis EMPHASIS c2">incoming</span> HTTP cookies. For
+              <span class="emphasis EMPHASIS c2">outgoing</span> HTTP
+              cookies, use <tt class="LITERAL"><a href=
+              "actions-file.html#CRUNCH-OUTGOING-COOKIES">crunch-outgoing-cookies</a></tt>.
+              Use <span class="emphasis EMPHASIS c2">both</span> to disable
+              HTTP cookies completely.</p>
+
+              <p>It makes <span class="emphasis EMPHASIS c2">no sense at
+              all</span> to use this action in conjunction with the
+              <tt class="LITERAL"><a href=
+              "actions-file.html#SESSION-COOKIES-ONLY">session-cookies-only</a></tt>
+              action, since it would prevent the session cookies from being
+              set. See also <tt class="LITERAL"><a href=
+              "actions-file.html#FILTER-CONTENT-COOKIES">filter-content-cookies</a></tt>.</p>
+            </dd>
+
+            <dt>Example usage:</dt>
+
+            <dd>
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 +crunch-incoming-cookies
 </pre>
+                  </td>
+                </tr>
+              </table>
+            </dd>
+          </dl>
+        </div>
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="CRUNCH-SERVER-HEADER" id=
+        "CRUNCH-SERVER-HEADER">8.5.10. crunch-server-header</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Typical use:</dt>
+
+            <dd>
+              <p>Remove a server header <span class=
+              "APPLICATION">Privoxy</span> has no dedicated action for.</p>
+            </dd>
+
+            <dt>Effect:</dt>
+
+            <dd>
+              <p>Deletes every header sent by the server that contains the
+              string the user supplied as parameter.</p>
+            </dd>
+
+            <dt>Type:</dt>
+
+            <dd>
+              <p>Parameterized.</p>
+            </dd>
+
+            <dt>Parameter:</dt>
+
+            <dd>
+              <p>Any string.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>This action allows you to block server headers for which no
+              dedicated <span class="APPLICATION">Privoxy</span> action
+              exists. <span class="APPLICATION">Privoxy</span> will remove
+              every server header that contains the string you supplied as
+              parameter.</p>
+
+              <p>Regular expressions are <span class=
+              "emphasis EMPHASIS c2">not supported</span> and you can't use
+              this action to block different headers in the same request,
+              unless they contain the same string.</p>
+
+              <p><tt class="LITERAL">crunch-server-header</tt> is only meant
+              for quick tests. If you have to block several different
+              headers, or only want to modify parts of them, you should use a
+              custom <tt class="LITERAL"><a href=
+              "actions-file.html#SERVER-HEADER-FILTER">server-header
+              filter</a></tt>.</p>
+
+              <div class="WARNING">
+                <table class="WARNING" border="1" width="90%">
+                  <tr>
+                    <td class="c6" align="center">Warning</td>
+                  </tr>
+
+                  <tr>
+                    <td align="left">
+                      <p>Don't block any header without understanding the
+                      consequences.</p>
                     </td>
                   </tr>
                 </table>
-              </dd>
-            </dl>
-          </div>
-        </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="CRUNCH-SERVER-HEADER">8.5.10. crunch-server-header</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Typical use:
-              </dt>
-              <dd>
-                <p>
-                  Remove a server header <span class=
-                  "APPLICATION">Privoxy</span> has no dedicated action for.
-                </p>
-              </dd>
-              <dt>
-                Effect:
-              </dt>
-              <dd>
-                <p>
-                  Deletes every header sent by the server that contains the
-                  string the user supplied as parameter.
-                </p>
-              </dd>
-              <dt>
-                Type:
-              </dt>
-              <dd>
-                <p>
-                  Parameterized.
-                </p>
-              </dd>
-              <dt>
-                Parameter:
-              </dt>
-              <dd>
-                <p>
-                  Any string.
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  This action allows you to block server headers for which no
-                  dedicated <span class="APPLICATION">Privoxy</span> action
-                  exists. <span class="APPLICATION">Privoxy</span> will
-                  remove every server header that contains the string you
-                  supplied as parameter.
-                </p>
-                <p>
-                  Regular expressions are <span class="emphasis"><i class=
-                  "EMPHASIS">not supported</i></span> and you can't use this
-                  action to block different headers in the same request,
-                  unless they contain the same string.
-                </p>
-                <p>
-                  <tt class="LITERAL">crunch-server-header</tt> is only meant
-                  for quick tests. If you have to block several different
-                  headers, or only want to modify parts of them, you should
-                  use a custom <tt class="LITERAL"><a href=
-                  "actions-file.html#SERVER-HEADER-FILTER">server-header
-                  filter</a></tt>.
-                </p>
-                <div class="WARNING">
-                  <table class="WARNING" border="1" width="90%">
-                    <tr>
-                      <td align="CENTER">
-                        <b>Warning</b>
-                      </td>
-                    </tr>
-                    <tr>
-                      <td align="LEFT">
-                        <p>
-                          Don't block any header without understanding the
-                          consequences.
-                        </p>
-                      </td>
-                    </tr>
-                  </table>
-                </div>
-              </dd>
-              <dt>
-                Example usage (section):
-              </dt>
-              <dd>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+              </div>
+            </dd>
+
+            <dt>Example usage (section):</dt>
+
+            <dd>
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 # Crunch server headers that try to prevent caching
 { +crunch-server-header{no-cache} }
 /
 </pre>
-                    </td>
-                  </tr>
-                </table>
-              </dd>
-            </dl>
-          </div>
+                  </td>
+                </tr>
+              </table>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="CRUNCH-OUTGOING-COOKIES">8.5.11.
-            crunch-outgoing-cookies</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Typical use:
-              </dt>
-              <dd>
-                <p>
-                  Prevent the web server from reading any HTTP cookies from
-                  your system
-                </p>
-              </dd>
-              <dt>
-                Effect:
-              </dt>
-              <dd>
-                <p>
-                  Deletes any <span class="QUOTE">"Cookie:"</span> HTTP
-                  headers from client requests.
-                </p>
-              </dd>
-              <dt>
-                Type:
-              </dt>
-              <dd>
-                <p>
-                  Boolean.
-                </p>
-              </dd>
-              <dt>
-                Parameter:
-              </dt>
-              <dd>
-                <p>
-                  N/A
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  This action is only concerned with <span class=
-                  "emphasis"><i class="EMPHASIS">outgoing</i></span> HTTP
-                  cookies. For <span class="emphasis"><i class=
-                  "EMPHASIS">incoming</i></span> HTTP cookies, use <tt class=
-                  "LITERAL"><a href=
-                  "actions-file.html#CRUNCH-INCOMING-COOKIES">crunch-incoming-cookies</a></tt>.
-                  Use <span class="emphasis"><i class=
-                  "EMPHASIS">both</i></span> to disable HTTP cookies
-                  completely.
-                </p>
-                <p>
-                  It makes <span class="emphasis"><i class="EMPHASIS">no
-                  sense at all</i></span> to use this action in conjunction
-                  with the <tt class="LITERAL"><a href=
-                  "actions-file.html#SESSION-COOKIES-ONLY">session-cookies-only</a></tt>
-                  action, since it would prevent the session cookies from
-                  being read.
-                </p>
-              </dd>
-              <dt>
-                Example usage:
-              </dt>
-              <dd>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="CRUNCH-OUTGOING-COOKIES" id=
+        "CRUNCH-OUTGOING-COOKIES">8.5.11. crunch-outgoing-cookies</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Typical use:</dt>
+
+            <dd>
+              <p>Prevent the web server from reading any HTTP cookies from
+              your system</p>
+            </dd>
+
+            <dt>Effect:</dt>
+
+            <dd>
+              <p>Deletes any <span class="QUOTE">"Cookie:"</span> HTTP
+              headers from client requests.</p>
+            </dd>
+
+            <dt>Type:</dt>
+
+            <dd>
+              <p>Boolean.</p>
+            </dd>
+
+            <dt>Parameter:</dt>
+
+            <dd>
+              <p>N/A</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>This action is only concerned with <span class=
+              "emphasis EMPHASIS c2">outgoing</span> HTTP cookies. For
+              <span class="emphasis EMPHASIS c2">incoming</span> HTTP
+              cookies, use <tt class="LITERAL"><a href=
+              "actions-file.html#CRUNCH-INCOMING-COOKIES">crunch-incoming-cookies</a></tt>.
+              Use <span class="emphasis EMPHASIS c2">both</span> to disable
+              HTTP cookies completely.</p>
+
+              <p>It makes <span class="emphasis EMPHASIS c2">no sense at
+              all</span> to use this action in conjunction with the
+              <tt class="LITERAL"><a href=
+              "actions-file.html#SESSION-COOKIES-ONLY">session-cookies-only</a></tt>
+              action, since it would prevent the session cookies from being
+              read.</p>
+            </dd>
+
+            <dt>Example usage:</dt>
+
+            <dd>
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 +crunch-outgoing-cookies
 </pre>
-                    </td>
-                  </tr>
-                </table>
-              </dd>
-            </dl>
-          </div>
+                  </td>
+                </tr>
+              </table>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="DEANIMATE-GIFS">8.5.12. deanimate-gifs</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Typical use:
-              </dt>
-              <dd>
-                <p>
-                  Stop those annoying, distracting animated GIF images.
-                </p>
-              </dd>
-              <dt>
-                Effect:
-              </dt>
-              <dd>
-                <p>
-                  De-animate GIF animations, i.e. reduce them to their first
-                  or last image.
-                </p>
-              </dd>
-              <dt>
-                Type:
-              </dt>
-              <dd>
-                <p>
-                  Parameterized.
-                </p>
-              </dd>
-              <dt>
-                Parameter:
-              </dt>
-              <dd>
-                <p>
-                  <span class="QUOTE">"last"</span> or <span class=
-                  "QUOTE">"first"</span>
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  This will also shrink the images considerably (in bytes,
-                  not pixels!). If the option <span class=
-                  "QUOTE">"first"</span> is given, the first frame of the
-                  animation is used as the replacement. If <span class=
-                  "QUOTE">"last"</span> 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).
-                </p>
-                <p>
-                  You can safely use this action with patterns that will also
-                  match non-GIF objects, because no attempt will be made at
-                  anything that doesn't look like a GIF.
-                </p>
-              </dd>
-              <dt>
-                Example usage:
-              </dt>
-              <dd>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="DEANIMATE-GIFS" id=
+        "DEANIMATE-GIFS">8.5.12. deanimate-gifs</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Typical use:</dt>
+
+            <dd>
+              <p>Stop those annoying, distracting animated GIF images.</p>
+            </dd>
+
+            <dt>Effect:</dt>
+
+            <dd>
+              <p>De-animate GIF animations, i.e. reduce them to their first
+              or last image.</p>
+            </dd>
+
+            <dt>Type:</dt>
+
+            <dd>
+              <p>Parameterized.</p>
+            </dd>
+
+            <dt>Parameter:</dt>
+
+            <dd>
+              <p><span class="QUOTE">"last"</span> or <span class=
+              "QUOTE">"first"</span></p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>This will also shrink the images considerably (in bytes, not
+              pixels!). If the option <span class="QUOTE">"first"</span> is
+              given, the first frame of the animation is used as the
+              replacement. If <span class="QUOTE">"last"</span> 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).</p>
+
+              <p>You can safely use this action with patterns that will also
+              match non-GIF objects, because no attempt will be made at
+              anything that doesn't look like a GIF.</p>
+            </dd>
+
+            <dt>Example usage:</dt>
+
+            <dd>
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 +deanimate-gifs{last}
 </pre>
-                    </td>
-                  </tr>
-                </table>
-              </dd>
-            </dl>
-          </div>
+                  </td>
+                </tr>
+              </table>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="DOWNGRADE-HTTP-VERSION">8.5.13.
-            downgrade-http-version</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Typical use:
-              </dt>
-              <dd>
-                <p>
-                  Work around (very rare) problems with HTTP/1.1
-                </p>
-              </dd>
-              <dt>
-                Effect:
-              </dt>
-              <dd>
-                <p>
-                  Downgrades HTTP/1.1 client requests and server replies to
-                  HTTP/1.0.
-                </p>
-              </dd>
-              <dt>
-                Type:
-              </dt>
-              <dd>
-                <p>
-                  Boolean.
-                </p>
-              </dd>
-              <dt>
-                Parameter:
-              </dt>
-              <dd>
-                <p>
-                  N/A
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  This is a left-over from the time when <span class=
-                  "APPLICATION">Privoxy</span> didn't support important
-                  HTTP/1.1 features well. It is left here for the unlikely
-                  case that you experience HTTP/1.1 related problems with
-                  some server out there. Not all HTTP/1.1 features and
-                  requirements are supported yet, so there is a chance you
-                  might need this action.
-                </p>
-              </dd>
-              <dt>
-                Example usage (section):
-              </dt>
-              <dd>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="DOWNGRADE-HTTP-VERSION" id=
+        "DOWNGRADE-HTTP-VERSION">8.5.13. downgrade-http-version</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Typical use:</dt>
+
+            <dd>
+              <p>Work around (very rare) problems with HTTP/1.1</p>
+            </dd>
+
+            <dt>Effect:</dt>
+
+            <dd>
+              <p>Downgrades HTTP/1.1 client requests and server replies to
+              HTTP/1.0.</p>
+            </dd>
+
+            <dt>Type:</dt>
+
+            <dd>
+              <p>Boolean.</p>
+            </dd>
+
+            <dt>Parameter:</dt>
+
+            <dd>
+              <p>N/A</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>This is a left-over from the time when <span class=
+              "APPLICATION">Privoxy</span> didn't support important HTTP/1.1
+              features well. It is left here for the unlikely case that you
+              experience HTTP/1.1 related problems with some server out
+              there. Not all HTTP/1.1 features and requirements are supported
+              yet, so there is a chance you might need this action.</p>
+            </dd>
+
+            <dt>Example usage (section):</dt>
+
+            <dd>
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 {+downgrade-http-version}
 problem-host.example.com
 </pre>
-                    </td>
-                  </tr>
-                </table>
-              </dd>
-            </dl>
-          </div>
+                  </td>
+                </tr>
+              </table>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="FAST-REDIRECTS">8.5.14. fast-redirects</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Typical use:
-              </dt>
-              <dd>
-                <p>
-                  Fool some click-tracking scripts and speed up indirect
-                  links.
-                </p>
-              </dd>
-              <dt>
-                Effect:
-              </dt>
-              <dd>
-                <p>
-                  Detects redirection URLs and redirects the browser without
-                  contacting the redirection server first.
-                </p>
-              </dd>
-              <dt>
-                Type:
-              </dt>
-              <dd>
-                <p>
-                  Parameterized.
-                </p>
-              </dd>
-              <dt>
-                Parameter:
-              </dt>
-              <dd>
-                <ul>
-                  <li>
-                    <p>
-                      <span class="QUOTE">"simple-check"</span> to just
-                      search for the string <span class=
-                      "QUOTE">"http://"</span> to detect redirection URLs.
-                    </p>
-                  </li>
-                  <li>
-                    <p>
-                      <span class="QUOTE">"check-decoded-url"</span> to
-                      decode URLs (if necessary) before searching for
-                      redirection URLs.
-                    </p>
-                  </li>
-                </ul>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  Many sites, like yahoo.com, don't just link to other sites.
-                  Instead, they will link to some script on their own
-                  servers, giving the destination as a parameter, which will
-                  then redirect you to the final target. URLs resulting from
-                  this scheme typically look like: <span class=
-                  "QUOTE">"http://www.example.org/click-tracker.cgi?target=http%3a//www.example.net/"</span>.
-                </p>
-                <p>
-                  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 asks the server for one redirect after the
-                  other. Plus, it feeds the advertisers.
-                </p>
-                <p>
-                  This feature is currently not very smart and is scheduled
-                  for improvement. If it is enabled by default, you will have
-                  to create some exceptions to this action. It can lead to
-                  failures in several ways:
-                </p>
-                <p>
-                  Not every URLs with other URLs as parameters is evil. Some
-                  sites offer a real service that requires this information
-                  to work. For example a validation service needs to know,
-                  which document to validate. <tt class=
-                  "LITERAL">fast-redirects</tt> assumes that every URL
-                  parameter that looks like another URL is a redirection
-                  target, and will always redirect to the last one. Most of
-                  the time the assumption is correct, but if it isn't, the
-                  user gets redirected anyway.
-                </p>
-                <p>
-                  Another failure occurs if the URL contains other parameters
-                  after the URL parameter. The URL: <span class=
-                  "QUOTE">"http://www.example.org/?redirect=http%3a//www.example.net/&amp;foo=bar"</span>.
-                  contains the redirection URL <span class=
-                  "QUOTE">"http://www.example.net/"</span>, followed by
-                  another parameter. <tt class="LITERAL">fast-redirects</tt>
-                  doesn't know that and will cause a redirect to <span class=
-                  "QUOTE">"http://www.example.net/&amp;foo=bar"</span>.
-                  Depending on the target server configuration, the parameter
-                  will be silently ignored or lead to a <span class=
-                  "QUOTE">"page not found"</span> error. You can prevent this
-                  problem by first using the <tt class="LITERAL"><a href=
-                  "actions-file.html#REDIRECT">redirect</a></tt> action to
-                  remove the last part of the URL, but it requires a little
-                  effort.
-                </p>
-                <p>
-                  To detect a redirection URL, <tt class=
-                  "LITERAL">fast-redirects</tt> only looks for the string
-                  <span class="QUOTE">"http://"</span>, either in plain text
-                  (invalid but often used) or encoded as <span class=
-                  "QUOTE">"http%3a//"</span>. Some sites use their own URL
-                  encoding scheme, encrypt the address of the target server
-                  or replace it with a database id. In theses cases <tt
-                  class="LITERAL">fast-redirects</tt> is fooled and the
-                  request reaches the redirection server where it probably
-                  gets logged.
-                </p>
-              </dd>
-              <dt>
-                Example usage:
-              </dt>
-              <dd>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="FAST-REDIRECTS" id=
+        "FAST-REDIRECTS">8.5.14. fast-redirects</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Typical use:</dt>
+
+            <dd>
+              <p>Fool some click-tracking scripts and speed up indirect
+              links.</p>
+            </dd>
+
+            <dt>Effect:</dt>
+
+            <dd>
+              <p>Detects redirection URLs and redirects the browser without
+              contacting the redirection server first.</p>
+            </dd>
+
+            <dt>Type:</dt>
+
+            <dd>
+              <p>Parameterized.</p>
+            </dd>
+
+            <dt>Parameter:</dt>
+
+            <dd>
+              <ul>
+                <li>
+                  <p><span class="QUOTE">"simple-check"</span> to just search
+                  for the string <span class="QUOTE">"http://"</span> to
+                  detect redirection URLs.</p>
+                </li>
+
+                <li>
+                  <p><span class="QUOTE">"check-decoded-url"</span> to decode
+                  URLs (if necessary) before searching for redirection
+                  URLs.</p>
+                </li>
+              </ul>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>Many sites, like yahoo.com, don't just link to other sites.
+              Instead, they will link to some script on their own servers,
+              giving the destination as a parameter, which will then redirect
+              you to the final target. URLs resulting from this scheme
+              typically look like: <span class=
+              "QUOTE">"http://www.example.org/click-tracker.cgi?target=http%3a//www.example.net/"</span>.</p>
+
+              <p>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 asks
+              the server for one redirect after the other. Plus, it feeds the
+              advertisers.</p>
+
+              <p>This feature is currently not very smart and is scheduled
+              for improvement. If it is enabled by default, you will have to
+              create some exceptions to this action. It can lead to failures
+              in several ways:</p>
+
+              <p>Not every URLs with other URLs as parameters is evil. Some
+              sites offer a real service that requires this information to
+              work. For example a validation service needs to know, which
+              document to validate. <tt class="LITERAL">fast-redirects</tt>
+              assumes that every URL parameter that looks like another URL is
+              a redirection target, and will always redirect to the last one.
+              Most of the time the assumption is correct, but if it isn't,
+              the user gets redirected anyway.</p>
+
+              <p>Another failure occurs if the URL contains other parameters
+              after the URL parameter. The URL: <span class=
+              "QUOTE">"http://www.example.org/?redirect=http%3a//www.example.net/&amp;foo=bar"</span>.
+              contains the redirection URL <span class=
+              "QUOTE">"http://www.example.net/"</span>, followed by another
+              parameter. <tt class="LITERAL">fast-redirects</tt> doesn't know
+              that and will cause a redirect to <span class=
+              "QUOTE">"http://www.example.net/&amp;foo=bar"</span>. Depending
+              on the target server configuration, the parameter will be
+              silently ignored or lead to a <span class="QUOTE">"page not
+              found"</span> error. You can prevent this problem by first
+              using the <tt class="LITERAL"><a href=
+              "actions-file.html#REDIRECT">redirect</a></tt> action to remove
+              the last part of the URL, but it requires a little effort.</p>
+
+              <p>To detect a redirection URL, <tt class=
+              "LITERAL">fast-redirects</tt> only looks for the string
+              <span class="QUOTE">"http://"</span>, either in plain text
+              (invalid but often used) or encoded as <span class=
+              "QUOTE">"http%3a//"</span>. Some sites use their own URL
+              encoding scheme, encrypt the address of the target server or
+              replace it with a database id. In theses cases <tt class=
+              "LITERAL">fast-redirects</tt> is fooled and the request reaches
+              the redirection server where it probably gets logged.</p>
+            </dd>
+
+            <dt>Example usage:</dt>
+
+            <dd>
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
  { +fast-redirects{simple-check} }
    one.example.com
 
  { +fast-redirects{check-decoded-url} }
    another.example.com/testing
 </pre>
-                    </td>
-                  </tr>
-                </table>
-              </dd>
-            </dl>
-          </div>
+                  </td>
+                </tr>
+              </table>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="FILTER">8.5.15. filter</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Typical use:
-              </dt>
-              <dd>
-                <p>
-                  Get rid of HTML and JavaScript annoyances, banner
-                  advertisements (by size), do fun text replacements, add
-                  personalized effects, etc.
-                </p>
-              </dd>
-              <dt>
-                Effect:
-              </dt>
-              <dd>
-                <p>
-                  All instances of text-based type, most notably HTML and
-                  JavaScript, to which this action applies, can be filtered
-                  on-the-fly through the specified regular expression based
-                  substitutions. (Note: as of version 3.0.3 plain text
-                  documents are exempted from filtering, because web servers
-                  often use the <tt class="LITERAL">text/plain</tt> MIME type
-                  for all files whose type they don't know.)
-                </p>
-              </dd>
-              <dt>
-                Type:
-              </dt>
-              <dd>
-                <p>
-                  Parameterized.
-                </p>
-              </dd>
-              <dt>
-                Parameter:
-              </dt>
-              <dd>
-                <p>
-                  The name of a content filter, as defined in the <a href=
-                  "filter-file.html">filter file</a>. Filters can be defined
-                  in one or more files as defined by the <tt class=
-                  "LITERAL"><a href=
-                  "config.html#FILTERFILE">filterfile</a></tt> option in the
-                  <a href="config.html">config file</a>. <tt class=
-                  "FILENAME">default.filter</tt> is the collection of filters
-                  supplied by the developers. Locally defined filters should
-                  go in their own file, such as <tt class=
-                  "FILENAME">user.filter</tt>.
-                </p>
-                <p>
-                  When used in its negative form, and without parameters,
-                  <span class="emphasis"><i class="EMPHASIS">all</i></span>
-                  filtering is completely disabled.
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  For your convenience, there are a number of pre-defined
-                  filters available in the distribution filter file that you
-                  can use. See the examples below for a list.
-                </p>
-                <p>
-                  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. (The
-                  total time until the page is completely rendered doesn't
-                  change much, but it may be perceived as slower since the
-                  page is not incrementally displayed.) This effect will be
-                  more noticeable on slower connections.
-                </p>
-                <p>
-                  <span class="QUOTE">"Rolling your own"</span> filters
-                  requires a knowledge of <a href=
-                  "http://en.wikipedia.org/wiki/Regular_expressions" target=
-                  "_top"><span class="QUOTE">"Regular Expressions"</span></a>
-                  and <a href="http://en.wikipedia.org/wiki/Html" target=
-                  "_top"><span class="QUOTE">"HTML"</span></a>. This is very
-                  powerful feature, and potentially very intrusive. Filters
-                  should be used with caution, and where an equivalent <span
-                  class="QUOTE">"action"</span> is not available.
-                </p>
-                <p>
-                  The amount of data that can be filtered is limited to the
-                  <tt class="LITERAL"><a href=
-                  "config.html#BUFFER-LIMIT">buffer-limit</a></tt> option in
-                  the main <a href="config.html">config file</a>. The default
-                  is 4096 KB (4 Megs). Once this limit is exceeded, the
-                  buffered data, and all pending data, is passed through
-                  unfiltered.
-                </p>
-                <p>
-                  Inappropriate MIME types, such as zipped files, are not
-                  filtered at all. (Again, only text-based types except plain
-                  text). Encrypted SSL data (from HTTPS servers) cannot be
-                  filtered either, since this would violate the integrity of
-                  the secure transaction. In some situations it might be
-                  necessary to protect certain text, like source code, from
-                  filtering by defining appropriate <tt class=
-                  "LITERAL">-filter</tt> exceptions.
-                </p>
-                <p>
-                  Compressed content can't be filtered either, unless <span
-                  class="APPLICATION">Privoxy</span> is compiled with zlib
-                  support (requires at least <span class=
-                  "APPLICATION">Privoxy</span> 3.0.7), in which case <span
-                  class="APPLICATION">Privoxy</span> will decompress the
-                  content before filtering it.
-                </p>
-                <p>
-                  If you use a <span class="APPLICATION">Privoxy</span>
-                  version without zlib support, but want filtering to work on
-                  as much documents as possible, even those that would
-                  normally be sent compressed, you must use the <tt class=
-                  "LITERAL"><a href=
-                  "actions-file.html#PREVENT-COMPRESSION">prevent-compression</a></tt>
-                  action in conjunction with <tt class="LITERAL">filter</tt>.
-                </p>
-                <p>
-                  Content filtering can achieve some of the same effects as
-                  the <tt class="LITERAL"><a href=
-                  "actions-file.html#BLOCK">block</a></tt> action, i.e. it
-                  can be used to block ads and banners. But the mechanism
-                  works quite differently. One effective use, is to block ad
-                  banners based on their size (see below), since many of
-                  these seem to be somewhat standardized.
-                </p>
-                <p>
-                  <a href="contact.html">Feedback</a> with suggestions for
-                  new or improved filters is particularly welcome!
-                </p>
-                <p>
-                  The below list has only the names and a one-line
-                  description of each predefined filter. There are <a href=
-                  "filter-file.html#PREDEFINED-FILTERS">more verbose
-                  explanations</a> of what these filters do in the <a href=
-                  "filter-file.html">filter file chapter</a>.
-                </p>
-              </dd>
-              <dt>
-                Example usage (with filters from the distribution <tt class=
-                "FILENAME">default.filter</tt> file). See <a href=
-                "filter-file.html#PREDEFINED-FILTERS">the Predefined Filters
-                section</a> for more explanation on each:
-              </dt>
-              <dd>
-                <p>
-                  <a name="FILTER-JS-ANNOYANCES"></a>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="FILTER" id="FILTER">8.5.15.
+        filter</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Typical use:</dt>
+
+            <dd>
+              <p>Get rid of HTML and JavaScript annoyances, banner
+              advertisements (by size), do fun text replacements, add
+              personalized effects, etc.</p>
+            </dd>
+
+            <dt>Effect:</dt>
+
+            <dd>
+              <p>All instances of text-based type, most notably HTML and
+              JavaScript, to which this action applies, can be filtered
+              on-the-fly through the specified regular expression based
+              substitutions. (Note: as of version 3.0.3 plain text documents
+              are exempted from filtering, because web servers often use the
+              <tt class="LITERAL">text/plain</tt> MIME type for all files
+              whose type they don't know.)</p>
+            </dd>
+
+            <dt>Type:</dt>
+
+            <dd>
+              <p>Parameterized.</p>
+            </dd>
+
+            <dt>Parameter:</dt>
+
+            <dd>
+              <p>The name of a content filter, as defined in the <a href=
+              "filter-file.html">filter file</a>. Filters can be defined in
+              one or more files as defined by the <tt class=
+              "LITERAL"><a href="config.html#FILTERFILE">filterfile</a></tt>
+              option in the <a href="config.html">config file</a>. <tt class=
+              "FILENAME">default.filter</tt> is the collection of filters
+              supplied by the developers. Locally defined filters should go
+              in their own file, such as <tt class=
+              "FILENAME">user.filter</tt>.</p>
+
+              <p>When used in its negative form, and without parameters,
+              <span class="emphasis EMPHASIS c2">all</span> filtering is
+              completely disabled.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>For your convenience, there are a number of pre-defined
+              filters available in the distribution filter file that you can
+              use. See the examples below for a list.</p>
+
+              <p>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. (The total time until
+              the page is completely rendered doesn't change much, but it may
+              be perceived as slower since the page is not incrementally
+              displayed.) This effect will be more noticeable on slower
+              connections.</p>
+
+              <p><span class="QUOTE">"Rolling your own"</span> filters
+              requires a knowledge of <a href=
+              "http://en.wikipedia.org/wiki/Regular_expressions" target=
+              "_top"><span class="QUOTE">"Regular Expressions"</span></a> and
+              <a href="http://en.wikipedia.org/wiki/Html" target=
+              "_top"><span class="QUOTE">"HTML"</span></a>. This is very
+              powerful feature, and potentially very intrusive. Filters
+              should be used with caution, and where an equivalent
+              <span class="QUOTE">"action"</span> is not available.</p>
+
+              <p>The amount of data that can be filtered is limited to the
+              <tt class="LITERAL"><a href=
+              "config.html#BUFFER-LIMIT">buffer-limit</a></tt> option in the
+              main <a href="config.html">config file</a>. The default is 4096
+              KB (4 Megs). Once this limit is exceeded, the buffered data,
+              and all pending data, is passed through unfiltered.</p>
+
+              <p>Inappropriate MIME types, such as zipped files, are not
+              filtered at all. (Again, only text-based types except plain
+              text). Encrypted SSL data (from HTTPS servers) cannot be
+              filtered either, since this would violate the integrity of the
+              secure transaction. In some situations it might be necessary to
+              protect certain text, like source code, from filtering by
+              defining appropriate <tt class="LITERAL">-filter</tt>
+              exceptions.</p>
+
+              <p>Compressed content can't be filtered either, but if
+              <span class="APPLICATION">Privoxy</span> is compiled with zlib
+              support and a supported compression algorithm is used (gzip or
+              deflate), <span class="APPLICATION">Privoxy</span> can first
+              decompress the content and then filter it.</p>
+
+              <p>If you use a <span class="APPLICATION">Privoxy</span>
+              version without zlib support, but want filtering to work on as
+              much documents as possible, even those that would normally be
+              sent compressed, you must use the <tt class="LITERAL"><a href=
+              "actions-file.html#PREVENT-COMPRESSION">prevent-compression</a></tt>
+              action in conjunction with <tt class="LITERAL">filter</tt>.</p>
+
+              <p>Content filtering can achieve some of the same effects as
+              the <tt class="LITERAL"><a href=
+              "actions-file.html#BLOCK">block</a></tt> action, i.e. it can be
+              used to block ads and banners. But the mechanism works quite
+              differently. One effective use, is to block ad banners based on
+              their size (see below), since many of these seem to be somewhat
+              standardized.</p>
+
+              <p><a href="contact.html">Feedback</a> with suggestions for new
+              or improved filters is particularly welcome!</p>
+
+              <p>The below list has only the names and a one-line description
+              of each predefined filter. There are <a href=
+              "filter-file.html#PREDEFINED-FILTERS">more verbose
+              explanations</a> of what these filters do in the <a href=
+              "filter-file.html">filter file chapter</a>.</p>
+            </dd>
+
+            <dt>Example usage (with filters from the distribution <tt class=
+            "FILENAME">default.filter</tt> file). See <a href=
+            "filter-file.html#PREDEFINED-FILTERS">the Predefined Filters
+            section</a> for more explanation on each:</dt>
+
+            <dd>
+              <p><a name="FILTER-JS-ANNOYANCES" id=
+              "FILTER-JS-ANNOYANCES"></a></p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 +filter{js-annoyances}       # Get rid of particularly annoying JavaScript abuse.
 </pre>
-                    </td>
-                  </tr>
-                </table>
+                  </td>
+                </tr>
+              </table>
 
-                <p>
-                  <a name="FILTER-JS-EVENTS"></a>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+              <p><a name="FILTER-JS-EVENTS" id="FILTER-JS-EVENTS"></a></p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 +filter{js-events}           # Kill all JS event bindings and timers (Radically destructive! Only for extra nasty sites).
 </pre>
-                    </td>
-                  </tr>
-                </table>
+                  </td>
+                </tr>
+              </table>
 
-                <p>
-                  <a name="FILTER-HTML-ANNOYANCES"></a>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+              <p><a name="FILTER-HTML-ANNOYANCES" id=
+              "FILTER-HTML-ANNOYANCES"></a></p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 +filter{html-annoyances}     # Get rid of particularly annoying HTML abuse.
 </pre>
-                    </td>
-                  </tr>
-                </table>
+                  </td>
+                </tr>
+              </table>
 
-                <p>
-                  <a name="FILTER-CONTENT-COOKIES"></a>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+              <p><a name="FILTER-CONTENT-COOKIES" id=
+              "FILTER-CONTENT-COOKIES"></a></p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 +filter{content-cookies}     # Kill cookies that come in the HTML or JS content.
 </pre>
-                    </td>
-                  </tr>
-                </table>
+                  </td>
+                </tr>
+              </table>
 
-                <p>
-                  <a name="FILTER-REFRESH-TAGS"></a>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+              <p><a name="FILTER-REFRESH-TAGS" id=
+              "FILTER-REFRESH-TAGS"></a></p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 +filter{refresh-tags}        # Kill automatic refresh tags (for dial-on-demand setups).
 </pre>
-                    </td>
-                  </tr>
-                </table>
+                  </td>
+                </tr>
+              </table>
 
-                <p>
-                  <a name="FILTER-UNSOLICITED-POPUPS"></a>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+              <p><a name="FILTER-UNSOLICITED-POPUPS" id=
+              "FILTER-UNSOLICITED-POPUPS"></a></p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 +filter{unsolicited-popups}  # Disable only unsolicited pop-up windows. Useful if your browser lacks this ability.
 </pre>
-                    </td>
-                  </tr>
-                </table>
+                  </td>
+                </tr>
+              </table>
 
-                <p>
-                  <a name="FILTER-ALL-POPUPS"></a>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+              <p><a name="FILTER-ALL-POPUPS" id="FILTER-ALL-POPUPS"></a></p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 +filter{all-popups}          # Kill all popups in JavaScript and HTML. Useful if your browser lacks this ability.
 </pre>
-                    </td>
-                  </tr>
-                </table>
+                  </td>
+                </tr>
+              </table>
 
-                <p>
-                  <a name="FILTER-IMG-REORDER"></a>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+              <p><a name="FILTER-IMG-REORDER" id=
+              "FILTER-IMG-REORDER"></a></p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 +filter{img-reorder}         # Reorder attributes in &lt;img&gt; tags to make the banners-by-* filters more effective.
 </pre>
-                    </td>
-                  </tr>
-                </table>
+                  </td>
+                </tr>
+              </table>
 
-                <p>
-                  <a name="FILTER-BANNERS-BY-SIZE"></a>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+              <p><a name="FILTER-BANNERS-BY-SIZE" id=
+              "FILTER-BANNERS-BY-SIZE"></a></p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 +filter{banners-by-size}     # Kill banners by size.
 </pre>
-                    </td>
-                  </tr>
-                </table>
+                  </td>
+                </tr>
+              </table>
 
-                <p>
-                  <a name="FILTER-BANNERS-BY-LINK"></a>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+              <p><a name="FILTER-BANNERS-BY-LINK" id=
+              "FILTER-BANNERS-BY-LINK"></a></p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 +filter{banners-by-link}     # Kill banners by their links to known clicktrackers.
 </pre>
-                    </td>
-                  </tr>
-                </table>
+                  </td>
+                </tr>
+              </table>
 
-                <p>
-                  <a name="FILTER-WEBBUGS"></a>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+              <p><a name="FILTER-WEBBUGS" id="FILTER-WEBBUGS"></a></p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 +filter{webbugs}             # Squish WebBugs (1x1 invisible GIFs used for user tracking).
 </pre>
-                    </td>
-                  </tr>
-                </table>
+                  </td>
+                </tr>
+              </table>
 
-                <p>
-                  <a name="FILTER-TINY-TEXTFORMS"></a>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+              <p><a name="FILTER-TINY-TEXTFORMS" id=
+              "FILTER-TINY-TEXTFORMS"></a></p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 +filter{tiny-textforms}      # Extend those tiny textareas up to 40x80 and kill the hard wrap.
 </pre>
-                    </td>
-                  </tr>
-                </table>
+                  </td>
+                </tr>
+              </table>
 
-                <p>
-                  <a name="FILTER-JUMPING-WINDOWS"></a>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+              <p><a name="FILTER-JUMPING-WINDOWS" id=
+              "FILTER-JUMPING-WINDOWS"></a></p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 +filter{jumping-windows}     # Prevent windows from resizing and moving themselves.
 </pre>
-                    </td>
-                  </tr>
-                </table>
+                  </td>
+                </tr>
+              </table>
 
-                <p>
-                  <a name="FILTER-FRAMESET-BORDERS"></a>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
-+filter{frameset-borders}    # Give frames a border and make them resizable.
-</pre>
-                    </td>
-                  </tr>
-                </table>
+              <p><a name="FILTER-FRAMESET-BORDERS" id=
+              "FILTER-FRAMESET-BORDERS"></a></p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
++filter{frameset-borders}    # Give frames a border and make them resizable.
+</pre>
+                  </td>
+                </tr>
+              </table>
 
-                <p>
-                  <a name="FILTER-DEMORONIZER"></a>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+              <p><a name="FILTER-DEMORONIZER" id=
+              "FILTER-DEMORONIZER"></a></p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 +filter{demoronizer}         # Fix MS's non-standard use of standard charsets.
 </pre>
-                    </td>
-                  </tr>
-                </table>
+                  </td>
+                </tr>
+              </table>
 
-                <p>
-                  <a name="FILTER-SHOCKWAVE-FLASH"></a>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+              <p><a name="FILTER-SHOCKWAVE-FLASH" id=
+              "FILTER-SHOCKWAVE-FLASH"></a></p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 +filter{shockwave-flash}     # Kill embedded Shockwave Flash objects.
 </pre>
-                    </td>
-                  </tr>
-                </table>
+                  </td>
+                </tr>
+              </table>
 
-                <p>
-                  <a name="FILTER-QUICKTIME-KIOSKMODE"></a>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+              <p><a name="FILTER-QUICKTIME-KIOSKMODE" id=
+              "FILTER-QUICKTIME-KIOSKMODE"></a></p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 +filter{quicktime-kioskmode} # Make Quicktime movies saveable.
 </pre>
-                    </td>
-                  </tr>
-                </table>
+                  </td>
+                </tr>
+              </table>
 
-                <p>
-                  <a name="FILTER-FUN"></a>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+              <p><a name="FILTER-FUN" id="FILTER-FUN"></a></p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 +filter{fun}                 # Text replacements for subversive browsing fun!
 </pre>
-                    </td>
-                  </tr>
-                </table>
+                  </td>
+                </tr>
+              </table>
 
-                <p>
-                  <a name="FILTER-CRUDE-PARENTAL"></a>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+              <p><a name="FILTER-CRUDE-PARENTAL" id=
+              "FILTER-CRUDE-PARENTAL"></a></p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 +filter{crude-parental}      # Crude parental filtering. Note that this filter doesn't work reliably.
 </pre>
-                    </td>
-                  </tr>
-                </table>
+                  </td>
+                </tr>
+              </table>
 
-                <p>
-                  <a name="FILTER-IE-EXPLOITS"></a>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+              <p><a name="FILTER-IE-EXPLOITS" id=
+              "FILTER-IE-EXPLOITS"></a></p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 +filter{ie-exploits}         # Disable some known Internet Explorer bug exploits.
 </pre>
-                    </td>
-                  </tr>
-                </table>
+                  </td>
+                </tr>
+              </table>
 
-                <p>
-                  <a name="FILTER-SITE-SPECIFICS"></a>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+              <p><a name="FILTER-SITE-SPECIFICS" id=
+              "FILTER-SITE-SPECIFICS"></a></p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 +filter{site-specifics}      # Cure for site-specific problems. Don't apply generally!
 </pre>
-                    </td>
-                  </tr>
-                </table>
+                  </td>
+                </tr>
+              </table>
 
-                <p>
-                  <a name="FILTER-NO-PING"></a>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+              <p><a name="FILTER-NO-PING" id="FILTER-NO-PING"></a></p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 +filter{no-ping}             # Removes non-standard ping attributes in &lt;a&gt; and &lt;area&gt; tags.
 </pre>
-                    </td>
-                  </tr>
-                </table>
+                  </td>
+                </tr>
+              </table>
 
-                <p>
-                  <a name="FILTER-GOOGLE"></a>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+              <p><a name="FILTER-GOOGLE" id="FILTER-GOOGLE"></a></p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 +filter{google}              # CSS-based block for Google text ads. Also removes a width limitation and the toolbar advertisement.
 </pre>
-                    </td>
-                  </tr>
-                </table>
+                  </td>
+                </tr>
+              </table>
 
-                <p>
-                  <a name="FILTER-YAHOO"></a>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+              <p><a name="FILTER-YAHOO" id="FILTER-YAHOO"></a></p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 +filter{yahoo}               # CSS-based block for Yahoo text ads. Also removes a width limitation.
 </pre>
-                    </td>
-                  </tr>
-                </table>
+                  </td>
+                </tr>
+              </table>
 
-                <p>
-                  <a name="FILTER-MSN"></a>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+              <p><a name="FILTER-MSN" id="FILTER-MSN"></a></p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 +filter{msn}                 # CSS-based block for MSN text ads. Also removes tracking URLs and a width limitation.
 </pre>
-                    </td>
-                  </tr>
-                </table>
+                  </td>
+                </tr>
+              </table>
 
-                <p>
-                  <a name="FILTER-BLOGSPOT"></a>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+              <p><a name="FILTER-BLOGSPOT" id="FILTER-BLOGSPOT"></a></p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 +filter{blogspot}            # Cleans up some Blogspot blogs. Read the fine print before using this.
 </pre>
+                  </td>
+                </tr>
+              </table>
+            </dd>
+          </dl>
+        </div>
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="FORCE-TEXT-MODE" id=
+        "FORCE-TEXT-MODE">8.5.16. force-text-mode</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Typical use:</dt>
+
+            <dd>
+              <p>Force <span class="APPLICATION">Privoxy</span> to treat a
+              document as if it was in some kind of <span class=
+              "emphasis EMPHASIS c2">text</span> format.</p>
+            </dd>
+
+            <dt>Effect:</dt>
+
+            <dd>
+              <p>Declares a document as text, even if the <span class=
+              "QUOTE">"Content-Type:"</span> isn't detected as such.</p>
+            </dd>
+
+            <dt>Type:</dt>
+
+            <dd>
+              <p>Boolean.</p>
+            </dd>
+
+            <dt>Parameter:</dt>
+
+            <dd>
+              <p>N/A</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>As explained <tt class="LITERAL"><a href=
+              "actions-file.html#FILTER">above</a></tt>, <span class=
+              "APPLICATION">Privoxy</span> tries to only filter files that
+              are in some kind of text format. The same restrictions apply to
+              <tt class="LITERAL"><a href=
+              "actions-file.html#CONTENT-TYPE-OVERWRITE">content-type-overwrite</a></tt>.
+              <tt class="LITERAL">force-text-mode</tt> declares a document as
+              text, without looking at the <span class=
+              "QUOTE">"Content-Type:"</span> first.</p>
+
+              <div class="WARNING">
+                <table class="WARNING" border="1" width="90%">
+                  <tr>
+                    <td class="c6" align="center">Warning</td>
+                  </tr>
+
+                  <tr>
+                    <td align="left">
+                      <p>Think twice before activating this action. Filtering
+                      binary data with regular expressions can cause file
+                      damage.</p>
                     </td>
                   </tr>
                 </table>
-              </dd>
-            </dl>
-          </div>
-        </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="FORCE-TEXT-MODE">8.5.16. force-text-mode</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Typical use:
-              </dt>
-              <dd>
-                <p>
-                  Force <span class="APPLICATION">Privoxy</span> to treat a
-                  document as if it was in some kind of <span class=
-                  "emphasis"><i class="EMPHASIS">text</i></span> format.
-                </p>
-              </dd>
-              <dt>
-                Effect:
-              </dt>
-              <dd>
-                <p>
-                  Declares a document as text, even if the <span class=
-                  "QUOTE">"Content-Type:"</span> isn't detected as such.
-                </p>
-              </dd>
-              <dt>
-                Type:
-              </dt>
-              <dd>
-                <p>
-                  Boolean.
-                </p>
-              </dd>
-              <dt>
-                Parameter:
-              </dt>
-              <dd>
-                <p>
-                  N/A
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  As explained <tt class="LITERAL"><a href=
-                  "actions-file.html#FILTER">above</a></tt>, <span class=
-                  "APPLICATION">Privoxy</span> tries to only filter files
-                  that are in some kind of text format. The same restrictions
-                  apply to <tt class="LITERAL"><a href=
-                  "actions-file.html#CONTENT-TYPE-OVERWRITE">content-type-overwrite</a></tt>.
-                  <tt class="LITERAL">force-text-mode</tt> declares a
-                  document as text, without looking at the <span class=
-                  "QUOTE">"Content-Type:"</span> first.
-                </p>
-                <div class="WARNING">
-                  <table class="WARNING" border="1" width="90%">
-                    <tr>
-                      <td align="CENTER">
-                        <b>Warning</b>
-                      </td>
-                    </tr>
-                    <tr>
-                      <td align="LEFT">
-                        <p>
-                          Think twice before activating this action.
-                          Filtering binary data with regular expressions can
-                          cause file damage.
-                        </p>
-                      </td>
-                    </tr>
-                  </table>
-                </div>
-              </dd>
-              <dt>
-                Example usage:
-              </dt>
-              <dd>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+              </div>
+            </dd>
+
+            <dt>Example usage:</dt>
+
+            <dd>
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 +force-text-mode
 
 </pre>
+                  </td>
+                </tr>
+              </table>
+            </dd>
+          </dl>
+        </div>
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="FORWARD-OVERRIDE" id=
+        "FORWARD-OVERRIDE">8.5.17. forward-override</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Typical use:</dt>
+
+            <dd>
+              <p>Change the forwarding settings based on User-Agent or
+              request origin</p>
+            </dd>
+
+            <dt>Effect:</dt>
+
+            <dd>
+              <p>Overrules the forward directives in the configuration
+              file.</p>
+            </dd>
+
+            <dt>Type:</dt>
+
+            <dd>
+              <p>Multi-value.</p>
+            </dd>
+
+            <dt>Parameter:</dt>
+
+            <dd>
+              <ul>
+                <li>
+                  <p><span class="QUOTE">"forward ."</span> to use a direct
+                  connection without any additional proxies.</p>
+                </li>
+
+                <li>
+                  <p><span class="QUOTE">"forward 127.0.0.1:8123"</span> to
+                  use the HTTP proxy listening at 127.0.0.1 port 8123.</p>
+                </li>
+
+                <li>
+                  <p><span class="QUOTE">"forward-socks4a 127.0.0.1:9050
+                  ."</span> to use the socks4a proxy listening at 127.0.0.1
+                  port 9050. Replace <span class=
+                  "QUOTE">"forward-socks4a"</span> with <span class=
+                  "QUOTE">"forward-socks4"</span> to use a socks4 connection
+                  (with local DNS resolution) instead, use <span class=
+                  "QUOTE">"forward-socks5"</span> for socks5 connections
+                  (with remote DNS resolution).</p>
+                </li>
+
+                <li>
+                  <p><span class="QUOTE">"forward-socks4a 127.0.0.1:9050
+                  proxy.example.org:8000"</span> to use the socks4a proxy
+                  listening at 127.0.0.1 port 9050 to reach the HTTP proxy
+                  listening at proxy.example.org port 8000. Replace
+                  <span class="QUOTE">"forward-socks4a"</span> with
+                  <span class="QUOTE">"forward-socks4"</span> to use a socks4
+                  connection (with local DNS resolution) instead, use
+                  <span class="QUOTE">"forward-socks5"</span> for socks5
+                  connections (with remote DNS resolution).</p>
+                </li>
+              </ul>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>This action takes parameters similar to the <a href=
+              "config.html#FORWARDING">forward</a> directives in the
+              configuration file, but without the URL pattern. It can be used
+              as replacement, but normally it's only used in cases where
+              matching based on the request URL isn't sufficient.</p>
+
+              <div class="WARNING">
+                <table class="WARNING" border="1" width="90%">
+                  <tr>
+                    <td class="c6" align="center">Warning</td>
+                  </tr>
+
+                  <tr>
+                    <td align="left">
+                      <p>Please read the description for the <a href=
+                      "config.html#FORWARDING">forward</a> directives before
+                      using this action. Forwarding to the wrong people will
+                      reduce your privacy and increase the chances of
+                      man-in-the-middle attacks.</p>
+
+                      <p>If the ports are missing or invalid, default values
+                      will be used. This might change in the future and you
+                      shouldn't rely on it. Otherwise incorrect syntax causes
+                      Privoxy to exit.</p>
+
+                      <p>Use the <a href=
+                      "http://config.privoxy.org/show-url-info" target=
+                      "_top">show-url-info CGI page</a> to verify that your
+                      forward settings do what you thought the do.</p>
                     </td>
                   </tr>
                 </table>
-              </dd>
-            </dl>
-          </div>
-        </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="FORWARD-OVERRIDE">8.5.17. forward-override</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Typical use:
-              </dt>
-              <dd>
-                <p>
-                  Change the forwarding settings based on User-Agent or
-                  request origin
-                </p>
-              </dd>
-              <dt>
-                Effect:
-              </dt>
-              <dd>
-                <p>
-                  Overrules the forward directives in the configuration file.
-                </p>
-              </dd>
-              <dt>
-                Type:
-              </dt>
-              <dd>
-                <p>
-                  Multi-value.
-                </p>
-              </dd>
-              <dt>
-                Parameter:
-              </dt>
-              <dd>
-                <ul>
-                  <li>
-                    <p>
-                      <span class="QUOTE">"forward ."</span> to use a direct
-                      connection without any additional proxies.
-                    </p>
-                  </li>
-                  <li>
-                    <p>
-                      <span class="QUOTE">"forward 127.0.0.1:8123"</span> to
-                      use the HTTP proxy listening at 127.0.0.1 port 8123.
-                    </p>
-                  </li>
-                  <li>
-                    <p>
-                      <span class="QUOTE">"forward-socks4a 127.0.0.1:9050
-                      ."</span> to use the socks4a proxy listening at
-                      127.0.0.1 port 9050. Replace <span class=
-                      "QUOTE">"forward-socks4a"</span> with <span class=
-                      "QUOTE">"forward-socks4"</span> to use a socks4
-                      connection (with local DNS resolution) instead, use
-                      <span class="QUOTE">"forward-socks5"</span> for socks5
-                      connections (with remote DNS resolution).
-                    </p>
-                  </li>
-                  <li>
-                    <p>
-                      <span class="QUOTE">"forward-socks4a 127.0.0.1:9050
-                      proxy.example.org:8000"</span> to use the socks4a proxy
-                      listening at 127.0.0.1 port 9050 to reach the HTTP
-                      proxy listening at proxy.example.org port 8000. Replace
-                      <span class="QUOTE">"forward-socks4a"</span> with <span
-                      class="QUOTE">"forward-socks4"</span> to use a socks4
-                      connection (with local DNS resolution) instead, use
-                      <span class="QUOTE">"forward-socks5"</span> for socks5
-                      connections (with remote DNS resolution).
-                    </p>
-                  </li>
-                </ul>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  This action takes parameters similar to the <a href=
-                  "config.html#FORWARDING">forward</a> directives in the
-                  configuration file, but without the URL pattern. It can be
-                  used as replacement, but normally it's only used in cases
-                  where matching based on the request URL isn't sufficient.
-                </p>
-                <div class="WARNING">
-                  <table class="WARNING" border="1" width="90%">
-                    <tr>
-                      <td align="CENTER">
-                        <b>Warning</b>
-                      </td>
-                    </tr>
-                    <tr>
-                      <td align="LEFT">
-                        <p>
-                          Please read the description for the <a href=
-                          "config.html#FORWARDING">forward</a> directives
-                          before using this action. Forwarding to the wrong
-                          people will reduce your privacy and increase the
-                          chances of man-in-the-middle attacks.
-                        </p>
-                        <p>
-                          If the ports are missing or invalid, default values
-                          will be used. This might change in the future and
-                          you shouldn't rely on it. Otherwise incorrect
-                          syntax causes Privoxy to exit.
-                        </p>
-                        <p>
-                          Use the <a href=
-                          "http://config.privoxy.org/show-url-info" target=
-                          "_top">show-url-info CGI page</a> to verify that
-                          your forward settings do what you thought the do.
-                        </p>
-                      </td>
-                    </tr>
-                  </table>
-                </div>
-              </dd>
-              <dt>
-                Example usage:
-              </dt>
-              <dd>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+              </div>
+            </dd>
+
+            <dt>Example usage:</dt>
+
+            <dd>
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 # Always use direct connections for requests previously tagged as
 # <span class="QUOTE">"User-Agent: fetch libfetch/2.0"</span> and make sure
 # resuming downloads continues to work.
@@ -3208,193 +2743,162 @@ problem-host.example.com
 }
 TAG:^User-Agent: fetch libfetch/2\.0$
 
-</pre>
-                    </td>
-                  </tr>
-                </table>
-              </dd>
-            </dl>
-          </div>
-        </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="HANDLE-AS-EMPTY-DOCUMENT">8.5.18.
-            handle-as-empty-document</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Typical use:
-              </dt>
-              <dd>
-                <p>
-                  Mark URLs that should be replaced by empty documents <span
-                  class="emphasis"><i class="EMPHASIS">if they get
-                  blocked</i></span>
-                </p>
-              </dd>
-              <dt>
-                Effect:
-              </dt>
-              <dd>
-                <p>
-                  This action alone doesn't do anything noticeable. It just
-                  marks URLs. If the <tt class="LITERAL"><a href=
-                  "actions-file.html#BLOCK">block</a></tt> action <span
-                  class="emphasis"><i class="EMPHASIS">also
-                  applies</i></span>, the presence or absence of this mark
-                  decides whether an HTML <span class=
-                  "QUOTE">"BLOCKED"</span> page, or an empty document will be
-                  sent to the client as a substitute for the blocked content.
-                  The <span class="emphasis"><i class=
-                  "EMPHASIS">empty</i></span> document isn't literally empty,
-                  but actually contains a single space.
-                </p>
-              </dd>
-              <dt>
-                Type:
-              </dt>
-              <dd>
-                <p>
-                  Boolean.
-                </p>
-              </dd>
-              <dt>
-                Parameter:
-              </dt>
-              <dd>
-                <p>
-                  N/A
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  Some browsers complain about syntax errors if JavaScript
-                  documents are blocked with <span class=
-                  "APPLICATION">Privoxy's</span> default HTML page; this
-                  option can be used to silence them. And of course this
-                  action can also be used to eliminate the <span class=
-                  "APPLICATION">Privoxy</span> BLOCKED message in frames.
-                </p>
-                <p>
-                  The content type for the empty document can be specified
-                  with <tt class="LITERAL"><a href=
-                  "actions-file.html#CONTENT-TYPE-OVERWRITE">content-type-overwrite{}</a></tt>,
-                  but usually this isn't necessary.
-                </p>
-              </dd>
-              <dt>
-                Example usage:
-              </dt>
-              <dd>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
-# Block all documents on example.org that end with ".js",
-# but send an empty document instead of the usual HTML message.
-{+block{Blocked JavaScript} +handle-as-empty-document}
-example.org/.*\.js$
+</pre>
+                  </td>
+                </tr>
+              </table>
+            </dd>
+          </dl>
+        </div>
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="HANDLE-AS-EMPTY-DOCUMENT" id=
+        "HANDLE-AS-EMPTY-DOCUMENT">8.5.18. handle-as-empty-document</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Typical use:</dt>
+
+            <dd>
+              <p>Mark URLs that should be replaced by empty documents
+              <span class="emphasis EMPHASIS c2">if they get
+              blocked</span></p>
+            </dd>
+
+            <dt>Effect:</dt>
+
+            <dd>
+              <p>This action alone doesn't do anything noticeable. It just
+              marks URLs. If the <tt class="LITERAL"><a href=
+              "actions-file.html#BLOCK">block</a></tt> action <span class=
+              "emphasis EMPHASIS c2">also applies</span>, the presence or
+              absence of this mark decides whether an HTML <span class=
+              "QUOTE">"BLOCKED"</span> page, or an empty document will be
+              sent to the client as a substitute for the blocked content. The
+              <span class="emphasis EMPHASIS c2">empty</span> document isn't
+              literally empty, but actually contains a single space.</p>
+            </dd>
+
+            <dt>Type:</dt>
+
+            <dd>
+              <p>Boolean.</p>
+            </dd>
+
+            <dt>Parameter:</dt>
+
+            <dd>
+              <p>N/A</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>Some browsers complain about syntax errors if JavaScript
+              documents are blocked with <span class=
+              "APPLICATION">Privoxy's</span> default HTML page; this option
+              can be used to silence them. And of course this action can also
+              be used to eliminate the <span class=
+              "APPLICATION">Privoxy</span> BLOCKED message in frames.</p>
+
+              <p>The content type for the empty document can be specified
+              with <tt class="LITERAL"><a href=
+              "actions-file.html#CONTENT-TYPE-OVERWRITE">content-type-overwrite{}</a></tt>,
+              but usually this isn't necessary.</p>
+            </dd>
+
+            <dt>Example usage:</dt>
+
+            <dd>
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
+# Block all documents on example.org that end with ".js",
+# but send an empty document instead of the usual HTML message.
+{+block{Blocked JavaScript} +handle-as-empty-document}
+example.org/.*\.js$
+
+</pre>
+                  </td>
+                </tr>
+              </table>
+            </dd>
+          </dl>
+        </div>
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="HANDLE-AS-IMAGE" id=
+        "HANDLE-AS-IMAGE">8.5.19. handle-as-image</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Typical use:</dt>
+
+            <dd>
+              <p>Mark URLs as belonging to images (so they'll be replaced by
+              images <span class="emphasis EMPHASIS c2">if they do get
+              blocked</span>, rather than HTML pages)</p>
+            </dd>
+
+            <dt>Effect:</dt>
+
+            <dd>
+              <p>This action alone doesn't do anything noticeable. It just
+              marks URLs as images. If the <tt class="LITERAL"><a href=
+              "actions-file.html#BLOCK">block</a></tt> action <span class=
+              "emphasis EMPHASIS c2">also applies</span>, the presence or
+              absence of this mark decides whether an HTML <span class=
+              "QUOTE">"blocked"</span> page, or a replacement image (as
+              determined by the <tt class="LITERAL"><a href=
+              "actions-file.html#SET-IMAGE-BLOCKER">set-image-blocker</a></tt>
+              action) will be sent to the client as a substitute for the
+              blocked content.</p>
+            </dd>
+
+            <dt>Type:</dt>
+
+            <dd>
+              <p>Boolean.</p>
+            </dd>
+
+            <dt>Parameter:</dt>
 
-</pre>
-                    </td>
-                  </tr>
-                </table>
-              </dd>
-            </dl>
-          </div>
-        </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="HANDLE-AS-IMAGE">8.5.19. handle-as-image</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Typical use:
-              </dt>
-              <dd>
-                <p>
-                  Mark URLs as belonging to images (so they'll be replaced by
-                  images <span class="emphasis"><i class="EMPHASIS">if they
-                  do get blocked</i></span>, rather than HTML pages)
-                </p>
-              </dd>
-              <dt>
-                Effect:
-              </dt>
-              <dd>
-                <p>
-                  This action alone doesn't do anything noticeable. It just
-                  marks URLs as images. If the <tt class="LITERAL"><a href=
-                  "actions-file.html#BLOCK">block</a></tt> action <span
-                  class="emphasis"><i class="EMPHASIS">also
-                  applies</i></span>, the presence or absence of this mark
-                  decides whether an HTML <span class=
-                  "QUOTE">"blocked"</span> page, or a replacement image (as
-                  determined by the <tt class="LITERAL"><a href=
-                  "actions-file.html#SET-IMAGE-BLOCKER">set-image-blocker</a></tt>
-                  action) will be sent to the client as a substitute for the
-                  blocked content.
-                </p>
-              </dd>
-              <dt>
-                Type:
-              </dt>
-              <dd>
-                <p>
-                  Boolean.
-                </p>
-              </dd>
-              <dt>
-                Parameter:
-              </dt>
-              <dd>
-                <p>
-                  N/A
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  The below generic example section is actually part of <tt
-                  class="FILENAME">default.action</tt>. It marks all URLs
-                  with well-known image file name extensions as images and
-                  should be left intact.
-                </p>
-                <p>
-                  Users will probably only want to use the handle-as-image
-                  action in conjunction with <tt class="LITERAL"><a href=
-                  "actions-file.html#BLOCK">block</a></tt>, to block sources
-                  of banners, whose URLs don't reflect the file type, like in
-                  the second example section.
-                </p>
-                <p>
-                  Note that you cannot treat HTML pages as images in most
-                  cases. For instance, (in-line) ad frames require an HTML
-                  page to be sent, or they won't display properly. Forcing
-                  <tt class="LITERAL">handle-as-image</tt> in this situation
-                  will not replace the ad frame with an image, but lead to
-                  error messages.
-                </p>
-              </dd>
-              <dt>
-                Example usage (sections):
-              </dt>
-              <dd>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+            <dd>
+              <p>N/A</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>The below generic example section is actually part of
+              <tt class="FILENAME">default.action</tt>. It marks all URLs
+              with well-known image file name extensions as images and should
+              be left intact.</p>
+
+              <p>Users will probably only want to use the handle-as-image
+              action in conjunction with <tt class="LITERAL"><a href=
+              "actions-file.html#BLOCK">block</a></tt>, to block sources of
+              banners, whose URLs don't reflect the file type, like in the
+              second example section.</p>
+
+              <p>Note that you cannot treat HTML pages as images in most
+              cases. For instance, (in-line) ad frames require an HTML page
+              to be sent, or they won't display properly. Forcing <tt class=
+              "LITERAL">handle-as-image</tt> in this situation will not
+              replace the ad frame with an image, but lead to error
+              messages.</p>
+            </dd>
+
+            <dt>Example usage (sections):</dt>
+
+            <dd>
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 # Generic image extensions:
 #
 {+handle-as-image}
@@ -3406,847 +2910,710 @@ example.org/.*\.js$
 {+block{Nasty banners.} +handle-as-image}
 nasty-banner-server.example.com/junk.cgi\?output=trash
 </pre>
-                    </td>
-                  </tr>
-                </table>
-              </dd>
-            </dl>
-          </div>
+                  </td>
+                </tr>
+              </table>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="HIDE-ACCEPT-LANGUAGE">8.5.20. hide-accept-language</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Typical use:
-              </dt>
-              <dd>
-                <p>
-                  Pretend to use different language settings.
-                </p>
-              </dd>
-              <dt>
-                Effect:
-              </dt>
-              <dd>
-                <p>
-                  Deletes or replaces the <span class=
-                  "QUOTE">"Accept-Language:"</span> HTTP header in client
-                  requests.
-                </p>
-              </dd>
-              <dt>
-                Type:
-              </dt>
-              <dd>
-                <p>
-                  Parameterized.
-                </p>
-              </dd>
-              <dt>
-                Parameter:
-              </dt>
-              <dd>
-                <p>
-                  Keyword: <span class="QUOTE">"block"</span>, or any user
-                  defined value.
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  Faking the browser's language settings can be useful to
-                  make a foreign User-Agent set with <tt class="LITERAL"><a
-                  href=
-                  "actions-file.html#HIDE-USER-AGENT">hide-user-agent</a></tt>
-                  more believable.
-                </p>
-                <p>
-                  However some sites with content in different languages
-                  check the <span class="QUOTE">"Accept-Language:"</span> to
-                  decide which one to take by default. Sometimes it isn't
-                  possible to later switch to another language without
-                  changing the <span class="QUOTE">"Accept-Language:"</span>
-                  header first.
-                </p>
-                <p>
-                  Therefore it's a good idea to either only change the <span
-                  class="QUOTE">"Accept-Language:"</span> header to languages
-                  you understand, or to languages that aren't wide spread.
-                </p>
-                <p>
-                  Before setting the <span class=
-                  "QUOTE">"Accept-Language:"</span> header to a rare
-                  language, you should consider that it helps to make your
-                  requests unique and thus easier to trace. If you don't plan
-                  to change this header frequently, you should stick to a
-                  common language.
-                </p>
-              </dd>
-              <dt>
-                Example usage (section):
-              </dt>
-              <dd>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="HIDE-ACCEPT-LANGUAGE" id=
+        "HIDE-ACCEPT-LANGUAGE">8.5.20. hide-accept-language</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Typical use:</dt>
+
+            <dd>
+              <p>Pretend to use different language settings.</p>
+            </dd>
+
+            <dt>Effect:</dt>
+
+            <dd>
+              <p>Deletes or replaces the <span class=
+              "QUOTE">"Accept-Language:"</span> HTTP header in client
+              requests.</p>
+            </dd>
+
+            <dt>Type:</dt>
+
+            <dd>
+              <p>Parameterized.</p>
+            </dd>
+
+            <dt>Parameter:</dt>
+
+            <dd>
+              <p>Keyword: <span class="QUOTE">"block"</span>, or any user
+              defined value.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>Faking the browser's language settings can be useful to make
+              a foreign User-Agent set with <tt class="LITERAL"><a href=
+              "actions-file.html#HIDE-USER-AGENT">hide-user-agent</a></tt>
+              more believable.</p>
+
+              <p>However some sites with content in different languages check
+              the <span class="QUOTE">"Accept-Language:"</span> to decide
+              which one to take by default. Sometimes it isn't possible to
+              later switch to another language without changing the
+              <span class="QUOTE">"Accept-Language:"</span> header first.</p>
+
+              <p>Therefore it's a good idea to either only change the
+              <span class="QUOTE">"Accept-Language:"</span> header to
+              languages you understand, or to languages that aren't wide
+              spread.</p>
+
+              <p>Before setting the <span class=
+              "QUOTE">"Accept-Language:"</span> header to a rare language,
+              you should consider that it helps to make your requests unique
+              and thus easier to trace. If you don't plan to change this
+              header frequently, you should stick to a common language.</p>
+            </dd>
+
+            <dt>Example usage (section):</dt>
+
+            <dd>
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 # Pretend to use Canadian language settings.
 {+hide-accept-language{en-ca} \
 +hide-user-agent{Mozilla/5.0 (X11; U; OpenBSD i386; en-CA; rv:1.8.0.4) Gecko/20060628 Firefox/1.5.0.4} \
 }
 /
 </pre>
-                    </td>
-                  </tr>
-                </table>
-              </dd>
-            </dl>
-          </div>
+                  </td>
+                </tr>
+              </table>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="HIDE-CONTENT-DISPOSITION">8.5.21.
-            hide-content-disposition</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Typical use:
-              </dt>
-              <dd>
-                <p>
-                  Prevent download menus for content you prefer to view
-                  inside the browser.
-                </p>
-              </dd>
-              <dt>
-                Effect:
-              </dt>
-              <dd>
-                <p>
-                  Deletes or replaces the <span class=
-                  "QUOTE">"Content-Disposition:"</span> HTTP header set by
-                  some servers.
-                </p>
-              </dd>
-              <dt>
-                Type:
-              </dt>
-              <dd>
-                <p>
-                  Parameterized.
-                </p>
-              </dd>
-              <dt>
-                Parameter:
-              </dt>
-              <dd>
-                <p>
-                  Keyword: <span class="QUOTE">"block"</span>, or any user
-                  defined value.
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  Some servers set the <span class=
-                  "QUOTE">"Content-Disposition:"</span> HTTP header for
-                  documents they assume you want to save locally before
-                  viewing them. The <span class=
-                  "QUOTE">"Content-Disposition:"</span> header contains the
-                  file name the browser is supposed to use by default.
-                </p>
-                <p>
-                  In most browsers that understand this header, it makes it
-                  impossible to <span class="emphasis"><i class=
-                  "EMPHASIS">just view</i></span> the document, without
-                  downloading it first, even if it's just a simple text file
-                  or an image.
-                </p>
-                <p>
-                  Removing the <span class=
-                  "QUOTE">"Content-Disposition:"</span> header helps to
-                  prevent this annoyance, but some browsers additionally
-                  check the <span class="QUOTE">"Content-Type:"</span>
-                  header, before they decide if they can display a document
-                  without saving it first. In these cases, you have to change
-                  this header as well, before the browser stops displaying
-                  download menus.
-                </p>
-                <p>
-                  It is also possible to change the server's file name
-                  suggestion to another one, but in most cases it isn't worth
-                  the time to set it up.
-                </p>
-                <p>
-                  This action will probably be removed in the future, use
-                  server-header filters instead.
-                </p>
-              </dd>
-              <dt>
-                Example usage:
-              </dt>
-              <dd>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="HIDE-CONTENT-DISPOSITION" id=
+        "HIDE-CONTENT-DISPOSITION">8.5.21. hide-content-disposition</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Typical use:</dt>
+
+            <dd>
+              <p>Prevent download menus for content you prefer to view inside
+              the browser.</p>
+            </dd>
+
+            <dt>Effect:</dt>
+
+            <dd>
+              <p>Deletes or replaces the <span class=
+              "QUOTE">"Content-Disposition:"</span> HTTP header set by some
+              servers.</p>
+            </dd>
+
+            <dt>Type:</dt>
+
+            <dd>
+              <p>Parameterized.</p>
+            </dd>
+
+            <dt>Parameter:</dt>
+
+            <dd>
+              <p>Keyword: <span class="QUOTE">"block"</span>, or any user
+              defined value.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>Some servers set the <span class=
+              "QUOTE">"Content-Disposition:"</span> HTTP header for documents
+              they assume you want to save locally before viewing them. The
+              <span class="QUOTE">"Content-Disposition:"</span> header
+              contains the file name the browser is supposed to use by
+              default.</p>
+
+              <p>In most browsers that understand this header, it makes it
+              impossible to <span class="emphasis EMPHASIS c2">just
+              view</span> the document, without downloading it first, even if
+              it's just a simple text file or an image.</p>
+
+              <p>Removing the <span class=
+              "QUOTE">"Content-Disposition:"</span> header helps to prevent
+              this annoyance, but some browsers additionally check the
+              <span class="QUOTE">"Content-Type:"</span> header, before they
+              decide if they can display a document without saving it first.
+              In these cases, you have to change this header as well, before
+              the browser stops displaying download menus.</p>
+
+              <p>It is also possible to change the server's file name
+              suggestion to another one, but in most cases it isn't worth the
+              time to set it up.</p>
+
+              <p>This action will probably be removed in the future, use
+              server-header filters instead.</p>
+            </dd>
+
+            <dt>Example usage:</dt>
+
+            <dd>
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 # Disarm the download link in Sourceforge's patch tracker
 { -filter \
  +content-type-overwrite{text/plain}\
  +hide-content-disposition{block} }
  .sourceforge.net/tracker/download\.php
 </pre>
-                    </td>
-                  </tr>
-                </table>
-              </dd>
-            </dl>
-          </div>
+                  </td>
+                </tr>
+              </table>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="HIDE-IF-MODIFIED-SINCE">8.5.22.
-            hide-if-modified-since</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Typical use:
-              </dt>
-              <dd>
-                <p>
-                  Prevent yet another way to track the user's steps between
-                  sessions.
-                </p>
-              </dd>
-              <dt>
-                Effect:
-              </dt>
-              <dd>
-                <p>
-                  Deletes the <span class="QUOTE">"If-Modified-Since:"</span>
-                  HTTP client header or modifies its value.
-                </p>
-              </dd>
-              <dt>
-                Type:
-              </dt>
-              <dd>
-                <p>
-                  Parameterized.
-                </p>
-              </dd>
-              <dt>
-                Parameter:
-              </dt>
-              <dd>
-                <p>
-                  Keyword: <span class="QUOTE">"block"</span>, or a user
-                  defined value that specifies a range of hours.
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  Removing this header is useful for filter testing, where
-                  you want to force a real reload instead of getting status
-                  code <span class="QUOTE">"304"</span>, which would cause
-                  the browser to use a cached copy of the page.
-                </p>
-                <p>
-                  Instead of removing the header, <tt class=
-                  "LITERAL">hide-if-modified-since</tt> can also add or
-                  subtract a random amount of time to/from the header's
-                  value. You specify a range of minutes where the random
-                  factor should be chosen from and <span class=
-                  "APPLICATION">Privoxy</span> does the rest. A negative
-                  value means subtracting, a positive value adding.
-                </p>
-                <p>
-                  Randomizing the value of the <span class=
-                  "QUOTE">"If-Modified-Since:"</span> makes it less likely
-                  that the server can use the time as a cookie replacement,
-                  but you will run into caching problems if the random range
-                  is too high.
-                </p>
-                <p>
-                  It is a good idea to only use a small negative value and
-                  let <tt class="LITERAL"><a href=
-                  "actions-file.html#OVERWRITE-LAST-MODIFIED">overwrite-last-modified</a></tt>
-                  handle the greater changes.
-                </p>
-                <p>
-                  It is also recommended to use this action together with <tt
-                  class="LITERAL"><a href=
-                  "actions-file.html#CRUNCH-IF-NONE-MATCH">crunch-if-none-match</a></tt>,
-                  otherwise it's more or less pointless.
-                </p>
-              </dd>
-              <dt>
-                Example usage (section):
-              </dt>
-              <dd>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="HIDE-IF-MODIFIED-SINCE" id=
+        "HIDE-IF-MODIFIED-SINCE">8.5.22. hide-if-modified-since</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Typical use:</dt>
+
+            <dd>
+              <p>Prevent yet another way to track the user's steps between
+              sessions.</p>
+            </dd>
+
+            <dt>Effect:</dt>
+
+            <dd>
+              <p>Deletes the <span class="QUOTE">"If-Modified-Since:"</span>
+              HTTP client header or modifies its value.</p>
+            </dd>
+
+            <dt>Type:</dt>
+
+            <dd>
+              <p>Parameterized.</p>
+            </dd>
+
+            <dt>Parameter:</dt>
+
+            <dd>
+              <p>Keyword: <span class="QUOTE">"block"</span>, or a user
+              defined value that specifies a range of hours.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>Removing this header is useful for filter testing, where you
+              want to force a real reload instead of getting status code
+              <span class="QUOTE">"304"</span>, which would cause the browser
+              to use a cached copy of the page.</p>
+
+              <p>Instead of removing the header, <tt class=
+              "LITERAL">hide-if-modified-since</tt> can also add or subtract
+              a random amount of time to/from the header's value. You specify
+              a range of minutes where the random factor should be chosen
+              from and <span class="APPLICATION">Privoxy</span> does the
+              rest. A negative value means subtracting, a positive value
+              adding.</p>
+
+              <p>Randomizing the value of the <span class=
+              "QUOTE">"If-Modified-Since:"</span> makes it less likely that
+              the server can use the time as a cookie replacement, but you
+              will run into caching problems if the random range is too
+              high.</p>
+
+              <p>It is a good idea to only use a small negative value and let
+              <tt class="LITERAL"><a href=
+              "actions-file.html#OVERWRITE-LAST-MODIFIED">overwrite-last-modified</a></tt>
+              handle the greater changes.</p>
+
+              <p>It is also recommended to use this action together with
+              <tt class="LITERAL"><a href=
+              "actions-file.html#CRUNCH-IF-NONE-MATCH">crunch-if-none-match</a></tt>,
+              otherwise it's more or less pointless.</p>
+            </dd>
+
+            <dt>Example usage (section):</dt>
+
+            <dd>
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 # Let the browser revalidate but make tracking based on the time less likely.
 {+hide-if-modified-since{-60} \
  +overwrite-last-modified{randomize} \
  +crunch-if-none-match}
 /
 </pre>
-                    </td>
-                  </tr>
-                </table>
-              </dd>
-            </dl>
-          </div>
+                  </td>
+                </tr>
+              </table>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="HIDE-FROM-HEADER">8.5.23. hide-from-header</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Typical use:
-              </dt>
-              <dd>
-                <p>
-                  Keep your (old and ill) browser from telling web servers
-                  your email address
-                </p>
-              </dd>
-              <dt>
-                Effect:
-              </dt>
-              <dd>
-                <p>
-                  Deletes any existing <span class="QUOTE">"From:"</span>
-                  HTTP header, or replaces it with the specified string.
-                </p>
-              </dd>
-              <dt>
-                Type:
-              </dt>
-              <dd>
-                <p>
-                  Parameterized.
-                </p>
-              </dd>
-              <dt>
-                Parameter:
-              </dt>
-              <dd>
-                <p>
-                  Keyword: <span class="QUOTE">"block"</span>, or any user
-                  defined value.
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  The keyword <span class="QUOTE">"block"</span> will
-                  completely remove the header (not to be confused with the
-                  <tt class="LITERAL"><a href=
-                  "actions-file.html#BLOCK">block</a></tt> action).
-                </p>
-                <p>
-                  Alternately, you can specify any value you prefer to be
-                  sent to the web server. If you do, it is a matter of
-                  fairness not to use any address that is actually used by a
-                  real person.
-                </p>
-                <p>
-                  This action is rarely needed, as modern web browsers don't
-                  send <span class="QUOTE">"From:"</span> headers anymore.
-                </p>
-              </dd>
-              <dt>
-                Example usage:
-              </dt>
-              <dd>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="HIDE-FROM-HEADER" id=
+        "HIDE-FROM-HEADER">8.5.23. hide-from-header</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Typical use:</dt>
+
+            <dd>
+              <p>Keep your (old and ill) browser from telling web servers
+              your email address</p>
+            </dd>
+
+            <dt>Effect:</dt>
+
+            <dd>
+              <p>Deletes any existing <span class="QUOTE">"From:"</span> HTTP
+              header, or replaces it with the specified string.</p>
+            </dd>
+
+            <dt>Type:</dt>
+
+            <dd>
+              <p>Parameterized.</p>
+            </dd>
+
+            <dt>Parameter:</dt>
+
+            <dd>
+              <p>Keyword: <span class="QUOTE">"block"</span>, or any user
+              defined value.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>The keyword <span class="QUOTE">"block"</span> will
+              completely remove the header (not to be confused with the
+              <tt class="LITERAL"><a href=
+              "actions-file.html#BLOCK">block</a></tt> action).</p>
+
+              <p>Alternately, you can specify any value you prefer to be sent
+              to the web server. If you do, it is a matter of fairness not to
+              use any address that is actually used by a real person.</p>
+
+              <p>This action is rarely needed, as modern web browsers don't
+              send <span class="QUOTE">"From:"</span> headers anymore.</p>
+            </dd>
+
+            <dt>Example usage:</dt>
+
+            <dd>
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 +hide-from-header{block}
 </pre>
-                    </td>
-                  </tr>
-                </table>
-                or
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+                  </td>
+                </tr>
+              </table>or
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 +hide-from-header{spam-me-senseless@sittingduck.example.com}
 </pre>
-                    </td>
-                  </tr>
-                </table>
-              </dd>
-            </dl>
-          </div>
+                  </td>
+                </tr>
+              </table>
+            </dd>
+          </dl>
+        </div>
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="HIDE-REFERRER" id="HIDE-REFERRER">8.5.24.
+        hide-referrer</a></h4><a name="HIDE-REFERER" id="HIDE-REFERER"></a>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Typical use:</dt>
+
+            <dd>
+              <p>Conceal which link you followed to get to a particular
+              site</p>
+            </dd>
+
+            <dt>Effect:</dt>
+
+            <dd>
+              <p>Deletes the <span class="QUOTE">"Referer:"</span> (sic) HTTP
+              header from the client request, or replaces it with a forged
+              one.</p>
+            </dd>
+
+            <dt>Type:</dt>
+
+            <dd>
+              <p>Parameterized.</p>
+            </dd>
+
+            <dt>Parameter:</dt>
+
+            <dd>
+              <ul>
+                <li>
+                  <p><span class="QUOTE">"conditional-block"</span> to delete
+                  the header completely if the host has changed.</p>
+                </li>
+
+                <li>
+                  <p><span class="QUOTE">"conditional-forge"</span> to forge
+                  the header if the host has changed.</p>
+                </li>
+
+                <li>
+                  <p><span class="QUOTE">"block"</span> to delete the header
+                  unconditionally.</p>
+                </li>
+
+                <li>
+                  <p><span class="QUOTE">"forge"</span> to pretend to be
+                  coming from the homepage of the server we are talking
+                  to.</p>
+                </li>
+
+                <li>
+                  <p>Any other string to set a user defined referrer.</p>
+                </li>
+              </ul>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p><tt class="LITERAL">conditional-block</tt> is the only
+              parameter, that isn't easily detected in the server's log file.
+              If it blocks the referrer, the request will look like the
+              visitor used a bookmark or typed in the address directly.</p>
+
+              <p>Leaving the referrer unmodified for requests on the same
+              host allows the server owner to see the visitor's <span class=
+              "QUOTE">"click path"</span>, but in most cases she could also
+              get that information by comparing other parts of the log file:
+              for example the User-Agent if it isn't a very common one, or
+              the user's IP address if it doesn't change between different
+              requests.</p>
+
+              <p>Always blocking the referrer, or using a custom one, can
+              lead to failures on servers that check the referrer before they
+              answer any requests, in an attempt to prevent their content
+              from being embedded or linked to elsewhere.</p>
+
+              <p>Both <tt class="LITERAL">conditional-block</tt> and
+              <tt class="LITERAL">forge</tt> will work with referrer checks,
+              as long as content and valid referring page are on the same
+              host. Most of the time that's the case.</p>
+
+              <p><tt class="LITERAL">hide-referer</tt> is an alternate
+              spelling of <tt class="LITERAL">hide-referrer</tt> and the two
+              can be can be freely substituted with each other. (<span class=
+              "QUOTE">"referrer"</span> is the correct English spelling,
+              however the HTTP specification has a bug - it requires it to be
+              spelled as <span class="QUOTE">"referer"</span>.)</p>
+            </dd>
+
+            <dt>Example usage:</dt>
+
+            <dd>
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
++hide-referrer{forge}
+</pre>
+                  </td>
+                </tr>
+              </table>or
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
++hide-referrer{http://www.yahoo.com/}
+</pre>
+                  </td>
+                </tr>
+              </table>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="HIDE-REFERRER">8.5.24. hide-referrer</a>
-          </h4>
-          <a name="HIDE-REFERER"></a>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Typical use:
-              </dt>
-              <dd>
-                <p>
-                  Conceal which link you followed to get to a particular site
-                </p>
-              </dd>
-              <dt>
-                Effect:
-              </dt>
-              <dd>
-                <p>
-                  Deletes the <span class="QUOTE">"Referer:"</span> (sic)
-                  HTTP header from the client request, or replaces it with a
-                  forged one.
-                </p>
-              </dd>
-              <dt>
-                Type:
-              </dt>
-              <dd>
-                <p>
-                  Parameterized.
-                </p>
-              </dd>
-              <dt>
-                Parameter:
-              </dt>
-              <dd>
-                <ul>
-                  <li>
-                    <p>
-                      <span class="QUOTE">"conditional-block"</span> to
-                      delete the header completely if the host has changed.
-                    </p>
-                  </li>
-                  <li>
-                    <p>
-                      <span class="QUOTE">"conditional-forge"</span> to forge
-                      the header if the host has changed.
-                    </p>
-                  </li>
-                  <li>
-                    <p>
-                      <span class="QUOTE">"block"</span> to delete the header
-                      unconditionally.
-                    </p>
-                  </li>
-                  <li>
-                    <p>
-                      <span class="QUOTE">"forge"</span> to pretend to be
-                      coming from the homepage of the server we are talking
-                      to.
-                    </p>
-                  </li>
-                  <li>
-                    <p>
-                      Any other string to set a user defined referrer.
-                    </p>
-                  </li>
-                </ul>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  <tt class="LITERAL">conditional-block</tt> is the only
-                  parameter, that isn't easily detected in the server's log
-                  file. If it blocks the referrer, the request will look like
-                  the visitor used a bookmark or typed in the address
-                  directly.
-                </p>
-                <p>
-                  Leaving the referrer unmodified for requests on the same
-                  host allows the server owner to see the visitor's <span
-                  class="QUOTE">"click path"</span>, but in most cases she
-                  could also get that information by comparing other parts of
-                  the log file: for example the User-Agent if it isn't a very
-                  common one, or the user's IP address if it doesn't change
-                  between different requests.
-                </p>
-                <p>
-                  Always blocking the referrer, or using a custom one, can
-                  lead to failures on servers that check the referrer before
-                  they answer any requests, in an attempt to prevent their
-                  content from being embedded or linked to elsewhere.
-                </p>
-                <p>
-                  Both <tt class="LITERAL">conditional-block</tt> and <tt
-                  class="LITERAL">forge</tt> will work with referrer checks,
-                  as long as content and valid referring page are on the same
-                  host. Most of the time that's the case.
-                </p>
-                <p>
-                  <tt class="LITERAL">hide-referer</tt> is an alternate
-                  spelling of <tt class="LITERAL">hide-referrer</tt> and the
-                  two can be can be freely substituted with each other.
-                  (<span class="QUOTE">"referrer"</span> is the correct
-                  English spelling, however the HTTP specification has a bug
-                  - it requires it to be spelled as <span class=
-                  "QUOTE">"referer"</span>.)
-                </p>
-              </dd>
-              <dt>
-                Example usage:
-              </dt>
-              <dd>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="HIDE-USER-AGENT" id=
+        "HIDE-USER-AGENT">8.5.25. hide-user-agent</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Typical use:</dt>
+
+            <dd>
+              <p>Try to conceal your type of browser and client operating
+              system</p>
+            </dd>
+
+            <dt>Effect:</dt>
+
+            <dd>
+              <p>Replaces the value of the <span class=
+              "QUOTE">"User-Agent:"</span> HTTP header in client requests
+              with the specified value.</p>
+            </dd>
+
+            <dt>Type:</dt>
+
+            <dd>
+              <p>Parameterized.</p>
+            </dd>
+
+            <dt>Parameter:</dt>
+
+            <dd>
+              <p>Any user-defined string.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <div class="WARNING">
+                <table class="WARNING" border="1" width="90%">
                   <tr>
-                    <td>
-<pre class="SCREEN">
-+hide-referrer{forge}
-</pre>
-                    </td>
+                    <td class="c6" align="center">Warning</td>
                   </tr>
-                </table>
-                or
-                <table border="0" bgcolor="#E0E0E0" width="90%">
+
                   <tr>
-                    <td>
-<pre class="SCREEN">
-+hide-referrer{http://www.yahoo.com/}
-</pre>
+                    <td align="left">
+                      <p>This can lead to problems on web sites that depend
+                      on looking at this header in order to customize their
+                      content for different browsers (which, by the way, is
+                      <span class="emphasis EMPHASIS c2">NOT</span> the right
+                      thing to do: good web sites work
+                      browser-independently).</p>
                     </td>
                   </tr>
                 </table>
-              </dd>
-            </dl>
-          </div>
-        </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="HIDE-USER-AGENT">8.5.25. hide-user-agent</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Typical use:
-              </dt>
-              <dd>
-                <p>
-                  Try to conceal your type of browser and client operating
-                  system
-                </p>
-              </dd>
-              <dt>
-                Effect:
-              </dt>
-              <dd>
-                <p>
-                  Replaces the value of the <span class=
-                  "QUOTE">"User-Agent:"</span> HTTP header in client requests
-                  with the specified value.
-                </p>
-              </dd>
-              <dt>
-                Type:
-              </dt>
-              <dd>
-                <p>
-                  Parameterized.
-                </p>
-              </dd>
-              <dt>
-                Parameter:
-              </dt>
-              <dd>
-                <p>
-                  Any user-defined string.
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <div class="WARNING">
-                  <table class="WARNING" border="1" width="90%">
-                    <tr>
-                      <td align="CENTER">
-                        <b>Warning</b>
-                      </td>
-                    </tr>
-                    <tr>
-                      <td align="LEFT">
-                        <p>
-                          This can lead to problems on web sites that depend
-                          on looking at this header in order to customize
-                          their content for different browsers (which, by the
-                          way, is <span class="emphasis"><i class=
-                          "EMPHASIS">NOT</i></span> the right thing to do:
-                          good web sites work browser-independently).
-                        </p>
-                      </td>
-                    </tr>
-                  </table>
-                </div>
-                <p>
-                  Using this action in multi-user setups or wherever
-                  different types of browsers will access the same <span
-                  class="APPLICATION">Privoxy</span> is <span class=
-                  "emphasis"><i class="EMPHASIS">not recommended</i></span>.
-                  In single-user, single-browser setups, you might use it to
-                  delete your OS version information from the headers,
-                  because it is an invitation to exploit known bugs for your
-                  OS. It is also occasionally useful to forge this in order
-                  to access sites that won't let you in otherwise (though
-                  there may be a good reason in some cases).
-                </p>
-                <p>
-                  More information on known user-agent strings can be found
-                  at <a href="http://www.user-agents.org/" target=
-                  "_top">http://www.user-agents.org/</a> and <a href=
-                  "http://en.wikipedia.org/wiki/User_agent" target=
-                  "_top">http://en.wikipedia.org/wiki/User_agent</a>.
-                </p>
-              </dd>
-              <dt>
-                Example usage:
-              </dt>
-              <dd>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+              </div>
+
+              <p>Using this action in multi-user setups or wherever different
+              types of browsers will access the same <span class=
+              "APPLICATION">Privoxy</span> is <span class=
+              "emphasis EMPHASIS c2">not recommended</span>. In single-user,
+              single-browser setups, you might use it to delete your OS
+              version information from the headers, because it is an
+              invitation to exploit known bugs for your OS. It is also
+              occasionally useful to forge this in order to access sites that
+              won't let you in otherwise (though there may be a good reason
+              in some cases).</p>
+
+              <p>More information on known user-agent strings can be found at
+              <a href="http://www.user-agents.org/" target=
+              "_top">http://www.user-agents.org/</a> and <a href=
+              "http://en.wikipedia.org/wiki/User_agent" target=
+              "_top">http://en.wikipedia.org/wiki/User_agent</a>.</p>
+            </dd>
+
+            <dt>Example usage:</dt>
+
+            <dd>
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 +hide-user-agent{Netscape 6.1 (X11; I; Linux 2.4.18 i686)}
 </pre>
-                    </td>
-                  </tr>
-                </table>
-              </dd>
-            </dl>
-          </div>
+                  </td>
+                </tr>
+              </table>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="LIMIT-CONNECT">8.5.26. limit-connect</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Typical use:
-              </dt>
-              <dd>
-                <p>
-                  Prevent abuse of <span class="APPLICATION">Privoxy</span>
-                  as a TCP proxy relay or disable SSL for untrusted sites
-                </p>
-              </dd>
-              <dt>
-                Effect:
-              </dt>
-              <dd>
-                <p>
-                  Specifies to which ports HTTP CONNECT requests are
-                  allowable.
-                </p>
-              </dd>
-              <dt>
-                Type:
-              </dt>
-              <dd>
-                <p>
-                  Parameterized.
-                </p>
-              </dd>
-              <dt>
-                Parameter:
-              </dt>
-              <dd>
-                <p>
-                  A comma-separated list of ports or port ranges (the latter
-                  using dashes, with the minimum defaulting to 0 and the
-                  maximum to 65K).
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  By default, i.e. if no <tt class=
-                  "LITERAL">limit-connect</tt> action applies, <span class=
-                  "APPLICATION">Privoxy</span> allows HTTP CONNECT requests
-                  to all ports. Use <tt class="LITERAL">limit-connect</tt> if
-                  fine-grained control is desired for some or all
-                  destinations.
-                </p>
-                <p>
-                  The CONNECT methods exists in HTTP to allow access to
-                  secure websites (<span class="QUOTE">"https://"</span>
-                  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 server. This means CONNECT-enabled proxies can be
-                  used as TCP relays very easily.
-                </p>
-                <p>
-                  <span class="APPLICATION">Privoxy</span> relays HTTPS
-                  traffic without seeing the decoded content. Websites can
-                  leverage this limitation to circumvent <span class=
-                  "APPLICATION">Privoxy</span>'s filters. By specifying an
-                  invalid port range you can disable HTTPS entirely.
-                </p>
-              </dd>
-              <dt>
-                Example usages:
-              </dt>
-              <dd>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="LIMIT-CONNECT" id="LIMIT-CONNECT">8.5.26.
+        limit-connect</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Typical use:</dt>
+
+            <dd>
+              <p>Prevent abuse of <span class="APPLICATION">Privoxy</span> as
+              a TCP proxy relay or disable SSL for untrusted sites</p>
+            </dd>
+
+            <dt>Effect:</dt>
+
+            <dd>
+              <p>Specifies to which ports HTTP CONNECT requests are
+              allowable.</p>
+            </dd>
+
+            <dt>Type:</dt>
+
+            <dd>
+              <p>Parameterized.</p>
+            </dd>
+
+            <dt>Parameter:</dt>
+
+            <dd>
+              <p>A comma-separated list of ports or port ranges (the latter
+              using dashes, with the minimum defaulting to 0 and the maximum
+              to 65K).</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>By default, i.e. if no <tt class=
+              "LITERAL">limit-connect</tt> action applies, <span class=
+              "APPLICATION">Privoxy</span> allows HTTP CONNECT requests to
+              all ports. Use <tt class="LITERAL">limit-connect</tt> if
+              fine-grained control is desired for some or all
+              destinations.</p>
+
+              <p>The CONNECT methods exists in HTTP to allow access to secure
+              websites (<span class="QUOTE">"https://"</span> 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 server. This means
+              CONNECT-enabled proxies can be used as TCP relays very
+              easily.</p>
+
+              <p><span class="APPLICATION">Privoxy</span> relays HTTPS
+              traffic without seeing the decoded content. Websites can
+              leverage this limitation to circumvent <span class=
+              "APPLICATION">Privoxy</span>'s filters. By specifying an
+              invalid port range you can disable HTTPS entirely.</p>
+            </dd>
+
+            <dt>Example usages:</dt>
+
+            <dd>
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 +limit-connect{443}                   # Port 443 is OK.
 +limit-connect{80,443}                # Ports 80 and 443 are OK.
 +limit-connect{-3, 7, 20-100, 500-}   # Ports less than 3, 7, 20 to 100 and above 500 are OK.
 +limit-connect{-}                     # All ports are OK
 +limit-connect{,}                     # No HTTPS/SSL traffic is allowed
 </pre>
-                    </td>
-                  </tr>
-                </table>
-              </dd>
-            </dl>
-          </div>
+                  </td>
+                </tr>
+              </table>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="PREVENT-COMPRESSION">8.5.27. prevent-compression</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Typical use:
-              </dt>
-              <dd>
-                <p>
-                  Ensure that servers send the content uncompressed, so it
-                  can be passed through <tt class="LITERAL"><a href=
-                  "actions-file.html#FILTER">filter</a></tt>s.
-                </p>
-              </dd>
-              <dt>
-                Effect:
-              </dt>
-              <dd>
-                <p>
-                  Removes the Accept-Encoding header which can be used to ask
-                  for compressed transfer.
-                </p>
-              </dd>
-              <dt>
-                Type:
-              </dt>
-              <dd>
-                <p>
-                  Boolean.
-                </p>
-              </dd>
-              <dt>
-                Parameter:
-              </dt>
-              <dd>
-                <p>
-                  N/A
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  More and more websites send their content compressed by
-                  default, which is generally a good idea and saves
-                  bandwidth. But the <tt class="LITERAL"><a href=
-                  "actions-file.html#FILTER">filter</a></tt> and <tt class=
-                  "LITERAL"><a href=
-                  "actions-file.html#DEANIMATE-GIFS">deanimate-gifs</a></tt>
-                  actions need access to the uncompressed data.
-                </p>
-                <p>
-                  When compiled with zlib support (available since <span
-                  class="APPLICATION">Privoxy</span> 3.0.7), content that
-                  should be filtered is decompressed on-the-fly and you don't
-                  have to worry about this action. If you are using an older
-                  <span class="APPLICATION">Privoxy</span> version, or one
-                  that hasn't been compiled with zlib support, this action
-                  can be used to convince the server to send the content
-                  uncompressed.
-                </p>
-                <p>
-                  Most text-based instances compress very well, the size is
-                  seldom decreased by less than 50%, for markup-heavy
-                  instances like news feeds saving more than 90% of the
-                  original size isn't unusual.
-                </p>
-                <p>
-                  Not using compression will therefore slow down the
-                  transfer, and you should only enable this action if you
-                  really need it. As of <span class=
-                  "APPLICATION">Privoxy</span> 3.0.7 it's disabled in all
-                  predefined action settings.
-                </p>
-                <p>
-                  Note that some (rare) ill-configured sites don't handle
-                  requests for uncompressed documents correctly. Broken PHP
-                  applications tend to send an empty document body, some IIS
-                  versions only send the beginning of the content. If you
-                  enable <tt class="LITERAL">prevent-compression</tt> per
-                  default, you might want to add exceptions for those sites.
-                  See the example for how to do that.
-                </p>
-              </dd>
-              <dt>
-                Example usage (sections):
-              </dt>
-              <dd>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="PREVENT-COMPRESSION" id=
+        "PREVENT-COMPRESSION">8.5.27. prevent-compression</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Typical use:</dt>
+
+            <dd>
+              <p>Ensure that servers send the content uncompressed, so it can
+              be passed through <tt class="LITERAL"><a href=
+              "actions-file.html#FILTER">filter</a></tt>s.</p>
+            </dd>
+
+            <dt>Effect:</dt>
+
+            <dd>
+              <p>Removes the Accept-Encoding header which can be used to ask
+              for compressed transfer.</p>
+            </dd>
+
+            <dt>Type:</dt>
+
+            <dd>
+              <p>Boolean.</p>
+            </dd>
+
+            <dt>Parameter:</dt>
+
+            <dd>
+              <p>N/A</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>More and more websites send their content compressed by
+              default, which is generally a good idea and saves bandwidth.
+              But the <tt class="LITERAL"><a href=
+              "actions-file.html#FILTER">filter</a></tt> and <tt class=
+              "LITERAL"><a href=
+              "actions-file.html#DEANIMATE-GIFS">deanimate-gifs</a></tt>
+              actions need access to the uncompressed data.</p>
+
+              <p>When compiled with zlib support (available since
+              <span class="APPLICATION">Privoxy</span> 3.0.7), content that
+              should be filtered is decompressed on-the-fly and you don't
+              have to worry about this action. If you are using an older
+              <span class="APPLICATION">Privoxy</span> version, or one that
+              hasn't been compiled with zlib support, this action can be used
+              to convince the server to send the content uncompressed.</p>
+
+              <p>Most text-based instances compress very well, the size is
+              seldom decreased by less than 50%, for markup-heavy instances
+              like news feeds saving more than 90% of the original size isn't
+              unusual.</p>
+
+              <p>Not using compression will therefore slow down the transfer,
+              and you should only enable this action if you really need it.
+              As of <span class="APPLICATION">Privoxy</span> 3.0.7 it's
+              disabled in all predefined action settings.</p>
+
+              <p>Note that some (rare) ill-configured sites don't handle
+              requests for uncompressed documents correctly. Broken PHP
+              applications tend to send an empty document body, some IIS
+              versions only send the beginning of the content. If you enable
+              <tt class="LITERAL">prevent-compression</tt> per default, you
+              might want to add exceptions for those sites. See the example
+              for how to do that.</p>
+            </dd>
+
+            <dt>Example usage (sections):</dt>
+
+            <dd>
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 # Selectively turn off compression, and enable a filter
 #
 { +filter{tiny-textforms} +prevent-compression }
@@ -4265,316 +3632,268 @@ nasty-banner-server.example.com/junk.cgi\?output=trash
 { -prevent-compression }
 .compusa.com/
 </pre>
-                    </td>
-                  </tr>
-                </table>
-              </dd>
-            </dl>
-          </div>
+                  </td>
+                </tr>
+              </table>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="OVERWRITE-LAST-MODIFIED">8.5.28.
-            overwrite-last-modified</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Typical use:
-              </dt>
-              <dd>
-                <p>
-                  Prevent yet another way to track the user's steps between
-                  sessions.
-                </p>
-              </dd>
-              <dt>
-                Effect:
-              </dt>
-              <dd>
-                <p>
-                  Deletes the <span class="QUOTE">"Last-Modified:"</span>
-                  HTTP server header or modifies its value.
-                </p>
-              </dd>
-              <dt>
-                Type:
-              </dt>
-              <dd>
-                <p>
-                  Parameterized.
-                </p>
-              </dd>
-              <dt>
-                Parameter:
-              </dt>
-              <dd>
-                <p>
-                  One of the keywords: <span class="QUOTE">"block"</span>,
-                  <span class="QUOTE">"reset-to-request-time"</span> and
-                  <span class="QUOTE">"randomize"</span>
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  Removing the <span class="QUOTE">"Last-Modified:"</span>
-                  header is useful for filter testing, where you want to
-                  force a real reload instead of getting status code <span
-                  class="QUOTE">"304"</span>, which would cause the browser
-                  to reuse the old version of the page.
-                </p>
-                <p>
-                  The <span class="QUOTE">"randomize"</span> option
-                  overwrites the value of the <span class=
-                  "QUOTE">"Last-Modified:"</span> header with a randomly
-                  chosen time between the original value and the current
-                  time. In theory the server could send each document with a
-                  different <span class="QUOTE">"Last-Modified:"</span>
-                  header to track visits without using cookies. <span class=
-                  "QUOTE">"Randomize"</span> makes it impossible and the
-                  browser can still revalidate cached documents.
-                </p>
-                <p>
-                  <span class="QUOTE">"reset-to-request-time"</span>
-                  overwrites the value of the <span class=
-                  "QUOTE">"Last-Modified:"</span> header with the current
-                  time. You could use this option together with <tt class=
-                  "LITERAL"><a href=
-                  "actions-file.html#HIDE-IF-MODIFIED-SINCE">hide-if-modified-since</a></tt>
-                  to further customize your random range.
-                </p>
-                <p>
-                  The preferred parameter here is <span class=
-                  "QUOTE">"randomize"</span>. It is safe to use, as long as
-                  the time settings are more or less correct. If the server
-                  sets the <span class="QUOTE">"Last-Modified:"</span> header
-                  to the time of the request, the random range becomes zero
-                  and the value stays the same. Therefore you should later
-                  randomize it a second time with <tt class="LITERAL"><a
-                  href=
-                  "actions-file.html#HIDE-IF-MODIFIED-SINCE">hided-if-modified-since</a></tt>,
-                  just to be sure.
-                </p>
-                <p>
-                  It is also recommended to use this action together with <tt
-                  class="LITERAL"><a href=
-                  "actions-file.html#CRUNCH-IF-NONE-MATCH">crunch-if-none-match</a></tt>.
-                </p>
-              </dd>
-              <dt>
-                Example usage:
-              </dt>
-              <dd>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="OVERWRITE-LAST-MODIFIED" id=
+        "OVERWRITE-LAST-MODIFIED">8.5.28. overwrite-last-modified</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Typical use:</dt>
+
+            <dd>
+              <p>Prevent yet another way to track the user's steps between
+              sessions.</p>
+            </dd>
+
+            <dt>Effect:</dt>
+
+            <dd>
+              <p>Deletes the <span class="QUOTE">"Last-Modified:"</span> HTTP
+              server header or modifies its value.</p>
+            </dd>
+
+            <dt>Type:</dt>
+
+            <dd>
+              <p>Parameterized.</p>
+            </dd>
+
+            <dt>Parameter:</dt>
+
+            <dd>
+              <p>One of the keywords: <span class="QUOTE">"block"</span>,
+              <span class="QUOTE">"reset-to-request-time"</span> and
+              <span class="QUOTE">"randomize"</span></p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>Removing the <span class="QUOTE">"Last-Modified:"</span>
+              header is useful for filter testing, where you want to force a
+              real reload instead of getting status code <span class=
+              "QUOTE">"304"</span>, which would cause the browser to reuse
+              the old version of the page.</p>
+
+              <p>The <span class="QUOTE">"randomize"</span> option overwrites
+              the value of the <span class="QUOTE">"Last-Modified:"</span>
+              header with a randomly chosen time between the original value
+              and the current time. In theory the server could send each
+              document with a different <span class=
+              "QUOTE">"Last-Modified:"</span> header to track visits without
+              using cookies. <span class="QUOTE">"Randomize"</span> makes it
+              impossible and the browser can still revalidate cached
+              documents.</p>
+
+              <p><span class="QUOTE">"reset-to-request-time"</span>
+              overwrites the value of the <span class=
+              "QUOTE">"Last-Modified:"</span> header with the current time.
+              You could use this option together with <tt class=
+              "LITERAL"><a href=
+              "actions-file.html#HIDE-IF-MODIFIED-SINCE">hide-if-modified-since</a></tt>
+              to further customize your random range.</p>
+
+              <p>The preferred parameter here is <span class=
+              "QUOTE">"randomize"</span>. It is safe to use, as long as the
+              time settings are more or less correct. If the server sets the
+              <span class="QUOTE">"Last-Modified:"</span> header to the time
+              of the request, the random range becomes zero and the value
+              stays the same. Therefore you should later randomize it a
+              second time with <tt class="LITERAL"><a href=
+              "actions-file.html#HIDE-IF-MODIFIED-SINCE">hided-if-modified-since</a></tt>,
+              just to be sure.</p>
+
+              <p>It is also recommended to use this action together with
+              <tt class="LITERAL"><a href=
+              "actions-file.html#CRUNCH-IF-NONE-MATCH">crunch-if-none-match</a></tt>.</p>
+            </dd>
+
+            <dt>Example usage:</dt>
+
+            <dd>
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 # Let the browser revalidate without being tracked across sessions
 { +hide-if-modified-since{-60} \
  +overwrite-last-modified{randomize} \
  +crunch-if-none-match}
 /
 </pre>
-                    </td>
-                  </tr>
-                </table>
-              </dd>
-            </dl>
-          </div>
+                  </td>
+                </tr>
+              </table>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="REDIRECT">8.5.29. redirect</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Typical use:
-              </dt>
-              <dd>
-                <p>
-                  Redirect requests to other sites.
-                </p>
-              </dd>
-              <dt>
-                Effect:
-              </dt>
-              <dd>
-                <p>
-                  Convinces the browser that the requested document has been
-                  moved to another location and the browser should get it
-                  from there.
-                </p>
-              </dd>
-              <dt>
-                Type:
-              </dt>
-              <dd>
-                <p>
-                  Parameterized
-                </p>
-              </dd>
-              <dt>
-                Parameter:
-              </dt>
-              <dd>
-                <p>
-                  An absolute URL or a single pcrs command.
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  Requests to which this action applies are answered with a
-                  HTTP redirect to URLs of your choosing. The new URL is
-                  either provided as parameter, or derived by applying a
-                  single pcrs command to the original URL.
-                </p>
-                <p>
-                  This action will be ignored if you use it together with <tt
-                  class="LITERAL"><a href=
-                  "actions-file.html#BLOCK">block</a></tt>. It can be
-                  combined with <tt class="LITERAL"><a href=
-                  "actions-file.html#FAST-REDIRECTS">fast-redirects{check-decoded-url}</a></tt>
-                  to redirect to a decoded version of a rewritten URL.
-                </p>
-                <p>
-                  Use this action carefully, make sure not to create
-                  redirection loops and be aware that using your own
-                  redirects might make it possible to fingerprint your
-                  requests.
-                </p>
-                <p>
-                  In case of problems with your redirects, or simply to watch
-                  them working, enable <a href="config.html#DEBUG">debug
-                  128</a>.
-                </p>
-              </dd>
-              <dt>
-                Example usages:
-              </dt>
-              <dd>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="REDIRECT" id="REDIRECT">8.5.29.
+        redirect</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Typical use:</dt>
+
+            <dd>
+              <p>Redirect requests to other sites.</p>
+            </dd>
+
+            <dt>Effect:</dt>
+
+            <dd>
+              <p>Convinces the browser that the requested document has been
+              moved to another location and the browser should get it from
+              there.</p>
+            </dd>
+
+            <dt>Type:</dt>
+
+            <dd>
+              <p>Parameterized</p>
+            </dd>
+
+            <dt>Parameter:</dt>
+
+            <dd>
+              <p>An absolute URL or a single pcrs command.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>Requests to which this action applies are answered with a
+              HTTP redirect to URLs of your choosing. The new URL is either
+              provided as parameter, or derived by applying a single pcrs
+              command to the original URL.</p>
+
+              <p>This action will be ignored if you use it together with
+              <tt class="LITERAL"><a href=
+              "actions-file.html#BLOCK">block</a></tt>. It can be combined
+              with <tt class="LITERAL"><a href=
+              "actions-file.html#FAST-REDIRECTS">fast-redirects{check-decoded-url}</a></tt>
+              to redirect to a decoded version of a rewritten URL.</p>
+
+              <p>Use this action carefully, make sure not to create
+              redirection loops and be aware that using your own redirects
+              might make it possible to fingerprint your requests.</p>
+
+              <p>In case of problems with your redirects, or simply to watch
+              them working, enable <a href="config.html#DEBUG">debug
+              128</a>.</p>
+            </dd>
+
+            <dt>Example usages:</dt>
+
+            <dd>
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 # Replace example.com's style sheet with another one
 { +redirect{http://localhost/css-replacements/example.com.css} }
  example.com/stylesheet\.css
 
-# Create a short, easy to remember nickname for a favorite site
-# (relies on the browser accept and forward invalid URLs to <span class=
-"APPLICATION">Privoxy</span>)
-{ +redirect{http://www.privoxy.org/user-manual/actions-file.html} }
- a
+# Create a short, easy to remember nickname for a favorite site
+# (relies on the browser accept and forward invalid URLs to <span class=
+"APPLICATION">Privoxy</span>)
+{ +redirect{http://www.privoxy.org/user-manual/actions-file.html} }
+ a
+
+# Always use the expanded view for Undeadly.org articles
+# (Note the $ at the end of the URL pattern to make sure
+# the request for the rewritten URL isn't redirected as well)
+{+redirect{s@$@&amp;mode=expanded@}}
+undeadly.org/cgi\?action=article&amp;sid=\d*$
+
+# Redirect Google search requests to MSN
+{+redirect{s@^http://[^/]*/search\?q=([^&amp;]*).*@http://search.msn.com/results.aspx?q=$1@}}
+.google.com/search
+
+# Redirect MSN search requests to Yahoo
+{+redirect{s@^http://[^/]*/results\.aspx\?q=([^&amp;]*).*@http://search.yahoo.com/search?p=$1@}}
+search.msn.com//results\.aspx\?q=
+
+# Redirect remote requests for this manual
+# to the local version delivered by Privoxy
+{+redirect{s@^http://www@http://config@}}
+www.privoxy.org/user-manual/
+</pre>
+                  </td>
+                </tr>
+              </table>
+            </dd>
+          </dl>
+        </div>
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="SERVER-HEADER-FILTER" id=
+        "SERVER-HEADER-FILTER">8.5.30. server-header-filter</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Typical use:</dt>
+
+            <dd>
+              <p>Rewrite or remove single server headers.</p>
+            </dd>
+
+            <dt>Effect:</dt>
+
+            <dd>
+              <p>All server headers to which this action applies are filtered
+              on-the-fly through the specified regular expression based
+              substitutions.</p>
+            </dd>
+
+            <dt>Type:</dt>
+
+            <dd>
+              <p>Parameterized.</p>
+            </dd>
+
+            <dt>Parameter:</dt>
+
+            <dd>
+              <p>The name of a server-header filter, as defined in one of the
+              <a href="filter-file.html">filter files</a>.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>Server-header filters are applied to each header on its own,
+              not to all at once. This makes it easier to diagnose problems,
+              but on the downside you can't write filters that only change
+              header x if header y's value is z. You can do that by using
+              tags though.</p>
 
-# Always use the expanded view for Undeadly.org articles
-# (Note the $ at the end of the URL pattern to make sure
-# the request for the rewritten URL isn't redirected as well)
-{+redirect{s@$@&amp;mode=expanded@}}
-undeadly.org/cgi\?action=article&amp;sid=\d*$
+              <p>Server-header filters are executed after the other header
+              actions have finished and use their output as input.</p>
 
-# Redirect Google search requests to MSN
-{+redirect{s@^http://[^/]*/search\?q=([^&amp;]*).*@http://search.msn.com/results.aspx?q=$1@}}
-.google.com/search
+              <p>Please refer to the <a href="filter-file.html">filter file
+              chapter</a> to learn which server-header filters are available
+              by default, and how to create your own.</p>
+            </dd>
 
-# Redirect MSN search requests to Yahoo
-{+redirect{s@^http://[^/]*/results\.aspx\?q=([^&amp;]*).*@http://search.yahoo.com/search?p=$1@}}
-search.msn.com//results\.aspx\?q=
+            <dt>Example usage (section):</dt>
 
-# Redirect remote requests for this manual
-# to the local version delivered by Privoxy
-{+redirect{s@^http://www@http://config@}}
-www.privoxy.org/user-manual/
-</pre>
-                    </td>
-                  </tr>
-                </table>
-              </dd>
-            </dl>
-          </div>
-        </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="SERVER-HEADER-FILTER">8.5.30. server-header-filter</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Typical use:
-              </dt>
-              <dd>
-                <p>
-                  Rewrite or remove single server headers.
-                </p>
-              </dd>
-              <dt>
-                Effect:
-              </dt>
-              <dd>
-                <p>
-                  All server headers to which this action applies are
-                  filtered on-the-fly through the specified regular
-                  expression based substitutions.
-                </p>
-              </dd>
-              <dt>
-                Type:
-              </dt>
-              <dd>
-                <p>
-                  Parameterized.
-                </p>
-              </dd>
-              <dt>
-                Parameter:
-              </dt>
-              <dd>
-                <p>
-                  The name of a server-header filter, as defined in one of
-                  the <a href="filter-file.html">filter files</a>.
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  Server-header filters are applied to each header on its
-                  own, not to all at once. This makes it easier to diagnose
-                  problems, but on the downside you can't write filters that
-                  only change header x if header y's value is z. You can do
-                  that by using tags though.
-                </p>
-                <p>
-                  Server-header filters are executed after the other header
-                  actions have finished and use their output as input.
-                </p>
-                <p>
-                  Please refer to the <a href="filter-file.html">filter file
-                  chapter</a> to learn which server-header filters are
-                  available by default, and how to create your own.
-                </p>
-              </dd>
-              <dt>
-                Example usage (section):
-              </dt>
-              <dd>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+            <dd>
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 {+server-header-filter{html-to-xml}}
 example.org/xml-instance-that-is-delivered-as-html
 
@@ -4582,451 +3901,381 @@ example.org/xml-instance-that-is-delivered-as-html
 example.org/instance-that-is-delivered-as-xml-but-is-not
 
 </pre>
-                    </td>
-                  </tr>
-                </table>
-              </dd>
-            </dl>
-          </div>
+                  </td>
+                </tr>
+              </table>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="SERVER-HEADER-TAGGER">8.5.31. server-header-tagger</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Typical use:
-              </dt>
-              <dd>
-                <p>
-                  Enable or disable filters based on the Content-Type header.
-                </p>
-              </dd>
-              <dt>
-                Effect:
-              </dt>
-              <dd>
-                <p>
-                  Server headers to which this action applies are filtered
-                  on-the-fly through the specified regular expression based
-                  substitutions, the result is used as tag.
-                </p>
-              </dd>
-              <dt>
-                Type:
-              </dt>
-              <dd>
-                <p>
-                  Parameterized.
-                </p>
-              </dd>
-              <dt>
-                Parameter:
-              </dt>
-              <dd>
-                <p>
-                  The name of a server-header tagger, as defined in one of
-                  the <a href="filter-file.html">filter files</a>.
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  Server-header taggers are applied to each header on its
-                  own, and as the header isn't modified, each tagger <span
-                  class="QUOTE">"sees"</span> the original.
-                </p>
-                <p>
-                  Server-header taggers are executed before all other header
-                  actions that modify server headers. Their tags can be used
-                  to control all of the other server-header actions, the
-                  content filters and the crunch actions (<a href=
-                  "actions-file.html#REDIRECT">redirect</a> and <a href=
-                  "actions-file.html#BLOCK">block</a>).
-                </p>
-                <p>
-                  Obviously crunching based on tags created by server-header
-                  taggers doesn't prevent the request from showing up in the
-                  server's log file.
-                </p>
-              </dd>
-              <dt>
-                Example usage (section):
-              </dt>
-              <dd>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="SERVER-HEADER-TAGGER" id=
+        "SERVER-HEADER-TAGGER">8.5.31. server-header-tagger</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Typical use:</dt>
+
+            <dd>
+              <p>Enable or disable filters based on the Content-Type
+              header.</p>
+            </dd>
+
+            <dt>Effect:</dt>
+
+            <dd>
+              <p>Server headers to which this action applies are filtered
+              on-the-fly through the specified regular expression based
+              substitutions, the result is used as tag.</p>
+            </dd>
+
+            <dt>Type:</dt>
+
+            <dd>
+              <p>Parameterized.</p>
+            </dd>
+
+            <dt>Parameter:</dt>
+
+            <dd>
+              <p>The name of a server-header tagger, as defined in one of the
+              <a href="filter-file.html">filter files</a>.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>Server-header taggers are applied to each header on its own,
+              and as the header isn't modified, each tagger <span class=
+              "QUOTE">"sees"</span> the original.</p>
+
+              <p>Server-header taggers are executed before all other header
+              actions that modify server headers. Their tags can be used to
+              control all of the other server-header actions, the content
+              filters and the crunch actions (<a href=
+              "actions-file.html#REDIRECT">redirect</a> and <a href=
+              "actions-file.html#BLOCK">block</a>).</p>
+
+              <p>Obviously crunching based on tags created by server-header
+              taggers doesn't prevent the request from showing up in the
+              server's log file.</p>
+            </dd>
+
+            <dt>Example usage (section):</dt>
+
+            <dd>
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 # Tag every request with the content type declared by the server
 {+server-header-tagger{content-type}}
 /
 
 </pre>
-                    </td>
-                  </tr>
-                </table>
-              </dd>
-            </dl>
-          </div>
+                  </td>
+                </tr>
+              </table>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="SESSION-COOKIES-ONLY">8.5.32. session-cookies-only</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Typical use:
-              </dt>
-              <dd>
-                <p>
-                  Allow only temporary <span class="QUOTE">"session"</span>
-                  cookies (for the current browser session <span class=
-                  "emphasis"><i class="EMPHASIS">only</i></span>).
-                </p>
-              </dd>
-              <dt>
-                Effect:
-              </dt>
-              <dd>
-                <p>
-                  Deletes the <span class="QUOTE">"expires"</span> field from
-                  <span class="QUOTE">"Set-Cookie:"</span> server headers.
-                  Most browsers will not store such cookies permanently and
-                  forget them in between sessions.
-                </p>
-              </dd>
-              <dt>
-                Type:
-              </dt>
-              <dd>
-                <p>
-                  Boolean.
-                </p>
-              </dd>
-              <dt>
-                Parameter:
-              </dt>
-              <dd>
-                <p>
-                  N/A
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  This is less strict than <tt class="LITERAL"><a href=
-                  "actions-file.html#CRUNCH-INCOMING-COOKIES">crunch-incoming-cookies</a></tt>
-                  / <tt class="LITERAL"><a href=
-                  "actions-file.html#CRUNCH-OUTGOING-COOKIES">crunch-outgoing-cookies</a></tt>
-                  and allows you to browse websites that insist or rely on
-                  setting cookies, without compromising your privacy too
-                  badly.
-                </p>
-                <p>
-                  Most browsers will not permanently store cookies that have
-                  been processed by <tt class=
-                  "LITERAL">session-cookies-only</tt> and will forget about
-                  them between sessions. This makes profiling cookies
-                  useless, but won't break sites which require cookies so
-                  that you can log in for transactions. This is generally
-                  turned on for all sites, and is the recommended setting.
-                </p>
-                <p>
-                  It makes <span class="emphasis"><i class="EMPHASIS">no
-                  sense at all</i></span> to use <tt class=
-                  "LITERAL">session-cookies-only</tt> together with <tt
-                  class="LITERAL"><a href=
-                  "actions-file.html#CRUNCH-INCOMING-COOKIES">crunch-incoming-cookies</a></tt>
-                  or <tt class="LITERAL"><a href=
-                  "actions-file.html#CRUNCH-OUTGOING-COOKIES">crunch-outgoing-cookies</a></tt>.
-                  If you do, cookies will be plainly killed.
-                </p>
-                <p>
-                  Note that it is up to the browser how it handles such
-                  cookies without an <span class="QUOTE">"expires"</span>
-                  field. If you use an exotic browser, you might want to try
-                  it out to be sure.
-                </p>
-                <p>
-                  This setting also has no effect on cookies that may have
-                  been stored previously by the browser before starting <span
-                  class="APPLICATION">Privoxy</span>. These would have to be
-                  removed manually.
-                </p>
-                <p>
-                  <span class="APPLICATION">Privoxy</span> also uses the <a
-                  href=
-                  "actions-file.html#FILTER-CONTENT-COOKIES">content-cookies
-                  filter</a> to block some types of cookies. Content cookies
-                  are not effected by <tt class=
-                  "LITERAL">session-cookies-only</tt>.
-                </p>
-              </dd>
-              <dt>
-                Example usage:
-              </dt>
-              <dd>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="SESSION-COOKIES-ONLY" id=
+        "SESSION-COOKIES-ONLY">8.5.32. session-cookies-only</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Typical use:</dt>
+
+            <dd>
+              <p>Allow only temporary <span class="QUOTE">"session"</span>
+              cookies (for the current browser session <span class=
+              "emphasis EMPHASIS c2">only</span>).</p>
+            </dd>
+
+            <dt>Effect:</dt>
+
+            <dd>
+              <p>Deletes the <span class="QUOTE">"expires"</span> field from
+              <span class="QUOTE">"Set-Cookie:"</span> server headers. Most
+              browsers will not store such cookies permanently and forget
+              them in between sessions.</p>
+            </dd>
+
+            <dt>Type:</dt>
+
+            <dd>
+              <p>Boolean.</p>
+            </dd>
+
+            <dt>Parameter:</dt>
+
+            <dd>
+              <p>N/A</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>This is less strict than <tt class="LITERAL"><a href=
+              "actions-file.html#CRUNCH-INCOMING-COOKIES">crunch-incoming-cookies</a></tt>
+              / <tt class="LITERAL"><a href=
+              "actions-file.html#CRUNCH-OUTGOING-COOKIES">crunch-outgoing-cookies</a></tt>
+              and allows you to browse websites that insist or rely on
+              setting cookies, without compromising your privacy too
+              badly.</p>
+
+              <p>Most browsers will not permanently store cookies that have
+              been processed by <tt class="LITERAL">session-cookies-only</tt>
+              and will forget about them between sessions. This makes
+              profiling cookies useless, but won't break sites which require
+              cookies so that you can log in for transactions. This is
+              generally turned on for all sites, and is the recommended
+              setting.</p>
+
+              <p>It makes <span class="emphasis EMPHASIS c2">no sense at
+              all</span> to use <tt class="LITERAL">session-cookies-only</tt>
+              together with <tt class="LITERAL"><a href=
+              "actions-file.html#CRUNCH-INCOMING-COOKIES">crunch-incoming-cookies</a></tt>
+              or <tt class="LITERAL"><a href=
+              "actions-file.html#CRUNCH-OUTGOING-COOKIES">crunch-outgoing-cookies</a></tt>.
+              If you do, cookies will be plainly killed.</p>
+
+              <p>Note that it is up to the browser how it handles such
+              cookies without an <span class="QUOTE">"expires"</span> field.
+              If you use an exotic browser, you might want to try it out to
+              be sure.</p>
+
+              <p>This setting also has no effect on cookies that may have
+              been stored previously by the browser before starting
+              <span class="APPLICATION">Privoxy</span>. These would have to
+              be removed manually.</p>
+
+              <p><span class="APPLICATION">Privoxy</span> also uses the
+              <a href=
+              "actions-file.html#FILTER-CONTENT-COOKIES">content-cookies
+              filter</a> to block some types of cookies. Content cookies are
+              not effected by <tt class=
+              "LITERAL">session-cookies-only</tt>.</p>
+            </dd>
+
+            <dt>Example usage:</dt>
+
+            <dd>
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 +session-cookies-only
 </pre>
-                    </td>
-                  </tr>
-                </table>
-              </dd>
-            </dl>
-          </div>
+                  </td>
+                </tr>
+              </table>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="SET-IMAGE-BLOCKER">8.5.33. set-image-blocker</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Typical use:
-              </dt>
-              <dd>
-                <p>
-                  Choose the replacement for blocked images
-                </p>
-              </dd>
-              <dt>
-                Effect:
-              </dt>
-              <dd>
-                <p>
-                  This action alone doesn't do anything noticeable. If <span
-                  class="emphasis"><i class="EMPHASIS">both</i></span> <tt
-                  class="LITERAL"><a href=
-                  "actions-file.html#BLOCK">block</a></tt> <span class=
-                  "emphasis"><i class="EMPHASIS">and</i></span> <tt class=
-                  "LITERAL"><a href=
-                  "actions-file.html#HANDLE-AS-IMAGE">handle-as-image</a></tt>
-                  <span class="emphasis"><i class="EMPHASIS">also</i></span>
-                  apply, i.e. if the request is to be blocked as an image,
-                  <span class="emphasis"><i class="EMPHASIS">then</i></span>
-                  the parameter of this action decides what will be sent as a
-                  replacement.
-                </p>
-              </dd>
-              <dt>
-                Type:
-              </dt>
-              <dd>
-                <p>
-                  Parameterized.
-                </p>
-              </dd>
-              <dt>
-                Parameter:
-              </dt>
-              <dd>
-                <ul>
-                  <li>
-                    <p>
-                      <span class="QUOTE">"pattern"</span> to send a built-in
-                      checkerboard pattern image. The image is visually
-                      decent, scales very well, and makes it obvious where
-                      banners were busted.
-                    </p>
-                  </li>
-                  <li>
-                    <p>
-                      <span class="QUOTE">"blank"</span> to send a built-in
-                      transparent image. This makes banners disappear
-                      completely, but makes it hard to detect where <span
-                      class="APPLICATION">Privoxy</span> has blocked images
-                      on a given page and complicates troubleshooting if
-                      <span class="APPLICATION">Privoxy</span> has blocked
-                      innocent images, like navigation icons.
-                    </p>
-                  </li>
-                  <li>
-                    <p>
-                      <span class="QUOTE">"<tt class=
-                      "REPLACEABLE"><i>target-url</i></tt>"</span> to send a
-                      redirect to <tt class=
-                      "REPLACEABLE"><i>target-url</i></tt>. You can redirect
-                      to any image anywhere, even in your local filesystem
-                      via <span class="QUOTE">"file:///"</span> URL. (But
-                      note that not all browsers support redirecting to a
-                      local file system).
-                    </p>
-                    <p>
-                      A good application of redirects is to use special <span
-                      class="APPLICATION">Privoxy</span>-built-in URLs, which
-                      send the built-in images, as <tt class=
-                      "REPLACEABLE"><i>target-url</i></tt>. This has the same
-                      visual effect as specifying <span class=
-                      "QUOTE">"blank"</span> or <span class=
-                      "QUOTE">"pattern"</span> in the first place, but
-                      enables your browser to cache the replacement image,
-                      instead of requesting it over and over again.
-                    </p>
-                  </li>
-                </ul>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  The URLs for the built-in images are <span class=
-                  "QUOTE">"http://config.privoxy.org/send-banner?type=<tt
-                  class="REPLACEABLE"><i>type</i></tt>"</span>, where <tt
-                  class="REPLACEABLE"><i>type</i></tt> is either <span class=
-                  "QUOTE">"blank"</span> or <span class=
-                  "QUOTE">"pattern"</span>.
-                </p>
-                <p>
-                  There is a third (advanced) type, called <span class=
-                  "QUOTE">"auto"</span>. It is <span class="emphasis"><i
-                  class="EMPHASIS">NOT</i></span> to be used in <tt class=
-                  "LITERAL">set-image-blocker</tt>, but meant for use from <a
-                  href="filter-file.html">filters</a>. Auto will select the
-                  type of image that would have applied to the referring
-                  page, had it been an image.
-                </p>
-              </dd>
-              <dt>
-                Example usage:
-              </dt>
-              <dd>
-                <p>
-                  Built-in pattern:
-                </p>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="SET-IMAGE-BLOCKER" id=
+        "SET-IMAGE-BLOCKER">8.5.33. set-image-blocker</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Typical use:</dt>
+
+            <dd>
+              <p>Choose the replacement for blocked images</p>
+            </dd>
+
+            <dt>Effect:</dt>
+
+            <dd>
+              <p>This action alone doesn't do anything noticeable. If
+              <span class="emphasis EMPHASIS c2">both</span> <tt class=
+              "LITERAL"><a href="actions-file.html#BLOCK">block</a></tt>
+              <span class="emphasis EMPHASIS c2">and</span> <tt class=
+              "LITERAL"><a href=
+              "actions-file.html#HANDLE-AS-IMAGE">handle-as-image</a></tt>
+              <span class="emphasis EMPHASIS c2">also</span> apply, i.e. if
+              the request is to be blocked as an image, <span class=
+              "emphasis EMPHASIS c2">then</span> the parameter of this action
+              decides what will be sent as a replacement.</p>
+            </dd>
+
+            <dt>Type:</dt>
+
+            <dd>
+              <p>Parameterized.</p>
+            </dd>
+
+            <dt>Parameter:</dt>
+
+            <dd>
+              <ul>
+                <li>
+                  <p><span class="QUOTE">"pattern"</span> to send a built-in
+                  checkerboard pattern image. The image is visually decent,
+                  scales very well, and makes it obvious where banners were
+                  busted.</p>
+                </li>
+
+                <li>
+                  <p><span class="QUOTE">"blank"</span> to send a built-in
+                  transparent image. This makes banners disappear completely,
+                  but makes it hard to detect where <span class=
+                  "APPLICATION">Privoxy</span> has blocked images on a given
+                  page and complicates troubleshooting if <span class=
+                  "APPLICATION">Privoxy</span> has blocked innocent images,
+                  like navigation icons.</p>
+                </li>
+
+                <li>
+                  <p><span class="QUOTE">"<tt class=
+                  "REPLACEABLE c5">target-url</tt>"</span> to send a redirect
+                  to <tt class="REPLACEABLE c5">target-url</tt>. You can
+                  redirect to any image anywhere, even in your local
+                  filesystem via <span class="QUOTE">"file:///"</span> URL.
+                  (But note that not all browsers support redirecting to a
+                  local file system).</p>
+
+                  <p>A good application of redirects is to use special
+                  <span class="APPLICATION">Privoxy</span>-built-in URLs,
+                  which send the built-in images, as <tt class=
+                  "REPLACEABLE c5">target-url</tt>. This has the same visual
+                  effect as specifying <span class="QUOTE">"blank"</span> or
+                  <span class="QUOTE">"pattern"</span> in the first place,
+                  but enables your browser to cache the replacement image,
+                  instead of requesting it over and over again.</p>
+                </li>
+              </ul>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>The URLs for the built-in images are <span class=
+              "QUOTE">"http://config.privoxy.org/send-banner?type=<tt class=
+              "REPLACEABLE c5">type</tt>"</span>, where <tt class=
+              "REPLACEABLE c5">type</tt> is either <span class=
+              "QUOTE">"blank"</span> or <span class=
+              "QUOTE">"pattern"</span>.</p>
+
+              <p>There is a third (advanced) type, called <span class=
+              "QUOTE">"auto"</span>. It is <span class=
+              "emphasis EMPHASIS c2">NOT</span> to be used in <tt class=
+              "LITERAL">set-image-blocker</tt>, but meant for use from
+              <a href="filter-file.html">filters</a>. Auto will select the
+              type of image that would have applied to the referring page,
+              had it been an image.</p>
+            </dd>
+
+            <dt>Example usage:</dt>
+
+            <dd>
+              <p>Built-in pattern:</p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 +set-image-blocker{pattern}
 </pre>
-                    </td>
-                  </tr>
-                </table>
+                  </td>
+                </tr>
+              </table>
 
-                <p>
-                  Redirect to the BSD daemon:
-                </p>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+              <p>Redirect to the BSD daemon:</p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 +set-image-blocker{http://www.freebsd.org/gifs/dae_up3.gif}
 </pre>
-                    </td>
-                  </tr>
-                </table>
+                  </td>
+                </tr>
+              </table>
 
-                <p>
-                  Redirect to the built-in pattern for better caching:
-                </p>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+              <p>Redirect to the built-in pattern for better caching:</p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
 +set-image-blocker{http://config.privoxy.org/send-banner?type=pattern}
 </pre>
-                    </td>
-                  </tr>
-                </table>
-              </dd>
-            </dl>
-          </div>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="AEN4549">8.5.34. Summary</a>
-          </h3>
-          <p>
-            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, and other criteria, he may depend on. There
-            is no way to have hard and fast rules for all sites. See the <a
-            href="appendix.html#ACTIONSANAT">Appendix</a> for a brief example
-            on troubleshooting actions.
-          </p>
+                  </td>
+                </tr>
+              </table>
+            </dd>
+          </dl>
         </div>
       </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="ALIASES">8.6. Aliases</a>
-        </h2>
-        <p>
-          Custom <span class="QUOTE">"actions"</span>, known to <span class=
-          "APPLICATION">Privoxy</span> as <span class=
-          "QUOTE">"aliases"</span>, can be defined by combining other
-          actions. These can in turn be invoked just like the built-in
-          actions. Currently, an alias name can contain any character except
-          space, tab, <span class="QUOTE">"="</span>, <span class=
-          "QUOTE">"{"</span> and <span class="QUOTE">"}"</span>, but we <span
-          class="emphasis"><i class="EMPHASIS">strongly recommend</i></span>
-          that you only use <span class="QUOTE">"a"</span> to <span class=
-          "QUOTE">"z"</span>, <span class="QUOTE">"0"</span> to <span class=
-          "QUOTE">"9"</span>, <span class="QUOTE">"+"</span>, and <span
-          class="QUOTE">"-"</span>. Alias names are not case sensitive, and
-          are not required to start with a <span class="QUOTE">"+"</span> or
-          <span class="QUOTE">"-"</span> sign, since they are merely
-          textually expanded.
-        </p>
-        <p>
-          Aliases can be used throughout the actions file, but they <span
-          class="emphasis"><i class="EMPHASIS">must be defined in a special
-          section at the top of the file!</i></span> And there can only be
-          one such section per actions file. Each actions file may have its
-          own alias section, and the aliases defined in it are only visible
-          within that file.
-        </p>
-        <p>
-          There are two main reasons to use aliases: One is to save typing
-          for frequently used combinations of actions, the other one is a
-          gain in flexibility: If you decide once how you want to handle
-          shops by defining an alias called <span class=
-          "QUOTE">"shop"</span>, you can later change your policy on shops in
-          <span class="emphasis"><i class="EMPHASIS">one</i></span> place,
-          and your changes will take effect everywhere in the actions file
-          where the <span class="QUOTE">"shop"</span> alias is used. Calling
-          aliases by their purpose also makes your actions files more
-          readable.
-        </p>
-        <p>
-          Currently, there is one big drawback to using aliases, though:
-          <span class="APPLICATION">Privoxy</span>'s built-in web-based
-          action file editor honors aliases when reading the actions files,
-          but it expands them before writing. So the effects of your aliases
-          are of course preserved, but the aliases themselves are lost when
-          you edit sections that use aliases with it.
-        </p>
-        <p>
-          Now let's define some aliases...
-        </p>
-        <p>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="AEN4687" id="AEN4687">8.5.34.
+        Summary</a></h3>
+
+        <p>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, and other criteria, he may depend on. There is no way
+        to have hard and fast rules for all sites. See the <a href=
+        "appendix.html#ACTIONSANAT">Appendix</a> for a brief example on
+        troubleshooting actions.</p>
+      </div>
+    </div>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="ALIASES" id="ALIASES">8.6. Aliases</a></h2>
+
+      <p>Custom <span class="QUOTE">"actions"</span>, known to <span class=
+      "APPLICATION">Privoxy</span> as <span class="QUOTE">"aliases"</span>,
+      can be defined by combining other actions. These can in turn be invoked
+      just like the built-in actions. Currently, an alias name can contain
+      any character except space, tab, <span class="QUOTE">"="</span>,
+      <span class="QUOTE">"{"</span> and <span class="QUOTE">"}"</span>, but
+      we <span class="emphasis EMPHASIS c2">strongly recommend</span> that
+      you only use <span class="QUOTE">"a"</span> to <span class=
+      "QUOTE">"z"</span>, <span class="QUOTE">"0"</span> to <span class=
+      "QUOTE">"9"</span>, <span class="QUOTE">"+"</span>, and <span class=
+      "QUOTE">"-"</span>. Alias names are not case sensitive, and are not
+      required to start with a <span class="QUOTE">"+"</span> or <span class=
+      "QUOTE">"-"</span> sign, since they are merely textually expanded.</p>
+
+      <p>Aliases can be used throughout the actions file, but they
+      <span class="emphasis EMPHASIS c2">must be defined in a special section
+      at the top of the file!</span> And there can only be one such section
+      per actions file. Each actions file may have its own alias section, and
+      the aliases defined in it are only visible within that file.</p>
+
+      <p>There are two main reasons to use aliases: One is to save typing for
+      frequently used combinations of actions, the other one is a gain in
+      flexibility: If you decide once how you want to handle shops by
+      defining an alias called <span class="QUOTE">"shop"</span>, you can
+      later change your policy on shops in <span class=
+      "emphasis EMPHASIS c2">one</span> place, and your changes will take
+      effect everywhere in the actions file where the <span class=
+      "QUOTE">"shop"</span> alias is used. Calling aliases by their purpose
+      also makes your actions files more readable.</p>
+
+      <p>Currently, there is one big drawback to using aliases, though:
+      <span class="APPLICATION">Privoxy</span>'s built-in web-based action
+      file editor honors aliases when reading the actions files, but it
+      expands them before writing. So the effects of your aliases are of
+      course preserved, but the aliases themselves are lost when you edit
+      sections that use aliases with it.</p>
+
+      <p>Now let's define some aliases...</p>
+
+      <table class="c4" border="0" width="100%">
+        <tr>
+          <td>
+            <pre class="SCREEN">
  # Useful custom aliases we can use later.
  #
  # Note the (required!) section header line and that this section
@@ -5038,11 +4287,9 @@ example.org/instance-that-is-delivered-as-xml-but-is-not
  # (Note that some already use other aliases!)
  #
  +crunch-all-cookies = +<a href=
-"actions-file.html#CRUNCH-INCOMING-COOKIES">crunch-incoming-cookies</a> +<a
-href="actions-file.html#CRUNCH-OUTGOING-COOKIES">crunch-outgoing-cookies</a>
+"actions-file.html#CRUNCH-INCOMING-COOKIES">crunch-incoming-cookies</a> +<a href="actions-file.html#CRUNCH-OUTGOING-COOKIES">crunch-outgoing-cookies</a>
  -crunch-all-cookies = -<a href=
-"actions-file.html#CRUNCH-INCOMING-COOKIES">crunch-incoming-cookies</a> -<a
-href="actions-file.html#CRUNCH-OUTGOING-COOKIES">crunch-outgoing-cookies</a>
+"actions-file.html#CRUNCH-INCOMING-COOKIES">crunch-incoming-cookies</a> -<a href="actions-file.html#CRUNCH-OUTGOING-COOKIES">crunch-outgoing-cookies</a>
  +block-as-image      = +block{Blocked image.} +handle-as-image
  allow-all-cookies   = -crunch-all-cookies -<a href=
 "actions-file.html#SESSION-COOKIES-ONLY">session-cookies-only</a> -<a href=
@@ -5065,22 +4312,19 @@ href="actions-file.html#CRUNCH-OUTGOING-COOKIES">crunch-outgoing-cookies</a>
  c0 = +crunch-all-cookies
  c1 = -crunch-all-cookies
 </pre>
-            </td>
-          </tr>
-        </table>
+          </td>
+        </tr>
+      </table>
 
-        <p>
-          ...and put them to use. These sections would appear in the lower
-          part of an actions file and define exceptions to the default
-          actions (as specified further up for the <span class=
-          "QUOTE">"/"</span> pattern):
-        </p>
-        <p>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
+      <p>...and put them to use. These sections would appear in the lower
+      part of an actions file and define exceptions to the default actions
+      (as specified further up for the <span class="QUOTE">"/"</span>
+      pattern):</p>
+
+      <table class="c4" border="0" width="100%">
+        <tr>
+          <td>
+            <pre class="SCREEN">
  # These sites are either very complex or very keen on
  # user data and require minimal interference to work:
  #
@@ -5104,71 +4348,62 @@ href="actions-file.html#CRUNCH-OUTGOING-COOKIES">crunch-outgoing-cookies</a>
   .dabs.com
   .overclockers.co.uk
 </pre>
-            </td>
-          </tr>
-        </table>
+          </td>
+        </tr>
+      </table>
 
-        <p>
-          Aliases like <span class="QUOTE">"shop"</span> and <span class=
-          "QUOTE">"fragile"</span> are typically used for <span class=
-          "QUOTE">"problem"</span> sites that require more than one action to
-          be disabled in order to function properly.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="ACT-EXAMPLES">8.7. Actions Files Tutorial</a>
-        </h2>
-        <p>
-          The above chapters have shown <a href="actions-file.html">which
-          actions files there are and how they are organized</a>, how actions
-          are <a href="actions-file.html#ACTIONS">specified</a> and <a href=
-          "actions-file.html#ACTIONS-APPLY">applied to URLs</a>, how <a href=
-          "actions-file.html#AF-PATTERNS">patterns</a> work, and how to
-          define and use <a href="actions-file.html#ALIASES">aliases</a>.
-          Now, let's look at an example <tt class=
-          "FILENAME">match-all.action</tt>, <tt class=
-          "FILENAME">default.action</tt> and <tt class=
-          "FILENAME">user.action</tt> file and see how all these pieces come
-          together:
-        </p>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="AEN4613">8.7.1. match-all.action</a>
-          </h3>
-          <p>
-            Remember <span class="emphasis"><i class="EMPHASIS">all actions
-            are disabled when matching starts</i></span>, so we have to
-            explicitly enable the ones we want.
-          </p>
-          <p>
-            While the <tt class="FILENAME">match-all.action</tt> file only
-            contains a single section, it is probably the most important one.
-            It has only one pattern, <span class="QUOTE">"<tt class=
-            "LITERAL">/</tt>"</span>, but this pattern <a href=
-            "actions-file.html#AF-PATTERNS">matches all URLs</a>. Therefore,
-            the set of actions used in this <span class=
-            "QUOTE">"default"</span> section <span class="emphasis"><i class=
-            "EMPHASIS">will be applied to all requests as a start</i></span>.
-            It can be partly or wholly overridden by other actions files like
-            <tt class="FILENAME">default.action</tt> and <tt class=
-            "FILENAME">user.action</tt>, but it will still be largely
-            responsible for your overall browsing experience.
-          </p>
-          <p>
-            Again, at the start of matching, all actions are disabled, so
-            there is no need to disable any actions here. (Remember: a <span
-            class="QUOTE">"+"</span> preceding the action name enables the
-            action, a <span class="QUOTE">"-"</span> disables!). Also note
-            how this long line has been made more readable by splitting it
-            into multiple lines with line continuation.
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="SCREEN">
+      <p>Aliases like <span class="QUOTE">"shop"</span> and <span class=
+      "QUOTE">"fragile"</span> are typically used for <span class=
+      "QUOTE">"problem"</span> sites that require more than one action to be
+      disabled in order to function properly.</p>
+    </div>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="ACT-EXAMPLES" id="ACT-EXAMPLES">8.7. Actions
+      Files Tutorial</a></h2>
+
+      <p>The above chapters have shown <a href="actions-file.html">which
+      actions files there are and how they are organized</a>, how actions are
+      <a href="actions-file.html#ACTIONS">specified</a> and <a href=
+      "actions-file.html#ACTIONS-APPLY">applied to URLs</a>, how <a href=
+      "actions-file.html#AF-PATTERNS">patterns</a> work, and how to define
+      and use <a href="actions-file.html#ALIASES">aliases</a>. Now, let's
+      look at an example <tt class="FILENAME">match-all.action</tt>,
+      <tt class="FILENAME">default.action</tt> and <tt class=
+      "FILENAME">user.action</tt> file and see how all these pieces come
+      together:</p>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="AEN4751" id="AEN4751">8.7.1.
+        match-all.action</a></h3>
+
+        <p>Remember <span class="emphasis EMPHASIS c2">all actions are
+        disabled when matching starts</span>, so we have to explicitly enable
+        the ones we want.</p>
+
+        <p>While the <tt class="FILENAME">match-all.action</tt> file only
+        contains a single section, it is probably the most important one. It
+        has only one pattern, <span class="QUOTE">"<tt class=
+        "LITERAL">/</tt>"</span>, but this pattern <a href=
+        "actions-file.html#AF-PATTERNS">matches all URLs</a>. Therefore, the
+        set of actions used in this <span class="QUOTE">"default"</span>
+        section <span class="emphasis EMPHASIS c2">will be applied to all
+        requests as a start</span>. It can be partly or wholly overridden by
+        other actions files like <tt class="FILENAME">default.action</tt> and
+        <tt class="FILENAME">user.action</tt>, but it will still be largely
+        responsible for your overall browsing experience.</p>
+
+        <p>Again, at the start of matching, all actions are disabled, so
+        there is no need to disable any actions here. (Remember: a
+        <span class="QUOTE">"+"</span> preceding the action name enables the
+        action, a <span class="QUOTE">"-"</span> disables!). Also note how
+        this long line has been made more readable by splitting it into
+        multiple lines with line continuation.</p>
+
+        <table class="c4" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="SCREEN">
 { \
  +<a href=
 "actions-file.html#CHANGE-X-FORWARDED-FOR">change-x-forwarded-for{block}</a> \
@@ -5177,64 +4412,56 @@ href="actions-file.html#CRUNCH-OUTGOING-COOKIES">crunch-outgoing-cookies</a>
 "actions-file.html#SET-IMAGE-BLOCKER">set-image-blocker{pattern}</a> \
 }
 / # Match all URLs
+
 </pre>
-              </td>
-            </tr>
-          </table>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            The default behavior is now set.
-          </p>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="AEN4635">8.7.2. default.action</a>
-          </h3>
-          <p>
-            If you aren't a developer, there's no need for you to edit the
-            <tt class="FILENAME">default.action</tt> file. It is maintained
-            by the <span class="APPLICATION">Privoxy</span> developers and if
-            you disagree with some of the sections, you should overrule them
-            in your <tt class="FILENAME">user.action</tt>.
-          </p>
-          <p>
-            Understanding the <tt class="FILENAME">default.action</tt> file
-            can help you with your <tt class="FILENAME">user.action</tt>,
-            though.
-          </p>
-          <p>
-            The first section in this file is a special section for internal
-            use that prevents older <span class="APPLICATION">Privoxy</span>
-            versions from reading the file:
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="SCREEN">
+        <p>The default behavior is now set.</p>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="AEN4773" id="AEN4773">8.7.2.
+        default.action</a></h3>
+
+        <p>If you aren't a developer, there's no need for you to edit the
+        <tt class="FILENAME">default.action</tt> file. It is maintained by
+        the <span class="APPLICATION">Privoxy</span> developers and if you
+        disagree with some of the sections, you should overrule them in your
+        <tt class="FILENAME">user.action</tt>.</p>
+
+        <p>Understanding the <tt class="FILENAME">default.action</tt> file
+        can help you with your <tt class="FILENAME">user.action</tt>,
+        though.</p>
+
+        <p>The first section in this file is a special section for internal
+        use that prevents older <span class="APPLICATION">Privoxy</span>
+        versions from reading the file:</p>
+
+        <table class="c4" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="SCREEN">
 ##########################################################################
 # Settings -- Don't change! For internal Privoxy use ONLY.
 ##########################################################################
 {{settings}}
 for-privoxy-version=3.0.11
 </pre>
-              </td>
-            </tr>
-          </table>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            After that comes the (optional) alias section. We'll use the
-            example section from the above <a href=
-            "actions-file.html#ALIASES">chapter on aliases</a>, that also
-            explains why and how aliases are used:
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="SCREEN">
+        <p>After that comes the (optional) alias section. We'll use the
+        example section from the above <a href=
+        "actions-file.html#ALIASES">chapter on aliases</a>, that also
+        explains why and how aliases are used:</p>
+
+        <table class="c4" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="SCREEN">
 ##########################################################################
 # Aliases
 ##########################################################################
@@ -5244,11 +4471,9 @@ for-privoxy-version=3.0.11
  # (Note that some already use other aliases!)
  #
  +crunch-all-cookies = +<a href=
-"actions-file.html#CRUNCH-INCOMING-COOKIES">crunch-incoming-cookies</a> +<a
-href="actions-file.html#CRUNCH-OUTGOING-COOKIES">crunch-outgoing-cookies</a>
+"actions-file.html#CRUNCH-INCOMING-COOKIES">crunch-incoming-cookies</a> +<a href="actions-file.html#CRUNCH-OUTGOING-COOKIES">crunch-outgoing-cookies</a>
  -crunch-all-cookies = -<a href=
-"actions-file.html#CRUNCH-INCOMING-COOKIES">crunch-incoming-cookies</a> -<a
-href="actions-file.html#CRUNCH-OUTGOING-COOKIES">crunch-outgoing-cookies</a>
+"actions-file.html#CRUNCH-INCOMING-COOKIES">crunch-incoming-cookies</a> -<a href="actions-file.html#CRUNCH-OUTGOING-COOKIES">crunch-outgoing-cookies</a>
  +block-as-image      = +block{Blocked image.} +handle-as-image
  mercy-for-cookies   = -crunch-all-cookies -<a href=
 "actions-file.html#SESSION-COOKIES-ONLY">session-cookies-only</a> -<a href=
@@ -5263,26 +4488,23 @@ href="actions-file.html#CRUNCH-OUTGOING-COOKIES">crunch-outgoing-cookies</a>
 "actions-file.html#HIDE-REFERER">hide-referrer</a>
  shop        = -crunch-all-cookies -<a href=
 "actions-file.html#FILTER-ALL-POPUPS">filter{all-popups}</a>
-</pre>
-              </td>
-            </tr>
-          </table>
+</pre>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            The first of our specialized sections is concerned with <span
-            class="QUOTE">"fragile"</span> sites, i.e. sites that require
-            minimum interference, because they are either very complex or
-            very keen on tracking you (and have mechanisms in place that make
-            them unusable for people who avoid being tracked). We will simply
-            use our pre-defined <tt class="LITERAL">fragile</tt> alias
-            instead of stating the list of actions explicitly:
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="SCREEN">
+        <p>The first of our specialized sections is concerned with
+        <span class="QUOTE">"fragile"</span> sites, i.e. sites that require
+        minimum interference, because they are either very complex or very
+        keen on tracking you (and have mechanisms in place that make them
+        unusable for people who avoid being tracked). We will simply use our
+        pre-defined <tt class="LITERAL">fragile</tt> alias instead of stating
+        the list of actions explicitly:</p>
+
+        <table class="c4" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="SCREEN">
 ##########################################################################
 # Exceptions for sites that'll break under the default action set:
 ##########################################################################
@@ -5294,21 +4516,18 @@ href="actions-file.html#CRUNCH-OUTGOING-COOKIES">crunch-outgoing-cookies</a>
 .windowsupdate.microsoft.com
 mail.google.com
 </pre>
-              </td>
-            </tr>
-          </table>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            Shopping sites are not as fragile, but they typically require
-            cookies to log in, and pop-up windows for shopping carts or item
-            details. Again, we'll use a pre-defined alias:
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="SCREEN">
+        <p>Shopping sites are not as fragile, but they typically require
+        cookies to log in, and pop-up windows for shopping carts or item
+        details. Again, we'll use a pre-defined alias:</p>
+
+        <table class="c4" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="SCREEN">
 # Shopping sites:
 #
 { shop }
@@ -5317,23 +4536,20 @@ mail.google.com
 .jungle.com
 .scan.co.uk
 </pre>
-              </td>
-            </tr>
-          </table>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            The <tt class="LITERAL"><a href=
-            "actions-file.html#FAST-REDIRECTS">fast-redirects</a></tt>
-            action, which may have been enabled in <tt class=
-            "FILENAME">match-all.action</tt>, breaks some sites. So disable
-            it for popular sites where we know it misbehaves:
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="SCREEN">
+        <p>The <tt class="LITERAL"><a href=
+        "actions-file.html#FAST-REDIRECTS">fast-redirects</a></tt> action,
+        which may have been enabled in <tt class=
+        "FILENAME">match-all.action</tt>, breaks some sites. So disable it
+        for popular sites where we know it misbehaves:</p>
+
+        <table class="c4" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="SCREEN">
 { -<a href="actions-file.html#FAST-REDIRECTS">fast-redirects</a> }
 login.yahoo.com
 edit.*.yahoo.com
@@ -5342,30 +4558,26 @@ edit.*.yahoo.com
 .altavista.com/trans.*urltext=http
 .nytimes.com
 </pre>
-              </td>
-            </tr>
-          </table>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            It is important that <span class="APPLICATION">Privoxy</span>
-            knows which URLs belong to images, so that <span class=
-            "emphasis"><i class="EMPHASIS">if</i></span> they are to be
-            blocked, a substitute image can be sent, rather than an HTML
-            page. Contacting the remote site to find out is not an option,
-            since it would destroy the loading time advantage of banner
-            blocking, and it would feed the advertisers information about
-            you. We can mark any URL as an image with the <tt class=
-            "LITERAL"><a href=
-            "actions-file.html#HANDLE-AS-IMAGE">handle-as-image</a></tt>
-            action, and marking all URLs that end in a known image file
-            extension is a good start:
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="SCREEN">
+        <p>It is important that <span class="APPLICATION">Privoxy</span>
+        knows which URLs belong to images, so that <span class=
+        "emphasis EMPHASIS c2">if</span> they are to be blocked, a substitute
+        image can be sent, rather than an HTML page. Contacting the remote
+        site to find out is not an option, since it would destroy the loading
+        time advantage of banner blocking, and it would feed the advertisers
+        information about you. We can mark any URL as an image with the
+        <tt class="LITERAL"><a href=
+        "actions-file.html#HANDLE-AS-IMAGE">handle-as-image</a></tt> action,
+        and marking all URLs that end in a known image file extension is a
+        good start:</p>
+
+        <table class="c4" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="SCREEN">
 ##########################################################################
 # Images:
 ##########################################################################
@@ -5376,34 +4588,30 @@ edit.*.yahoo.com
 { +<a href="actions-file.html#HANDLE-AS-IMAGE">handle-as-image</a> }
 /.*\.(gif|jpe?g|png|bmp|ico)$
 </pre>
-              </td>
-            </tr>
-          </table>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            And then there are known banner sources. They often use scripts
-            to generate the banners, so it won't be visible from the URL that
-            the request is for an image. Hence we block them <span class=
-            "emphasis"><i class="EMPHASIS">and</i></span> mark them as images
-            in one go, with the help of our <tt class=
-            "LITERAL">+block-as-image</tt> alias defined above. (We could of
-            course just as well use <tt class="LITERAL">+<a href=
-            "actions-file.html#BLOCK">block</a> +<a href=
-            "actions-file.html#HANDLE-AS-IMAGE">handle-as-image</a></tt>
-            here.) Remember that the type of the replacement image is chosen
-            by the <tt class="LITERAL"><a href=
-            "actions-file.html#SET-IMAGE-BLOCKER">set-image-blocker</a></tt>
-            action. Since all URLs have matched the default section with its
-            <tt class="LITERAL">+<a href=
-            "actions-file.html#SET-IMAGE-BLOCKER">set-image-blocker</a>{pattern}</tt>
-            action before, it still applies and needn't be repeated:
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="SCREEN">
+        <p>And then there are known banner sources. They often use scripts to
+        generate the banners, so it won't be visible from the URL that the
+        request is for an image. Hence we block them <span class=
+        "emphasis EMPHASIS c2">and</span> mark them as images in one go, with
+        the help of our <tt class="LITERAL">+block-as-image</tt> alias
+        defined above. (We could of course just as well use <tt class=
+        "LITERAL">+<a href="actions-file.html#BLOCK">block</a> +<a href=
+        "actions-file.html#HANDLE-AS-IMAGE">handle-as-image</a></tt> here.)
+        Remember that the type of the replacement image is chosen by the
+        <tt class="LITERAL"><a href=
+        "actions-file.html#SET-IMAGE-BLOCKER">set-image-blocker</a></tt>
+        action. Since all URLs have matched the default section with its
+        <tt class="LITERAL">+<a href=
+        "actions-file.html#SET-IMAGE-BLOCKER">set-image-blocker</a>{pattern}</tt>
+        action before, it still applies and needn't be repeated:</p>
+
+        <table class="c4" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="SCREEN">
 # Known ad generators:
 #
 { +block-as-image }
@@ -5415,37 +4623,32 @@ ar.atwola.com
 bs*.gsanet.com
 .qkimg.net
 </pre>
-              </td>
-            </tr>
-          </table>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            One of the most important jobs of <span class=
-            "APPLICATION">Privoxy</span> is to block banners. Many of these
-            can be <span class="QUOTE">"blocked"</span> by the <tt class=
-            "LITERAL"><a href=
-            "actions-file.html#FILTER">filter</a>{banners-by-size}</tt>
-            action, which we enabled above, and which deletes the references
-            to banner images from the pages while they are loaded, so the
-            browser doesn't request them anymore, and hence they don't need
-            to be blocked here. But this naturally doesn't catch all banners,
-            and some people choose not to use filters, so we need a
-            comprehensive list of patterns for banner URLs here, and apply
-            the <tt class="LITERAL"><a href=
-            "actions-file.html#BLOCK">block</a></tt> action to them.
-          </p>
-          <p>
-            First comes many generic patterns, which do most of the work, by
-            matching typical domain and path name components of banners. Then
-            comes a list of individual patterns for specific sites, which is
-            omitted here to keep the example short:
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="SCREEN">
+        <p>One of the most important jobs of <span class=
+        "APPLICATION">Privoxy</span> is to block banners. Many of these can
+        be <span class="QUOTE">"blocked"</span> by the <tt class=
+        "LITERAL"><a href=
+        "actions-file.html#FILTER">filter</a>{banners-by-size}</tt> action,
+        which we enabled above, and which deletes the references to banner
+        images from the pages while they are loaded, so the browser doesn't
+        request them anymore, and hence they don't need to be blocked here.
+        But this naturally doesn't catch all banners, and some people choose
+        not to use filters, so we need a comprehensive list of patterns for
+        banner URLs here, and apply the <tt class="LITERAL"><a href=
+        "actions-file.html#BLOCK">block</a></tt> action to them.</p>
+
+        <p>First comes many generic patterns, which do most of the work, by
+        matching typical domain and path name components of banners. Then
+        comes a list of individual patterns for specific sites, which is
+        omitted here to keep the example short:</p>
+
+        <table class="c4" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="SCREEN">
 ##########################################################################
 # Block these fine banners:
 ##########################################################################
@@ -5464,55 +4667,47 @@ count*.
 #
 .hitbox.com
 </pre>
-              </td>
-            </tr>
-          </table>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            It's quite remarkable how many advertisers actually call their
-            banner servers ads.<tt class=
-            "REPLACEABLE"><i>company</i></tt>.com, or call the directory in
-            which the banners are stored simply <span class=
-            "QUOTE">"banners"</span>. So the above generic patterns are
-            surprisingly effective.
-          </p>
-          <p>
-            But being very generic, they necessarily also catch URLs that we
-            don't want to block. The pattern <tt class="LITERAL">.*ads.</tt>
-            e.g. catches <span class="QUOTE">"nasty-<span class="emphasis"><i
-            class="EMPHASIS">ads</i></span>.nasty-corp.com"</span> as
-            intended, but also <span class="QUOTE">"downlo<span class=
-            "emphasis"><i class=
-            "EMPHASIS">ads</i></span>.sourcefroge.net"</span> or <span class=
-            "QUOTE">"<span class="emphasis"><i class=
-            "EMPHASIS">ads</i></span>l.some-provider.net."</span> So here
-            come some well-known exceptions to the <tt class="LITERAL">+<a
-            href="actions-file.html#BLOCK">block</a></tt> section above.
-          </p>
-          <p>
-            Note that these are exceptions to exceptions from the default!
-            Consider the URL <span class=
-            "QUOTE">"downloads.sourcefroge.net"</span>: Initially, all
-            actions are deactivated, so it wouldn't get blocked. Then comes
-            the defaults section, which matches the URL, but just deactivates
-            the <tt class="LITERAL"><a href=
-            "actions-file.html#BLOCK">block</a></tt> action once again. Then
-            it matches <tt class="LITERAL">.*ads.</tt>, an exception to the
-            general non-blocking policy, and suddenly <tt class="LITERAL"><a
-            href="actions-file.html#BLOCK">+block</a></tt> applies. And now,
-            it'll match <tt class="LITERAL">.*loads.</tt>, where <tt class=
-            "LITERAL"><a href="actions-file.html#BLOCK">-block</a></tt>
-            applies, so (unless it matches <span class="emphasis"><i class=
-            "EMPHASIS">again</i></span> further down) it ends up with no <tt
-            class="LITERAL"><a href="actions-file.html#BLOCK">block</a></tt>
-            action applying.
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="SCREEN">
+        <p>It's quite remarkable how many advertisers actually call their
+        banner servers ads.<tt class="REPLACEABLE c5">company</tt>.com, or
+        call the directory in which the banners are stored simply
+        <span class="QUOTE">"banners"</span>. So the above generic patterns
+        are surprisingly effective.</p>
+
+        <p>But being very generic, they necessarily also catch URLs that we
+        don't want to block. The pattern <tt class="LITERAL">.*ads.</tt> e.g.
+        catches <span class="QUOTE">"nasty-<span class=
+        "emphasis EMPHASIS c2">ads</span>.nasty-corp.com"</span> as intended,
+        but also <span class="QUOTE">"downlo<span class=
+        "emphasis EMPHASIS c2">ads</span>.sourcefroge.net"</span> or
+        <span class="QUOTE">"<span class=
+        "emphasis EMPHASIS c2">ads</span>l.some-provider.net."</span> So here
+        come some well-known exceptions to the <tt class="LITERAL">+<a href=
+        "actions-file.html#BLOCK">block</a></tt> section above.</p>
+
+        <p>Note that these are exceptions to exceptions from the default!
+        Consider the URL <span class=
+        "QUOTE">"downloads.sourcefroge.net"</span>: Initially, all actions
+        are deactivated, so it wouldn't get blocked. Then comes the defaults
+        section, which matches the URL, but just deactivates the <tt class=
+        "LITERAL"><a href="actions-file.html#BLOCK">block</a></tt> action
+        once again. Then it matches <tt class="LITERAL">.*ads.</tt>, an
+        exception to the general non-blocking policy, and suddenly <tt class=
+        "LITERAL"><a href="actions-file.html#BLOCK">+block</a></tt> applies.
+        And now, it'll match <tt class="LITERAL">.*loads.</tt>, where
+        <tt class="LITERAL"><a href="actions-file.html#BLOCK">-block</a></tt>
+        applies, so (unless it matches <span class=
+        "emphasis EMPHASIS c2">again</span> further down) it ends up with no
+        <tt class="LITERAL"><a href="actions-file.html#BLOCK">block</a></tt>
+        action applying.</p>
+
+        <table class="c4" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="SCREEN">
 ##########################################################################
 # Save some innocent victims of the above generic block patterns:
 ##########################################################################
@@ -5536,24 +4731,21 @@ ad[ud]*.   # (adult.* and add.*)
 www.globalintersec.com/adv # (adv = advanced)
 www.ugu.com/sui/ugu/adv
 </pre>
-              </td>
-            </tr>
-          </table>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            Filtering source code can have nasty side effects, so make an
-            exception for our friends at sourceforge.net, and all paths with
-            <span class="QUOTE">"cvs"</span> in them. Note that <tt class=
-            "LITERAL">-<a href="actions-file.html#FILTER">filter</a></tt>
-            disables <span class="emphasis"><i class=
-            "EMPHASIS">all</i></span> filters in one fell swoop!
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="SCREEN">
+        <p>Filtering source code can have nasty side effects, so make an
+        exception for our friends at sourceforge.net, and all paths with
+        <span class="QUOTE">"cvs"</span> in them. Note that <tt class=
+        "LITERAL">-<a href="actions-file.html#FILTER">filter</a></tt>
+        disables <span class="emphasis EMPHASIS c2">all</span> filters in one
+        fell swoop!</p>
+
+        <table class="c4" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="SCREEN">
 # Don't filter code!
 #
 { -<a href="actions-file.html#FILTER">filter</a> }
@@ -5563,65 +4755,55 @@ developer.
 wiki.
 .sourceforge.net
 </pre>
-              </td>
-            </tr>
-          </table>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            The actual <tt class="FILENAME">default.action</tt> is of course
-            much more comprehensive, but we hope this example made clear how
-            it works.
-          </p>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="AEN4748">8.7.3. user.action</a>
-          </h3>
-          <p>
-            So far we are painting with a broad brush by setting general
-            policies, which would be a reasonable starting point for many
-            people. Now, you might want to be more specific and have
-            customized rules that are more suitable to your personal habits
-            and preferences. These would be for narrowly defined situations
-            like your ISP or your bank, and should be placed in <tt class=
-            "FILENAME">user.action</tt>, which is parsed after all other
-            actions files and hence has the last word, over-riding any
-            previously defined actions. <tt class="FILENAME">user.action</tt>
-            is also a <span class="emphasis"><i class=
-            "EMPHASIS">safe</i></span> place for your personal settings,
-            since <tt class="FILENAME">default.action</tt> is actively
-            maintained by the <span class="APPLICATION">Privoxy</span>
-            developers and you'll probably want to install updated versions
-            from time to time.
-          </p>
-          <p>
-            So let's look at a few examples of things that one might
-            typically do in <tt class="FILENAME">user.action</tt>:
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="SCREEN">
+        <p>The actual <tt class="FILENAME">default.action</tt> is of course
+        much more comprehensive, but we hope this example made clear how it
+        works.</p>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="AEN4886" id="AEN4886">8.7.3.
+        user.action</a></h3>
+
+        <p>So far we are painting with a broad brush by setting general
+        policies, which would be a reasonable starting point for many people.
+        Now, you might want to be more specific and have customized rules
+        that are more suitable to your personal habits and preferences. These
+        would be for narrowly defined situations like your ISP or your bank,
+        and should be placed in <tt class="FILENAME">user.action</tt>, which
+        is parsed after all other actions files and hence has the last word,
+        over-riding any previously defined actions. <tt class=
+        "FILENAME">user.action</tt> is also a <span class=
+        "emphasis EMPHASIS c2">safe</span> place for your personal settings,
+        since <tt class="FILENAME">default.action</tt> is actively maintained
+        by the <span class="APPLICATION">Privoxy</span> developers and you'll
+        probably want to install updated versions from time to time.</p>
+
+        <p>So let's look at a few examples of things that one might typically
+        do in <tt class="FILENAME">user.action</tt>:</p>
+
+        <table class="c4" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="SCREEN">
 # My user.action file. &lt;fred@example.com&gt;
 </pre>
-              </td>
-            </tr>
-          </table>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            As <a href="actions-file.html#ALIASES">aliases</a> are local to
-            the actions file that they are defined in, you can't use the ones
-            from <tt class="FILENAME">default.action</tt>, unless you repeat
-            them here:
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="SCREEN">
+        <p>As <a href="actions-file.html#ALIASES">aliases</a> are local to
+        the actions file that they are defined in, you can't use the ones
+        from <tt class="FILENAME">default.action</tt>, unless you repeat them
+        here:</p>
+
+        <table class="c4" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="SCREEN">
 # Aliases are local to the file they are defined in.
 # (Re-)define aliases for this file:
 #
@@ -5650,65 +4832,54 @@ allow-ads   = -block -filter{banners-by-size} -filter{banners-by-link}
 # Alias for specific file types that are text, but might have conflicting
 # MIME types. We want the browser to force these to be text documents.
 handle-as-text = -<a href="actions-file.html#FILTER">filter</a> +-<a href=
-"actions-file.html#CONTENT-TYPE-OVERWRITE">content-type-overwrite{text/plain}</a> +-<a
- href="actions-file.html#FORCE-TEXT-MODE">force-text-mode</a> -<a href=
-"actions-file.html#HIDE-CONTENT-DISPOSITION">hide-content-disposition</a>
+"actions-file.html#CONTENT-TYPE-OVERWRITE">content-type-overwrite{text/plain}</a> +-<a href="actions-file.html#FORCE-TEXT-MODE">force-text-mode</a> -<a href="actions-file.html#HIDE-CONTENT-DISPOSITION">hide-content-disposition</a>
 </pre>
-              </td>
-            </tr>
-          </table>
-          &#13;<br>
-
-          <p>
-            Say you have accounts on some sites that you visit regularly, and
-            you don't want to have to log in manually each time. So you'd
-            like to allow persistent cookies for these sites. The <tt class=
-            "LITERAL">allow-all-cookies</tt> alias defined above does exactly
-            that, i.e. it disables crunching of cookies in any direction, and
-            the processing of cookies to make them only temporary.
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="SCREEN">
+            </td>
+          </tr>
+        </table>
+
+        <p>Say you have accounts on some sites that you visit regularly, and
+        you don't want to have to log in manually each time. So you'd like to
+        allow persistent cookies for these sites. The <tt class=
+        "LITERAL">allow-all-cookies</tt> alias defined above does exactly
+        that, i.e. it disables crunching of cookies in any direction, and the
+        processing of cookies to make them only temporary.</p>
+
+        <table class="c4" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="SCREEN">
 { allow-all-cookies }
  sourceforge.net
  .yahoo.com
  .msdn.microsoft.com
  .redhat.com
 </pre>
-              </td>
-            </tr>
-          </table>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            Your bank is allergic to some filter, but you don't know which,
-            so you disable them all:
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="SCREEN">
+        <p>Your bank is allergic to some filter, but you don't know which, so
+        you disable them all:</p>
+
+        <table class="c4" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="SCREEN">
 { -<a href="actions-file.html#FILTER">filter</a> }
  .your-home-banking-site.com
 </pre>
-              </td>
-            </tr>
-          </table>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            Some file types you may not want to filter for various reasons:
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="SCREEN">
+        <p>Some file types you may not want to filter for various
+        reasons:</p>
+
+        <table class="c4" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="SCREEN">
 # Technical documentation is likely to contain strings that might
 # erroneously get altered by the JavaScript-oriented filters:
 #
@@ -5720,215 +4891,196 @@ handle-as-text = -<a href="actions-file.html#FILTER">filter</a> +-<a href=
 #
 stupid-server.example.com/
 </pre>
-              </td>
-            </tr>
-          </table>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            Example of a simple <a href="actions-file.html#BLOCK">block</a>
-            action. Say you've seen an ad on your favourite page on
-            example.com that you want to get rid of. You have right-clicked
-            the image, selected <span class="QUOTE">"copy image
-            location"</span> and pasted the URL below while removing the
-            leading http://, into a <tt class="LITERAL">{ +block{} }</tt>
-            section. Note that <tt class="LITERAL">{ +handle-as-image }</tt>
-            need not be specified, since all URLs ending in <tt class=
-            "LITERAL">.gif</tt> will be tagged as images by the general rules
-            as set in default.action anyway:
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="SCREEN">
+        <p>Example of a simple <a href="actions-file.html#BLOCK">block</a>
+        action. Say you've seen an ad on your favourite page on example.com
+        that you want to get rid of. You have right-clicked the image,
+        selected <span class="QUOTE">"copy image location"</span> and pasted
+        the URL below while removing the leading http://, into a <tt class=
+        "LITERAL">{ +block{} }</tt> section. Note that <tt class="LITERAL">{
+        +handle-as-image }</tt> need not be specified, since all URLs ending
+        in <tt class="LITERAL">.gif</tt> will be tagged as images by the
+        general rules as set in default.action anyway:</p>
+
+        <table class="c4" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="SCREEN">
 { +<a href="actions-file.html#BLOCK">block</a>{Nasty ads.} }
  www.example.com/nasty-ads/sponsor\.gif
  another.example.net/more/junk/here/
 </pre>
-              </td>
-            </tr>
-          </table>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            The URLs of dynamically generated banners, especially from large
-            banner farms, often don't use the well-known image file name
-            extensions, which makes it impossible for <span class=
-            "APPLICATION">Privoxy</span> to guess the file type just by
-            looking at the URL. You can use the <tt class=
-            "LITERAL">+block-as-image</tt> alias defined above for these
-            cases. Note that objects which match this rule but then turn out
-            NOT to be an image are typically rendered as a <span class=
-            "QUOTE">"broken image"</span> icon by the browser. Use
-            cautiously.
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="SCREEN">
+        <p>The URLs of dynamically generated banners, especially from large
+        banner farms, often don't use the well-known image file name
+        extensions, which makes it impossible for <span class=
+        "APPLICATION">Privoxy</span> to guess the file type just by looking
+        at the URL. You can use the <tt class="LITERAL">+block-as-image</tt>
+        alias defined above for these cases. Note that objects which match
+        this rule but then turn out NOT to be an image are typically rendered
+        as a <span class="QUOTE">"broken image"</span> icon by the browser.
+        Use cautiously.</p>
+
+        <table class="c4" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="SCREEN">
 { +block-as-image }
  .doubleclick.net
  .fastclick.net
  /Realmedia/ads/
  ar.atwola.com/
 </pre>
-              </td>
-            </tr>
-          </table>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            Now you noticed that the default configuration breaks Forbes
-            Magazine, but you were too lazy to find out which action is the
-            culprit, and you were again too lazy to give <a href=
-            "contact.html">feedback</a>, so you just used the <tt class=
-            "LITERAL">fragile</tt> alias on the site, and -- <span class=
-            "emphasis"><i class="EMPHASIS">whoa!</i></span> -- it worked. The
-            <tt class="LITERAL">fragile</tt> aliases disables those actions
-            that are most likely to break a site. Also, good for testing
-            purposes to see if it is <span class="APPLICATION">Privoxy</span>
-            that is causing the problem or not. We later find other regular
-            sites that misbehave, and add those to our personalized list of
-            troublemakers:
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="SCREEN">
+        <p>Now you noticed that the default configuration breaks Forbes
+        Magazine, but you were too lazy to find out which action is the
+        culprit, and you were again too lazy to give <a href=
+        "contact.html">feedback</a>, so you just used the <tt class=
+        "LITERAL">fragile</tt> alias on the site, and -- <span class=
+        "emphasis EMPHASIS c2">whoa!</span> -- it worked. The <tt class=
+        "LITERAL">fragile</tt> aliases disables those actions that are most
+        likely to break a site. Also, good for testing purposes to see if it
+        is <span class="APPLICATION">Privoxy</span> that is causing the
+        problem or not. We later find other regular sites that misbehave, and
+        add those to our personalized list of troublemakers:</p>
+
+        <table class="c4" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="SCREEN">
 { fragile }
  .forbes.com
  webmail.example.com
  .mybank.com
 </pre>
-              </td>
-            </tr>
-          </table>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            You like the <span class="QUOTE">"fun"</span> text replacements
-            in <tt class="FILENAME">default.filter</tt>, but it is disabled
-            in the distributed actions file. So you'd like to turn it on in
-            your private, update-safe config, once and for all:
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="SCREEN">
+        <p>You like the <span class="QUOTE">"fun"</span> text replacements in
+        <tt class="FILENAME">default.filter</tt>, but it is disabled in the
+        distributed actions file. So you'd like to turn it on in your
+        private, update-safe config, once and for all:</p>
+
+        <table class="c4" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="SCREEN">
 { +<a href="actions-file.html#FILTER-FUN">filter{fun}</a> }
  / # For ALL sites!
 </pre>
-              </td>
-            </tr>
-          </table>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            Note that the above is not really a good idea: There are
-            exceptions to the filters in <tt class=
-            "FILENAME">default.action</tt> for things that really shouldn't
-            be filtered, like code on CVS-&gt;Web interfaces. Since <tt
-            class="FILENAME">user.action</tt> has the last word, these
-            exceptions won't be valid for the <span class=
-            "QUOTE">"fun"</span> filtering specified here.
-          </p>
-          <p>
-            You might also worry about how your favourite free websites are
-            funded, and find that they rely on displaying banner
-            advertisements to survive. So you might want to specifically
-            allow banners for those sites that you feel provide value to you:
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="SCREEN">
+        <p>Note that the above is not really a good idea: There are
+        exceptions to the filters in <tt class="FILENAME">default.action</tt>
+        for things that really shouldn't be filtered, like code on
+        CVS-&gt;Web interfaces. Since <tt class="FILENAME">user.action</tt>
+        has the last word, these exceptions won't be valid for the
+        <span class="QUOTE">"fun"</span> filtering specified here.</p>
+
+        <p>You might also worry about how your favourite free websites are
+        funded, and find that they rely on displaying banner advertisements
+        to survive. So you might want to specifically allow banners for those
+        sites that you feel provide value to you:</p>
+
+        <table class="c4" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="SCREEN">
 { allow-ads }
  .sourceforge.net
  .slashdot.org
  .osdn.net
 </pre>
-              </td>
-            </tr>
-          </table>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            Note that <tt class="LITERAL">allow-ads</tt> has been aliased to
-            <tt class="LITERAL">-<a href=
-            "actions-file.html#BLOCK">block</a></tt>, <tt class="LITERAL">-<a
-            href=
-            "actions-file.html#FILTER-BANNERS-BY-SIZE">filter{banners-by-size}</a></tt>,
-            and <tt class="LITERAL">-<a href=
-            "actions-file.html#FILTER-BANNERS-BY-LINK">filter{banners-by-link}</a></tt>
-            above.
-          </p>
-          <p>
-            Invoke another alias here to force an over-ride of the MIME type
-            <tt class="LITERAL">application/x-sh</tt> which typically would
-            open a download type dialog. In my case, I want to look at the
-            shell script, and then I can save it should I choose to.
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="SCREEN">
+        <p>Note that <tt class="LITERAL">allow-ads</tt> has been aliased to
+        <tt class="LITERAL">-<a href=
+        "actions-file.html#BLOCK">block</a></tt>, <tt class=
+        "LITERAL">-<a href=
+        "actions-file.html#FILTER-BANNERS-BY-SIZE">filter{banners-by-size}</a></tt>,
+        and <tt class="LITERAL">-<a href=
+        "actions-file.html#FILTER-BANNERS-BY-LINK">filter{banners-by-link}</a></tt>
+        above.</p>
+
+        <p>Invoke another alias here to force an over-ride of the MIME type
+        <tt class="LITERAL">application/x-sh</tt> which typically would open
+        a download type dialog. In my case, I want to look at the shell
+        script, and then I can save it should I choose to.</p>
+
+        <table class="c4" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="SCREEN">
 { handle-as-text }
  /.*\.sh$
 </pre>
-              </td>
-            </tr>
-          </table>
+            </td>
+          </tr>
+        </table>
 
-          <p>
-            <tt class="FILENAME">user.action</tt> is generally the best place
-            to define exceptions and additions to the default policies of <tt
-            class="FILENAME">default.action</tt>. Some actions are safe to
-            have their default policies set here though. So let's set a
-            default policy to have a <span class="QUOTE">"blank"</span> image
-            as opposed to the checkerboard pattern for <span class=
-            "emphasis"><i class="EMPHASIS">ALL</i></span> sites. <span class=
-            "QUOTE">"/"</span> of course matches all URL paths and patterns:
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="SCREEN">
+        <p><tt class="FILENAME">user.action</tt> is generally the best place
+        to define exceptions and additions to the default policies of
+        <tt class="FILENAME">default.action</tt>. Some actions are safe to
+        have their default policies set here though. So let's set a default
+        policy to have a <span class="QUOTE">"blank"</span> image as opposed
+        to the checkerboard pattern for <span class=
+        "emphasis EMPHASIS c2">ALL</span> sites. <span class=
+        "QUOTE">"/"</span> of course matches all URL paths and patterns:</p>
+
+        <table class="c4" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="SCREEN">
 { +<a href=
 "actions-file.html#SET-IMAGE-BLOCKER">set-image-blocker{blank}</a> }
 / # ALL sites
 </pre>
-              </td>
-            </tr>
-          </table>
-        </div>
+            </td>
+          </tr>
+        </table>
       </div>
     </div>
-    <div class="NAVFOOTER">
-      <hr width="100%" class="c1">
-      <table summary="Footer navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <td width="33%" align="left" valign="top">
-            <a href="config.html" accesskey="P">Prev</a>
-          </td>
-          <td width="34%" align="center" valign="top">
-            <a href="index.html" accesskey="H">Home</a>
-          </td>
-          <td width="33%" align="right" valign="top">
-            <a href="filter-file.html" accesskey="N">Next</a>
-          </td>
-        </tr>
-        <tr>
-          <td width="33%" align="left" valign="top">
-            The Main Configuration File
-          </td>
-          <td width="34%" align="center" valign="top">
-            &nbsp;
-          </td>
-          <td width="33%" align="right" valign="top">
-            Filter Files
-          </td>
-        </tr>
-      </table>
-    </div>
-  </body>
-</html>
+  </div>
+
+  <div class="NAVFOOTER">
+    <hr class="c1" width="100%">
+
+    <table summary="Footer navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <td width="33%" align="left" valign="top"><a href="config.html"
+        accesskey="P">Prev</a></td>
+
+        <td width="34%" align="center" valign="top"><a href="index.html"
+        accesskey="H">Home</a></td>
 
+        <td width="33%" align="right" valign="top"><a href="filter-file.html"
+        accesskey="N">Next</a></td>
+      </tr>
+
+      <tr>
+        <td width="33%" align="left" valign="top">The Main Configuration
+        File</td>
+
+        <td width="34%" align="center" valign="top">&nbsp;</td>
+
+        <td width="33%" align="right" valign="top">Filter Files</td>
+      </tr>
+    </table>
+  </div>
+</body>
+</html>
index 8bc96bc..45b706d 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
-Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+
 <html>
-  <head>
-    <meta name="generator" content="HTML Tidy, see www.w3.org">
-    <title>
-      Appendix
-    </title>
-    <meta name="GENERATOR" content=
-    "Modular DocBook HTML Stylesheet Version 1.79">
-    <link rel="HOME" title="Privoxy 3.0.18 User Manual" href="index.html">
-    <link rel="PREVIOUS" title="See Also" href="seealso.html">
-    <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
-    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-    <link rel="STYLESHEET" type="text/css" href="p_doc.css">
-<style type="text/css">
- body {
+<head>
+  <meta name="generator" content=
+  "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
+
+  <title>Appendix</title>
+  <meta name="GENERATOR" content=
+  "Modular DocBook HTML Stylesheet Version 1.79">
+  <link rel="HOME" title="Privoxy 3.0.18 User Manual" href="index.html">
+  <link rel="PREVIOUS" title="See Also" href="seealso.html">
+  <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
+  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+  <link rel="STYLESHEET" type="text/css" href="p_doc.css">
+  <style type="text/css">
+body {
   background-color: #EEEEEE;
   color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- hr.c1 {text-align: left}
-</style>
-  </head>
-  <body class="SECT1">
-    <div class="NAVHEADER">
-      <table summary="Header navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <th colspan="3" align="center">
-            Privoxy 3.0.18 User Manual
-          </th>
-        </tr>
-        <tr>
-          <td width="10%" align="left" valign="bottom">
-            <a href="seealso.html" accesskey="P">Prev</a>
-          </td>
-          <td width="80%" align="center" valign="bottom">
-          </td>
-          <td width="10%" align="right" valign="bottom">
-            &nbsp;
-          </td>
-        </tr>
+  }
+  :link { color: #0000FF }
+  :visited { color: #840084 }
+  :active { color: #0000FF }
+  table.c3 {background-color: #E0E0E0}
+  span.c2 {font-style: italic}
+  hr.c1 {text-align: left}
+  </style>
+</head>
+
+<body class="SECT1">
+  <div class="NAVHEADER">
+    <table summary="Header navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <th colspan="3" align="center">Privoxy 3.0.18 User Manual</th>
+      </tr>
+
+      <tr>
+        <td width="10%" align="left" valign="bottom"><a href="seealso.html"
+        accesskey="P">Prev</a></td>
+
+        <td width="80%" align="center" valign="bottom"></td>
+
+        <td width="10%" align="right" valign="bottom">&nbsp;</td>
+      </tr>
+    </table>
+    <hr class="c1" width="100%">
+  </div>
+
+  <div class="SECT1">
+    <h1 class="SECT1"><a name="APPENDIX" id="APPENDIX">14. Appendix</a></h1>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="REGEX" id="REGEX">14.1. Regular
+      Expressions</a></h2>
+
+      <p><span class="APPLICATION">Privoxy</span> uses Perl-style
+      <span class="QUOTE">"regular expressions"</span> in its <a href=
+      "actions-file.html">actions files</a> and <a href=
+      "filter-file.html">filter file</a>, through the <a href=
+      "http://www.pcre.org/" target="_top">PCRE</a> and <span class=
+      "APPLICATION">PCRS</span> libraries.</p>
+
+      <p>If you are reading this, you probably don't understand what
+      <span class="QUOTE">"regular expressions"</span> are, or what they can
+      do. So this will be a very brief introduction only. A full explanation
+      would require a <a href="http://www.oreilly.com/catalog/regex/" target=
+      "_top">book</a> ;-)</p>
+
+      <p>Regular expressions provide a language to describe patterns that can
+      be run against strings of characters (letter, numbers, etc), to see if
+      they match the string or not. The patterns are themselves (sometimes
+      complex) strings of literal characters, combined with wild-cards, and
+      other special characters, called meta-characters. The <span class=
+      "QUOTE">"meta-characters"</span> have special meanings and are used to
+      build complex patterns to be matched against. Perl Compatible Regular
+      Expressions are an especially convenient <span class=
+      "QUOTE">"dialect"</span> of the regular expression language.</p>
+
+      <p>To make a simple analogy, we do something similar when we use
+      wild-card characters when listing files with the <b class=
+      "COMMAND">dir</b> command in DOS. <tt class="LITERAL">*.*</tt> matches
+      all filenames. The <span class="QUOTE">"special"</span> character here
+      is the asterisk which matches any and all characters. We can be more
+      specific and use <tt class="LITERAL">?</tt> to match just individual
+      characters. So <span class="QUOTE">"dir file?.text"</span> would match
+      <span class="QUOTE">"file1.txt"</span>, <span class=
+      "QUOTE">"file2.txt"</span>, etc. We are pattern matching, using a
+      similar technique to <span class="QUOTE">"regular
+      expressions"</span>!</p>
+
+      <p>Regular expressions do essentially the same thing, but are much,
+      much more powerful. There are many more <span class="QUOTE">"special
+      characters"</span> and ways of building complex patterns however. Let's
+      look at a few of the common ones, and then some examples:</p>
+
+      <table border="0">
+        <tbody>
+          <tr>
+            <td><span class="emphasis EMPHASIS c2">.</span> - Matches any
+            single character, e.g. <span class="QUOTE">"a"</span>,
+            <span class="QUOTE">"A"</span>, <span class="QUOTE">"4"</span>,
+            <span class="QUOTE">":"</span>, or <span class=
+            "QUOTE">"@"</span>.</td>
+          </tr>
+        </tbody>
+      </table>
+
+      <table border="0">
+        <tbody>
+          <tr>
+            <td><span class="emphasis EMPHASIS c2">?</span> - The preceding
+            character or expression is matched ZERO or ONE times.
+            Either/or.</td>
+          </tr>
+        </tbody>
+      </table>
+
+      <table border="0">
+        <tbody>
+          <tr>
+            <td><span class="emphasis EMPHASIS c2">+</span> - The preceding
+            character or expression is matched ONE or MORE times.</td>
+          </tr>
+        </tbody>
+      </table>
+
+      <table border="0">
+        <tbody>
+          <tr>
+            <td><span class="emphasis EMPHASIS c2">*</span> - The preceding
+            character or expression is matched ZERO or MORE times.</td>
+          </tr>
+        </tbody>
+      </table>
+
+      <table border="0">
+        <tbody>
+          <tr>
+            <td><span class="emphasis EMPHASIS c2">\</span> - The
+            <span class="QUOTE">"escape"</span> character denotes that the
+            following character should be taken literally. This is used where
+            one of the special characters (e.g. <span class=
+            "QUOTE">"."</span>) needs to be taken literally and not as a
+            special meta-character. Example: <span class=
+            "QUOTE">"example\.com"</span>, makes sure the period is
+            recognized only as a period (and not expanded to its
+            meta-character meaning of any single character).</td>
+          </tr>
+        </tbody>
+      </table>
+
+      <table border="0">
+        <tbody>
+          <tr>
+            <td><span class="emphasis EMPHASIS c2">[ ]</span> - Characters
+            enclosed in brackets will be matched if any of the enclosed
+            characters are encountered. For instance, <span class=
+            "QUOTE">"[0-9]"</span> matches any numeric digit (zero through
+            nine). As an example, we can combine this with <span class=
+            "QUOTE">"+"</span> to match any digit one of more times:
+            <span class="QUOTE">"[0-9]+"</span>.</td>
+          </tr>
+        </tbody>
+      </table>
+
+      <table border="0">
+        <tbody>
+          <tr>
+            <td><span class="emphasis EMPHASIS c2">( )</span> - parentheses
+            are used to group a sub-expression, or multiple
+            sub-expressions.</td>
+          </tr>
+        </tbody>
+      </table>
+
+      <table border="0">
+        <tbody>
+          <tr>
+            <td><span class="emphasis EMPHASIS c2">|</span> - The
+            <span class="QUOTE">"bar"</span> character works like an
+            <span class="QUOTE">"or"</span> conditional statement. A match is
+            successful if the sub-expression on either side of <span class=
+            "QUOTE">"|"</span> matches. As an example: <span class=
+            "QUOTE">"/(this|that) example/"</span> uses grouping and the bar
+            character and would match either <span class="QUOTE">"this
+            example"</span> or <span class="QUOTE">"that example"</span>, and
+            nothing else.</td>
+          </tr>
+        </tbody>
       </table>
-      <hr width="100%" class="c1">
+
+      <p>These are just some of the ones you are likely to use when matching
+      URLs with <span class="APPLICATION">Privoxy</span>, 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:</p>
+
+      <p><span class="emphasis EMPHASIS c2"><tt class=
+      "LITERAL">/.*/banners/.*</tt></span> - A simple example that uses the
+      common combination of <span class="QUOTE">"."</span> and <span class=
+      "QUOTE">"*"</span> 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 (<span class=
+      "QUOTE">".*"</span>) another literal forward slash, the string
+      <span class="QUOTE">"banners"</span>, another forward slash, and lastly
+      another <span class="QUOTE">".*"</span>. We are building a directory
+      path here. This will match any file with the path that has a directory
+      named <span class="QUOTE">"banners"</span> in it. The <span class=
+      "QUOTE">".*"</span> 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: <span class=
+      "QUOTE">"/eye/hate/spammers/banners/annoy_me_please.gif"</span>, or
+      just <span class="QUOTE">"/banners/annoying.html"</span>, or almost an
+      infinite number of other possible combinations, just so it has
+      <span class="QUOTE">"banners"</span> in the path somewhere.</p>
+
+      <p>And now something a little more complex:</p>
+
+      <p><span class="emphasis EMPHASIS c2"><tt class=
+      "LITERAL">/.*/adv((er)?ts?|ertis(ing|ements?))?/</tt></span> - We have
+      several literal forward slashes again (<span class="QUOTE">"/"</span>),
+      so we are building another expression that is a file path statement. We
+      have another <span class="QUOTE">".*"</span>, so we are matching
+      against any conceivable sub-path, just so it matches our expression.
+      The only true literal that <span class="emphasis EMPHASIS c2">must
+      match</span> our pattern is <span class="APPLICATION">adv</span>,
+      together with the forward slashes. What comes after the <span class=
+      "QUOTE">"adv"</span> string is the interesting part.</p>
+
+      <p>Remember the <span class="QUOTE">"?"</span> means the preceding
+      expression (either a literal character or anything grouped with
+      <span class="QUOTE">"(...)"</span> in this case) can exist or not,
+      since this means either zero or one match. So <span class=
+      "QUOTE">"((er)?ts?|ertis(ing|ements?))"</span> is optional, as are the
+      individual sub-expressions: <span class="QUOTE">"(er)"</span>,
+      <span class="QUOTE">"(ing|ements?)"</span>, and the <span class=
+      "QUOTE">"s"</span>. The <span class="QUOTE">"|"</span> means
+      <span class="QUOTE">"or"</span>. We have two of those. For instance,
+      <span class="QUOTE">"(ing|ements?)"</span>, can expand to match either
+      <span class="QUOTE">"ing"</span> <span class=
+      "emphasis EMPHASIS c2">OR</span> <span class="QUOTE">"ements?"</span>.
+      What is being done here, is an attempt at matching as many variations
+      of <span class="QUOTE">"advertisement"</span>, and similar, as
+      possible. So this would expand to match just <span class=
+      "QUOTE">"adv"</span>, or <span class="QUOTE">"advert"</span>, or
+      <span class="QUOTE">"adverts"</span>, or <span class=
+      "QUOTE">"advertising"</span>, or <span class=
+      "QUOTE">"advertisement"</span>, or <span class=
+      "QUOTE">"advertisements"</span>. You get the idea. But it would not
+      match <span class="QUOTE">"advertizements"</span> (with a <span class=
+      "QUOTE">"z"</span>). We could fix that by changing our regular
+      expression to: <span class=
+      "QUOTE">"/.*/adv((er)?ts?|erti(s|z)(ing|ements?))?/"</span>, which
+      would then match either spelling.</p>
+
+      <p><span class="emphasis EMPHASIS c2"><tt class=
+      "LITERAL">/.*/advert[0-9]+\.(gif|jpe?g)</tt></span> - Again another
+      path statement with forward slashes. Anything in the square brackets
+      <span class="QUOTE">"[ ]"</span> can be matched. This is using
+      <span class="QUOTE">"0-9"</span> as a shorthand expression to mean any
+      digit one through nine. It is the same as saying <span class=
+      "QUOTE">"0123456789"</span>. So any digit matches. The <span class=
+      "QUOTE">"+"</span> 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: <span class="QUOTE">"(gif|jpe?g)"</span>. This
+      includes a <span class="QUOTE">"|"</span>, so this needs to match the
+      expression on either side of that bar character also. A simple
+      <span class="QUOTE">"gif"</span> on one side, and the other side will
+      in turn match either <span class="QUOTE">"jpeg"</span> or <span class=
+      "QUOTE">"jpg"</span>, since the <span class="QUOTE">"?"</span> means
+      the letter <span class="QUOTE">"e"</span> 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 <span class="QUOTE">"advert"</span>, then one or more digits,
+      and a <span class="QUOTE">"."</span> (which is now a literal, and not a
+      special character, since it is escaped with <span class=
+      "QUOTE">"\"</span>), and lastly either <span class=
+      "QUOTE">"gif"</span>, or <span class="QUOTE">"jpeg"</span>, or
+      <span class="QUOTE">"jpg"</span>. Some possible matches would include:
+      <span class="QUOTE">"//advert1.jpg"</span>, <span class=
+      "QUOTE">"/nasty/ads/advert1234.gif"</span>, <span class=
+      "QUOTE">"/banners/from/hell/advert99.jpg"</span>. It would not match
+      <span class="QUOTE">"advert1.gif"</span> (no leading slash), or
+      <span class="QUOTE">"/adverts232.jpg"</span> (the expression does not
+      include an <span class="QUOTE">"s"</span>), or <span class=
+      "QUOTE">"/advert1.jsp"</span> (<span class="QUOTE">"jsp"</span> is not
+      in the expression anywhere).</p>
+
+      <p>We are barely scratching the surface of regular expressions here so
+      that you can understand the default <span class=
+      "APPLICATION">Privoxy</span> 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 :/</p>
+
+      <p>More reading on Perl Compatible Regular expressions: <a href=
+      "http://perldoc.perl.org/perlre.html" target=
+      "_top">http://perldoc.perl.org/perlre.html</a></p>
+
+      <p>For information on regular expression based substitutions and their
+      applications in filters, please see the <a href=
+      "filter-file.html">filter file tutorial</a> in this manual.</p>
     </div>
-    <div class="SECT1">
-      <h1 class="SECT1">
-        <a name="APPENDIX">14. Appendix</a>
-      </h1>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="REGEX">14.1. Regular Expressions</a>
-        </h2>
-        <p>
-          <span class="APPLICATION">Privoxy</span> uses Perl-style <span
-          class="QUOTE">"regular expressions"</span> in its <a href=
-          "actions-file.html">actions files</a> and <a href=
-          "filter-file.html">filter file</a>, through the <a href=
-          "http://www.pcre.org/" target="_top">PCRE</a> and <span class=
-          "APPLICATION">PCRS</span> libraries.
-        </p>
-        <p>
-          If you are reading this, you probably don't understand what <span
-          class="QUOTE">"regular expressions"</span> are, or what they can
-          do. So this will be a very brief introduction only. A full
-          explanation would require a <a href=
-          "http://www.oreilly.com/catalog/regex/" target="_top">book</a> ;-)
-        </p>
-        <p>
-          Regular expressions provide a language to describe patterns that
-          can be run against strings of characters (letter, numbers, etc), to
-          see if they match the string or not. The patterns are themselves
-          (sometimes complex) strings of literal characters, combined with
-          wild-cards, and other special characters, called meta-characters.
-          The <span class="QUOTE">"meta-characters"</span> have special
-          meanings and are used to build complex patterns to be matched
-          against. Perl Compatible Regular Expressions are an especially
-          convenient <span class="QUOTE">"dialect"</span> of the regular
-          expression language.
-        </p>
-        <p>
-          To make a simple analogy, we do something similar when we use
-          wild-card characters when listing files with the <b class=
-          "COMMAND">dir</b> command in DOS. <tt class="LITERAL">*.*</tt>
-          matches all filenames. The <span class="QUOTE">"special"</span>
-          character here is the asterisk which matches any and all
-          characters. We can be more specific and use <tt class=
-          "LITERAL">?</tt> to match just individual characters. So <span
-          class="QUOTE">"dir file?.text"</span> would match <span class=
-          "QUOTE">"file1.txt"</span>, <span class="QUOTE">"file2.txt"</span>,
-          etc. We are pattern matching, using a similar technique to <span
-          class="QUOTE">"regular expressions"</span>!
-        </p>
-        <p>
-          Regular expressions do essentially the same thing, but are much,
-          much more powerful. There are many more <span class=
-          "QUOTE">"special characters"</span> and ways of building complex
-          patterns however. Let's look at a few of the common ones, and then
-          some examples:
-        </p>
-        <table border="0">
-          <tbody>
-            <tr>
-              <td>
-                <span class="emphasis"><i class="EMPHASIS">.</i></span> -
-                Matches any single character, e.g. <span class=
-                "QUOTE">"a"</span>, <span class="QUOTE">"A"</span>, <span
-                class="QUOTE">"4"</span>, <span class="QUOTE">":"</span>, or
-                <span class="QUOTE">"@"</span>.
-              </td>
-            </tr>
-          </tbody>
-        </table>
-
-        <table border="0">
-          <tbody>
-            <tr>
-              <td>
-                <span class="emphasis"><i class="EMPHASIS">?</i></span> - The
-                preceding character or expression is matched ZERO or ONE
-                times. Either/or.
-              </td>
-            </tr>
-          </tbody>
-        </table>
-
-        <table border="0">
-          <tbody>
-            <tr>
-              <td>
-                <span class="emphasis"><i class="EMPHASIS">+</i></span> - The
-                preceding character or expression is matched ONE or MORE
-                times.
-              </td>
-            </tr>
-          </tbody>
-        </table>
-
-        <table border="0">
-          <tbody>
-            <tr>
-              <td>
-                <span class="emphasis"><i class="EMPHASIS">*</i></span> - The
-                preceding character or expression is matched ZERO or MORE
-                times.
-              </td>
-            </tr>
-          </tbody>
-        </table>
-
-        <table border="0">
-          <tbody>
-            <tr>
-              <td>
-                <span class="emphasis"><i class="EMPHASIS">\</i></span> - The
-                <span class="QUOTE">"escape"</span> character denotes that
-                the following character should be taken literally. This is
-                used where one of the special characters (e.g. <span class=
-                "QUOTE">"."</span>) needs to be taken literally and not as a
-                special meta-character. Example: <span class=
-                "QUOTE">"example\.com"</span>, makes sure the period is
-                recognized only as a period (and not expanded to its
-                meta-character meaning of any single character).
-              </td>
-            </tr>
-          </tbody>
-        </table>
-
-        <table border="0">
-          <tbody>
-            <tr>
-              <td>
-                <span class="emphasis"><i class="EMPHASIS">[ ]</i></span> -
-                Characters enclosed in brackets will be matched if any of the
-                enclosed characters are encountered. For instance, <span
-                class="QUOTE">"[0-9]"</span> matches any numeric digit (zero
-                through nine). As an example, we can combine this with <span
-                class="QUOTE">"+"</span> to match any digit one of more
-                times: <span class="QUOTE">"[0-9]+"</span>.
-              </td>
-            </tr>
-          </tbody>
-        </table>
-
-        <table border="0">
-          <tbody>
-            <tr>
-              <td>
-                <span class="emphasis"><i class="EMPHASIS">( )</i></span> -
-                parentheses are used to group a sub-expression, or multiple
-                sub-expressions.
-              </td>
-            </tr>
-          </tbody>
-        </table>
-
-        <table border="0">
-          <tbody>
-            <tr>
-              <td>
-                <span class="emphasis"><i class="EMPHASIS">|</i></span> - The
-                <span class="QUOTE">"bar"</span> character works like an
-                <span class="QUOTE">"or"</span> conditional statement. A
-                match is successful if the sub-expression on either side of
-                <span class="QUOTE">"|"</span> matches. As an example: <span
-                class="QUOTE">"/(this|that) example/"</span> uses grouping
-                and the bar character and would match either <span class=
-                "QUOTE">"this example"</span> or <span class="QUOTE">"that
-                example"</span>, and nothing else.
-              </td>
-            </tr>
-          </tbody>
-        </table>
-
-        <p>
-          These are just some of the ones you are likely to use when matching
-          URLs with <span class="APPLICATION">Privoxy</span>, 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:
-        </p>
-        <p>
-          <span class="emphasis"><i class="EMPHASIS"><tt class=
-          "LITERAL">/.*/banners/.*</tt></i></span> - A simple example that
-          uses the common combination of <span class="QUOTE">"."</span> and
-          <span class="QUOTE">"*"</span> 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 (<span
-          class="QUOTE">".*"</span>) another literal forward slash, the
-          string <span class="QUOTE">"banners"</span>, another forward slash,
-          and lastly another <span class="QUOTE">".*"</span>. We are building
-          a directory path here. This will match any file with the path that
-          has a directory named <span class="QUOTE">"banners"</span> in it.
-          The <span class="QUOTE">".*"</span> 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:
-          <span class=
-          "QUOTE">"/eye/hate/spammers/banners/annoy_me_please.gif"</span>, or
-          just <span class="QUOTE">"/banners/annoying.html"</span>, or almost
-          an infinite number of other possible combinations, just so it has
-          <span class="QUOTE">"banners"</span> in the path somewhere.
-        </p>
-        <p>
-          And now something a little more complex:
-        </p>
-        <p>
-          <span class="emphasis"><i class="EMPHASIS"><tt class=
-          "LITERAL">/.*/adv((er)?ts?|ertis(ing|ements?))?/</tt></i></span> -
-          We have several literal forward slashes again (<span class=
-          "QUOTE">"/"</span>), so we are building another expression that is
-          a file path statement. We have another <span class=
-          "QUOTE">".*"</span>, so we are matching against any conceivable
-          sub-path, just so it matches our expression. The only true literal
-          that <span class="emphasis"><i class="EMPHASIS">must
-          match</i></span> our pattern is <span class=
-          "APPLICATION">adv</span>, together with the forward slashes. What
-          comes after the <span class="QUOTE">"adv"</span> string is the
-          interesting part.
-        </p>
-        <p>
-          Remember the <span class="QUOTE">"?"</span> means the preceding
-          expression (either a literal character or anything grouped with
-          <span class="QUOTE">"(...)"</span> in this case) can exist or not,
-          since this means either zero or one match. So <span class=
-          "QUOTE">"((er)?ts?|ertis(ing|ements?))"</span> is optional, as are
-          the individual sub-expressions: <span class="QUOTE">"(er)"</span>,
-          <span class="QUOTE">"(ing|ements?)"</span>, and the <span class=
-          "QUOTE">"s"</span>. The <span class="QUOTE">"|"</span> means <span
-          class="QUOTE">"or"</span>. We have two of those. For instance,
-          <span class="QUOTE">"(ing|ements?)"</span>, can expand to match
-          either <span class="QUOTE">"ing"</span> <span class="emphasis"><i
-          class="EMPHASIS">OR</i></span> <span class=
-          "QUOTE">"ements?"</span>. What is being done here, is an attempt at
-          matching as many variations of <span class=
-          "QUOTE">"advertisement"</span>, and similar, as possible. So this
-          would expand to match just <span class="QUOTE">"adv"</span>, or
-          <span class="QUOTE">"advert"</span>, or <span class=
-          "QUOTE">"adverts"</span>, or <span class=
-          "QUOTE">"advertising"</span>, or <span class=
-          "QUOTE">"advertisement"</span>, or <span class=
-          "QUOTE">"advertisements"</span>. You get the idea. But it would not
-          match <span class="QUOTE">"advertizements"</span> (with a <span
-          class="QUOTE">"z"</span>). We could fix that by changing our
-          regular expression to: <span class=
-          "QUOTE">"/.*/adv((er)?ts?|erti(s|z)(ing|ements?))?/"</span>, which
-          would then match either spelling.
-        </p>
-        <p>
-          <span class="emphasis"><i class="EMPHASIS"><tt class=
-          "LITERAL">/.*/advert[0-9]+\.(gif|jpe?g)</tt></i></span> - Again
-          another path statement with forward slashes. Anything in the square
-          brackets <span class="QUOTE">"[ ]"</span> can be matched. This is
-          using <span class="QUOTE">"0-9"</span> as a shorthand expression to
-          mean any digit one through nine. It is the same as saying <span
-          class="QUOTE">"0123456789"</span>. So any digit matches. The <span
-          class="QUOTE">"+"</span> 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: <span class=
-          "QUOTE">"(gif|jpe?g)"</span>. This includes a <span class=
-          "QUOTE">"|"</span>, so this needs to match the expression on either
-          side of that bar character also. A simple <span class=
-          "QUOTE">"gif"</span> on one side, and the other side will in turn
-          match either <span class="QUOTE">"jpeg"</span> or <span class=
-          "QUOTE">"jpg"</span>, since the <span class="QUOTE">"?"</span>
-          means the letter <span class="QUOTE">"e"</span> 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 <span class="QUOTE">"advert"</span>, then one or
-          more digits, and a <span class="QUOTE">"."</span> (which is now a
-          literal, and not a special character, since it is escaped with
-          <span class="QUOTE">"\"</span>), and lastly either <span class=
-          "QUOTE">"gif"</span>, or <span class="QUOTE">"jpeg"</span>, or
-          <span class="QUOTE">"jpg"</span>. Some possible matches would
-          include: <span class="QUOTE">"//advert1.jpg"</span>, <span class=
-          "QUOTE">"/nasty/ads/advert1234.gif"</span>, <span class=
-          "QUOTE">"/banners/from/hell/advert99.jpg"</span>. It would not
-          match <span class="QUOTE">"advert1.gif"</span> (no leading slash),
-          or <span class="QUOTE">"/adverts232.jpg"</span> (the expression
-          does not include an <span class="QUOTE">"s"</span>), or <span
-          class="QUOTE">"/advert1.jsp"</span> (<span class=
-          "QUOTE">"jsp"</span> is not in the expression anywhere).
-        </p>
-        <p>
-          We are barely scratching the surface of regular expressions here so
-          that you can understand the default <span class=
-          "APPLICATION">Privoxy</span> 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 :/
-        </p>
-        <p>
-          More reading on Perl Compatible Regular expressions: <a href=
-          "http://perldoc.perl.org/perlre.html" target=
-          "_top">http://perldoc.perl.org/perlre.html</a>
-        </p>
-        <p>
-          For information on regular expression based substitutions and their
-          applications in filters, please see the <a href=
-          "filter-file.html">filter file tutorial</a> in this manual.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="AEN5636">14.2. Privoxy's Internal Pages</a>
-        </h2>
-        <p>
-          Since <span class="APPLICATION">Privoxy</span> proxies each
-          requested web page, it is easy for <span class=
-          "APPLICATION">Privoxy</span> to trap certain special URLs. In this
-          way, we can talk directly to <span class=
-          "APPLICATION">Privoxy</span>, and see how it is configured, see how
-          our rules are being applied, change these rules and other
-          configuration options, and even turn <span class=
-          "APPLICATION">Privoxy's</span> filtering off, all with a web
-          browser.&#13;
-        </p>
-        <p>
-          The URLs listed below are the special ones that allow direct access
-          to <span class="APPLICATION">Privoxy</span>. Of course, <span
-          class="APPLICATION">Privoxy</span> must be running to access these.
-          If not, you will get a friendly error message. Internet access is
-          not necessary either.
-        </p>
-        <p>
-        </p>
-        <ul>
-          <li>
-            <p>
-              Privoxy main page:
-            </p>
-            <a name="AEN5650"></a>
-            <blockquote class="BLOCKQUOTE">
-              <p>
-                <a href="http://config.privoxy.org/" target=
-                "_top">http://config.privoxy.org/</a>
-              </p>
-            </blockquote>
-            <p>
-              There is a shortcut: <a href="http://p.p/" target=
-              "_top">http://p.p/</a> (But it doesn't provide a fall-back to a
-              real page, in case the request is not sent through <span class=
-              "APPLICATION">Privoxy</span>)
-            </p>
-          </li>
-          <li>
-            <p>
-              Show information about the current configuration, including
-              viewing and editing of actions files:
-            </p>
-            <a name="AEN5658"></a>
-            <blockquote class="BLOCKQUOTE">
-              <p>
-                <a href="http://config.privoxy.org/show-status" target=
-                "_top">http://config.privoxy.org/show-status</a>
-              </p>
-            </blockquote>
-          </li>
-          <li>
-            <p>
-              Show the source code version numbers:
-            </p>
-            <a name="AEN5663"></a>
-            <blockquote class="BLOCKQUOTE">
-              <p>
-                <a href="http://config.privoxy.org/show-version" target=
-                "_top">http://config.privoxy.org/show-version</a>
-              </p>
-            </blockquote>
-          </li>
-          <li>
-            <p>
-              Show the browser's request headers:
-            </p>
-            <a name="AEN5668"></a>
-            <blockquote class="BLOCKQUOTE">
-              <p>
-                <a href="http://config.privoxy.org/show-request" target=
-                "_top">http://config.privoxy.org/show-request</a>
-              </p>
-            </blockquote>
-          </li>
-          <li>
-            <p>
-              Show which actions apply to a URL and why:
-            </p>
-            <a name="AEN5673"></a>
-            <blockquote class="BLOCKQUOTE">
-              <p>
-                <a href="http://config.privoxy.org/show-url-info" target=
-                "_top">http://config.privoxy.org/show-url-info</a>
-              </p>
-            </blockquote>
-          </li>
-          <li>
-            <p>
-              Toggle Privoxy on or off. This feature can be turned off/on in
-              the main <tt class="FILENAME">config</tt> file. When toggled
-              <span class="QUOTE">"off"</span>, <span class=
-              "QUOTE">"Privoxy"</span> continues to run, but only as a
-              pass-through proxy, with no actions taking place:
-            </p>
-            <a name="AEN5681"></a>
-            <blockquote class="BLOCKQUOTE">
-              <p>
-                <a href="http://config.privoxy.org/toggle" target=
-                "_top">http://config.privoxy.org/toggle</a>
-              </p>
-            </blockquote>
-            <p>
-              Short cuts. Turn off, then on:
-            </p>
-            <a name="AEN5685"></a>
-            <blockquote class="BLOCKQUOTE">
-              <p>
-                <a href="http://config.privoxy.org/toggle?set=disable"
-                target=
-                "_top">http://config.privoxy.org/toggle?set=disable</a>
-              </p>
-            </blockquote>
-            <a name="AEN5688"></a>
-            <blockquote class="BLOCKQUOTE">
-              <p>
-                <a href="http://config.privoxy.org/toggle?set=enable" target=
-                "_top">http://config.privoxy.org/toggle?set=enable</a>
-              </p>
-            </blockquote>
-          </li>
-        </ul>
 
-        <p>
-          These may be bookmarked for quick reference. See next.&#13;
-        </p>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="BOOKMARKLETS">14.2.1. Bookmarklets</a>
-          </h3>
-          <p>
-            Below are some <span class="QUOTE">"bookmarklets"</span> to allow
-            you to easily access a <span class="QUOTE">"mini"</span> version
-            of some of <span class="APPLICATION">Privoxy's</span> special
-            pages. They are designed for MS Internet Explorer, but should
-            work equally well in Netscape, Mozilla, and other browsers which
-            support JavaScript. They are designed to run directly from your
-            bookmarks - not by clicking the links below (although that should
-            work for testing).
-          </p>
-          <p>
-            To save them, right-click the link and choose <span class=
-            "QUOTE">"Add to Favorites"</span> (IE) or <span class=
-            "QUOTE">"Add Bookmark"</span> (Netscape). You will get a warning
-            that the bookmark <span class="QUOTE">"may not be safe"</span> -
-            just click OK. Then you can run the Bookmarklet directly from
-            your favorites/bookmarks. For even faster access, you can put
-            them on the <span class="QUOTE">"Links"</span> bar (IE) or the
-            <span class="QUOTE">"Personal Toolbar"</span> (Netscape), and run
-            them with a single click.
-          </p>
-          <p>
-          </p>
-          <ul>
-            <li>
-              <p>
-                <a href=
-                "javascript:void(window.open('http://config.privoxy.org/toggle?mini=y&amp;set=enabled','ijbstatus','width=250,height=100,resizable=yes,scrollbars=no,toolbar=no,location=no,directories=no,status=no,menubar=no,copyhistory=no').focus());"
-                 target="_top">Privoxy - Enable</a>
-              </p>
-            </li>
-            <li>
-              <p>
-                <a href=
-                "javascript:void(window.open('http://config.privoxy.org/toggle?mini=y&amp;set=disabled','ijbstatus','width=250,height=100,resizable=yes,scrollbars=no,toolbar=no,location=no,directories=no,status=no,menubar=no,copyhistory=no').focus());"
-                 target="_top">Privoxy - Disable</a>
-              </p>
-            </li>
-            <li>
-              <p>
-                <a href=
-                "javascript:void(window.open('http://config.privoxy.org/toggle?mini=y&amp;set=toggle','ijbstatus','width=250,height=100,resizable=yes,scrollbars=no,toolbar=no,location=no,directories=no,status=no,menubar=no,copyhistory=no').focus());"
-                 target="_top">Privoxy - Toggle Privoxy</a> (Toggles between
-                enabled and disabled)
-              </p>
-            </li>
-            <li>
-              <p>
-                <a href=
-                "javascript:void(window.open('http://config.privoxy.org/toggle?mini=y','ijbstatus','width=250,height=2,resizable=yes,scrollbars=no,toolbar=no,location=no,directories=no,status=no,menubar=no,copyhistory=no').focus());"
-                 target="_top">Privoxy- View Status</a>
-              </p>
-            </li>
-            <li>
-              <p>
-                <a href=
-                "javascript:void(window.open('http://config.privoxy.org/show-url-info?url='+escape(location.href),'Why').focus());"
-                 target="_top">Privoxy - Why?</a>
-              </p>
-            </li>
-          </ul>
-
-          <p>
-            Credit: The site which gave us the general idea for these
-            bookmarklets is <a href="http://www.bookmarklets.com/" target=
-            "_top">www.bookmarklets.com</a>. They have more information about
-            bookmarklets.
-          </p>
-        </div>
-      </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="CHAIN">14.3. Chain of Events</a>
-        </h2>
-        <p>
-          Let's take a quick look at how some of <span class=
-          "APPLICATION">Privoxy's</span> core features are triggered, and the
-          ensuing sequence of events when a web page is requested by your
-          browser:
-        </p>
-        <p>
-        </p>
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="AEN5778" id="AEN5778">14.2. Privoxy's
+      Internal Pages</a></h2>
+
+      <p>Since <span class="APPLICATION">Privoxy</span> proxies each
+      requested web page, it is easy for <span class=
+      "APPLICATION">Privoxy</span> to trap certain special URLs. In this way,
+      we can talk directly to <span class="APPLICATION">Privoxy</span>, and
+      see how it is configured, see how our rules are being applied, change
+      these rules and other configuration options, and even turn <span class=
+      "APPLICATION">Privoxy's</span> filtering off, all with a web
+      browser.</p>
+
+      <p>The URLs listed below are the special ones that allow direct access
+      to <span class="APPLICATION">Privoxy</span>. Of course, <span class=
+      "APPLICATION">Privoxy</span> must be running to access these. If not,
+      you will get a friendly error message. Internet access is not necessary
+      either.</p>
+
+      <ul>
+        <li>
+          <p>Privoxy main page:</p><a name="AEN5792" id="AEN5792"></a>
+
+          <blockquote class="BLOCKQUOTE">
+            <p><a href="http://config.privoxy.org/" target=
+            "_top">http://config.privoxy.org/</a></p>
+          </blockquote>
+
+          <p>There is a shortcut: <a href="http://p.p/" target=
+          "_top">http://p.p/</a> (But it doesn't provide a fall-back to a
+          real page, in case the request is not sent through <span class=
+          "APPLICATION">Privoxy</span>)</p>
+        </li>
+
+        <li>
+          <p>Show information about the current configuration, including
+          viewing and editing of actions files:</p><a name="AEN5800" id=
+          "AEN5800"></a>
+
+          <blockquote class="BLOCKQUOTE">
+            <p><a href="http://config.privoxy.org/show-status" target=
+            "_top">http://config.privoxy.org/show-status</a></p>
+          </blockquote>
+        </li>
+
+        <li>
+          <p>Show the source code version numbers:</p><a name="AEN5805" id=
+          "AEN5805"></a>
+
+          <blockquote class="BLOCKQUOTE">
+            <p><a href="http://config.privoxy.org/show-version" target=
+            "_top">http://config.privoxy.org/show-version</a></p>
+          </blockquote>
+        </li>
+
+        <li>
+          <p>Show the browser's request headers:</p><a name="AEN5810" id=
+          "AEN5810"></a>
+
+          <blockquote class="BLOCKQUOTE">
+            <p><a href="http://config.privoxy.org/show-request" target=
+            "_top">http://config.privoxy.org/show-request</a></p>
+          </blockquote>
+        </li>
+
+        <li>
+          <p>Show which actions apply to a URL and why:</p><a name="AEN5815"
+          id="AEN5815"></a>
+
+          <blockquote class="BLOCKQUOTE">
+            <p><a href="http://config.privoxy.org/show-url-info" target=
+            "_top">http://config.privoxy.org/show-url-info</a></p>
+          </blockquote>
+        </li>
+
+        <li>
+          <p>Toggle Privoxy on or off. This feature can be turned off/on in
+          the main <tt class="FILENAME">config</tt> file. When toggled
+          <span class="QUOTE">"off"</span>, <span class=
+          "QUOTE">"Privoxy"</span> continues to run, but only as a
+          pass-through proxy, with no actions taking place:</p><a name=
+          "AEN5823" id="AEN5823"></a>
+
+          <blockquote class="BLOCKQUOTE">
+            <p><a href="http://config.privoxy.org/toggle" target=
+            "_top">http://config.privoxy.org/toggle</a></p>
+          </blockquote>
+
+          <p>Short cuts. Turn off, then on:</p><a name="AEN5827" id=
+          "AEN5827"></a>
+
+          <blockquote class="BLOCKQUOTE">
+            <p><a href="http://config.privoxy.org/toggle?set=disable" target=
+            "_top">http://config.privoxy.org/toggle?set=disable</a></p>
+          </blockquote><a name="AEN5830" id="AEN5830"></a>
+
+          <blockquote class="BLOCKQUOTE">
+            <p><a href="http://config.privoxy.org/toggle?set=enable" target=
+            "_top">http://config.privoxy.org/toggle?set=enable</a></p>
+          </blockquote>
+        </li>
+      </ul>
+
+      <p>These may be bookmarked for quick reference. See next.</p>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="BOOKMARKLETS" id="BOOKMARKLETS">14.2.1.
+        Bookmarklets</a></h3>
+
+        <p>Below are some <span class="QUOTE">"bookmarklets"</span> to allow
+        you to easily access a <span class="QUOTE">"mini"</span> version of
+        some of <span class="APPLICATION">Privoxy's</span> special pages.
+        They are designed for MS Internet Explorer, but should work equally
+        well in Netscape, Mozilla, and other browsers which support
+        JavaScript. They are designed to run directly from your bookmarks -
+        not by clicking the links below (although that should work for
+        testing).</p>
+
+        <p>To save them, right-click the link and choose <span class=
+        "QUOTE">"Add to Favorites"</span> (IE) or <span class="QUOTE">"Add
+        Bookmark"</span> (Netscape). You will get a warning that the bookmark
+        <span class="QUOTE">"may not be safe"</span> - just click OK. Then
+        you can run the Bookmarklet directly from your favorites/bookmarks.
+        For even faster access, you can put them on the <span class=
+        "QUOTE">"Links"</span> bar (IE) or the <span class="QUOTE">"Personal
+        Toolbar"</span> (Netscape), and run them with a single click.</p>
+
         <ul>
           <li>
-            <p>
-              First, your web browser requests a web page. The browser knows
-              to send the request to <span class=
-              "APPLICATION">Privoxy</span>, which will in turn, relay the
-              request to the remote web server after passing the following
-              tests:
-            </p>
-          </li>
-          <li>
-            <p>
-              <span class="APPLICATION">Privoxy</span> traps any request for
-              its own internal CGI pages (e.g <a href="http://p.p/" target=
-              "_top">http://p.p/</a>) and sends the CGI page back to the
-              browser.
-            </p>
-          </li>
-          <li>
-            <p>
-              Next, <span class="APPLICATION">Privoxy</span> checks to see if
-              the URL matches any <a href="actions-file.html#BLOCK"><span
-              class="QUOTE">"+block"</span></a> patterns. If so, the URL is
-              then blocked, and the remote web server will not be contacted.
-              <a href="actions-file.html#HANDLE-AS-IMAGE"><span class=
-              "QUOTE">"+handle-as-image"</span></a> and <a href=
-              "actions-file.html#HANDLE-AS-EMPTY-DOCUMENT"><span class=
-              "QUOTE">"+handle-as-empty-document"</span></a> are then
-              checked, and if there is no match, an HTML <span class=
-              "QUOTE">"BLOCKED"</span> page is sent back to the browser.
-              Otherwise, if it does match, an image is returned for the
-              former, and an empty text document for the latter. The type of
-              image would depend on the setting of <a href=
-              "actions-file.html#SET-IMAGE-BLOCKER"><span class=
-              "QUOTE">"+set-image-blocker"</span></a> (blank, checkerboard
-              pattern, or an HTTP redirect to an image elsewhere).
-            </p>
-          </li>
-          <li>
-            <p>
-              Untrusted URLs are blocked. If URLs are being added to the <tt
-              class="FILENAME">trust</tt> file, then that is done.
-            </p>
-          </li>
-          <li>
-            <p>
-              If the URL pattern matches the <a href=
-              "actions-file.html#FAST-REDIRECTS"><span class=
-              "QUOTE">"+fast-redirects"</span></a> action, it is then
-              processed. Unwanted parts of the requested URL are stripped.
-            </p>
-          </li>
-          <li>
-            <p>
-              Now the rest of the client browser's request headers are
-              processed. If any of these match any of the relevant actions
-              (e.g. <a href="actions-file.html#HIDE-USER-AGENT"><span class=
-              "QUOTE">"+hide-user-agent"</span></a>, etc.), headers are
-              suppressed or forged as determined by these actions and their
-              parameters.
-            </p>
+            <p><a href=
+            "javascript:void(window.open('http://config.privoxy.org/toggle?mini=y&amp;set=enabled','ijbstatus','width=250,height=100,resizable=yes,scrollbars=no,toolbar=no,location=no,directories=no,status=no,menubar=no,copyhistory=no').focus());"
+            target="_top">Privoxy - Enable</a></p>
           </li>
+
           <li>
-            <p>
-              Now the web server starts sending its response back (i.e.
-              typically a web page).
-            </p>
+            <p><a href=
+            "javascript:void(window.open('http://config.privoxy.org/toggle?mini=y&amp;set=disabled','ijbstatus','width=250,height=100,resizable=yes,scrollbars=no,toolbar=no,location=no,directories=no,status=no,menubar=no,copyhistory=no').focus());"
+            target="_top">Privoxy - Disable</a></p>
           </li>
+
           <li>
-            <p>
-              First, the server headers are read and processed to determine,
-              among other things, the MIME type (document type) and encoding.
-              The headers are then filtered as determined by the <a href=
-              "actions-file.html#CRUNCH-INCOMING-COOKIES"><span class=
-              "QUOTE">"+crunch-incoming-cookies"</span></a>, <a href=
-              "actions-file.html#SESSION-COOKIES-ONLY"><span class=
-              "QUOTE">"+session-cookies-only"</span></a>, and <a href=
-              "actions-file.html#DOWNGRADE-HTTP-VERSION"><span class=
-              "QUOTE">"+downgrade-http-version"</span></a> actions.
-            </p>
+            <p><a href=
+            "javascript:void(window.open('http://config.privoxy.org/toggle?mini=y&amp;set=toggle','ijbstatus','width=250,height=100,resizable=yes,scrollbars=no,toolbar=no,location=no,directories=no,status=no,menubar=no,copyhistory=no').focus());"
+            target="_top">Privoxy - Toggle Privoxy</a> (Toggles between
+            enabled and disabled)</p>
           </li>
+
           <li>
-            <p>
-              If any <a href="actions-file.html#FILTER"><span class=
-              "QUOTE">"+filter"</span></a> action or <a href=
-              "actions-file.html#DEANIMATE-GIFS"><span class=
-              "QUOTE">"+deanimate-gifs"</span></a> action applies (and the
-              document type fits the action), the rest of the page is read
-              into memory (up to a configurable limit). Then the filter rules
-              (from <tt class="FILENAME">default.filter</tt> and any other
-              filter files) are processed against the buffered content.
-              Filters are applied in the order they are specified in one of
-              the filter files. Animated GIFs, if present, are reduced to
-              either the first or last frame, depending on the action
-              setting.The entire page, which is now filtered, is then sent by
-              <span class="APPLICATION">Privoxy</span> back to your browser.
-            </p>
-            <p>
-              If neither a <a href="actions-file.html#FILTER"><span class=
-              "QUOTE">"+filter"</span></a> action or <a href=
-              "actions-file.html#DEANIMATE-GIFS"><span class=
-              "QUOTE">"+deanimate-gifs"</span></a> matches, then <span class=
-              "APPLICATION">Privoxy</span> passes the raw data through to the
-              client browser as it becomes available.
-            </p>
+            <p><a href=
+            "javascript:void(window.open('http://config.privoxy.org/toggle?mini=y','ijbstatus','width=250,height=2,resizable=yes,scrollbars=no,toolbar=no,location=no,directories=no,status=no,menubar=no,copyhistory=no').focus());"
+            target="_top">Privoxy- View Status</a></p>
           </li>
+
           <li>
-            <p>
-              As the browser receives the now (possibly filtered) page
-              content, it reads and then requests any URLs that may be
-              embedded within the page source, e.g. ad images, stylesheets,
-              JavaScript, other HTML documents (e.g. frames), sounds, etc.
-              For each of these objects, the browser issues a separate
-              request (this is easily viewable in <span class=
-              "APPLICATION">Privoxy's</span> logs). And each such request is
-              in turn processed just as above. Note that a complex web page
-              will have many, many such embedded URLs. If these secondary
-              requests are to a different server, then quite possibly a very
-              differing set of actions is triggered.
-            </p>
+            <p><a href=
+            "javascript:void(window.open('http://config.privoxy.org/show-url-info?url='+escape(location.href),'Why').focus());"
+            target="_top">Privoxy - Why?</a></p>
           </li>
         </ul>
 
-        <p>
-          NOTE: This is somewhat of a simplistic overview of what happens
-          with each URL request. For the sake of brevity and simplicity, we
-          have focused on <span class="APPLICATION">Privoxy's</span> core
-          features only.
-        </p>
+        <p>Credit: The site which gave us the general idea for these
+        bookmarklets is <a href="http://www.bookmarklets.com/" target=
+        "_top">www.bookmarklets.com</a>. They have more information about
+        bookmarklets.</p>
       </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="ACTIONSANAT">14.4. Troubleshooting: Anatomy of an
-          Action</a>
-        </h2>
-        <p>
-          The way <span class="APPLICATION">Privoxy</span> applies <a href=
-          "actions-file.html#ACTIONS">actions</a> and <a href=
-          "actions-file.html#FILTER">filters</a> 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 <span class="emphasis"><i
-          class="EMPHASIS">see</i></span> just what <span class=
-          "APPLICATION">Privoxy</span> is doing. Especially, if something
-          <span class="APPLICATION">Privoxy</span> is doing is causing us a
-          problem inadvertently. It can be a little daunting to look at the
-          actions and filters files themselves, since they tend to be filled
-          with <a href="appendix.html#REGEX">regular expressions</a> whose
-          consequences are not always so obvious.
-        </p>
-        <p>
-          One quick test to see if <span class="APPLICATION">Privoxy</span>
-          is causing a problem or not, is to disable it temporarily. This
-          should be the first troubleshooting step. See <a href=
-          "appendix.html#BOOKMARKLETS">the Bookmarklets</a> section on a
-          quick and easy way to do this (be sure to flush caches afterward!).
-          Looking at the logs is a good idea too. (Note that both the toggle
-          feature and logging are enabled via <tt class=
-          "FILENAME">config</tt> file settings, and may need to be turned
-          <span class="QUOTE">"on"</span>.)
-        </p>
-        <p>
-          Another easy troubleshooting step to try is if you have done any
-          customization of your installation, revert back to the installed
-          defaults and see if that helps. There are times the developers get
-          complaints about one thing or another, and the problem is more
-          related to a customized configuration issue.
-        </p>
-        <p>
-          <span class="APPLICATION">Privoxy</span> also provides the <a href=
-          "http://config.privoxy.org/show-url-info" target=
-          "_top">http://config.privoxy.org/show-url-info</a> page that can
-          show us very specifically how <span class=
-          "APPLICATION">actions</span> are being applied to any given URL.
-          This is a big help for troubleshooting.
-        </p>
-        <p>
-          First, enter one URL (or partial URL) at the prompt, and then <span
-          class="APPLICATION">Privoxy</span> will tell us how the current
-          configuration will handle it. This will not help with filtering
-          effects (i.e. the <a href="actions-file.html#FILTER"><span class=
-          "QUOTE">"+filter"</span></a> action) from one of the filter files
-          since this is handled very differently and not so easy to trap! 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 <span class="QUOTE">"View Page Source"</span>
-          option for this. Or right click on the ad, and grab the URL.
-        </p>
-        <p>
-          Let's try an example, <a href="http://google.com" target=
-          "_top">google.com</a>, and look at it one section at a time in a
-          sample configuration (your real configuration may vary):
-        </p>
-        <p>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
+    </div>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="CHAIN" id="CHAIN">14.3. Chain of
+      Events</a></h2>
+
+      <p>Let's take a quick look at how some of <span class=
+      "APPLICATION">Privoxy's</span> core features are triggered, and the
+      ensuing sequence of events when a web page is requested by your
+      browser:</p>
+
+      <ul>
+        <li>
+          <p>First, your web browser requests a web page. The browser knows
+          to send the request to <span class="APPLICATION">Privoxy</span>,
+          which will in turn, relay the request to the remote web server
+          after passing the following tests:</p>
+        </li>
+
+        <li>
+          <p><span class="APPLICATION">Privoxy</span> traps any request for
+          its own internal CGI pages (e.g <a href="http://p.p/" target=
+          "_top">http://p.p/</a>) and sends the CGI page back to the
+          browser.</p>
+        </li>
+
+        <li>
+          <p>Next, <span class="APPLICATION">Privoxy</span> checks to see if
+          the URL matches any <a href="actions-file.html#BLOCK"><span class=
+          "QUOTE">"+block"</span></a> patterns. If so, the URL is then
+          blocked, and the remote web server will not be contacted. <a href=
+          "actions-file.html#HANDLE-AS-IMAGE"><span class=
+          "QUOTE">"+handle-as-image"</span></a> and <a href=
+          "actions-file.html#HANDLE-AS-EMPTY-DOCUMENT"><span class=
+          "QUOTE">"+handle-as-empty-document"</span></a> are then checked,
+          and if there is no match, an HTML <span class=
+          "QUOTE">"BLOCKED"</span> page is sent back to the browser.
+          Otherwise, if it does match, an image is returned for the former,
+          and an empty text document for the latter. The type of image would
+          depend on the setting of <a href=
+          "actions-file.html#SET-IMAGE-BLOCKER"><span class=
+          "QUOTE">"+set-image-blocker"</span></a> (blank, checkerboard
+          pattern, or an HTTP redirect to an image elsewhere).</p>
+        </li>
+
+        <li>
+          <p>Untrusted URLs are blocked. If URLs are being added to the
+          <tt class="FILENAME">trust</tt> file, then that is done.</p>
+        </li>
+
+        <li>
+          <p>If the URL pattern matches the <a href=
+          "actions-file.html#FAST-REDIRECTS"><span class=
+          "QUOTE">"+fast-redirects"</span></a> action, it is then processed.
+          Unwanted parts of the requested URL are stripped.</p>
+        </li>
+
+        <li>
+          <p>Now the rest of the client browser's request headers are
+          processed. If any of these match any of the relevant actions (e.g.
+          <a href="actions-file.html#HIDE-USER-AGENT"><span class=
+          "QUOTE">"+hide-user-agent"</span></a>, etc.), headers are
+          suppressed or forged as determined by these actions and their
+          parameters.</p>
+        </li>
+
+        <li>
+          <p>Now the web server starts sending its response back (i.e.
+          typically a web page).</p>
+        </li>
+
+        <li>
+          <p>First, the server headers are read and processed to determine,
+          among other things, the MIME type (document type) and encoding. The
+          headers are then filtered as determined by the <a href=
+          "actions-file.html#CRUNCH-INCOMING-COOKIES"><span class=
+          "QUOTE">"+crunch-incoming-cookies"</span></a>, <a href=
+          "actions-file.html#SESSION-COOKIES-ONLY"><span class=
+          "QUOTE">"+session-cookies-only"</span></a>, and <a href=
+          "actions-file.html#DOWNGRADE-HTTP-VERSION"><span class=
+          "QUOTE">"+downgrade-http-version"</span></a> actions.</p>
+        </li>
+
+        <li>
+          <p>If any <a href="actions-file.html#FILTER"><span class=
+          "QUOTE">"+filter"</span></a> action or <a href=
+          "actions-file.html#DEANIMATE-GIFS"><span class=
+          "QUOTE">"+deanimate-gifs"</span></a> action applies (and the
+          document type fits the action), the rest of the page is read into
+          memory (up to a configurable limit). Then the filter rules (from
+          <tt class="FILENAME">default.filter</tt> and any other filter
+          files) are processed against the buffered content. Filters are
+          applied in the order they are specified in one of the filter files.
+          Animated GIFs, if present, are reduced to either the first or last
+          frame, depending on the action setting.The entire page, which is
+          now filtered, is then sent by <span class=
+          "APPLICATION">Privoxy</span> back to your browser.</p>
+
+          <p>If neither a <a href="actions-file.html#FILTER"><span class=
+          "QUOTE">"+filter"</span></a> action or <a href=
+          "actions-file.html#DEANIMATE-GIFS"><span class=
+          "QUOTE">"+deanimate-gifs"</span></a> matches, then <span class=
+          "APPLICATION">Privoxy</span> passes the raw data through to the
+          client browser as it becomes available.</p>
+        </li>
+
+        <li>
+          <p>As the browser receives the now (possibly filtered) page
+          content, it reads and then requests any URLs that may be embedded
+          within the page source, e.g. ad images, stylesheets, JavaScript,
+          other HTML documents (e.g. frames), sounds, etc. For each of these
+          objects, the browser issues a separate request (this is easily
+          viewable in <span class="APPLICATION">Privoxy's</span> logs). And
+          each such request is in turn processed just as above. Note that a
+          complex web page will have many, many such embedded URLs. If these
+          secondary requests are to a different server, then quite possibly a
+          very differing set of actions is triggered.</p>
+        </li>
+      </ul>
+
+      <p>NOTE: This is somewhat of a simplistic overview of what happens with
+      each URL request. For the sake of brevity and simplicity, we have
+      focused on <span class="APPLICATION">Privoxy's</span> core features
+      only.</p>
+    </div>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="ACTIONSANAT" id="ACTIONSANAT">14.4.
+      Troubleshooting: Anatomy of an Action</a></h2>
+
+      <p>The way <span class="APPLICATION">Privoxy</span> applies <a href=
+      "actions-file.html#ACTIONS">actions</a> and <a href=
+      "actions-file.html#FILTER">filters</a> 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 <span class="emphasis EMPHASIS c2">see</span>
+      just what <span class="APPLICATION">Privoxy</span> is doing.
+      Especially, if something <span class="APPLICATION">Privoxy</span> is
+      doing is causing us a problem inadvertently. It can be a little
+      daunting to look at the actions and filters files themselves, since
+      they tend to be filled with <a href="appendix.html#REGEX">regular
+      expressions</a> whose consequences are not always so obvious.</p>
+
+      <p>One quick test to see if <span class="APPLICATION">Privoxy</span> is
+      causing a problem or not, is to disable it temporarily. This should be
+      the first troubleshooting step. See <a href=
+      "appendix.html#BOOKMARKLETS">the Bookmarklets</a> section on a quick
+      and easy way to do this (be sure to flush caches afterward!). Looking
+      at the logs is a good idea too. (Note that both the toggle feature and
+      logging are enabled via <tt class="FILENAME">config</tt> file settings,
+      and may need to be turned <span class="QUOTE">"on"</span>.)</p>
+
+      <p>Another easy troubleshooting step to try is if you have done any
+      customization of your installation, revert back to the installed
+      defaults and see if that helps. There are times the developers get
+      complaints about one thing or another, and the problem is more related
+      to a customized configuration issue.</p>
+
+      <p><span class="APPLICATION">Privoxy</span> also provides the <a href=
+      "http://config.privoxy.org/show-url-info" target=
+      "_top">http://config.privoxy.org/show-url-info</a> page that can show
+      us very specifically how <span class="APPLICATION">actions</span> are
+      being applied to any given URL. This is a big help for
+      troubleshooting.</p>
+
+      <p>First, enter one URL (or partial URL) at the prompt, and then
+      <span class="APPLICATION">Privoxy</span> will tell us how the current
+      configuration will handle it. This will not help with filtering effects
+      (i.e. the <a href="actions-file.html#FILTER"><span class=
+      "QUOTE">"+filter"</span></a> action) from one of the filter files since
+      this is handled very differently and not so easy to trap! 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 <span class=
+      "QUOTE">"View Page Source"</span> option for this. Or right click on
+      the ad, and grab the URL.</p>
+
+      <p>Let's try an example, <a href="http://google.com" target=
+      "_top">google.com</a>, and look at it one section at a time in a sample
+      configuration (your real configuration may vary):</p>
+
+      <table class="c3" border="0" width="100%">
+        <tr>
+          <td>
+            <pre class="SCREEN">
  Matches for http://www.google.com:
 
  In file: default.action <span class="GUIBUTTON">[ View ]</span> <span class=
@@ -791,80 +686,70 @@ In file: user.action <span class="GUIBUTTON">[ View ]</span> <span class=
 "GUIBUTTON">[ Edit ]</span>
 (no matches in this file)
 </pre>
-            </td>
-          </tr>
-        </table>
-
-        <p>
-          This is telling us how we have defined our <a href=
-          "actions-file.html#ACTIONS"><span class=
-          "QUOTE">"actions"</span></a>, and which ones match for our test
-          case, <span class="QUOTE">"google.com"</span>. Displayed is all the
-          actions that are available to us. Remember, the <tt class=
-          "LITERAL">+</tt> sign denotes <span class="QUOTE">"on"</span>. <tt
-          class="LITERAL">-</tt> denotes <span class="QUOTE">"off"</span>. So
-          some are <span class="QUOTE">"on"</span> here, but many are <span
-          class="QUOTE">"off"</span>. Each example we try may provide a
-          slightly different end result, depending on our configuration
-          directives.
-        </p>
-        <p>
-          The first listing is for our <tt class=
-          "FILENAME">default.action</tt> file. The large, multi-line listing,
-          is how the actions are set to match for all URLs, i.e. our default
-          settings. If you look at your <span class="QUOTE">"actions"</span>
-          file, this would be the section just below the <span class=
-          "QUOTE">"aliases"</span> section near the top. This will apply to
-          all URLs as signified by the single forward slash at the end of the
-          listing -- <span class="QUOTE">" / "</span>.
-        </p>
-        <p>
-          But we have defined additional actions that would be exceptions to
-          these general rules, and then we list specific URLs (or patterns)
-          that these exceptions would apply to. Last match wins. Just below
-          this then are two explicit matches for <span class=
-          "QUOTE">".google.com"</span>. The first is negating our previous
-          cookie setting, which was for <a href=
-          "actions-file.html#SESSION-COOKIES-ONLY"><span class=
-          "QUOTE">"+session-cookies-only"</span></a> (i.e. not persistent).
-          So we will allow persistent cookies for google, at least that is
-          how it is in this example. The second turns <span class=
-          "emphasis"><i class="EMPHASIS">off</i></span> any <a href=
-          "actions-file.html#FAST-REDIRECTS"><span class=
-          "QUOTE">"+fast-redirects"</span></a> action, allowing this to take
-          place unmolested. Note that there is a leading dot here -- <span
-          class="QUOTE">".google.com"</span>. This will match any hosts and
-          sub-domains, in the google.com domain also, such as <span class=
-          "QUOTE">"www.google.com"</span> or <span class=
-          "QUOTE">"mail.google.com"</span>. But it would not match <span
-          class="QUOTE">"www.google.de"</span>! So, apparently, we have these
-          two actions defined as exceptions to the general rules at the top
-          somewhere in the lower part of our <tt class=
-          "FILENAME">default.action</tt> file, and <span class=
-          "QUOTE">"google.com"</span> is referenced somewhere in these latter
-          sections.
-        </p>
-        <p>
-          Then, for our <tt class="FILENAME">user.action</tt> file, we again
-          have no hits. So there is nothing google-specific that we might
-          have added to our own, local configuration. If there was, those
-          actions would over-rule any actions from previously processed
-          files, such as <tt class="FILENAME">default.action</tt>. <tt class=
-          "FILENAME">user.action</tt> typically has the last word. This is
-          the best place to put hard and fast exceptions,
-        </p>
-        <p>
-          And finally we pull it all together in the bottom section and
-          summarize how <span class="APPLICATION">Privoxy</span> is applying
-          all its <span class="QUOTE">"actions"</span> to <span class=
-          "QUOTE">"google.com"</span>:&#13;
-        </p>
-        <p>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
+          </td>
+        </tr>
+      </table>
+
+      <p>This is telling us how we have defined our <a href=
+      "actions-file.html#ACTIONS"><span class="QUOTE">"actions"</span></a>,
+      and which ones match for our test case, <span class=
+      "QUOTE">"google.com"</span>. Displayed is all the actions that are
+      available to us. Remember, the <tt class="LITERAL">+</tt> sign denotes
+      <span class="QUOTE">"on"</span>. <tt class="LITERAL">-</tt> denotes
+      <span class="QUOTE">"off"</span>. So some are <span class=
+      "QUOTE">"on"</span> here, but many are <span class=
+      "QUOTE">"off"</span>. Each example we try may provide a slightly
+      different end result, depending on our configuration directives.</p>
+
+      <p>The first listing is for our <tt class=
+      "FILENAME">default.action</tt> file. The large, multi-line listing, is
+      how the actions are set to match for all URLs, i.e. our default
+      settings. If you look at your <span class="QUOTE">"actions"</span>
+      file, this would be the section just below the <span class=
+      "QUOTE">"aliases"</span> section near the top. This will apply to all
+      URLs as signified by the single forward slash at the end of the listing
+      -- <span class="QUOTE">" / "</span>.</p>
+
+      <p>But we have defined additional actions that would be exceptions to
+      these general rules, and then we list specific URLs (or patterns) that
+      these exceptions would apply to. Last match wins. Just below this then
+      are two explicit matches for <span class="QUOTE">".google.com"</span>.
+      The first is negating our previous cookie setting, which was for
+      <a href="actions-file.html#SESSION-COOKIES-ONLY"><span class=
+      "QUOTE">"+session-cookies-only"</span></a> (i.e. not persistent). So we
+      will allow persistent cookies for google, at least that is how it is in
+      this example. The second turns <span class=
+      "emphasis EMPHASIS c2">off</span> any <a href=
+      "actions-file.html#FAST-REDIRECTS"><span class=
+      "QUOTE">"+fast-redirects"</span></a> action, allowing this to take
+      place unmolested. Note that there is a leading dot here -- <span class=
+      "QUOTE">".google.com"</span>. This will match any hosts and
+      sub-domains, in the google.com domain also, such as <span class=
+      "QUOTE">"www.google.com"</span> or <span class=
+      "QUOTE">"mail.google.com"</span>. But it would not match <span class=
+      "QUOTE">"www.google.de"</span>! So, apparently, we have these two
+      actions defined as exceptions to the general rules at the top somewhere
+      in the lower part of our <tt class="FILENAME">default.action</tt> file,
+      and <span class="QUOTE">"google.com"</span> is referenced somewhere in
+      these latter sections.</p>
+
+      <p>Then, for our <tt class="FILENAME">user.action</tt> file, we again
+      have no hits. So there is nothing google-specific that we might have
+      added to our own, local configuration. If there was, those actions
+      would over-rule any actions from previously processed files, such as
+      <tt class="FILENAME">default.action</tt>. <tt class=
+      "FILENAME">user.action</tt> typically has the last word. This is the
+      best place to put hard and fast exceptions,</p>
+
+      <p>And finally we pull it all together in the bottom section and
+      summarize how <span class="APPLICATION">Privoxy</span> is applying all
+      its <span class="QUOTE">"actions"</span> to <span class=
+      "QUOTE">"google.com"</span>:</p>
+
+      <table class="c3" border="0" width="100%">
+        <tr>
+          <td>
+            <pre class="SCREEN">
 &#13; Final results:
 
  -add-header
@@ -924,27 +809,23 @@ In file: user.action <span class="GUIBUTTON">[ View ]</span> <span class=
  -session-cookies-only
  +set-image-blocker {pattern}
 </pre>
-            </td>
-          </tr>
-        </table>
-
-        <p>
-          Notice the only difference here to the previous listing, is to
-          <span class="QUOTE">"fast-redirects"</span> and <span class=
-          "QUOTE">"session-cookies-only"</span>, which are activated
-          specifically for this site in our configuration, and thus show in
-          the <span class="QUOTE">"Final Results"</span>.
-        </p>
-        <p>
-          Now another example, <span class=
-          "QUOTE">"ad.doubleclick.net"</span>:
-        </p>
-        <p>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
+          </td>
+        </tr>
+      </table>
+
+      <p>Notice the only difference here to the previous listing, is to
+      <span class="QUOTE">"fast-redirects"</span> and <span class=
+      "QUOTE">"session-cookies-only"</span>, which are activated specifically
+      for this site in our configuration, and thus show in the <span class=
+      "QUOTE">"Final Results"</span>.</p>
+
+      <p>Now another example, <span class=
+      "QUOTE">"ad.doubleclick.net"</span>:</p>
+
+      <table class="c3" border="0" width="100%">
+        <tr>
+          <td>
+            <pre class="SCREEN">
 &#13; { +block{Domains starts with "ad"} }
   ad*.
 
@@ -954,48 +835,41 @@ In file: user.action <span class="GUIBUTTON">[ View ]</span> <span class=
  { +block{Doubleclick banner server} +handle-as-image }
   .[a-vx-z]*.doubleclick.net
 </pre>
-            </td>
-          </tr>
-        </table>
-
-        <p>
-          We'll just show the interesting part here - the explicit matches.
-          It is matched three different times. Two <span class=
-          "QUOTE">"+block{}"</span> sections, and a <span class=
-          "QUOTE">"+block{} +handle-as-image"</span>, which is the expanded
-          form of one of our aliases that had been defined as: <span class=
-          "QUOTE">"+block-as-image"</span>. (<a href=
-          "actions-file.html#ALIASES"><span class=
-          "QUOTE">"Aliases"</span></a> are defined in the first section of
-          the actions file and typically used to combine more than one
-          action.)
-        </p>
-        <p>
-          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 <span class=
-          "QUOTE">"ad.doubleclick.net"</span> is done here -- as both a <a
-          href="actions-file.html#BLOCK"><span class=
-          "QUOTE">"+block{}"</span></a> <span class="emphasis"><i class=
-          "EMPHASIS">and</i></span> an <a href=
-          "actions-file.html#HANDLE-AS-IMAGE"><span class=
-          "QUOTE">"+handle-as-image"</span></a>. The custom alias <span
-          class="QUOTE">"<tt class="LITERAL">+block-as-image</tt>"</span>
-          just simplifies the process and make it more readable.
-        </p>
-        <p>
-          One last example. Let's try <span class=
-          "QUOTE">"http://www.example.net/adsl/HOWTO/"</span>. This one is
-          giving us problems. We are getting a blank page. Hmmm ...
-        </p>
-        <p>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
+          </td>
+        </tr>
+      </table>
+
+      <p>We'll just show the interesting part here - the explicit matches. It
+      is matched three different times. Two <span class=
+      "QUOTE">"+block{}"</span> sections, and a <span class="QUOTE">"+block{}
+      +handle-as-image"</span>, which is the expanded form of one of our
+      aliases that had been defined as: <span class=
+      "QUOTE">"+block-as-image"</span>. (<a href=
+      "actions-file.html#ALIASES"><span class="QUOTE">"Aliases"</span></a>
+      are defined in the first section of the actions file and typically used
+      to combine more than one action.)</p>
+
+      <p>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 <span class=
+      "QUOTE">"ad.doubleclick.net"</span> is done here -- as both a <a href=
+      "actions-file.html#BLOCK"><span class="QUOTE">"+block{}"</span></a>
+      <span class="emphasis EMPHASIS c2">and</span> an <a href=
+      "actions-file.html#HANDLE-AS-IMAGE"><span class=
+      "QUOTE">"+handle-as-image"</span></a>. The custom alias <span class=
+      "QUOTE">"<tt class="LITERAL">+block-as-image</tt>"</span> just
+      simplifies the process and make it more readable.</p>
+
+      <p>One last example. Let's try <span class=
+      "QUOTE">"http://www.example.net/adsl/HOWTO/"</span>. This one is giving
+      us problems. We are getting a blank page. Hmmm ...</p>
+
+      <table class="c3" border="0" width="100%">
+        <tr>
+          <td>
+            <pre class="SCREEN">
 &#13; Matches for http://www.example.net/adsl/HOWTO/:
 
  In file: default.action <span class="GUIBUTTON">[ View ]</span> <span class=
@@ -1060,82 +934,71 @@ In file: user.action <span class="GUIBUTTON">[ View ]</span> <span class=
  { +block{Path contains "ads".} +handle-as-image }
   /ads
 </pre>
-            </td>
-          </tr>
-        </table>
-
-        <p>
-          Ooops, the <span class="QUOTE">"/adsl/"</span> is matching <span
-          class="QUOTE">"/ads"</span> in our configuration! But we did not
-          want this at all! Now we see why we get the blank page. It is
-          actually triggering two different actions here, and the effects are
-          aggregated so that the URL is blocked, and <span class=
-          "APPLICATION">Privoxy</span> is told to treat the block as if it
-          were an image. But this is, of course, all wrong. We could now add
-          a new action below this (or better in our own <tt class=
-          "FILENAME">user.action</tt> file) that explicitly <span class=
-          "emphasis"><i class="EMPHASIS">un</i></span> blocks ( <a href=
-          "actions-file.html#BLOCK"><span class=
-          "QUOTE">"{-block}"</span></a>) paths with <span class=
-          "QUOTE">"adsl"</span> in them (remember, last match in the
-          configuration wins). There are various ways to handle such
-          exceptions. Example:
-        </p>
-        <p>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
+          </td>
+        </tr>
+      </table>
+
+      <p>Ooops, the <span class="QUOTE">"/adsl/"</span> is matching
+      <span class="QUOTE">"/ads"</span> in our configuration! But we did not
+      want this at all! Now we see why we get the blank page. It is actually
+      triggering two different actions here, and the effects are aggregated
+      so that the URL is blocked, and <span class=
+      "APPLICATION">Privoxy</span> is told to treat the block as if it were
+      an image. But this is, of course, all wrong. We could now add a new
+      action below this (or better in our own <tt class=
+      "FILENAME">user.action</tt> file) that explicitly <span class=
+      "emphasis EMPHASIS c2">un</span> blocks ( <a href=
+      "actions-file.html#BLOCK"><span class="QUOTE">"{-block}"</span></a>)
+      paths with <span class="QUOTE">"adsl"</span> in them (remember, last
+      match in the configuration wins). There are various ways to handle such
+      exceptions. Example:</p>
+
+      <table class="c3" border="0" width="100%">
+        <tr>
+          <td>
+            <pre class="SCREEN">
 &#13; { -block }
   /adsl
 </pre>
-            </td>
-          </tr>
-        </table>
-
-        <p>
-          Now the page displays ;-) Remember to flush your browser's caches
-          when making these kinds of changes to your configuration to insure
-          that you get a freshly delivered page! Or, try using <tt class=
-          "LITERAL">Shift+Reload</tt>.
-        </p>
-        <p>
-          But now what about a situation where we get no explicit matches
-          like we did with:
-        </p>
-        <p>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
+          </td>
+        </tr>
+      </table>
+
+      <p>Now the page displays ;-) Remember to flush your browser's caches
+      when making these kinds of changes to your configuration to insure that
+      you get a freshly delivered page! Or, try using <tt class=
+      "LITERAL">Shift+Reload</tt>.</p>
+
+      <p>But now what about a situation where we get no explicit matches like
+      we did with:</p>
+
+      <table class="c3" border="0" width="100%">
+        <tr>
+          <td>
+            <pre class="SCREEN">
 &#13; { +block{Path starts with "ads".} +handle-as-image }
  /ads
 </pre>
-            </td>
-          </tr>
-        </table>
-
-        <p>
-          That actually was very helpful and pointed us quickly to where the
-          problem was. If you don't get this kind of match, then it means one
-          of the default rules in the first section of <tt class=
-          "FILENAME">default.action</tt> is causing the problem. This would
-          require some guesswork, and maybe a little trial and error to
-          isolate the offending rule. One likely cause would be one of the <a
-          href="actions-file.html#FILTER"><span class=
-          "QUOTE">"+filter"</span></a> actions. These tend to be harder to
-          troubleshoot. Try adding the URL for the site to one of aliases
-          that turn off <a href="actions-file.html#FILTER"><span class=
-          "QUOTE">"+filter"</span></a>:
-        </p>
-        <p>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
+          </td>
+        </tr>
+      </table>
+
+      <p>That actually was very helpful and pointed us quickly to where the
+      problem was. If you don't get this kind of match, then it means one of
+      the default rules in the first section of <tt class=
+      "FILENAME">default.action</tt> is causing the problem. This would
+      require some guesswork, and maybe a little trial and error to isolate
+      the offending rule. One likely cause would be one of the <a href=
+      "actions-file.html#FILTER"><span class="QUOTE">"+filter"</span></a>
+      actions. These tend to be harder to troubleshoot. Try adding the URL
+      for the site to one of aliases that turn off <a href=
+      "actions-file.html#FILTER"><span class=
+      "QUOTE">"+filter"</span></a>:</p>
+
+      <table class="c3" border="0" width="100%">
+        <tr>
+          <td>
+            <pre class="SCREEN">
 &#13; { shop }
  .quietpc.com
  .worldpay.com   # for quietpc.com
@@ -1143,111 +1006,96 @@ In file: user.action <span class="GUIBUTTON">[ View ]</span> <span class=
  .scan.co.uk
  .forbes.com
 </pre>
-            </td>
-          </tr>
-        </table>
-
-        <p>
-          <span class="QUOTE">"<tt class="LITERAL">{ shop }</tt>"</span> is
-          an <span class="QUOTE">"alias"</span> that expands to <span class=
-          "QUOTE">"<tt class="LITERAL">{ -filter -session-cookies-only
-          }</tt>"</span>. Or you could do your own exception to negate
-          filtering:&#13;
-        </p>
-        <p>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
+          </td>
+        </tr>
+      </table>
+
+      <p><span class="QUOTE">"<tt class="LITERAL">{ shop }</tt>"</span> is an
+      <span class="QUOTE">"alias"</span> that expands to <span class=
+      "QUOTE">"<tt class="LITERAL">{ -filter -session-cookies-only
+      }</tt>"</span>. Or you could do your own exception to negate
+      filtering:</p>
+
+      <table class="c3" border="0" width="100%">
+        <tr>
+          <td>
+            <pre class="SCREEN">
 &#13; { -filter }
  # Disable ALL filter actions for sites in this section
  .forbes.com
  developer.ibm.com
  localhost
 </pre>
-            </td>
-          </tr>
-        </table>
-
-        <p>
-          This would turn off all filtering for these sites. This is best put
-          in <tt class="FILENAME">user.action</tt>, for local site
-          exceptions. Note that when a simple domain pattern is used by
-          itself (without the subsequent path portion), all sub-pages within
-          that domain are included automatically in the scope of the action.
-        </p>
-        <p>
-          Images that are inexplicably being blocked, may well be hitting the
-          <a href="actions-file.html#FILTER-BANNERS-BY-SIZE"><span class=
-          "QUOTE">"+filter{banners-by-size}"</span></a> rule, which assumes
-          that images of certain sizes are ad banners (works well <span
-          class="emphasis"><i class="EMPHASIS">most of the time</i></span>
-          since these tend to be standardized).
-        </p>
-        <p>
-          <span class="QUOTE">"<tt class="LITERAL">{ fragile }</tt>"</span>
-          is an alias that disables most actions that are the most likely to
-          cause trouble. This can be used as a last resort for problem sites.
-        </p>
-        <p>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
+          </td>
+        </tr>
+      </table>
+
+      <p>This would turn off all filtering for these sites. This is best put
+      in <tt class="FILENAME">user.action</tt>, for local site exceptions.
+      Note that when a simple domain pattern is used by itself (without the
+      subsequent path portion), all sub-pages within that domain are included
+      automatically in the scope of the action.</p>
+
+      <p>Images that are inexplicably being blocked, may well be hitting the
+      <a href="actions-file.html#FILTER-BANNERS-BY-SIZE"><span class=
+      "QUOTE">"+filter{banners-by-size}"</span></a> rule, which assumes that
+      images of certain sizes are ad banners (works well <span class=
+      "emphasis EMPHASIS c2">most of the time</span> since these tend to be
+      standardized).</p>
+
+      <p><span class="QUOTE">"<tt class="LITERAL">{ fragile }</tt>"</span> is
+      an alias that disables most actions that are the most likely to cause
+      trouble. This can be used as a last resort for problem sites.</p>
+
+      <table class="c3" border="0" width="100%">
+        <tr>
+          <td>
+            <pre class="SCREEN">
 &#13; { fragile }
  # Handle with care: easy to break
  mail.google.
  mybank.example.com
 </pre>
-            </td>
-          </tr>
-        </table>
-
-        <p>
-          <span class="emphasis"><i class="EMPHASIS">Remember to flush
-          caches!</i></span> Note that the <tt class=
-          "LITERAL">mail.google</tt> reference lacks the TLD portion (e.g.
-          <span class="QUOTE">".com"</span>). This will effectively match any
-          TLD with <tt class="LITERAL">google</tt> in it, such as <tt class=
-          "LITERAL">mail.google.de.</tt>, just as an example.
-        </p>
-        <p>
-          If this still does not work, you will have to go through the
-          remaining actions one by one to find which one(s) is causing the
-          problem.
-        </p>
-      </div>
-    </div>
-    <div class="NAVFOOTER">
-      <hr width="100%" class="c1">
-      <table summary="Footer navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <td width="33%" align="left" valign="top">
-            <a href="seealso.html" accesskey="P">Prev</a>
-          </td>
-          <td width="34%" align="center" valign="top">
-            <a href="index.html" accesskey="H">Home</a>
-          </td>
-          <td width="33%" align="right" valign="top">
-            &nbsp;
-          </td>
-        </tr>
-        <tr>
-          <td width="33%" align="left" valign="top">
-            See Also
-          </td>
-          <td width="34%" align="center" valign="top">
-            &nbsp;
-          </td>
-          <td width="33%" align="right" valign="top">
-            &nbsp;
           </td>
         </tr>
       </table>
+
+      <p><span class="emphasis EMPHASIS c2">Remember to flush caches!</span>
+      Note that the <tt class="LITERAL">mail.google</tt> reference lacks the
+      TLD portion (e.g. <span class="QUOTE">".com"</span>). This will
+      effectively match any TLD with <tt class="LITERAL">google</tt> in it,
+      such as <tt class="LITERAL">mail.google.de.</tt>, just as an
+      example.</p>
+
+      <p>If this still does not work, you will have to go through the
+      remaining actions one by one to find which one(s) is causing the
+      problem.</p>
     </div>
-  </body>
-</html>
+  </div>
 
+  <div class="NAVFOOTER">
+    <hr class="c1" width="100%">
+
+    <table summary="Footer navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <td width="33%" align="left" valign="top"><a href="seealso.html"
+        accesskey="P">Prev</a></td>
+
+        <td width="34%" align="center" valign="top"><a href="index.html"
+        accesskey="H">Home</a></td>
+
+        <td width="33%" align="right" valign="top">&nbsp;</td>
+      </tr>
+
+      <tr>
+        <td width="33%" align="left" valign="top">See Also</td>
+
+        <td width="34%" align="center" valign="top">&nbsp;</td>
+
+        <td width="33%" align="right" valign="top">&nbsp;</td>
+      </tr>
+    </table>
+  </div>
+</body>
+</html>
index 9c4ba59..3c5c45c 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
-Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+
 <html>
-  <head>
-    <meta name="generator" content="HTML Tidy, see www.w3.org">
-    <title>
-      The Main Configuration File
-    </title>
-    <meta name="GENERATOR" content=
-    "Modular DocBook HTML Stylesheet Version 1.79">
-    <link rel="HOME" title="Privoxy 3.0.18 User Manual" href="index.html">
-    <link rel="PREVIOUS" title="Privoxy Configuration" href=
-    "configuration.html">
-    <link rel="NEXT" title="Actions Files" href="actions-file.html">
-    <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
-    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-    <link rel="STYLESHEET" type="text/css" href="p_doc.css">
-<style type="text/css">
- body {
+<head>
+  <meta name="generator" content=
+  "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
+
+  <title>The Main Configuration File</title>
+  <meta name="GENERATOR" content=
+  "Modular DocBook HTML Stylesheet Version 1.79">
+  <link rel="HOME" title="Privoxy 3.0.18 User Manual" href="index.html">
+  <link rel="PREVIOUS" title="Privoxy Configuration" href=
+  "configuration.html">
+  <link rel="NEXT" title="Actions Files" href="actions-file.html">
+  <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
+  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+  <link rel="STYLESHEET" type="text/css" href="p_doc.css">
+  <style type="text/css">
+body {
   background-color: #EEEEEE;
   color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- hr.c1 {text-align: left}
-</style>
-  </head>
-  <body class="SECT1">
-    <div class="NAVHEADER">
-      <table summary="Header navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <th colspan="3" align="center">
-            Privoxy 3.0.18 User Manual
-          </th>
-        </tr>
-        <tr>
-          <td width="10%" align="left" valign="bottom">
-            <a href="configuration.html" accesskey="P">Prev</a>
-          </td>
-          <td width="80%" align="center" valign="bottom">
-          </td>
-          <td width="10%" align="right" valign="bottom">
-            <a href="actions-file.html" accesskey="N">Next</a>
-          </td>
-        </tr>
-      </table>
-      <hr width="100%" class="c1">
-    </div>
-    <div class="SECT1">
-      <h1 class="SECT1">
-        <a name="CONFIG">7. The Main Configuration File</a>
-      </h1>
-      <p>
-        By default, the main configuration file is named <tt class=
-        "FILENAME">config</tt>, with the exception of Windows, where it is
-        named <tt class="FILENAME">config.txt</tt>. 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:
-      </p>
-      <p>
-      </p>
-      <p class="LITERALLAYOUT">
-        <tt class="LITERAL">&nbsp;&nbsp;<span class="emphasis"><i class=
-        "EMPHASIS">confdir /etc/privoxy</i></span></tt>
-      </p>
-
-      <p>
-        Assigns the value <tt class="LITERAL">/etc/privoxy</tt> to the option
-        <tt class="LITERAL">confdir</tt> and thus indicates that the
-        configuration directory is named <span class=
-        "QUOTE">"/etc/privoxy/"</span>.
-      </p>
-      <p>
-        All options in the config file except for <tt class=
-        "LITERAL">confdir</tt> and <tt class="LITERAL">logdir</tt> are
-        optional. Watch out in the below description for what happens if you
-        leave them unset.
-      </p>
-      <p>
-        The main config file controls all aspects of <span class=
-        "APPLICATION">Privoxy</span>'s operation that are not location
-        dependent (i.e. they apply universally, no matter where you may be
-        surfing). Like the filter and action files, the config file is a
-        plain text file and can be modified with a text editor like emacs,
-        vim or notepad.exe.
-      </p>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="LOCAL-SET-UP">7.1. Local Set-up Documentation</a>
-        </h2>
-        <p>
-          If you intend to operate <span class="APPLICATION">Privoxy</span>
-          for more users than just yourself, it might be a good idea to let
-          them know how to reach you, what you block and why you do that,
-          your policies, etc.
-        </p>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="USER-MANUAL">7.1.1. user-manual</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Specifies:
-              </dt>
-              <dd>
-                <p>
-                  Location of the <span class="APPLICATION">Privoxy</span>
-                  User Manual.
-                </p>
-              </dd>
-              <dt>
-                Type of value:
-              </dt>
-              <dd>
-                <p>
-                  A fully qualified URI
-                </p>
-              </dd>
-              <dt>
-                Default value:
-              </dt>
-              <dd>
-                <p>
-                  <span class="emphasis"><i class="EMPHASIS">Unset</i></span>
-                </p>
-              </dd>
-              <dt>
-                Effect if unset:
-              </dt>
-              <dd>
-                <p>
-                  <a href="http://www.privoxy.org/user-manual/" target=
-                  "_top">http://www.privoxy.org/<tt class=
-                  "REPLACEABLE"><i>version</i></tt>/user-manual/</a> will be
-                  used, where <tt class="REPLACEABLE"><i>version</i></tt> is
-                  the <span class="APPLICATION">Privoxy</span> version.
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  The User Manual URI is the single best source of
-                  information on <span class="APPLICATION">Privoxy</span>,
-                  and is used for help links from some of the internal CGI
-                  pages. The manual itself is normally packaged with the
-                  binary distributions, so you probably want to set this to a
-                  locally installed copy.
-                </p>
-                <p>
-                  Examples:
-                </p>
-                <p>
-                  The best all purpose solution is simply to put the full
-                  local <tt class="LITERAL">PATH</tt> to where the <i class=
-                  "CITETITLE">User Manual</i> is located:
-                </p>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+  }
+  :link { color: #0000FF }
+  :visited { color: #840084 }
+  :active { color: #0000FF }
+  td.c5 {font-weight: bold}
+  table.c4 {background-color: #E0E0E0}
+  tt.c3 {font-style: italic}
+  span.c2 {font-style: italic}
+  hr.c1 {text-align: left}
+  </style>
+</head>
+
+<body class="SECT1">
+  <div class="NAVHEADER">
+    <table summary="Header navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <th colspan="3" align="center">Privoxy 3.0.18 User Manual</th>
+      </tr>
+
+      <tr>
+        <td width="10%" align="left" valign="bottom"><a href=
+        "configuration.html" accesskey="P">Prev</a></td>
+
+        <td width="80%" align="center" valign="bottom"></td>
+
+        <td width="10%" align="right" valign="bottom"><a href=
+        "actions-file.html" accesskey="N">Next</a></td>
+      </tr>
+    </table>
+    <hr class="c1" width="100%">
+  </div>
+
+  <div class="SECT1">
+    <h1 class="SECT1"><a name="CONFIG" id="CONFIG">7. The Main Configuration
+    File</a></h1>
+
+    <p>By default, the main configuration file is named <tt class=
+    "FILENAME">config</tt>, with the exception of Windows, where it is named
+    <tt class="FILENAME">config.txt</tt>. 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:</p>
+
+    <p class="LITERALLAYOUT"><tt class="LITERAL">&nbsp;&nbsp;<span class=
+    "emphasis EMPHASIS c2">confdir /etc/privoxy</span></tt></p>
+
+    <p>Assigns the value <tt class="LITERAL">/etc/privoxy</tt> to the option
+    <tt class="LITERAL">confdir</tt> and thus indicates that the
+    configuration directory is named <span class=
+    "QUOTE">"/etc/privoxy/"</span>.</p>
+
+    <p>All options in the config file except for <tt class=
+    "LITERAL">confdir</tt> and <tt class="LITERAL">logdir</tt> are optional.
+    Watch out in the below description for what happens if you leave them
+    unset.</p>
+
+    <p>The main config file controls all aspects of <span class=
+    "APPLICATION">Privoxy</span>'s operation that are not location dependent
+    (i.e. they apply universally, no matter where you may be surfing). Like
+    the filter and action files, the config file is a plain text file and can
+    be modified with a text editor like emacs, vim or notepad.exe.</p>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="LOCAL-SET-UP" id="LOCAL-SET-UP">7.1. Local
+      Set-up Documentation</a></h2>
+
+      <p>If you intend to operate <span class="APPLICATION">Privoxy</span>
+      for more users than just yourself, it might be a good idea to let them
+      know how to reach you, what you block and why you do that, your
+      policies, etc.</p>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="USER-MANUAL" id="USER-MANUAL">7.1.1.
+        user-manual</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Specifies:</dt>
+
+            <dd>
+              <p>Location of the <span class="APPLICATION">Privoxy</span>
+              User Manual.</p>
+            </dd>
+
+            <dt>Type of value:</dt>
+
+            <dd>
+              <p>A fully qualified URI</p>
+            </dd>
+
+            <dt>Default value:</dt>
+
+            <dd>
+              <p><span class="emphasis EMPHASIS c2">Unset</span></p>
+            </dd>
+
+            <dt>Effect if unset:</dt>
+
+            <dd>
+              <p><a href="http://www.privoxy.org/user-manual/" target=
+              "_top">http://www.privoxy.org/<tt class=
+              "REPLACEABLE c3">version</tt>/user-manual/</a> will be used,
+              where <tt class="REPLACEABLE c3">version</tt> is the
+              <span class="APPLICATION">Privoxy</span> version.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>The User Manual URI is the single best source of information
+              on <span class="APPLICATION">Privoxy</span>, and is used for
+              help links from some of the internal CGI pages. The manual
+              itself is normally packaged with the binary distributions, so
+              you probably want to set this to a locally installed copy.</p>
+
+              <p>Examples:</p>
+
+              <p>The best all purpose solution is simply to put the full
+              local <tt class="LITERAL">PATH</tt> to where the <i class=
+              "CITETITLE">User Manual</i> is located:</p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
   user-manual  /usr/share/doc/privoxy/user-manual
 </pre>
-                    </td>
-                  </tr>
-                </table>
+                  </td>
+                </tr>
+              </table>
 
-                <p>
-                  The User Manual is then available to anyone with access to
-                  <span class="APPLICATION">Privoxy</span>, by following the
-                  built-in URL: <tt class=
-                  "LITERAL">http://config.privoxy.org/user-manual/</tt> (or
-                  the shortcut: <tt class=
-                  "LITERAL">http://p.p/user-manual/</tt>).
-                </p>
-                <p>
-                  If the documentation is not on the local system, it can be
-                  accessed from a remote server, as:
-                </p>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+              <p>The User Manual is then available to anyone with access to
+              <span class="APPLICATION">Privoxy</span>, by following the
+              built-in URL: <tt class=
+              "LITERAL">http://config.privoxy.org/user-manual/</tt> (or the
+              shortcut: <tt class=
+              "LITERAL">http://p.p/user-manual/</tt>).</p>
+
+              <p>If the documentation is not on the local system, it can be
+              accessed from a remote server, as:</p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
   user-manual  http://example.com/privoxy/user-manual/
 </pre>
+                  </td>
+                </tr>
+              </table>
+
+              <div class="WARNING">
+                <table class="WARNING" border="1" width="90%">
+                  <tr>
+                    <td class="c5" align="center">Warning</td>
+                  </tr>
+
+                  <tr>
+                    <td align="left">
+                      <p>If set, this option should be <span class=
+                      "emphasis EMPHASIS c2">the first option in the config
+                      file</span>, because it is used while the config file
+                      is being read on start-up.</p>
                     </td>
                   </tr>
                 </table>
-
-                <div class="WARNING">
-                  <table class="WARNING" border="1" width="90%">
-                    <tr>
-                      <td align="CENTER">
-                        <b>Warning</b>
-                      </td>
-                    </tr>
-                    <tr>
-                      <td align="LEFT">
-                        <p>
-                          If set, this option should be <span class=
-                          "emphasis"><i class="EMPHASIS">the first option in
-                          the config file</i></span>, because it is used
-                          while the config file is being read on start-up.
-                        </p>
-                      </td>
-                    </tr>
-                  </table>
-                </div>
-              </dd>
-            </dl>
-          </div>
+              </div>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="TRUST-INFO-URL">7.1.2. trust-info-url</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Specifies:
-              </dt>
-              <dd>
-                <p>
-                  A URL to be displayed in the error page that users will see
-                  if access to an untrusted page is denied.
-                </p>
-              </dd>
-              <dt>
-                Type of value:
-              </dt>
-              <dd>
-                <p>
-                  URL
-                </p>
-              </dd>
-              <dt>
-                Default value:
-              </dt>
-              <dd>
-                <p>
-                  <span class="emphasis"><i class="EMPHASIS">Unset</i></span>
-                </p>
-              </dd>
-              <dt>
-                Effect if unset:
-              </dt>
-              <dd>
-                <p>
-                  No links are displayed on the "untrusted" error page.
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  The value of this option only matters if the experimental
-                  trust mechanism has been activated. (See <a href=
-                  "config.html#TRUSTFILE"><span class="emphasis"><i class=
-                  "EMPHASIS">trustfile</i></span></a> below.)
-                </p>
-                <p>
-                  If you use the trust mechanism, it is a good idea to write
-                  up some on-line documentation about your trust policy and
-                  to specify the URL(s) here. Use multiple times for multiple
-                  URLs.
-                </p>
-                <p>
-                  The URL(s) should be added to the trustfile as well, so
-                  users don't end up locked out from the information on why
-                  they were locked out in the first place!
-                </p>
-              </dd>
-            </dl>
-          </div>
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="TRUST-INFO-URL" id="TRUST-INFO-URL">7.1.2.
+        trust-info-url</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Specifies:</dt>
+
+            <dd>
+              <p>A URL to be displayed in the error page that users will see
+              if access to an untrusted page is denied.</p>
+            </dd>
+
+            <dt>Type of value:</dt>
+
+            <dd>
+              <p>URL</p>
+            </dd>
+
+            <dt>Default value:</dt>
+
+            <dd>
+              <p><span class="emphasis EMPHASIS c2">Unset</span></p>
+            </dd>
+
+            <dt>Effect if unset:</dt>
+
+            <dd>
+              <p>No links are displayed on the "untrusted" error page.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>The value of this option only matters if the experimental
+              trust mechanism has been activated. (See <a href=
+              "config.html#TRUSTFILE"><span class=
+              "emphasis EMPHASIS c2">trustfile</span></a> below.)</p>
+
+              <p>If you use the trust mechanism, it is a good idea to write
+              up some on-line documentation about your trust policy and to
+              specify the URL(s) here. Use multiple times for multiple
+              URLs.</p>
+
+              <p>The URL(s) should be added to the trustfile as well, so
+              users don't end up locked out from the information on why they
+              were locked out in the first place!</p>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="ADMIN-ADDRESS">7.1.3. admin-address</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Specifies:
-              </dt>
-              <dd>
-                <p>
-                  An email address to reach the <span class=
-                  "APPLICATION">Privoxy</span> administrator.
-                </p>
-              </dd>
-              <dt>
-                Type of value:
-              </dt>
-              <dd>
-                <p>
-                  Email address
-                </p>
-              </dd>
-              <dt>
-                Default value:
-              </dt>
-              <dd>
-                <p>
-                  <span class="emphasis"><i class="EMPHASIS">Unset</i></span>
-                </p>
-              </dd>
-              <dt>
-                Effect if unset:
-              </dt>
-              <dd>
-                <p>
-                  No email address is displayed on error pages and the CGI
-                  user interface.
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  If both <tt class="LITERAL">admin-address</tt> and <tt
-                  class="LITERAL">proxy-info-url</tt> are unset, the whole
-                  "Local Privoxy Support" box on all generated pages will not
-                  be shown.
-                </p>
-              </dd>
-            </dl>
-          </div>
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="ADMIN-ADDRESS" id="ADMIN-ADDRESS">7.1.3.
+        admin-address</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Specifies:</dt>
+
+            <dd>
+              <p>An email address to reach the <span class=
+              "APPLICATION">Privoxy</span> administrator.</p>
+            </dd>
+
+            <dt>Type of value:</dt>
+
+            <dd>
+              <p>Email address</p>
+            </dd>
+
+            <dt>Default value:</dt>
+
+            <dd>
+              <p><span class="emphasis EMPHASIS c2">Unset</span></p>
+            </dd>
+
+            <dt>Effect if unset:</dt>
+
+            <dd>
+              <p>No email address is displayed on error pages and the CGI
+              user interface.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>If both <tt class="LITERAL">admin-address</tt> and
+              <tt class="LITERAL">proxy-info-url</tt> are unset, the whole
+              "Local Privoxy Support" box on all generated pages will not be
+              shown.</p>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="PROXY-INFO-URL">7.1.4. proxy-info-url</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Specifies:
-              </dt>
-              <dd>
-                <p>
-                  A URL to documentation about the local <span class=
-                  "APPLICATION">Privoxy</span> setup, configuration or
-                  policies.
-                </p>
-              </dd>
-              <dt>
-                Type of value:
-              </dt>
-              <dd>
-                <p>
-                  URL
-                </p>
-              </dd>
-              <dt>
-                Default value:
-              </dt>
-              <dd>
-                <p>
-                  <span class="emphasis"><i class="EMPHASIS">Unset</i></span>
-                </p>
-              </dd>
-              <dt>
-                Effect if unset:
-              </dt>
-              <dd>
-                <p>
-                  No link to local documentation is displayed on error pages
-                  and the CGI user interface.
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  If both <tt class="LITERAL">admin-address</tt> and <tt
-                  class="LITERAL">proxy-info-url</tt> are unset, the whole
-                  "Local Privoxy Support" box on all generated pages will not
-                  be shown.
-                </p>
-                <p>
-                  This URL shouldn't be blocked ;-)
-                </p>
-              </dd>
-            </dl>
-          </div>
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="PROXY-INFO-URL" id="PROXY-INFO-URL">7.1.4.
+        proxy-info-url</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Specifies:</dt>
+
+            <dd>
+              <p>A URL to documentation about the local <span class=
+              "APPLICATION">Privoxy</span> setup, configuration or
+              policies.</p>
+            </dd>
+
+            <dt>Type of value:</dt>
+
+            <dd>
+              <p>URL</p>
+            </dd>
+
+            <dt>Default value:</dt>
+
+            <dd>
+              <p><span class="emphasis EMPHASIS c2">Unset</span></p>
+            </dd>
+
+            <dt>Effect if unset:</dt>
+
+            <dd>
+              <p>No link to local documentation is displayed on error pages
+              and the CGI user interface.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>If both <tt class="LITERAL">admin-address</tt> and
+              <tt class="LITERAL">proxy-info-url</tt> are unset, the whole
+              "Local Privoxy Support" box on all generated pages will not be
+              shown.</p>
+
+              <p>This URL shouldn't be blocked ;-)</p>
+            </dd>
+          </dl>
         </div>
       </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="CONF-LOG-LOC">7.2. Configuration and Log File
-          Locations</a>
-        </h2>
-        <p>
-          <span class="APPLICATION">Privoxy</span> can (and normally does)
-          use a number of other files for additional configuration, help and
-          logging. This section of the configuration file tells <span class=
-          "APPLICATION">Privoxy</span> where to find those other files.
-        </p>
-        <p>
-          The user running <span class="APPLICATION">Privoxy</span>, must
-          have read permission for all configuration files, and write
-          permission to any files that would be modified, such as log files
-          and actions files.
-        </p>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="CONFDIR">7.2.1. confdir</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Specifies:
-              </dt>
-              <dd>
-                <p>
-                  The directory where the other configuration files are
-                  located.
-                </p>
-              </dd>
-              <dt>
-                Type of value:
-              </dt>
-              <dd>
-                <p>
-                  Path name
-                </p>
-              </dd>
-              <dt>
-                Default value:
-              </dt>
-              <dd>
-                <p>
-                  /etc/privoxy (Unix) <span class="emphasis"><i class=
-                  "EMPHASIS">or</i></span> <span class=
-                  "APPLICATION">Privoxy</span> installation dir (Windows)
-                </p>
-              </dd>
-              <dt>
-                Effect if unset:
-              </dt>
-              <dd>
-                <p>
-                  <span class="emphasis"><i class=
-                  "EMPHASIS">Mandatory</i></span>
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  No trailing <span class="QUOTE">"<tt class=
-                  "LITERAL">/</tt>"</span>, please.
-                </p>
-              </dd>
-            </dl>
-          </div>
+    </div>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="CONF-LOG-LOC" id="CONF-LOG-LOC">7.2.
+      Configuration and Log File Locations</a></h2>
+
+      <p><span class="APPLICATION">Privoxy</span> can (and normally does) use
+      a number of other files for additional configuration, help and logging.
+      This section of the configuration file tells <span class=
+      "APPLICATION">Privoxy</span> where to find those other files.</p>
+
+      <p>The user running <span class="APPLICATION">Privoxy</span>, must have
+      read permission for all configuration files, and write permission to
+      any files that would be modified, such as log files and actions
+      files.</p>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="CONFDIR" id="CONFDIR">7.2.1.
+        confdir</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Specifies:</dt>
+
+            <dd>
+              <p>The directory where the other configuration files are
+              located.</p>
+            </dd>
+
+            <dt>Type of value:</dt>
+
+            <dd>
+              <p>Path name</p>
+            </dd>
+
+            <dt>Default value:</dt>
+
+            <dd>
+              <p>/etc/privoxy (Unix) <span class=
+              "emphasis EMPHASIS c2">or</span> <span class=
+              "APPLICATION">Privoxy</span> installation dir (Windows)</p>
+            </dd>
+
+            <dt>Effect if unset:</dt>
+
+            <dd>
+              <p><span class="emphasis EMPHASIS c2">Mandatory</span></p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>No trailing <span class="QUOTE">"<tt class=
+              "LITERAL">/</tt>"</span>, please.</p>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="TEMPLDIR">7.2.2. templdir</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Specifies:
-              </dt>
-              <dd>
-                <p>
-                  An alternative directory where the templates are loaded
-                  from.
-                </p>
-              </dd>
-              <dt>
-                Type of value:
-              </dt>
-              <dd>
-                <p>
-                  Path name
-                </p>
-              </dd>
-              <dt>
-                Default value:
-              </dt>
-              <dd>
-                <p>
-                  unset
-                </p>
-              </dd>
-              <dt>
-                Effect if unset:
-              </dt>
-              <dd>
-                <p>
-                  The templates are assumed to be located in
-                  confdir/template.
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  <span class="APPLICATION">Privoxy's</span> original
-                  templates are usually overwritten with each update. Use
-                  this option to relocate customized templates that should be
-                  kept. As template variables might change between updates,
-                  you shouldn't expect templates to work with <span class=
-                  "APPLICATION">Privoxy</span> releases other than the one
-                  they were part of, though.
-                </p>
-              </dd>
-            </dl>
-          </div>
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="TEMPLDIR" id="TEMPLDIR">7.2.2.
+        templdir</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Specifies:</dt>
+
+            <dd>
+              <p>An alternative directory where the templates are loaded
+              from.</p>
+            </dd>
+
+            <dt>Type of value:</dt>
+
+            <dd>
+              <p>Path name</p>
+            </dd>
+
+            <dt>Default value:</dt>
+
+            <dd>
+              <p>unset</p>
+            </dd>
+
+            <dt>Effect if unset:</dt>
+
+            <dd>
+              <p>The templates are assumed to be located in
+              confdir/template.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p><span class="APPLICATION">Privoxy's</span> original
+              templates are usually overwritten with each update. Use this
+              option to relocate customized templates that should be kept. As
+              template variables might change between updates, you shouldn't
+              expect templates to work with <span class=
+              "APPLICATION">Privoxy</span> releases other than the one they
+              were part of, though.</p>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="LOGDIR">7.2.3. logdir</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Specifies:
-              </dt>
-              <dd>
-                <p>
-                  The directory where all logging takes place (i.e. where the
-                  <tt class="FILENAME">logfile</tt> is located).
-                </p>
-              </dd>
-              <dt>
-                Type of value:
-              </dt>
-              <dd>
-                <p>
-                  Path name
-                </p>
-              </dd>
-              <dt>
-                Default value:
-              </dt>
-              <dd>
-                <p>
-                  /var/log/privoxy (Unix) <span class="emphasis"><i class=
-                  "EMPHASIS">or</i></span> <span class=
-                  "APPLICATION">Privoxy</span> installation dir (Windows)
-                </p>
-              </dd>
-              <dt>
-                Effect if unset:
-              </dt>
-              <dd>
-                <p>
-                  <span class="emphasis"><i class=
-                  "EMPHASIS">Mandatory</i></span>
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  No trailing <span class="QUOTE">"<tt class=
-                  "LITERAL">/</tt>"</span>, please.
-                </p>
-              </dd>
-            </dl>
-          </div>
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="LOGDIR" id="LOGDIR">7.2.3. logdir</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Specifies:</dt>
+
+            <dd>
+              <p>The directory where all logging takes place (i.e. where the
+              <tt class="FILENAME">logfile</tt> is located).</p>
+            </dd>
+
+            <dt>Type of value:</dt>
+
+            <dd>
+              <p>Path name</p>
+            </dd>
+
+            <dt>Default value:</dt>
+
+            <dd>
+              <p>/var/log/privoxy (Unix) <span class=
+              "emphasis EMPHASIS c2">or</span> <span class=
+              "APPLICATION">Privoxy</span> installation dir (Windows)</p>
+            </dd>
+
+            <dt>Effect if unset:</dt>
+
+            <dd>
+              <p><span class="emphasis EMPHASIS c2">Mandatory</span></p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>No trailing <span class="QUOTE">"<tt class=
+              "LITERAL">/</tt>"</span>, please.</p>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="ACTIONSFILE">7.2.4. actionsfile</a>
-          </h4>
-          <a name="DEFAULT.ACTION"></a><a name="STANDARD.ACTION"></a><a name=
-          "USER.ACTION"></a>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Specifies:
-              </dt>
-              <dd>
-                <p>
-                  The <a href="actions-file.html">actions file(s)</a> to use
-                </p>
-              </dd>
-              <dt>
-                Type of value:
-              </dt>
-              <dd>
-                <p>
-                  Complete file name, relative to <tt class=
-                  "LITERAL">confdir</tt>
-                </p>
-              </dd>
-              <dt>
-                Default values:
-              </dt>
-              <dd>
-                <table border="0">
-                  <tbody>
-                    <tr>
-                      <td>
-                        <p class="LITERALLAYOUT">
-                          &nbsp;&nbsp;match-all.action&nbsp;#&nbsp;Actions&nbsp;that&nbsp;are&nbsp;applied&nbsp;to&nbsp;all&nbsp;sites&nbsp;and&nbsp;maybe&nbsp;overruled&nbsp;later&nbsp;on.
-                        </p>
-                      </td>
-                    </tr>
-                    <tr>
-                      <td>
-                        <p class="LITERALLAYOUT">
-                          &nbsp;&nbsp;default.action&nbsp;&nbsp;&nbsp;#&nbsp;Main&nbsp;actions&nbsp;file
-                        </p>
-                      </td>
-                    </tr>
-                    <tr>
-                      <td>
-                        <p class="LITERALLAYOUT">
-                          &nbsp;&nbsp;user.action&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;User&nbsp;customizations
-                        </p>
-                      </td>
-                    </tr>
-                  </tbody>
-                </table>
-              </dd>
-              <dt>
-                Effect if unset:
-              </dt>
-              <dd>
-                <p>
-                  No actions are taken at all. More or less neutral proxying.
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  Multiple <tt class="LITERAL">actionsfile</tt> lines are
-                  permitted, and are in fact recommended!
-                </p>
-                <p>
-                  The default values are <tt class=
-                  "FILENAME">default.action</tt>, which is the <span class=
-                  "QUOTE">"main"</span> actions file maintained by the
-                  developers, and <tt class="FILENAME">user.action</tt>,
-                  where you can make your personal additions.
-                </p>
-                <p>
-                  Actions files contain all the per site and per URL
-                  configuration for ad blocking, cookie management, privacy
-                  considerations, etc. There is no point in using <span
-                  class="APPLICATION">Privoxy</span> without at least one
-                  actions file.
-                </p>
-                <p>
-                  Note that since Privoxy 3.0.7, the complete filename,
-                  including the <span class="QUOTE">".action"</span>
-                  extension has to be specified. The syntax change was
-                  necessary to be consistent with the other file options and
-                  to allow previously forbidden characters.
-                </p>
-              </dd>
-            </dl>
-          </div>
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="ACTIONSFILE" id="ACTIONSFILE">7.2.4.
+        actionsfile</a></h4><a name="DEFAULT.ACTION" id=
+        "DEFAULT.ACTION"></a><a name="STANDARD.ACTION" id=
+        "STANDARD.ACTION"></a><a name="USER.ACTION" id="USER.ACTION"></a>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Specifies:</dt>
+
+            <dd>
+              <p>The <a href="actions-file.html">actions file(s)</a> to
+              use</p>
+            </dd>
+
+            <dt>Type of value:</dt>
+
+            <dd>
+              <p>Complete file name, relative to <tt class=
+              "LITERAL">confdir</tt></p>
+            </dd>
+
+            <dt>Default values:</dt>
+
+            <dd>
+              <table border="0">
+                <tbody>
+                  <tr>
+                    <td>
+                      <p class="LITERALLAYOUT">
+                      &nbsp;&nbsp;match-all.action&nbsp;#&nbsp;Actions&nbsp;that&nbsp;are&nbsp;applied&nbsp;to&nbsp;all&nbsp;sites&nbsp;and&nbsp;maybe&nbsp;overruled&nbsp;later&nbsp;on.</p>
+                    </td>
+                  </tr>
+
+                  <tr>
+                    <td>
+                      <p class="LITERALLAYOUT">
+                      &nbsp;&nbsp;default.action&nbsp;&nbsp;&nbsp;#&nbsp;Main&nbsp;actions&nbsp;file</p>
+                    </td>
+                  </tr>
+
+                  <tr>
+                    <td>
+                      <p class="LITERALLAYOUT">
+                      &nbsp;&nbsp;user.action&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;User&nbsp;customizations</p>
+                    </td>
+                  </tr>
+                </tbody>
+              </table>
+            </dd>
+
+            <dt>Effect if unset:</dt>
+
+            <dd>
+              <p>No actions are taken at all. More or less neutral
+              proxying.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>Multiple <tt class="LITERAL">actionsfile</tt> lines are
+              permitted, and are in fact recommended!</p>
+
+              <p>The default values are <tt class=
+              "FILENAME">default.action</tt>, which is the <span class=
+              "QUOTE">"main"</span> actions file maintained by the
+              developers, and <tt class="FILENAME">user.action</tt>, where
+              you can make your personal additions.</p>
+
+              <p>Actions files contain all the per site and per URL
+              configuration for ad blocking, cookie management, privacy
+              considerations, etc. There is no point in using <span class=
+              "APPLICATION">Privoxy</span> without at least one actions
+              file.</p>
+
+              <p>Note that since Privoxy 3.0.7, the complete filename,
+              including the <span class="QUOTE">".action"</span> extension
+              has to be specified. The syntax change was necessary to be
+              consistent with the other file options and to allow previously
+              forbidden characters.</p>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="FILTERFILE">7.2.5. filterfile</a>
-          </h4>
-          <a name="DEFAULT.FILTER"></a>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Specifies:
-              </dt>
-              <dd>
-                <p>
-                  The <a href="filter-file.html">filter file(s)</a> to use
-                </p>
-              </dd>
-              <dt>
-                Type of value:
-              </dt>
-              <dd>
-                <p>
-                  File name, relative to <tt class="LITERAL">confdir</tt>
-                </p>
-              </dd>
-              <dt>
-                Default value:
-              </dt>
-              <dd>
-                <p>
-                  default.filter (Unix) <span class="emphasis"><i class=
-                  "EMPHASIS">or</i></span> default.filter.txt (Windows)
-                </p>
-              </dd>
-              <dt>
-                Effect if unset:
-              </dt>
-              <dd>
-                <p>
-                  No textual content filtering takes place, i.e. all <tt
-                  class="LITERAL">+<a href=
-                  "actions-file.html#FILTER">filter</a>{<tt class=
-                  "REPLACEABLE"><i>name</i></tt>}</tt> actions in the actions
-                  files are turned neutral.
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  Multiple <tt class="LITERAL">filterfile</tt> lines are
-                  permitted.
-                </p>
-                <p>
-                  The <a href="filter-file.html">filter files</a> contain
-                  content modification rules that use <a href=
-                  "appendix.html#REGEX">regular expressions</a>. These rules
-                  permit powerful changes on the content of Web pages, and
-                  optionally the headers as well, e.g., you could try to
-                  disable your favorite JavaScript annoyances, re-write the
-                  actual displayed text, or just have some fun playing
-                  buzzword bingo with web pages.
-                </p>
-                <p>
-                  The <tt class="LITERAL">+<a href=
-                  "actions-file.html#FILTER">filter</a>{<tt class=
-                  "REPLACEABLE"><i>name</i></tt>}</tt> actions rely on the
-                  relevant filter (<tt class="REPLACEABLE"><i>name</i></tt>)
-                  to be defined in a filter file!
-                </p>
-                <p>
-                  A pre-defined filter file called <tt class=
-                  "FILENAME">default.filter</tt> that contains a number of
-                  useful filters for common problems is included in the
-                  distribution. See the section on the <tt class="LITERAL"><a
-                  href="actions-file.html#FILTER">filter</a></tt> action for
-                  a list.
-                </p>
-                <p>
-                  It is recommended to place any locally adapted filters into
-                  a separate file, such as <tt class=
-                  "FILENAME">user.filter</tt>.
-                </p>
-              </dd>
-            </dl>
-          </div>
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="FILTERFILE" id="FILTERFILE">7.2.5.
+        filterfile</a></h4><a name="DEFAULT.FILTER" id="DEFAULT.FILTER"></a>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Specifies:</dt>
+
+            <dd>
+              <p>The <a href="filter-file.html">filter file(s)</a> to use</p>
+            </dd>
+
+            <dt>Type of value:</dt>
+
+            <dd>
+              <p>File name, relative to <tt class="LITERAL">confdir</tt></p>
+            </dd>
+
+            <dt>Default value:</dt>
+
+            <dd>
+              <p>default.filter (Unix) <span class=
+              "emphasis EMPHASIS c2">or</span> default.filter.txt
+              (Windows)</p>
+            </dd>
+
+            <dt>Effect if unset:</dt>
+
+            <dd>
+              <p>No textual content filtering takes place, i.e. all
+              <tt class="LITERAL">+<a href=
+              "actions-file.html#FILTER">filter</a>{<tt class=
+              "REPLACEABLE c3">name</tt>}</tt> actions in the actions files
+              are turned neutral.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>Multiple <tt class="LITERAL">filterfile</tt> lines are
+              permitted.</p>
+
+              <p>The <a href="filter-file.html">filter files</a> contain
+              content modification rules that use <a href=
+              "appendix.html#REGEX">regular expressions</a>. These rules
+              permit powerful changes on the content of Web pages, and
+              optionally the headers as well, e.g., you could try to disable
+              your favorite JavaScript annoyances, re-write the actual
+              displayed text, or just have some fun playing buzzword bingo
+              with web pages.</p>
+
+              <p>The <tt class="LITERAL">+<a href=
+              "actions-file.html#FILTER">filter</a>{<tt class=
+              "REPLACEABLE c3">name</tt>}</tt> actions rely on the relevant
+              filter (<tt class="REPLACEABLE c3">name</tt>) to be defined in
+              a filter file!</p>
+
+              <p>A pre-defined filter file called <tt class=
+              "FILENAME">default.filter</tt> that contains a number of useful
+              filters for common problems is included in the distribution.
+              See the section on the <tt class="LITERAL"><a href=
+              "actions-file.html#FILTER">filter</a></tt> action for a
+              list.</p>
+
+              <p>It is recommended to place any locally adapted filters into
+              a separate file, such as <tt class=
+              "FILENAME">user.filter</tt>.</p>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="LOGFILE">7.2.6. logfile</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Specifies:
-              </dt>
-              <dd>
-                <p>
-                  The log file to use
-                </p>
-              </dd>
-              <dt>
-                Type of value:
-              </dt>
-              <dd>
-                <p>
-                  File name, relative to <tt class="LITERAL">logdir</tt>
-                </p>
-              </dd>
-              <dt>
-                Default value:
-              </dt>
-              <dd>
-                <p>
-                  <span class="emphasis"><i class="EMPHASIS">Unset (commented
-                  out)</i></span>. When activated: logfile (Unix) <span
-                  class="emphasis"><i class="EMPHASIS">or</i></span>
-                  privoxy.log (Windows).
-                </p>
-              </dd>
-              <dt>
-                Effect if unset:
-              </dt>
-              <dd>
-                <p>
-                  No logfile is written.
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  The logfile is where all logging and error messages are
-                  written. The level of detail and number of messages are set
-                  with the <tt class="LITERAL">debug</tt> option (see below).
-                  The logfile can be useful for tracking down a problem with
-                  <span class="APPLICATION">Privoxy</span> (e.g., it's not
-                  blocking an ad you think it should block) and it can help
-                  you to monitor what your browser is doing.
-                </p>
-                <p>
-                  Depending on the debug options below, the logfile may be a
-                  privacy risk if third parties can get access to it. As most
-                  users will never look at it, <span class=
-                  "APPLICATION">Privoxy</span> 3.0.7 and later only log fatal
-                  errors by default.
-                </p>
-                <p>
-                  For most troubleshooting purposes, you will have to change
-                  that, please refer to the debugging section for details.
-                </p>
-                <p>
-                  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 <span class="QUOTE">"man
-                  cron"</span>). For Red Hat based Linux distributions, a <b
-                  class="COMMAND">logrotate</b> script has been included.
-                </p>
-                <p>
-                  Any log files must be writable by whatever user <span
-                  class="APPLICATION">Privoxy</span> is being run as (on
-                  Unix, default user id is <span class=
-                  "QUOTE">"privoxy"</span>).
-                </p>
-              </dd>
-            </dl>
-          </div>
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="LOGFILE" id="LOGFILE">7.2.6.
+        logfile</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Specifies:</dt>
+
+            <dd>
+              <p>The log file to use</p>
+            </dd>
+
+            <dt>Type of value:</dt>
+
+            <dd>
+              <p>File name, relative to <tt class="LITERAL">logdir</tt></p>
+            </dd>
+
+            <dt>Default value:</dt>
+
+            <dd>
+              <p><span class="emphasis EMPHASIS c2">Unset (commented
+              out)</span>. When activated: logfile (Unix) <span class=
+              "emphasis EMPHASIS c2">or</span> privoxy.log (Windows).</p>
+            </dd>
+
+            <dt>Effect if unset:</dt>
+
+            <dd>
+              <p>No logfile is written.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>The logfile is where all logging and error messages are
+              written. The level of detail and number of messages are set
+              with the <tt class="LITERAL">debug</tt> option (see below). The
+              logfile can be useful for tracking down a problem with
+              <span class="APPLICATION">Privoxy</span> (e.g., it's not
+              blocking an ad you think it should block) and it can help you
+              to monitor what your browser is doing.</p>
+
+              <p>Depending on the debug options below, the logfile may be a
+              privacy risk if third parties can get access to it. As most
+              users will never look at it, <span class=
+              "APPLICATION">Privoxy</span> 3.0.7 and later only log fatal
+              errors by default.</p>
+
+              <p>For most troubleshooting purposes, you will have to change
+              that, please refer to the debugging section for details.</p>
+
+              <p>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 <span class="QUOTE">"man
+              cron"</span>). For Red Hat based Linux distributions, a
+              <b class="COMMAND">logrotate</b> script has been included.</p>
+
+              <p>Any log files must be writable by whatever user <span class=
+              "APPLICATION">Privoxy</span> is being run as (on Unix, default
+              user id is <span class="QUOTE">"privoxy"</span>).</p>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="TRUSTFILE">7.2.7. trustfile</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Specifies:
-              </dt>
-              <dd>
-                <p>
-                  The name of the trust file to use
-                </p>
-              </dd>
-              <dt>
-                Type of value:
-              </dt>
-              <dd>
-                <p>
-                  File name, relative to <tt class="LITERAL">confdir</tt>
-                </p>
-              </dd>
-              <dt>
-                Default value:
-              </dt>
-              <dd>
-                <p>
-                  <span class="emphasis"><i class="EMPHASIS">Unset (commented
-                  out)</i></span>. When activated: trust (Unix) <span class=
-                  "emphasis"><i class="EMPHASIS">or</i></span> trust.txt
-                  (Windows)
-                </p>
-              </dd>
-              <dt>
-                Effect if unset:
-              </dt>
-              <dd>
-                <p>
-                  The entire trust mechanism is disabled.
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  The trust mechanism is an experimental feature for building
-                  white-lists and should be used with care. It is <span
-                  class="emphasis"><i class="EMPHASIS">NOT</i></span>
-                  recommended for the casual user.
-                </p>
-                <p>
-                  If you specify a trust file, <span class=
-                  "APPLICATION">Privoxy</span> will only allow access to
-                  sites that are specified in the trustfile. Sites can be
-                  listed in one of two ways:
-                </p>
-                <p>
-                  Prepending a <tt class="LITERAL">~</tt> character limits
-                  access to this site only (and any sub-paths within this
-                  site), e.g. <tt class="LITERAL">~www.example.com</tt>
-                  allows access to <tt class=
-                  "LITERAL">~www.example.com/features/news.html</tt>, etc.
-                </p>
-                <p>
-                  Or, you can designate sites as <span class="emphasis"><i
-                  class="EMPHASIS">trusted referrers</i></span>, by
-                  prepending the name with a <tt class="LITERAL">+</tt>
-                  character. The effect is that access to untrusted sites
-                  will be granted -- but only if a link from this trusted
-                  referrer was used to get there. The link target will then
-                  be added to the <span class="QUOTE">"trustfile"</span> so
-                  that future, direct accesses will be granted. Sites added
-                  via this mechanism do not become trusted referrers
-                  themselves (i.e. they are added with a <tt class=
-                  "LITERAL">~</tt> designation). There is a limit of 512 such
-                  entries, after which new entries will not be made.
-                </p>
-                <p>
-                  If you use the <tt class="LITERAL">+</tt> operator in the
-                  trust file, it may grow considerably over time.
-                </p>
-                <p>
-                  It is recommended that <span class=
-                  "APPLICATION">Privoxy</span> be compiled with the <tt
-                  class="LITERAL">--disable-force</tt>, <tt class=
-                  "LITERAL">--disable-toggle</tt> and <tt class=
-                  "LITERAL">--disable-editor</tt> options, if this feature is
-                  to be used.
-                </p>
-                <p>
-                  Possible applications include limiting Internet access for
-                  children.
-                </p>
-              </dd>
-            </dl>
-          </div>
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="TRUSTFILE" id="TRUSTFILE">7.2.7.
+        trustfile</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Specifies:</dt>
+
+            <dd>
+              <p>The name of the trust file to use</p>
+            </dd>
+
+            <dt>Type of value:</dt>
+
+            <dd>
+              <p>File name, relative to <tt class="LITERAL">confdir</tt></p>
+            </dd>
+
+            <dt>Default value:</dt>
+
+            <dd>
+              <p><span class="emphasis EMPHASIS c2">Unset (commented
+              out)</span>. When activated: trust (Unix) <span class=
+              "emphasis EMPHASIS c2">or</span> trust.txt (Windows)</p>
+            </dd>
+
+            <dt>Effect if unset:</dt>
+
+            <dd>
+              <p>The entire trust mechanism is disabled.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>The trust mechanism is an experimental feature for building
+              white-lists and should be used with care. It is <span class=
+              "emphasis EMPHASIS c2">NOT</span> recommended for the casual
+              user.</p>
+
+              <p>If you specify a trust file, <span class=
+              "APPLICATION">Privoxy</span> will only allow access to sites
+              that are specified in the trustfile. Sites can be listed in one
+              of two ways:</p>
+
+              <p>Prepending a <tt class="LITERAL">~</tt> character limits
+              access to this site only (and any sub-paths within this site),
+              e.g. <tt class="LITERAL">~www.example.com</tt> allows access to
+              <tt class="LITERAL">~www.example.com/features/news.html</tt>,
+              etc.</p>
+
+              <p>Or, you can designate sites as <span class=
+              "emphasis EMPHASIS c2">trusted referrers</span>, by prepending
+              the name with a <tt class="LITERAL">+</tt> character. The
+              effect is that access to untrusted sites will be granted -- but
+              only if a link from this trusted referrer was used to get
+              there. The link target will then be added to the <span class=
+              "QUOTE">"trustfile"</span> so that future, direct accesses will
+              be granted. Sites added via this mechanism do not become
+              trusted referrers themselves (i.e. they are added with a
+              <tt class="LITERAL">~</tt> designation). There is a limit of
+              512 such entries, after which new entries will not be made.</p>
+
+              <p>If you use the <tt class="LITERAL">+</tt> operator in the
+              trust file, it may grow considerably over time.</p>
+
+              <p>It is recommended that <span class=
+              "APPLICATION">Privoxy</span> be compiled with the <tt class=
+              "LITERAL">--disable-force</tt>, <tt class=
+              "LITERAL">--disable-toggle</tt> and <tt class=
+              "LITERAL">--disable-editor</tt> options, if this feature is to
+              be used.</p>
+
+              <p>Possible applications include limiting Internet access for
+              children.</p>
+            </dd>
+          </dl>
         </div>
       </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="DEBUGGING">7.3. Debugging</a>
-        </h2>
-        <p>
-          These options are mainly useful when tracing a problem. Note that
-          you might also want to invoke <span class=
-          "APPLICATION">Privoxy</span> with the <tt class=
-          "LITERAL">--no-daemon</tt> command line option when debugging.
-        </p>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="DEBUG">7.3.1. debug</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Specifies:
-              </dt>
-              <dd>
-                <p>
-                  Key values that determine what information gets logged.
-                </p>
-              </dd>
-              <dt>
-                Type of value:
-              </dt>
-              <dd>
-                <p>
-                  Integer values
-                </p>
-              </dd>
-              <dt>
-                Default value:
-              </dt>
-              <dd>
-                <p>
-                  0 (i.e.: only fatal errors (that cause Privoxy to exit) are
-                  logged)
-                </p>
-              </dd>
-              <dt>
-                Effect if unset:
-              </dt>
-              <dd>
-                <p>
-                  Default value is used (see above).
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  The available debug levels are:
-                </p>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="PROGRAMLISTING">
+    </div>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="DEBUGGING" id="DEBUGGING">7.3.
+      Debugging</a></h2>
+
+      <p>These options are mainly useful when tracing a problem. Note that
+      you might also want to invoke <span class="APPLICATION">Privoxy</span>
+      with the <tt class="LITERAL">--no-daemon</tt> command line option when
+      debugging.</p>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="DEBUG" id="DEBUG">7.3.1. debug</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Specifies:</dt>
+
+            <dd>
+              <p>Key values that determine what information gets logged.</p>
+            </dd>
+
+            <dt>Type of value:</dt>
+
+            <dd>
+              <p>Integer values</p>
+            </dd>
+
+            <dt>Default value:</dt>
+
+            <dd>
+              <p>0 (i.e.: only fatal errors (that cause Privoxy to exit) are
+              logged)</p>
+            </dd>
+
+            <dt>Effect if unset:</dt>
+
+            <dd>
+              <p>Default value is used (see above).</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>The available debug levels are:</p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="PROGRAMLISTING">
   debug     1 # Log the destination for each request <span class=
 "APPLICATION">Privoxy</span> let through. See also debug 1024.
   debug     2 # show each connection status
@@ -1020,1491 +853,1236 @@ Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
   debug  8192 # Non-fatal errors
   debug 32768 # log all data read from the network
 </pre>
-                    </td>
-                  </tr>
-                </table>
+                  </td>
+                </tr>
+              </table>
+
+              <p>To select multiple debug levels, you can either add them or
+              use multiple <tt class="LITERAL">debug</tt> lines.</p>
+
+              <p>A debug level of 1 is informative because it will show you
+              each request as it happens. <span class=
+              "emphasis EMPHASIS c2">1, 1024, 4096 and 8192 are
+              recommended</span> so that you will notice when things go
+              wrong. The other levels are probably only of interest if you
+              are hunting down a specific problem. They can produce a hell of
+              an output (especially 16).</p>
+
+              <p><span class="APPLICATION">Privoxy</span> used to ship with
+              the debug levels recommended above enabled by default, but due
+              to privacy concerns 3.0.7 and later are configured to only log
+              fatal errors.</p>
+
+              <p>If you are used to the more verbose settings, simply enable
+              the debug lines below again.</p>
+
+              <p>If you want to use pure CLF (Common Log Format), you should
+              set <span class="QUOTE">"debug 512"</span> <span class=
+              "emphasis EMPHASIS c2">ONLY</span> and not enable anything
+              else.</p>
+
+              <p><span class="APPLICATION">Privoxy</span> has a hard-coded
+              limit for the length of log messages. If it's reached, messages
+              are logged truncated and marked with <span class="QUOTE">"...
+              [too long, truncated]"</span>.</p>
+
+              <p>Please don't file any support requests without trying to
+              reproduce the problem with increased debug level first. Once
+              you read the log messages, you may even be able to solve the
+              problem on your own.</p>
+            </dd>
+          </dl>
+        </div>
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="SINGLE-THREADED" id=
+        "SINGLE-THREADED">7.3.2. single-threaded</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Specifies:</dt>
+
+            <dd>
+              <p>Whether to run only one server thread.</p>
+            </dd>
+
+            <dt>Type of value:</dt>
+
+            <dd>
+              <p><span class="emphasis EMPHASIS c2">None</span></p>
+            </dd>
+
+            <dt>Default value:</dt>
+
+            <dd>
+              <p><span class="emphasis EMPHASIS c2">Unset</span></p>
+            </dd>
+
+            <dt>Effect if unset:</dt>
+
+            <dd>
+              <p>Multi-threaded (or, where unavailable: forked) operation,
+              i.e. the ability to serve multiple requests simultaneously.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>This option is only there for debugging purposes.
+              <span class="emphasis EMPHASIS c2">It will drastically reduce
+              performance.</span></p>
+            </dd>
+          </dl>
+        </div>
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="HOSTNAME" id="HOSTNAME">7.3.3.
+        hostname</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Specifies:</dt>
+
+            <dd>
+              <p>The hostname shown on the CGI pages.</p>
+            </dd>
+
+            <dt>Type of value:</dt>
+
+            <dd>
+              <p>Text</p>
+            </dd>
+
+            <dt>Default value:</dt>
+
+            <dd>
+              <p><span class="emphasis EMPHASIS c2">Unset</span></p>
+            </dd>
+
+            <dt>Effect if unset:</dt>
+
+            <dd>
+              <p>The hostname provided by the operating system is used.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>On some misconfigured systems resolving the hostname fails
+              or takes too much time and slows Privoxy down. Setting a fixed
+              hostname works around the problem.</p>
+
+              <p>In other circumstances it might be desirable to show a
+              hostname other than the one returned by the operating system.
+              For example if the system has several different hostnames and
+              you don't want to use the first one.</p>
+
+              <p>Note that Privoxy does not validate the specified hostname
+              value.</p>
+            </dd>
+          </dl>
+        </div>
+      </div>
+    </div>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="ACCESS-CONTROL" id="ACCESS-CONTROL">7.4.
+      Access Control and Security</a></h2>
+
+      <p>This section of the config file controls the security-relevant
+      aspects of <span class="APPLICATION">Privoxy</span>'s
+      configuration.</p>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="LISTEN-ADDRESS" id="LISTEN-ADDRESS">7.4.1.
+        listen-address</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Specifies:</dt>
+
+            <dd>
+              <p>The address and TCP port on which <span class=
+              "APPLICATION">Privoxy</span> will listen for client
+              requests.</p>
+            </dd>
+
+            <dt>Type of value:</dt>
+
+            <dd>
+              <p>[<tt class="REPLACEABLE c3">IP-Address</tt>]:<tt class=
+              "REPLACEABLE c3">Port</tt></p>
+
+              <p>[<tt class="REPLACEABLE c3">Hostname</tt>]:<tt class=
+              "REPLACEABLE c3">Port</tt></p>
+            </dd>
+
+            <dt>Default value:</dt>
+
+            <dd>
+              <p>127.0.0.1:8118</p>
+            </dd>
+
+            <dt>Effect if unset:</dt>
+
+            <dd>
+              <p>Bind to 127.0.0.1 (IPv4 localhost), port 8118. This is
+              suitable and recommended for home users who run <span class=
+              "APPLICATION">Privoxy</span> on the same machine as their
+              browser.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>You will need to configure your browser(s) to this proxy
+              address and port.</p>
+
+              <p>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.</p>
+
+              <p>You can use this statement multiple times to make
+              <span class="APPLICATION">Privoxy</span> listen on more ports
+              or more <abbr class="ABBREV">IP</abbr> addresses. Suitable if
+              your operating system does not support sharing <abbr class=
+              "ABBREV">IPv6</abbr> and <abbr class="ABBREV">IPv4</abbr>
+              protocols on the same socket.</p>
 
-                <p>
-                  To select multiple debug levels, you can either add them or
-                  use multiple <tt class="LITERAL">debug</tt> lines.
-                </p>
-                <p>
-                  A debug level of 1 is informative because it will show you
-                  each request as it happens. <span class="emphasis"><i
-                  class="EMPHASIS">1, 1024, 4096 and 8192 are
-                  recommended</i></span> so that you will notice when things
-                  go wrong. The other levels are probably only of interest if
-                  you are hunting down a specific problem. They can produce a
-                  hell of an output (especially 16).
-                </p>
-                <p>
-                  <span class="APPLICATION">Privoxy</span> used to ship with
-                  the debug levels recommended above enabled by default, but
-                  due to privacy concerns 3.0.7 and later are configured to
-                  only log fatal errors.
-                </p>
-                <p>
-                  If you are used to the more verbose settings, simply enable
-                  the debug lines below again.
-                </p>
-                <p>
-                  If you want to use pure CLF (Common Log Format), you should
-                  set <span class="QUOTE">"debug 512"</span> <span class=
-                  "emphasis"><i class="EMPHASIS">ONLY</i></span> and not
-                  enable anything else.
-                </p>
-                <p>
-                  <span class="APPLICATION">Privoxy</span> has a hard-coded
-                  limit for the length of log messages. If it's reached,
-                  messages are logged truncated and marked with <span class=
-                  "QUOTE">"... [too long, truncated]"</span>.
-                </p>
-                <p>
-                  Please don't file any support requests without trying to
-                  reproduce the problem with increased debug level first.
-                  Once you read the log messages, you may even be able to
-                  solve the problem on your own.
-                </p>
-              </dd>
-            </dl>
-          </div>
-        </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="SINGLE-THREADED">7.3.2. single-threaded</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Specifies:
-              </dt>
-              <dd>
-                <p>
-                  Whether to run only one server thread.
-                </p>
-              </dd>
-              <dt>
-                Type of value:
-              </dt>
-              <dd>
-                <p>
-                  <span class="emphasis"><i class="EMPHASIS">None</i></span>
-                </p>
-              </dd>
-              <dt>
-                Default value:
-              </dt>
-              <dd>
-                <p>
-                  <span class="emphasis"><i class="EMPHASIS">Unset</i></span>
-                </p>
-              </dd>
-              <dt>
-                Effect if unset:
-              </dt>
-              <dd>
-                <p>
-                  Multi-threaded (or, where unavailable: forked) operation,
-                  i.e. the ability to serve multiple requests simultaneously.
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  This option is only there for debugging purposes. <span
-                  class="emphasis"><i class="EMPHASIS">It will drastically
-                  reduce performance.</i></span>
-                </p>
-              </dd>
-            </dl>
-          </div>
-        </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="HOSTNAME">7.3.3. hostname</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Specifies:
-              </dt>
-              <dd>
-                <p>
-                  The hostname shown on the CGI pages.
-                </p>
-              </dd>
-              <dt>
-                Type of value:
-              </dt>
-              <dd>
-                <p>
-                  Text
-                </p>
-              </dd>
-              <dt>
-                Default value:
-              </dt>
-              <dd>
-                <p>
-                  <span class="emphasis"><i class="EMPHASIS">Unset</i></span>
-                </p>
-              </dd>
-              <dt>
-                Effect if unset:
-              </dt>
-              <dd>
-                <p>
-                  The hostname provided by the operating system is used.
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  On some misconfigured systems resolving the hostname fails
-                  or takes too much time and slows Privoxy down. Setting a
-                  fixed hostname works around the problem.
-                </p>
-                <p>
-                  In other circumstances it might be desirable to show a
-                  hostname other than the one returned by the operating
-                  system. For example if the system has several different
-                  hostnames and you don't want to use the first one.
-                </p>
-                <p>
-                  Note that Privoxy does not validate the specified hostname
-                  value.
-                </p>
-              </dd>
-            </dl>
-          </div>
-        </div>
-      </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="ACCESS-CONTROL">7.4. Access Control and Security</a>
-        </h2>
-        <p>
-          This section of the config file controls the security-relevant
-          aspects of <span class="APPLICATION">Privoxy</span>'s
-          configuration.
-        </p>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="LISTEN-ADDRESS">7.4.1. listen-address</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Specifies:
-              </dt>
-              <dd>
-                <p>
-                  The address and TCP port on which <span class=
-                  "APPLICATION">Privoxy</span> will listen for client
-                  requests.
-                </p>
-              </dd>
-              <dt>
-                Type of value:
-              </dt>
-              <dd>
-                <p>
-                  [<tt class="REPLACEABLE"><i>IP-Address</i></tt>]:<tt class=
-                  "REPLACEABLE"><i>Port</i></tt>
-                </p>
-                <p>
-                  [<tt class="REPLACEABLE"><i>Hostname</i></tt>]:<tt class=
-                  "REPLACEABLE"><i>Port</i></tt>
-                </p>
-              </dd>
-              <dt>
-                Default value:
-              </dt>
-              <dd>
-                <p>
-                  127.0.0.1:8118
-                </p>
-              </dd>
-              <dt>
-                Effect if unset:
-              </dt>
-              <dd>
-                <p>
-                  Bind to 127.0.0.1 (IPv4 localhost), port 8118. This is
-                  suitable and recommended for home users who run <span
-                  class="APPLICATION">Privoxy</span> on the same machine as
-                  their browser.
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  You will need to configure your browser(s) to this proxy
-                  address and port.
-                </p>
-                <p>
-                  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.
-                </p>
-                <p>
-                  You can use this statement multiple times to make <span
-                  class="APPLICATION">Privoxy</span> listen on more ports or
-                  more <abbr class="ABBREV">IP</abbr> addresses. Suitable if
-                  your operating system does not support sharing <abbr class=
-                  "ABBREV">IPv6</abbr> and <abbr class="ABBREV">IPv4</abbr>
-                  protocols on the same socket.
-                </p>
-                <p>
-                  If a hostname is used instead of an IP address, <span
-                  class="APPLICATION">Privoxy</span> will try to resolve it
-                  to an IP address and if there are multiple, use the first
-                  one returned.
-                </p>
-                <p>
-                  If the address for the hostname isn't already known on the
-                  system (for example because it's in /etc/hostname), this
-                  may result in DNS traffic.
-                </p>
-                <p>
-                  If the specified address isn't available on the system, or
-                  if the hostname can't be resolved, <span class=
-                  "APPLICATION">Privoxy</span> will fail to start.
-                </p>
-                <p>
-                  IPv6 addresses containing colons have to be quoted by
-                  brackets. They can only be used if <span class=
-                  "APPLICATION">Privoxy</span> has been compiled with IPv6
-                  support. If you aren't sure if your version supports it,
-                  have a look at <tt class=
-                  "LITERAL">http://config.privoxy.org/show-status</tt>.
-                </p>
-                <p>
-                  Some operating systems will prefer IPv6 to IPv4 addresses
-                  even if the system has no IPv6 connectivity which is
-                  usually not expected by the user. Some even rely on DNS to
-                  resolve localhost which mean the "localhost" address used
-                  may not actually be local.
-                </p>
-                <p>
-                  It is therefore recommended to explicitly configure the
-                  intended IP address instead of relying on the operating
-                  system, unless there's a strong reason not to.
-                </p>
-                <p>
-                  If you leave out the address, <span class=
-                  "APPLICATION">Privoxy</span> will bind to all IPv4
-                  interfaces (addresses) on your machine and may become
-                  reachable from the Internet and/or the local network. Be
-                  aware that some GNU/Linux distributions modify that
-                  behaviour without updating the documentation. Check for
-                  non-standard patches if your <span class=
-                  "APPLICATION">Privoxy</span>version behaves differently.
-                </p>
-                <p>
-                  If you configure <span class="APPLICATION">Privoxy</span>to
-                  be reachable from the network, consider using <a href=
-                  "config.html#ACLS">access control lists</a> (ACL's, see
-                  below), and/or a firewall.
-                </p>
-                <p>
-                  If you open <span class="APPLICATION">Privoxy</span> to
-                  untrusted users, you will also want to make sure that the
-                  following actions are disabled: <tt class="LITERAL"><a
-                  href=
-                  "config.html#ENABLE-EDIT-ACTIONS">enable-edit-actions</a></tt>
-                  and <tt class="LITERAL"><a href=
-                  "config.html#ENABLE-REMOTE-TOGGLE">enable-remote-toggle</a></tt>
-                </p>
-                <p>
-                  With the exception noted above, listening on multiple
-                  addresses is currently not supported by <span class=
-                  "APPLICATION">Privoxy</span> directly. It can be done on
-                  most operating systems by letting a packet filter redirect
-                  request for certain addresses to Privoxy, though.
-                </p>
-              </dd>
-              <dt>
-                Example:
-              </dt>
-              <dd>
-                <p>
-                  Suppose you are running <span class=
-                  "APPLICATION">Privoxy</span> 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:
-                </p>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="PROGRAMLISTING">
+              <p>If a hostname is used instead of an IP address, <span class=
+              "APPLICATION">Privoxy</span> will try to resolve it to an IP
+              address and if there are multiple, use the first one
+              returned.</p>
+
+              <p>If the address for the hostname isn't already known on the
+              system (for example because it's in /etc/hostname), this may
+              result in DNS traffic.</p>
+
+              <p>If the specified address isn't available on the system, or
+              if the hostname can't be resolved, <span class=
+              "APPLICATION">Privoxy</span> will fail to start.</p>
+
+              <p>IPv6 addresses containing colons have to be quoted by
+              brackets. They can only be used if <span class=
+              "APPLICATION">Privoxy</span> has been compiled with IPv6
+              support. If you aren't sure if your version supports it, have a
+              look at <tt class=
+              "LITERAL">http://config.privoxy.org/show-status</tt>.</p>
+
+              <p>Some operating systems will prefer IPv6 to IPv4 addresses
+              even if the system has no IPv6 connectivity which is usually
+              not expected by the user. Some even rely on DNS to resolve
+              localhost which mean the "localhost" address used may not
+              actually be local.</p>
+
+              <p>It is therefore recommended to explicitly configure the
+              intended IP address instead of relying on the operating system,
+              unless there's a strong reason not to.</p>
+
+              <p>If you leave out the address, <span class=
+              "APPLICATION">Privoxy</span> will bind to all IPv4 interfaces
+              (addresses) on your machine and may become reachable from the
+              Internet and/or the local network. Be aware that some GNU/Linux
+              distributions modify that behaviour without updating the
+              documentation. Check for non-standard patches if your
+              <span class="APPLICATION">Privoxy</span>version behaves
+              differently.</p>
+
+              <p>If you configure <span class="APPLICATION">Privoxy</span>to
+              be reachable from the network, consider using <a href=
+              "config.html#ACLS">access control lists</a> (ACL's, see below),
+              and/or a firewall.</p>
+
+              <p>If you open <span class="APPLICATION">Privoxy</span> to
+              untrusted users, you will also want to make sure that the
+              following actions are disabled: <tt class="LITERAL"><a href=
+              "config.html#ENABLE-EDIT-ACTIONS">enable-edit-actions</a></tt>
+              and <tt class="LITERAL"><a href=
+              "config.html#ENABLE-REMOTE-TOGGLE">enable-remote-toggle</a></tt></p>
+
+              <p>With the exception noted above, listening on multiple
+              addresses is currently not supported by <span class=
+              "APPLICATION">Privoxy</span> directly. It can be done on most
+              operating systems by letting a packet filter redirect request
+              for certain addresses to Privoxy, though.</p>
+            </dd>
+
+            <dt>Example:</dt>
+
+            <dd>
+              <p>Suppose you are running <span class=
+              "APPLICATION">Privoxy</span> 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:</p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="PROGRAMLISTING">
   listen-address  192.168.0.1:8118
 </pre>
-                    </td>
-                  </tr>
-                </table>
+                  </td>
+                </tr>
+              </table>
 
-                <p>
-                  Suppose you are running <span class=
-                  "APPLICATION">Privoxy</span> on an IPv6-capable machine and
-                  you want it to listen on the IPv6 address of the loopback
-                  device:
-                </p>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="PROGRAMLISTING">
+              <p>Suppose you are running <span class=
+              "APPLICATION">Privoxy</span> on an IPv6-capable machine and you
+              want it to listen on the IPv6 address of the loopback
+              device:</p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="PROGRAMLISTING">
   listen-address [::1]:8118
 </pre>
-                    </td>
-                  </tr>
-                </table>
-              </dd>
-            </dl>
-          </div>
+                  </td>
+                </tr>
+              </table>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="TOGGLE">7.4.2. toggle</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Specifies:
-              </dt>
-              <dd>
-                <p>
-                  Initial state of "toggle" status
-                </p>
-              </dd>
-              <dt>
-                Type of value:
-              </dt>
-              <dd>
-                <p>
-                  1 or 0
-                </p>
-              </dd>
-              <dt>
-                Default value:
-              </dt>
-              <dd>
-                <p>
-                  1
-                </p>
-              </dd>
-              <dt>
-                Effect if unset:
-              </dt>
-              <dd>
-                <p>
-                  Act as if toggled on
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  If set to 0, <span class="APPLICATION">Privoxy</span> will
-                  start in <span class="QUOTE">"toggled off"</span> mode,
-                  i.e. mostly behave like a normal, content-neutral proxy
-                  with both ad blocking and content filtering disabled. See
-                  <tt class="LITERAL">enable-remote-toggle</tt> below.
-                </p>
-                <p>
-                  The windows version will only display the toggle icon in
-                  the system tray if this option is present.
-                </p>
-              </dd>
-            </dl>
-          </div>
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="TOGGLE" id="TOGGLE">7.4.2. toggle</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Specifies:</dt>
+
+            <dd>
+              <p>Initial state of "toggle" status</p>
+            </dd>
+
+            <dt>Type of value:</dt>
+
+            <dd>
+              <p>1 or 0</p>
+            </dd>
+
+            <dt>Default value:</dt>
+
+            <dd>
+              <p>1</p>
+            </dd>
+
+            <dt>Effect if unset:</dt>
+
+            <dd>
+              <p>Act as if toggled on</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>If set to 0, <span class="APPLICATION">Privoxy</span> will
+              start in <span class="QUOTE">"toggled off"</span> mode, i.e.
+              mostly behave like a normal, content-neutral proxy with both ad
+              blocking and content filtering disabled. See <tt class=
+              "LITERAL">enable-remote-toggle</tt> below.</p>
+
+              <p>The windows version will only display the toggle icon in the
+              system tray if this option is present.</p>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="ENABLE-REMOTE-TOGGLE">7.4.3. enable-remote-toggle</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Specifies:
-              </dt>
-              <dd>
-                <p>
-                  Whether or not the <a href=
-                  "http://config.privoxy.org/toggle" target="_top">web-based
-                  toggle feature</a> may be used
-                </p>
-              </dd>
-              <dt>
-                Type of value:
-              </dt>
-              <dd>
-                <p>
-                  0 or 1
-                </p>
-              </dd>
-              <dt>
-                Default value:
-              </dt>
-              <dd>
-                <p>
-                  0
-                </p>
-              </dd>
-              <dt>
-                Effect if unset:
-              </dt>
-              <dd>
-                <p>
-                  The web-based toggle feature is disabled.
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  When toggled off, <span class="APPLICATION">Privoxy</span>
-                  mostly acts like a normal, content-neutral proxy, i.e.
-                  doesn't block ads or filter content.
-                </p>
-                <p>
-                  Access to the toggle feature can <span class="emphasis"><i
-                  class="EMPHASIS">not</i></span> be controlled separately by
-                  <span class="QUOTE">"ACLs"</span> or HTTP authentication,
-                  so that everybody who can access <span class=
-                  "APPLICATION">Privoxy</span> (see <span class=
-                  "QUOTE">"ACLs"</span> and <tt class=
-                  "LITERAL">listen-address</tt> above) can toggle it for all
-                  users. So this option is <span class="emphasis"><i class=
-                  "EMPHASIS">not recommended</i></span> for multi-user
-                  environments with untrusted users.
-                </p>
-                <p>
-                  Note that malicious client side code (e.g Java) is also
-                  capable of using this option.
-                </p>
-                <p>
-                  As a lot of <span class="APPLICATION">Privoxy</span> users
-                  don't read documentation, this feature is disabled by
-                  default.
-                </p>
-                <p>
-                  Note that you must have compiled <span class=
-                  "APPLICATION">Privoxy</span> with support for this feature,
-                  otherwise this option has no effect.
-                </p>
-              </dd>
-            </dl>
-          </div>
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="ENABLE-REMOTE-TOGGLE" id=
+        "ENABLE-REMOTE-TOGGLE">7.4.3. enable-remote-toggle</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Specifies:</dt>
+
+            <dd>
+              <p>Whether or not the <a href=
+              "http://config.privoxy.org/toggle" target="_top">web-based
+              toggle feature</a> may be used</p>
+            </dd>
+
+            <dt>Type of value:</dt>
+
+            <dd>
+              <p>0 or 1</p>
+            </dd>
+
+            <dt>Default value:</dt>
+
+            <dd>
+              <p>0</p>
+            </dd>
+
+            <dt>Effect if unset:</dt>
+
+            <dd>
+              <p>The web-based toggle feature is disabled.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>When toggled off, <span class="APPLICATION">Privoxy</span>
+              mostly acts like a normal, content-neutral proxy, i.e. doesn't
+              block ads or filter content.</p>
+
+              <p>Access to the toggle feature can <span class=
+              "emphasis EMPHASIS c2">not</span> be controlled separately by
+              <span class="QUOTE">"ACLs"</span> or HTTP authentication, so
+              that everybody who can access <span class=
+              "APPLICATION">Privoxy</span> (see <span class=
+              "QUOTE">"ACLs"</span> and <tt class=
+              "LITERAL">listen-address</tt> above) can toggle it for all
+              users. So this option is <span class="emphasis EMPHASIS c2">not
+              recommended</span> for multi-user environments with untrusted
+              users.</p>
+
+              <p>Note that malicious client side code (e.g Java) is also
+              capable of using this option.</p>
+
+              <p>As a lot of <span class="APPLICATION">Privoxy</span> users
+              don't read documentation, this feature is disabled by
+              default.</p>
+
+              <p>Note that you must have compiled <span class=
+              "APPLICATION">Privoxy</span> with support for this feature,
+              otherwise this option has no effect.</p>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="ENABLE-REMOTE-HTTP-TOGGLE">7.4.4.
-            enable-remote-http-toggle</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Specifies:
-              </dt>
-              <dd>
-                <p>
-                  Whether or not Privoxy recognizes special HTTP headers to
-                  change its behaviour.
-                </p>
-              </dd>
-              <dt>
-                Type of value:
-              </dt>
-              <dd>
-                <p>
-                  0 or 1
-                </p>
-              </dd>
-              <dt>
-                Default value:
-              </dt>
-              <dd>
-                <p>
-                  0
-                </p>
-              </dd>
-              <dt>
-                Effect if unset:
-              </dt>
-              <dd>
-                <p>
-                  Privoxy ignores special HTTP headers.
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  When toggled on, the client can change <span class=
-                  "APPLICATION">Privoxy's</span> behaviour by setting special
-                  HTTP headers. Currently the only supported special header
-                  is <span class="QUOTE">"X-Filter: No"</span>, to disable
-                  filtering for the ongoing request, even if it is enabled in
-                  one of the action files.
-                </p>
-                <p>
-                  This feature is disabled by default. If you are using <span
-                  class="APPLICATION">Privoxy</span> in a environment with
-                  trusted clients, you may enable this feature at your
-                  discretion. Note that malicious client side code (e.g Java)
-                  is also capable of using this feature.
-                </p>
-                <p>
-                  This option will be removed in future releases as it has
-                  been obsoleted by the more general header taggers.
-                </p>
-              </dd>
-            </dl>
-          </div>
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="ENABLE-REMOTE-HTTP-TOGGLE" id=
+        "ENABLE-REMOTE-HTTP-TOGGLE">7.4.4. enable-remote-http-toggle</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Specifies:</dt>
+
+            <dd>
+              <p>Whether or not Privoxy recognizes special HTTP headers to
+              change its behaviour.</p>
+            </dd>
+
+            <dt>Type of value:</dt>
+
+            <dd>
+              <p>0 or 1</p>
+            </dd>
+
+            <dt>Default value:</dt>
+
+            <dd>
+              <p>0</p>
+            </dd>
+
+            <dt>Effect if unset:</dt>
+
+            <dd>
+              <p>Privoxy ignores special HTTP headers.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>When toggled on, the client can change <span class=
+              "APPLICATION">Privoxy's</span> behaviour by setting special
+              HTTP headers. Currently the only supported special header is
+              <span class="QUOTE">"X-Filter: No"</span>, to disable filtering
+              for the ongoing request, even if it is enabled in one of the
+              action files.</p>
+
+              <p>This feature is disabled by default. If you are using
+              <span class="APPLICATION">Privoxy</span> in a environment with
+              trusted clients, you may enable this feature at your
+              discretion. Note that malicious client side code (e.g Java) is
+              also capable of using this feature.</p>
+
+              <p>This option will be removed in future releases as it has
+              been obsoleted by the more general header taggers.</p>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="ENABLE-EDIT-ACTIONS">7.4.5. enable-edit-actions</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Specifies:
-              </dt>
-              <dd>
-                <p>
-                  Whether or not the <a href=
-                  "http://config.privoxy.org/show-status" target=
-                  "_top">web-based actions file editor</a> may be used
-                </p>
-              </dd>
-              <dt>
-                Type of value:
-              </dt>
-              <dd>
-                <p>
-                  0 or 1
-                </p>
-              </dd>
-              <dt>
-                Default value:
-              </dt>
-              <dd>
-                <p>
-                  0
-                </p>
-              </dd>
-              <dt>
-                Effect if unset:
-              </dt>
-              <dd>
-                <p>
-                  The web-based actions file editor is disabled.
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  Access to the editor can <span class="emphasis"><i class=
-                  "EMPHASIS">not</i></span> be controlled separately by <span
-                  class="QUOTE">"ACLs"</span> or HTTP authentication, so that
-                  everybody who can access <span class=
-                  "APPLICATION">Privoxy</span> (see <span class=
-                  "QUOTE">"ACLs"</span> and <tt class=
-                  "LITERAL">listen-address</tt> above) can modify its
-                  configuration for all users.
-                </p>
-                <p>
-                  This option is <span class="emphasis"><i class=
-                  "EMPHASIS">not recommended</i></span> for environments with
-                  untrusted users and as a lot of <span class=
-                  "APPLICATION">Privoxy</span> users don't read
-                  documentation, this feature is disabled by default.
-                </p>
-                <p>
-                  Note that malicious client side code (e.g Java) is also
-                  capable of using the actions editor and you shouldn't
-                  enable this options unless you understand the consequences
-                  and are sure your browser is configured correctly.
-                </p>
-                <p>
-                  Note that you must have compiled <span class=
-                  "APPLICATION">Privoxy</span> with support for this feature,
-                  otherwise this option has no effect.
-                </p>
-              </dd>
-            </dl>
-          </div>
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="ENABLE-EDIT-ACTIONS" id=
+        "ENABLE-EDIT-ACTIONS">7.4.5. enable-edit-actions</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Specifies:</dt>
+
+            <dd>
+              <p>Whether or not the <a href=
+              "http://config.privoxy.org/show-status" target="_top">web-based
+              actions file editor</a> may be used</p>
+            </dd>
+
+            <dt>Type of value:</dt>
+
+            <dd>
+              <p>0 or 1</p>
+            </dd>
+
+            <dt>Default value:</dt>
+
+            <dd>
+              <p>0</p>
+            </dd>
+
+            <dt>Effect if unset:</dt>
+
+            <dd>
+              <p>The web-based actions file editor is disabled.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>Access to the editor can <span class=
+              "emphasis EMPHASIS c2">not</span> be controlled separately by
+              <span class="QUOTE">"ACLs"</span> or HTTP authentication, so
+              that everybody who can access <span class=
+              "APPLICATION">Privoxy</span> (see <span class=
+              "QUOTE">"ACLs"</span> and <tt class=
+              "LITERAL">listen-address</tt> above) can modify its
+              configuration for all users.</p>
+
+              <p>This option is <span class="emphasis EMPHASIS c2">not
+              recommended</span> for environments with untrusted users and as
+              a lot of <span class="APPLICATION">Privoxy</span> users don't
+              read documentation, this feature is disabled by default.</p>
+
+              <p>Note that malicious client side code (e.g Java) is also
+              capable of using the actions editor and you shouldn't enable
+              this options unless you understand the consequences and are
+              sure your browser is configured correctly.</p>
+
+              <p>Note that you must have compiled <span class=
+              "APPLICATION">Privoxy</span> with support for this feature,
+              otherwise this option has no effect.</p>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="ENFORCE-BLOCKS">7.4.6. enforce-blocks</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Specifies:
-              </dt>
-              <dd>
-                <p>
-                  Whether the user is allowed to ignore blocks and can <span
-                  class="QUOTE">"go there anyway"</span>.
-                </p>
-              </dd>
-              <dt>
-                Type of value:
-              </dt>
-              <dd>
-                <p>
-                  <tt class="REPLACEABLE"><i>0 or 1</i></tt>
-                </p>
-              </dd>
-              <dt>
-                Default value:
-              </dt>
-              <dd>
-                <p>
-                  <span class="emphasis"><i class="EMPHASIS">0</i></span>
-                </p>
-              </dd>
-              <dt>
-                Effect if unset:
-              </dt>
-              <dd>
-                <p>
-                  Blocks are not enforced.
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  <span class="APPLICATION">Privoxy</span> is mainly used to
-                  block and filter requests as a service to the user, for
-                  example to block ads and other junk that clogs the pipes.
-                  <span class="APPLICATION">Privoxy's</span> configuration
-                  isn't perfect and sometimes innocent pages are blocked. In
-                  this situation it makes sense to allow the user to enforce
-                  the request and have <span class=
-                  "APPLICATION">Privoxy</span> ignore the block.
-                </p>
-                <p>
-                  In the default configuration <span class=
-                  "APPLICATION">Privoxy's</span> <span class=
-                  "QUOTE">"Blocked"</span> page contains a <span class=
-                  "QUOTE">"go there anyway"</span> link to adds a special
-                  string (the force prefix) to the request URL. If that link
-                  is used, <span class="APPLICATION">Privoxy</span> will
-                  detect the force prefix, remove it again and let the
-                  request pass.
-                </p>
-                <p>
-                  Of course <span class="APPLICATION">Privoxy</span> can also
-                  be used to enforce a network policy. In that case the user
-                  obviously should not be able to bypass any blocks, and
-                  that's what the <span class="QUOTE">"enforce-blocks"</span>
-                  option is for. If it's enabled, <span class=
-                  "APPLICATION">Privoxy</span> hides the <span class=
-                  "QUOTE">"go there anyway"</span> link. If the user adds the
-                  force prefix by hand, it will not be accepted and the
-                  circumvention attempt is logged.
-                </p>
-              </dd>
-              <dt>
-                Examples:
-              </dt>
-              <dd>
-                <p>
-                  enforce-blocks 1
-                </p>
-              </dd>
-            </dl>
-          </div>
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="ENFORCE-BLOCKS" id="ENFORCE-BLOCKS">7.4.6.
+        enforce-blocks</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Specifies:</dt>
+
+            <dd>
+              <p>Whether the user is allowed to ignore blocks and can
+              <span class="QUOTE">"go there anyway"</span>.</p>
+            </dd>
+
+            <dt>Type of value:</dt>
+
+            <dd>
+              <p><tt class="REPLACEABLE c3">0 or 1</tt></p>
+            </dd>
+
+            <dt>Default value:</dt>
+
+            <dd>
+              <p><span class="emphasis EMPHASIS c2">0</span></p>
+            </dd>
+
+            <dt>Effect if unset:</dt>
+
+            <dd>
+              <p>Blocks are not enforced.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p><span class="APPLICATION">Privoxy</span> is mainly used to
+              block and filter requests as a service to the user, for example
+              to block ads and other junk that clogs the pipes. <span class=
+              "APPLICATION">Privoxy's</span> configuration isn't perfect and
+              sometimes innocent pages are blocked. In this situation it
+              makes sense to allow the user to enforce the request and have
+              <span class="APPLICATION">Privoxy</span> ignore the block.</p>
+
+              <p>In the default configuration <span class=
+              "APPLICATION">Privoxy's</span> <span class=
+              "QUOTE">"Blocked"</span> page contains a <span class=
+              "QUOTE">"go there anyway"</span> link to adds a special string
+              (the force prefix) to the request URL. If that link is used,
+              <span class="APPLICATION">Privoxy</span> will detect the force
+              prefix, remove it again and let the request pass.</p>
+
+              <p>Of course <span class="APPLICATION">Privoxy</span> can also
+              be used to enforce a network policy. In that case the user
+              obviously should not be able to bypass any blocks, and that's
+              what the <span class="QUOTE">"enforce-blocks"</span> option is
+              for. If it's enabled, <span class="APPLICATION">Privoxy</span>
+              hides the <span class="QUOTE">"go there anyway"</span> link. If
+              the user adds the force prefix by hand, it will not be accepted
+              and the circumvention attempt is logged.</p>
+            </dd>
+
+            <dt>Examples:</dt>
+
+            <dd>
+              <p>enforce-blocks 1</p>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="ACLS">7.4.7. ACLs: permit-access and deny-access</a>
-          </h4>
-          <a name="PERMIT-ACCESS"></a><a name="DENY-ACCESS"></a>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Specifies:
-              </dt>
-              <dd>
-                <p>
-                  Who can access what.
-                </p>
-              </dd>
-              <dt>
-                Type of value:
-              </dt>
-              <dd>
-                <p>
-                  <tt class="REPLACEABLE"><i>src_addr</i></tt>[:<tt class=
-                  "REPLACEABLE"><i>port</i></tt>][/<tt class=
-                  "REPLACEABLE"><i>src_masklen</i></tt>] [<tt class=
-                  "REPLACEABLE"><i>dst_addr</i></tt>[:<tt class=
-                  "REPLACEABLE"><i>port</i></tt>][/<tt class=
-                  "REPLACEABLE"><i>dst_masklen</i></tt>]]
-                </p>
-                <p>
-                  Where <tt class="REPLACEABLE"><i>src_addr</i></tt> and <tt
-                  class="REPLACEABLE"><i>dst_addr</i></tt> are IPv4 addresses
-                  in dotted decimal notation or valid DNS names, <tt class=
-                  "REPLACEABLE"><i>port</i></tt> is a port number, and <tt
-                  class="REPLACEABLE"><i>src_masklen</i></tt> and <tt class=
-                  "REPLACEABLE"><i>dst_masklen</i></tt> are subnet masks in
-                  CIDR notation, i.e. integer values from 2 to 30
-                  representing the length (in bits) of the network address.
-                  The masks and the whole destination part are optional.
-                </p>
-                <p>
-                  If your system implements <a href=
-                  "http://tools.ietf.org/html/rfc3493" target="_top">RFC
-                  3493</a>, then <tt class="REPLACEABLE"><i>src_addr</i></tt>
-                  and <tt class="REPLACEABLE"><i>dst_addr</i></tt> can be
-                  IPv6 addresses delimeted by brackets, <tt class=
-                  "REPLACEABLE"><i>port</i></tt> can be a number or a service
-                  name, and <tt class="REPLACEABLE"><i>src_masklen</i></tt>
-                  and <tt class="REPLACEABLE"><i>dst_masklen</i></tt> can be
-                  a number from 0 to 128.
-                </p>
-              </dd>
-              <dt>
-                Default value:
-              </dt>
-              <dd>
-                <p>
-                  <span class="emphasis"><i class="EMPHASIS">Unset</i></span>
-                </p>
-                <p>
-                  If no <tt class="REPLACEABLE"><i>port</i></tt> is
-                  specified, any port will match. If no <tt class=
-                  "REPLACEABLE"><i>src_masklen</i></tt> or <tt class=
-                  "REPLACEABLE"><i>src_masklen</i></tt> is given, the
-                  complete IP address has to match (i.e. 32 bits for IPv4 and
-                  128 bits for IPv6).
-                </p>
-              </dd>
-              <dt>
-                Effect if unset:
-              </dt>
-              <dd>
-                <p>
-                  Don't restrict access further than implied by <tt class=
-                  "LITERAL">listen-address</tt>
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  Access controls are included at the request of ISPs and
-                  systems administrators, and <span class="emphasis"><i
-                  class="EMPHASIS">are not usually needed by individual
-                  users</i></span>. For a typical home user, it will normally
-                  suffice to ensure that <span class=
-                  "APPLICATION">Privoxy</span> only listens on the localhost
-                  (127.0.0.1) or internal (home) network address by means of
-                  the <a href="config.html#LISTEN-ADDRESS"><span class=
-                  "emphasis"><i class=
-                  "EMPHASIS">listen-address</i></span></a> option.
-                </p>
-                <p>
-                  Please see the warnings in the FAQ that <span class=
-                  "APPLICATION">Privoxy</span> is not intended to be a
-                  substitute for a firewall or to encourage anyone to defer
-                  addressing basic security weaknesses.
-                </p>
-                <p>
-                  Multiple ACL lines are OK. If any ACLs are specified, <span
-                  class="APPLICATION">Privoxy</span> only talks to IP
-                  addresses that match at least one <tt class=
-                  "LITERAL">permit-access</tt> line and don't match any
-                  subsequent <tt class="LITERAL">deny-access</tt> line. In
-                  other words, the last match wins, with the default being
-                  <tt class="LITERAL">deny-access</tt>.
-                </p>
-                <p>
-                  If <span class="APPLICATION">Privoxy</span> is using a
-                  forwarder (see <tt class="LITERAL">forward</tt> below) for
-                  a particular destination URL, the <tt class=
-                  "REPLACEABLE"><i>dst_addr</i></tt> that is examined is the
-                  address of the forwarder and <span class="emphasis"><i
-                  class="EMPHASIS">NOT</i></span> the address of the ultimate
-                  target. This is necessary because it may be impossible for
-                  the local <span class="APPLICATION">Privoxy</span> to
-                  determine the IP address of the ultimate target (that's
-                  often what gateways are used for).
-                </p>
-                <p>
-                  You should prefer using IP addresses over DNS names,
-                  because the address lookups take time. All DNS names must
-                  resolve! You can <span class="emphasis"><i class=
-                  "EMPHASIS">not</i></span> use domain patterns like <span
-                  class="QUOTE">"*.org"</span> or partial domain names. If a
-                  DNS name resolves to multiple IP addresses, only the first
-                  one is used.
-                </p>
-                <p>
-                  Some systems allow IPv4 clients to connect to IPv6 server
-                  sockets. Then the client's IPv4 address will be translated
-                  by the system into IPv6 address space with special prefix
-                  ::ffff:0:0/96 (so called IPv4 mapped IPv6 address). <span
-                  class="APPLICATION">Privoxy</span> can handle it and maps
-                  such ACL addresses automatically.
-                </p>
-                <p>
-                  Denying access to particular sites by ACL may have
-                  undesired side effects if the site in question is hosted on
-                  a machine which also hosts other sites (most sites are).
-                </p>
-              </dd>
-              <dt>
-                Examples:
-              </dt>
-              <dd>
-                <p>
-                  Explicitly define the default behavior if no ACL and <tt
-                  class="LITERAL">listen-address</tt> are set: <span class=
-                  "QUOTE">"localhost"</span> is OK. The absence of a <tt
-                  class="REPLACEABLE"><i>dst_addr</i></tt> implies that <span
-                  class="emphasis"><i class="EMPHASIS">all</i></span>
-                  destination addresses are OK:
-                </p>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="ACLS" id="ACLS">7.4.7. ACLs: permit-access
+        and deny-access</a></h4><a name="PERMIT-ACCESS" id=
+        "PERMIT-ACCESS"></a><a name="DENY-ACCESS" id="DENY-ACCESS"></a>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Specifies:</dt>
+
+            <dd>
+              <p>Who can access what.</p>
+            </dd>
+
+            <dt>Type of value:</dt>
+
+            <dd>
+              <p><tt class="REPLACEABLE c3">src_addr</tt>[:<tt class=
+              "REPLACEABLE c3">port</tt>][/<tt class=
+              "REPLACEABLE c3">src_masklen</tt>] [<tt class=
+              "REPLACEABLE c3">dst_addr</tt>[:<tt class=
+              "REPLACEABLE c3">port</tt>][/<tt class=
+              "REPLACEABLE c3">dst_masklen</tt>]]</p>
+
+              <p>Where <tt class="REPLACEABLE c3">src_addr</tt> and
+              <tt class="REPLACEABLE c3">dst_addr</tt> are IPv4 addresses in
+              dotted decimal notation or valid DNS names, <tt class=
+              "REPLACEABLE c3">port</tt> is a port number, and <tt class=
+              "REPLACEABLE c3">src_masklen</tt> and <tt class=
+              "REPLACEABLE c3">dst_masklen</tt> are subnet masks in CIDR
+              notation, i.e. integer values from 2 to 30 representing the
+              length (in bits) of the network address. The masks and the
+              whole destination part are optional.</p>
+
+              <p>If your system implements <a href=
+              "http://tools.ietf.org/html/rfc3493" target="_top">RFC
+              3493</a>, then <tt class="REPLACEABLE c3">src_addr</tt> and
+              <tt class="REPLACEABLE c3">dst_addr</tt> can be IPv6 addresses
+              delimeted by brackets, <tt class="REPLACEABLE c3">port</tt> can
+              be a number or a service name, and <tt class=
+              "REPLACEABLE c3">src_masklen</tt> and <tt class=
+              "REPLACEABLE c3">dst_masklen</tt> can be a number from 0 to
+              128.</p>
+            </dd>
+
+            <dt>Default value:</dt>
+
+            <dd>
+              <p><span class="emphasis EMPHASIS c2">Unset</span></p>
+
+              <p>If no <tt class="REPLACEABLE c3">port</tt> is specified, any
+              port will match. If no <tt class=
+              "REPLACEABLE c3">src_masklen</tt> or <tt class=
+              "REPLACEABLE c3">src_masklen</tt> is given, the complete IP
+              address has to match (i.e. 32 bits for IPv4 and 128 bits for
+              IPv6).</p>
+            </dd>
+
+            <dt>Effect if unset:</dt>
+
+            <dd>
+              <p>Don't restrict access further than implied by <tt class=
+              "LITERAL">listen-address</tt></p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>Access controls are included at the request of ISPs and
+              systems administrators, and <span class=
+              "emphasis EMPHASIS c2">are not usually needed by individual
+              users</span>. For a typical home user, it will normally suffice
+              to ensure that <span class="APPLICATION">Privoxy</span> only
+              listens on the localhost (127.0.0.1) or internal (home) network
+              address by means of the <a href=
+              "config.html#LISTEN-ADDRESS"><span class=
+              "emphasis EMPHASIS c2">listen-address</span></a> option.</p>
+
+              <p>Please see the warnings in the FAQ that <span class=
+              "APPLICATION">Privoxy</span> is not intended to be a substitute
+              for a firewall or to encourage anyone to defer addressing basic
+              security weaknesses.</p>
+
+              <p>Multiple ACL lines are OK. If any ACLs are specified,
+              <span class="APPLICATION">Privoxy</span> only talks to IP
+              addresses that match at least one <tt class=
+              "LITERAL">permit-access</tt> line and don't match any
+              subsequent <tt class="LITERAL">deny-access</tt> line. In other
+              words, the last match wins, with the default being <tt class=
+              "LITERAL">deny-access</tt>.</p>
+
+              <p>If <span class="APPLICATION">Privoxy</span> is using a
+              forwarder (see <tt class="LITERAL">forward</tt> below) for a
+              particular destination URL, the <tt class=
+              "REPLACEABLE c3">dst_addr</tt> that is examined is the address
+              of the forwarder and <span class=
+              "emphasis EMPHASIS c2">NOT</span> the address of the ultimate
+              target. This is necessary because it may be impossible for the
+              local <span class="APPLICATION">Privoxy</span> to determine the
+              IP address of the ultimate target (that's often what gateways
+              are used for).</p>
+
+              <p>You should prefer using IP addresses over DNS names, because
+              the address lookups take time. All DNS names must resolve! You
+              can <span class="emphasis EMPHASIS c2">not</span> use domain
+              patterns like <span class="QUOTE">"*.org"</span> or partial
+              domain names. If a DNS name resolves to multiple IP addresses,
+              only the first one is used.</p>
+
+              <p>Some systems allow IPv4 clients to connect to IPv6 server
+              sockets. Then the client's IPv4 address will be translated by
+              the system into IPv6 address space with special prefix
+              ::ffff:0:0/96 (so called IPv4 mapped IPv6 address).
+              <span class="APPLICATION">Privoxy</span> can handle it and maps
+              such ACL addresses automatically.</p>
+
+              <p>Denying access to particular sites by ACL may have undesired
+              side effects if the site in question is hosted on a machine
+              which also hosts other sites (most sites are).</p>
+            </dd>
+
+            <dt>Examples:</dt>
+
+            <dd>
+              <p>Explicitly define the default behavior if no ACL and
+              <tt class="LITERAL">listen-address</tt> are set: <span class=
+              "QUOTE">"localhost"</span> is OK. The absence of a <tt class=
+              "REPLACEABLE c3">dst_addr</tt> implies that <span class=
+              "emphasis EMPHASIS c2">all</span> destination addresses are
+              OK:</p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
   permit-access  localhost
 </pre>
-                    </td>
-                  </tr>
-                </table>
+                  </td>
+                </tr>
+              </table>
 
-                <p>
-                  Allow any host on the same class C subnet as
-                  www.privoxy.org access to nothing but www.example.com (or
-                  other domains hosted on the same system):
-                </p>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+              <p>Allow any host on the same class C subnet as www.privoxy.org
+              access to nothing but www.example.com (or other domains hosted
+              on the same system):</p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
   permit-access  www.privoxy.org/24 www.example.com/32
 </pre>
-                    </td>
-                  </tr>
-                </table>
+                  </td>
+                </tr>
+              </table>
 
-                <p>
-                  Allow access from any host on the 26-bit subnet
-                  192.168.45.64 to anywhere, with the exception that
-                  192.168.45.73 may not access the IP address behind
-                  www.dirty-stuff.example.com:
-                </p>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+              <p>Allow access from any host on the 26-bit subnet
+              192.168.45.64 to anywhere, with the exception that
+              192.168.45.73 may not access the IP address behind
+              www.dirty-stuff.example.com:</p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
   permit-access  192.168.45.64/26
   deny-access    192.168.45.73    www.dirty-stuff.example.com
 </pre>
-                    </td>
-                  </tr>
-                </table>
+                  </td>
+                </tr>
+              </table>
 
-                <p>
-                  Allow access from the IPv4 network 192.0.2.0/24 even if
-                  listening on an IPv6 wild card address (not supported on
-                  all platforms):
-                </p>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="PROGRAMLISTING">
+              <p>Allow access from the IPv4 network 192.0.2.0/24 even if
+              listening on an IPv6 wild card address (not supported on all
+              platforms):</p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="PROGRAMLISTING">
   permit-access  192.0.2.0/24
 </pre>
-                    </td>
-                  </tr>
-                </table>
+                  </td>
+                </tr>
+              </table>
 
-                <p>
-                  This is equivalent to the following line even if listening
-                  on an IPv4 address (not supported on all platforms):
-                </p>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="PROGRAMLISTING">
+              <p>This is equivalent to the following line even if listening
+              on an IPv4 address (not supported on all platforms):</p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="PROGRAMLISTING">
   permit-access  [::ffff:192.0.2.0]/120
 </pre>
-                    </td>
-                  </tr>
-                </table>
-              </dd>
-            </dl>
-          </div>
+                  </td>
+                </tr>
+              </table>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="BUFFER-LIMIT">7.4.8. buffer-limit</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Specifies:
-              </dt>
-              <dd>
-                <p>
-                  Maximum size of the buffer for content filtering.
-                </p>
-              </dd>
-              <dt>
-                Type of value:
-              </dt>
-              <dd>
-                <p>
-                  Size in Kbytes
-                </p>
-              </dd>
-              <dt>
-                Default value:
-              </dt>
-              <dd>
-                <p>
-                  4096
-                </p>
-              </dd>
-              <dt>
-                Effect if unset:
-              </dt>
-              <dd>
-                <p>
-                  Use a 4MB (4096 KB) limit.
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  For content filtering, i.e. the <tt class=
-                  "LITERAL">+filter</tt> and <tt class=
-                  "LITERAL">+deanimate-gif</tt> actions, it is necessary that
-                  <span class="APPLICATION">Privoxy</span> 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. Hence
-                  this option.
-                </p>
-                <p>
-                  When a document buffer size reaches the <tt class=
-                  "LITERAL">buffer-limit</tt>, it is flushed to the client
-                  unfiltered and no further attempt to filter the rest of the
-                  document is made. Remember that there may be multiple
-                  threads running, which might require up to <tt class=
-                  "LITERAL">buffer-limit</tt> Kbytes <span class=
-                  "emphasis"><i class="EMPHASIS">each</i></span>, unless you
-                  have enabled <span class="QUOTE">"single-threaded"</span>
-                  above.
-                </p>
-              </dd>
-            </dl>
-          </div>
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="BUFFER-LIMIT" id="BUFFER-LIMIT">7.4.8.
+        buffer-limit</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Specifies:</dt>
+
+            <dd>
+              <p>Maximum size of the buffer for content filtering.</p>
+            </dd>
+
+            <dt>Type of value:</dt>
+
+            <dd>
+              <p>Size in Kbytes</p>
+            </dd>
+
+            <dt>Default value:</dt>
+
+            <dd>
+              <p>4096</p>
+            </dd>
+
+            <dt>Effect if unset:</dt>
+
+            <dd>
+              <p>Use a 4MB (4096 KB) limit.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>For content filtering, i.e. the <tt class=
+              "LITERAL">+filter</tt> and <tt class=
+              "LITERAL">+deanimate-gif</tt> actions, it is necessary that
+              <span class="APPLICATION">Privoxy</span> 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. Hence this
+              option.</p>
+
+              <p>When a document buffer size reaches the <tt class=
+              "LITERAL">buffer-limit</tt>, it is flushed to the client
+              unfiltered and no further attempt to filter the rest of the
+              document is made. Remember that there may be multiple threads
+              running, which might require up to <tt class=
+              "LITERAL">buffer-limit</tt> Kbytes <span class=
+              "emphasis EMPHASIS c2">each</span>, unless you have enabled
+              <span class="QUOTE">"single-threaded"</span> above.</p>
+            </dd>
+          </dl>
         </div>
       </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="FORWARDING">7.5. Forwarding</a>
-        </h2>
-        <p>
-          This feature allows routing of HTTP requests through a chain of
-          multiple proxies.
-        </p>
-        <p>
-          Forwarding can be used to chain Privoxy with a caching proxy to
-          speed up browsing. Using a parent proxy may also be necessary if
-          the machine that <span class="APPLICATION">Privoxy</span> runs on
-          has no direct Internet access.
-        </p>
-        <p>
-          Note that parent proxies can severely decrease your privacy level.
-          For example a parent proxy could add your IP address to the request
-          headers and if it's a caching proxy it may add the <span class=
-          "QUOTE">"Etag"</span> header to revalidation requests again, even
-          though you configured Privoxy to remove it. It may also ignore
-          Privoxy's header time randomization and use the original values
-          which could be used by the server as cookie replacement to track
-          your steps between visits.
-        </p>
-        <p>
-          Also specified here are SOCKS proxies. <span class=
-          "APPLICATION">Privoxy</span> supports the SOCKS 4 and SOCKS 4A
-          protocols.
-        </p>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="FORWARD">7.5.1. forward</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Specifies:
-              </dt>
-              <dd>
-                <p>
-                  To which parent HTTP proxy specific requests should be
-                  routed.
-                </p>
-              </dd>
-              <dt>
-                Type of value:
-              </dt>
-              <dd>
-                <p>
-                  <tt class="REPLACEABLE"><i>target_pattern</i></tt> <tt
-                  class="REPLACEABLE"><i>http_parent</i></tt>[:<tt class=
-                  "REPLACEABLE"><i>port</i></tt>]
-                </p>
-                <p>
-                  where <tt class="REPLACEABLE"><i>target_pattern</i></tt> is
-                  a <a href="actions-file.html#AF-PATTERNS">URL pattern</a>
-                  that specifies to which requests (i.e. URLs) this forward
-                  rule shall apply. Use <tt class="LITERAL">/</tt> to denote
-                  <span class="QUOTE">"all URLs"</span>. <tt class=
-                  "REPLACEABLE"><i>http_parent</i></tt>[:<tt class=
-                  "REPLACEABLE"><i>port</i></tt>] is the DNS name or IP
-                  address of the parent HTTP proxy through which the requests
-                  should be forwarded, optionally followed by its listening
-                  port (default: 8000). Use a single dot (<tt class=
-                  "LITERAL">.</tt>) to denote <span class="QUOTE">"no
-                  forwarding"</span>.
-                </p>
-              </dd>
-              <dt>
-                Default value:
-              </dt>
-              <dd>
-                <p>
-                  <span class="emphasis"><i class="EMPHASIS">Unset</i></span>
-                </p>
-              </dd>
-              <dt>
-                Effect if unset:
-              </dt>
-              <dd>
-                <p>
-                  Don't use parent HTTP proxies.
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  If <tt class="REPLACEABLE"><i>http_parent</i></tt> is <span
-                  class="QUOTE">"."</span>, then requests are not forwarded
-                  to another HTTP proxy but are made directly to the web
-                  servers.
-                </p>
-                <p>
-                  <tt class="REPLACEABLE"><i>http_parent</i></tt> can be a
-                  numerical IPv6 address (if <a href=
-                  "http://tools.ietf.org/html/rfc3493" target="_top">RFC
-                  3493</a> is implemented). To prevent clashes with the port
-                  delimiter, the whole IP address has to be put into
-                  brackets. On the other hand a <tt class=
-                  "REPLACEABLE"><i>target_pattern</i></tt> containing an IPv6
-                  address has to be put into angle brackets (normal brackets
-                  are reserved for regular expressions already).
-                </p>
-                <p>
-                  Multiple lines are OK, they are checked in sequence, and
-                  the last match wins.
-                </p>
-              </dd>
-              <dt>
-                Examples:
-              </dt>
-              <dd>
-                <p>
-                  Everything goes to an example parent proxy, except SSL on
-                  port 443 (which it doesn't handle):
-                </p>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+    </div>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="FORWARDING" id="FORWARDING">7.5.
+      Forwarding</a></h2>
+
+      <p>This feature allows routing of HTTP requests through a chain of
+      multiple proxies.</p>
+
+      <p>Forwarding can be used to chain Privoxy with a caching proxy to
+      speed up browsing. Using a parent proxy may also be necessary if the
+      machine that <span class="APPLICATION">Privoxy</span> runs on has no
+      direct Internet access.</p>
+
+      <p>Note that parent proxies can severely decrease your privacy level.
+      For example a parent proxy could add your IP address to the request
+      headers and if it's a caching proxy it may add the <span class=
+      "QUOTE">"Etag"</span> header to revalidation requests again, even
+      though you configured Privoxy to remove it. It may also ignore
+      Privoxy's header time randomization and use the original values which
+      could be used by the server as cookie replacement to track your steps
+      between visits.</p>
+
+      <p>Also specified here are SOCKS proxies. <span class=
+      "APPLICATION">Privoxy</span> supports the SOCKS 4 and SOCKS 4A
+      protocols.</p>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="FORWARD" id="FORWARD">7.5.1.
+        forward</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Specifies:</dt>
+
+            <dd>
+              <p>To which parent HTTP proxy specific requests should be
+              routed.</p>
+            </dd>
+
+            <dt>Type of value:</dt>
+
+            <dd>
+              <p><tt class="REPLACEABLE c3">target_pattern</tt> <tt class=
+              "REPLACEABLE c3">http_parent</tt>[:<tt class=
+              "REPLACEABLE c3">port</tt>]</p>
+
+              <p>where <tt class="REPLACEABLE c3">target_pattern</tt> is a
+              <a href="actions-file.html#AF-PATTERNS">URL pattern</a> that
+              specifies to which requests (i.e. URLs) this forward rule shall
+              apply. Use <tt class="LITERAL">/</tt> to denote <span class=
+              "QUOTE">"all URLs"</span>. <tt class=
+              "REPLACEABLE c3">http_parent</tt>[:<tt class=
+              "REPLACEABLE c3">port</tt>] is the DNS name or IP address of
+              the parent HTTP proxy through which the requests should be
+              forwarded, optionally followed by its listening port (default:
+              8000). Use a single dot (<tt class="LITERAL">.</tt>) to denote
+              <span class="QUOTE">"no forwarding"</span>.</p>
+            </dd>
+
+            <dt>Default value:</dt>
+
+            <dd>
+              <p><span class="emphasis EMPHASIS c2">Unset</span></p>
+            </dd>
+
+            <dt>Effect if unset:</dt>
+
+            <dd>
+              <p>Don't use parent HTTP proxies.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>If <tt class="REPLACEABLE c3">http_parent</tt> is
+              <span class="QUOTE">"."</span>, then requests are not forwarded
+              to another HTTP proxy but are made directly to the web
+              servers.</p>
+
+              <p><tt class="REPLACEABLE c3">http_parent</tt> can be a
+              numerical IPv6 address (if <a href=
+              "http://tools.ietf.org/html/rfc3493" target="_top">RFC 3493</a>
+              is implemented). To prevent clashes with the port delimiter,
+              the whole IP address has to be put into brackets. On the other
+              hand a <tt class="REPLACEABLE c3">target_pattern</tt>
+              containing an IPv6 address has to be put into angle brackets
+              (normal brackets are reserved for regular expressions
+              already).</p>
+
+              <p>Multiple lines are OK, they are checked in sequence, and the
+              last match wins.</p>
+            </dd>
+
+            <dt>Examples:</dt>
+
+            <dd>
+              <p>Everything goes to an example parent proxy, except SSL on
+              port 443 (which it doesn't handle):</p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
   forward   /      parent-proxy.example.org:8080
   forward   :443   .
 </pre>
-                    </td>
-                  </tr>
-                </table>
+                  </td>
+                </tr>
+              </table>
 
-                <p>
-                  Everything goes to our example ISP's caching proxy, except
-                  for requests to that ISP's sites:
-                </p>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+              <p>Everything goes to our example ISP's caching proxy, except
+              for requests to that ISP's sites:</p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
   forward   /                  caching-proxy.isp.example.net:8000
   forward   .isp.example.net   .
 </pre>
-                    </td>
-                  </tr>
-                </table>
+                  </td>
+                </tr>
+              </table>
 
-                <p>
-                  Parent proxy specified by an IPv6 address:
-                </p>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="PROGRAMLISTING">
+              <p>Parent proxy specified by an IPv6 address:</p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="PROGRAMLISTING">
   forward   /                   [2001:DB8::1]:8000
 </pre>
-                    </td>
-                  </tr>
-                </table>
+                  </td>
+                </tr>
+              </table>
 
-                <p>
-                  Suppose your parent proxy doesn't support IPv6:
-                </p>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="PROGRAMLISTING">
+              <p>Suppose your parent proxy doesn't support IPv6:</p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="PROGRAMLISTING">
   forward  /                        parent-proxy.example.org:8000
   forward  ipv6-server.example.org  .
   forward  &lt;[2-3][0-9a-f][0-9a-f][0-9a-f]:*&gt;   .
 </pre>
-                    </td>
-                  </tr>
-                </table>
-              </dd>
-            </dl>
-          </div>
+                  </td>
+                </tr>
+              </table>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="SOCKS">7.5.2. forward-socks4, forward-socks4a and
-            forward-socks5</a>
-          </h4>
-          <a name="FORWARD-SOCKS4"></a><a name="FORWARD-SOCKS4A"></a>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Specifies:
-              </dt>
-              <dd>
-                <p>
-                  Through which SOCKS proxy (and optionally to which parent
-                  HTTP proxy) specific requests should be routed.
-                </p>
-              </dd>
-              <dt>
-                Type of value:
-              </dt>
-              <dd>
-                <p>
-                  <tt class="REPLACEABLE"><i>target_pattern</i></tt> <tt
-                  class="REPLACEABLE"><i>socks_proxy</i></tt>[:<tt class=
-                  "REPLACEABLE"><i>port</i></tt>] <tt class=
-                  "REPLACEABLE"><i>http_parent</i></tt>[:<tt class=
-                  "REPLACEABLE"><i>port</i></tt>]
-                </p>
-                <p>
-                  where <tt class="REPLACEABLE"><i>target_pattern</i></tt> is
-                  a <a href="actions-file.html#AF-PATTERNS">URL pattern</a>
-                  that specifies to which requests (i.e. URLs) this forward
-                  rule shall apply. Use <tt class="LITERAL">/</tt> to denote
-                  <span class="QUOTE">"all URLs"</span>. <tt class=
-                  "REPLACEABLE"><i>http_parent</i></tt> and <tt class=
-                  "REPLACEABLE"><i>socks_proxy</i></tt> are IP addresses in
-                  dotted decimal notation or valid DNS names (<tt class=
-                  "REPLACEABLE"><i>http_parent</i></tt> may be <span class=
-                  "QUOTE">"."</span> to denote <span class="QUOTE">"no HTTP
-                  forwarding"</span>), and the optional <tt class=
-                  "REPLACEABLE"><i>port</i></tt> parameters are TCP ports,
-                  i.e. integer values from 1 to 65535
-                </p>
-              </dd>
-              <dt>
-                Default value:
-              </dt>
-              <dd>
-                <p>
-                  <span class="emphasis"><i class="EMPHASIS">Unset</i></span>
-                </p>
-              </dd>
-              <dt>
-                Effect if unset:
-              </dt>
-              <dd>
-                <p>
-                  Don't use SOCKS proxies.
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  Multiple lines are OK, they are checked in sequence, and
-                  the last match wins.
-                </p>
-                <p>
-                  The difference between <tt class=
-                  "LITERAL">forward-socks4</tt> and <tt class=
-                  "LITERAL">forward-socks4a</tt> is that in the SOCKS 4A
-                  protocol, the DNS resolution of the target hostname happens
-                  on the SOCKS server, while in SOCKS 4 it happens locally.
-                </p>
-                <p>
-                  With <tt class="LITERAL">forward-socks5</tt> the DNS
-                  resolution will happen on the remote server as well.
-                </p>
-                <p>
-                  <tt class="REPLACEABLE"><i>socks_proxy</i></tt> and <tt
-                  class="REPLACEABLE"><i>http_parent</i></tt> can be a
-                  numerical IPv6 address (if <a href=
-                  "http://tools.ietf.org/html/rfc3493" target="_top">RFC
-                  3493</a> is implemented). To prevent clashes with the port
-                  delimiter, the whole IP address has to be put into
-                  brackets. On the other hand a <tt class=
-                  "REPLACEABLE"><i>target_pattern</i></tt> containing an IPv6
-                  address has to be put into angle brackets (normal brackets
-                  are reserved for regular expressions already).
-                </p>
-                <p>
-                  If <tt class="REPLACEABLE"><i>http_parent</i></tt> is <span
-                  class="QUOTE">"."</span>, then requests are not forwarded
-                  to another HTTP proxy but are made (HTTP-wise) directly to
-                  the web servers, albeit through a SOCKS proxy.
-                </p>
-              </dd>
-              <dt>
-                Examples:
-              </dt>
-              <dd>
-                <p>
-                  From the company example.com, direct connections are made
-                  to all <span class="QUOTE">"internal"</span> domains, but
-                  everything outbound goes through their ISP's proxy by way
-                  of example.com's corporate SOCKS 4A gateway to the
-                  Internet.
-                </p>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="SOCKS" id="SOCKS">7.5.2. forward-socks4,
+        forward-socks4a and forward-socks5</a></h4><a name="FORWARD-SOCKS4"
+        id="FORWARD-SOCKS4"></a><a name="FORWARD-SOCKS4A" id=
+        "FORWARD-SOCKS4A"></a>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Specifies:</dt>
+
+            <dd>
+              <p>Through which SOCKS proxy (and optionally to which parent
+              HTTP proxy) specific requests should be routed.</p>
+            </dd>
+
+            <dt>Type of value:</dt>
+
+            <dd>
+              <p><tt class="REPLACEABLE c3">target_pattern</tt> <tt class=
+              "REPLACEABLE c3">socks_proxy</tt>[:<tt class=
+              "REPLACEABLE c3">port</tt>] <tt class=
+              "REPLACEABLE c3">http_parent</tt>[:<tt class=
+              "REPLACEABLE c3">port</tt>]</p>
+
+              <p>where <tt class="REPLACEABLE c3">target_pattern</tt> is a
+              <a href="actions-file.html#AF-PATTERNS">URL pattern</a> that
+              specifies to which requests (i.e. URLs) this forward rule shall
+              apply. Use <tt class="LITERAL">/</tt> to denote <span class=
+              "QUOTE">"all URLs"</span>. <tt class=
+              "REPLACEABLE c3">http_parent</tt> and <tt class=
+              "REPLACEABLE c3">socks_proxy</tt> are IP addresses in dotted
+              decimal notation or valid DNS names (<tt class=
+              "REPLACEABLE c3">http_parent</tt> may be <span class=
+              "QUOTE">"."</span> to denote <span class="QUOTE">"no HTTP
+              forwarding"</span>), and the optional <tt class=
+              "REPLACEABLE c3">port</tt> parameters are TCP ports, i.e.
+              integer values from 1 to 65535</p>
+            </dd>
+
+            <dt>Default value:</dt>
+
+            <dd>
+              <p><span class="emphasis EMPHASIS c2">Unset</span></p>
+            </dd>
+
+            <dt>Effect if unset:</dt>
+
+            <dd>
+              <p>Don't use SOCKS proxies.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>Multiple lines are OK, they are checked in sequence, and the
+              last match wins.</p>
+
+              <p>The difference between <tt class=
+              "LITERAL">forward-socks4</tt> and <tt class=
+              "LITERAL">forward-socks4a</tt> is that in the SOCKS 4A
+              protocol, the DNS resolution of the target hostname happens on
+              the SOCKS server, while in SOCKS 4 it happens locally.</p>
+
+              <p>With <tt class="LITERAL">forward-socks5</tt> the DNS
+              resolution will happen on the remote server as well.</p>
+
+              <p><tt class="REPLACEABLE c3">socks_proxy</tt> and <tt class=
+              "REPLACEABLE c3">http_parent</tt> can be a numerical IPv6
+              address (if <a href="http://tools.ietf.org/html/rfc3493"
+              target="_top">RFC 3493</a> is implemented). To prevent clashes
+              with the port delimiter, the whole IP address has to be put
+              into brackets. On the other hand a <tt class=
+              "REPLACEABLE c3">target_pattern</tt> containing an IPv6 address
+              has to be put into angle brackets (normal brackets are reserved
+              for regular expressions already).</p>
+
+              <p>If <tt class="REPLACEABLE c3">http_parent</tt> is
+              <span class="QUOTE">"."</span>, then requests are not forwarded
+              to another HTTP proxy but are made (HTTP-wise) directly to the
+              web servers, albeit through a SOCKS proxy.</p>
+            </dd>
+
+            <dt>Examples:</dt>
+
+            <dd>
+              <p>From the company example.com, direct connections are made to
+              all <span class="QUOTE">"internal"</span> domains, but
+              everything outbound goes through their ISP's proxy by way of
+              example.com's corporate SOCKS 4A gateway to the Internet.</p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
   forward-socks4a   /              socks-gw.example.com:1080  www-cache.isp.example.net:8080
   forward           .example.com   .
 </pre>
-                    </td>
-                  </tr>
-                </table>
+                  </td>
+                </tr>
+              </table>
 
-                <p>
-                  A rule that uses a SOCKS 4 gateway for all destinations but
-                  no HTTP parent looks like this:
-                </p>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+              <p>A rule that uses a SOCKS 4 gateway for all destinations but
+              no HTTP parent looks like this:</p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
   forward-socks4   /               socks-gw.example.com:1080  .
 </pre>
-                    </td>
-                  </tr>
-                </table>
+                  </td>
+                </tr>
+              </table>
 
-                <p>
-                  To chain Privoxy and Tor, both running on the same system,
-                  you would use something like:
-                </p>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+              <p>To chain Privoxy and Tor, both running on the same system,
+              you would use something like:</p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
   forward-socks5   /               127.0.0.1:9050 .
 </pre>
-                    </td>
-                  </tr>
-                </table>
+                  </td>
+                </tr>
+              </table>
 
-                <p>
-                  The public <span class="APPLICATION">Tor</span> network
-                  can't be used to reach your local network, if you need to
-                  access local servers you therefore might want to make some
-                  exceptions:
-                </p>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+              <p>The public <span class="APPLICATION">Tor</span> network
+              can't be used to reach your local network, if you need to
+              access local servers you therefore might want to make some
+              exceptions:</p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
   forward         192.168.*.*/     .
   forward            10.*.*.*/     .
   forward           127.*.*.*/     .
 </pre>
-                    </td>
-                  </tr>
-                </table>
+                  </td>
+                </tr>
+              </table>
 
-                <p>
-                  Unencrypted connections to systems in these address ranges
-                  will be as (un)secure as the local network is, but the
-                  alternative is that you can't reach the local network
-                  through <span class="APPLICATION">Privoxy</span> at all. Of
-                  course this may actually be desired and there is no reason
-                  to make these exceptions if you aren't sure you need them.
-                </p>
-                <p>
-                  If you also want to be able to reach servers in your local
-                  network by using their names, you will need additional
-                  exceptions that look like this:
-                </p>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+              <p>Unencrypted connections to systems in these address ranges
+              will be as (un)secure as the local network is, but the
+              alternative is that you can't reach the local network through
+              <span class="APPLICATION">Privoxy</span> at all. Of course this
+              may actually be desired and there is no reason to make these
+              exceptions if you aren't sure you need them.</p>
+
+              <p>If you also want to be able to reach servers in your local
+              network by using their names, you will need additional
+              exceptions that look like this:</p>
+
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
  forward           localhost/     .
 </pre>
-                    </td>
-                  </tr>
-                </table>
-              </dd>
-            </dl>
-          </div>
+                  </td>
+                </tr>
+              </table>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="ADVANCED-FORWARDING-EXAMPLES">7.5.3. Advanced Forwarding
-            Examples</a>
-          </h4>
-          <p>
-            If you have links to multiple ISPs that provide various special
-            content only to their subscribers, you can configure multiple
-            <span class="APPLICATION">Privoxies</span> which have connections
-            to the respective ISPs to act as forwarders to each other, so
-            that <span class="emphasis"><i class="EMPHASIS">your</i></span>
-            users can see the internal content of all ISPs.
-          </p>
-          <p>
-            Assume that host-a has a PPP connection to isp-a.example.net. And
-            host-b has a PPP connection to isp-b.example.org. Both run <span
-            class="APPLICATION">Privoxy</span>. Their forwarding
-            configuration can look like this:
-          </p>
-          <p>
-            host-a:
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="SCREEN">
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="ADVANCED-FORWARDING-EXAMPLES" id=
+        "ADVANCED-FORWARDING-EXAMPLES">7.5.3. Advanced Forwarding
+        Examples</a></h4>
+
+        <p>If you have links to multiple ISPs that provide various special
+        content only to their subscribers, you can configure multiple
+        <span class="APPLICATION">Privoxies</span> which have connections to
+        the respective ISPs to act as forwarders to each other, so that
+        <span class="emphasis EMPHASIS c2">your</span> users can see the
+        internal content of all ISPs.</p>
+
+        <p>Assume that host-a has a PPP connection to isp-a.example.net. And
+        host-b has a PPP connection to isp-b.example.org. Both run
+        <span class="APPLICATION">Privoxy</span>. Their forwarding
+        configuration can look like this:</p>
+
+        <p>host-a:</p>
+
+        <table class="c4" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="SCREEN">
   forward    /           .
   forward    .isp-b.example.net  host-b:8118
 </pre>
-              </td>
-            </tr>
-          </table>
-
-          <p>
-            host-b:
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="SCREEN">
+            </td>
+          </tr>
+        </table>
+
+        <p>host-b:</p>
+
+        <table class="c4" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="SCREEN">
   forward    /           .
   forward    .isp-a.example.org  host-a:8118
 </pre>
-              </td>
-            </tr>
-          </table>
-
-          <p>
-            Now, your users can set their browser's proxy to use either
-            host-a or host-b and be able to browse the internal content of
-            both isp-a and isp-b.
-          </p>
-          <p>
-            If you intend to chain <span class="APPLICATION">Privoxy</span>
-            and <span class="APPLICATION">squid</span> locally, then chaining
-            as <tt class="LITERAL">browser -&gt; squid -&gt; privoxy</tt> is
-            the recommended way.
-          </p>
-          <p>
-            Assuming that <span class="APPLICATION">Privoxy</span> and <span
-            class="APPLICATION">squid</span> run on the same box, your <span
-            class="APPLICATION">squid</span> configuration could then look
-            like this:
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="SCREEN">
+            </td>
+          </tr>
+        </table>
+
+        <p>Now, your users can set their browser's proxy to use either host-a
+        or host-b and be able to browse the internal content of both isp-a
+        and isp-b.</p>
+
+        <p>If you intend to chain <span class="APPLICATION">Privoxy</span>
+        and <span class="APPLICATION">squid</span> locally, then chaining as
+        <tt class="LITERAL">browser -&gt; squid -&gt; privoxy</tt> is the
+        recommended way.</p>
+
+        <p>Assuming that <span class="APPLICATION">Privoxy</span> and
+        <span class="APPLICATION">squid</span> run on the same box, your
+        <span class="APPLICATION">squid</span> configuration could then look
+        like this:</p>
+
+        <table class="c4" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="SCREEN">
   # Define Privoxy as parent proxy (without ICP)
   cache_peer 127.0.0.1 parent 8118 7 no-query
 
@@ -2517,995 +2095,811 @@ Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
   # Forward all the rest to Privoxy
   never_direct allow all
 </pre>
-              </td>
-            </tr>
-          </table>
-
-          <p>
-            You would then need to change your browser's proxy settings to
-            <span class="APPLICATION">squid</span>'s address and port. Squid
-            normally uses port 3128. If unsure consult <tt class=
-            "LITERAL">http_port</tt> in <tt class="FILENAME">squid.conf</tt>.
-          </p>
-          <p>
-            You could just as well decide to only forward requests you
-            suspect of leading to Windows executables through a
-            virus-scanning parent proxy, say, on <tt class=
-            "LITERAL">antivir.example.com</tt>, port 8010:
-          </p>
-          <p>
-          </p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-<pre class="SCREEN">
+            </td>
+          </tr>
+        </table>
+
+        <p>You would then need to change your browser's proxy settings to
+        <span class="APPLICATION">squid</span>'s address and port. Squid
+        normally uses port 3128. If unsure consult <tt class=
+        "LITERAL">http_port</tt> in <tt class="FILENAME">squid.conf</tt>.</p>
+
+        <p>You could just as well decide to only forward requests you suspect
+        of leading to Windows executables through a virus-scanning parent
+        proxy, say, on <tt class="LITERAL">antivir.example.com</tt>, port
+        8010:</p>
+
+        <table class="c4" border="0" width="100%">
+          <tr>
+            <td>
+              <pre class="SCREEN">
   forward   /                          .
   forward   /.*\.(exe|com|dll|zip)$    antivir.example.com:8010
 </pre>
-              </td>
-            </tr>
-          </table>
-        </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="FORWARDED-CONNECT-RETRIES">7.5.4.
-            forwarded-connect-retries</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Specifies:
-              </dt>
-              <dd>
-                <p>
-                  How often Privoxy retries if a forwarded connection request
-                  fails.
-                </p>
-              </dd>
-              <dt>
-                Type of value:
-              </dt>
-              <dd>
-                <p>
-                  <tt class="REPLACEABLE"><i>Number of retries.</i></tt>
-                </p>
-              </dd>
-              <dt>
-                Default value:
-              </dt>
-              <dd>
-                <p>
-                  <span class="emphasis"><i class="EMPHASIS">0</i></span>
-                </p>
-              </dd>
-              <dt>
-                Effect if unset:
-              </dt>
-              <dd>
-                <p>
-                  Connections forwarded through other proxies are treated
-                  like direct connections and no retry attempts are made.
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  <tt class=
-                  "REPLACEABLE"><i>forwarded-connect-retries</i></tt> is
-                  mainly interesting for socks4a connections, where <span
-                  class="APPLICATION">Privoxy</span> can't detect why the
-                  connections failed. The connection might have failed
-                  because of a DNS timeout in which case a retry makes sense,
-                  but it might also have failed because the server doesn't
-                  exist or isn't reachable. In this case the retry will just
-                  delay the appearance of Privoxy's error message.
-                </p>
-                <p>
-                  Note that in the context of this option, <span class=
-                  "QUOTE">"forwarded connections"</span> includes all
-                  connections that Privoxy forwards through other proxies.
-                  This option is not limited to the HTTP CONNECT method.
-                </p>
-                <p>
-                  Only use this option, if you are getting lots of
-                  forwarding-related error messages that go away when you try
-                  again manually. Start with a small value and check
-                  Privoxy's logfile from time to time, to see how many
-                  retries are usually needed.
-                </p>
-              </dd>
-              <dt>
-                Examples:
-              </dt>
-              <dd>
-                <p>
-                  forwarded-connect-retries 1
-                </p>
-              </dd>
-            </dl>
-          </div>
+            </td>
+          </tr>
+        </table>
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="FORWARDED-CONNECT-RETRIES" id=
+        "FORWARDED-CONNECT-RETRIES">7.5.4. forwarded-connect-retries</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Specifies:</dt>
+
+            <dd>
+              <p>How often Privoxy retries if a forwarded connection request
+              fails.</p>
+            </dd>
+
+            <dt>Type of value:</dt>
+
+            <dd>
+              <p><tt class="REPLACEABLE c3">Number of retries.</tt></p>
+            </dd>
+
+            <dt>Default value:</dt>
+
+            <dd>
+              <p><span class="emphasis EMPHASIS c2">0</span></p>
+            </dd>
+
+            <dt>Effect if unset:</dt>
+
+            <dd>
+              <p>Connections forwarded through other proxies are treated like
+              direct connections and no retry attempts are made.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p><tt class="REPLACEABLE c3">forwarded-connect-retries</tt> is
+              mainly interesting for socks4a connections, where <span class=
+              "APPLICATION">Privoxy</span> can't detect why the connections
+              failed. The connection might have failed because of a DNS
+              timeout in which case a retry makes sense, but it might also
+              have failed because the server doesn't exist or isn't
+              reachable. In this case the retry will just delay the
+              appearance of Privoxy's error message.</p>
+
+              <p>Note that in the context of this option, <span class=
+              "QUOTE">"forwarded connections"</span> includes all connections
+              that Privoxy forwards through other proxies. This option is not
+              limited to the HTTP CONNECT method.</p>
+
+              <p>Only use this option, if you are getting lots of
+              forwarding-related error messages that go away when you try
+              again manually. Start with a small value and check Privoxy's
+              logfile from time to time, to see how many retries are usually
+              needed.</p>
+            </dd>
+
+            <dt>Examples:</dt>
+
+            <dd>
+              <p>forwarded-connect-retries 1</p>
+            </dd>
+          </dl>
         </div>
       </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="MISC">7.6. Miscellaneous</a>
-        </h2>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="ACCEPT-INTERCEPTED-REQUESTS">7.6.1.
-            accept-intercepted-requests</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Specifies:
-              </dt>
-              <dd>
-                <p>
-                  Whether intercepted requests should be treated as valid.
-                </p>
-              </dd>
-              <dt>
-                Type of value:
-              </dt>
-              <dd>
-                <p>
-                  <tt class="REPLACEABLE"><i>0 or 1</i></tt>
-                </p>
-              </dd>
-              <dt>
-                Default value:
-              </dt>
-              <dd>
-                <p>
-                  <span class="emphasis"><i class="EMPHASIS">0</i></span>
-                </p>
-              </dd>
-              <dt>
-                Effect if unset:
-              </dt>
-              <dd>
-                <p>
-                  Only proxy requests are accepted, intercepted requests are
-                  treated as invalid.
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  If you don't trust your clients and want to force them to
-                  use <span class="APPLICATION">Privoxy</span>, enable this
-                  option and configure your packet filter to redirect
-                  outgoing HTTP connections into <span class=
-                  "APPLICATION">Privoxy</span>.
-                </p>
-                <p>
-                  Make sure that <span class="APPLICATION">Privoxy's</span>
-                  own requests aren't redirected as well. Additionally take
-                  care that <span class="APPLICATION">Privoxy</span> can't
-                  intentionally connect to itself, otherwise you could run
-                  into redirection loops if <span class=
-                  "APPLICATION">Privoxy's</span> listening port is reachable
-                  by the outside or an attacker has access to the pages you
-                  visit.
-                </p>
-              </dd>
-              <dt>
-                Examples:
-              </dt>
-              <dd>
-                <p>
-                  accept-intercepted-requests 1
-                </p>
-              </dd>
-            </dl>
-          </div>
+    </div>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="MISC" id="MISC">7.6. Miscellaneous</a></h2>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="ACCEPT-INTERCEPTED-REQUESTS" id=
+        "ACCEPT-INTERCEPTED-REQUESTS">7.6.1.
+        accept-intercepted-requests</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Specifies:</dt>
+
+            <dd>
+              <p>Whether intercepted requests should be treated as valid.</p>
+            </dd>
+
+            <dt>Type of value:</dt>
+
+            <dd>
+              <p><tt class="REPLACEABLE c3">0 or 1</tt></p>
+            </dd>
+
+            <dt>Default value:</dt>
+
+            <dd>
+              <p><span class="emphasis EMPHASIS c2">0</span></p>
+            </dd>
+
+            <dt>Effect if unset:</dt>
+
+            <dd>
+              <p>Only proxy requests are accepted, intercepted requests are
+              treated as invalid.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>If you don't trust your clients and want to force them to
+              use <span class="APPLICATION">Privoxy</span>, enable this
+              option and configure your packet filter to redirect outgoing
+              HTTP connections into <span class=
+              "APPLICATION">Privoxy</span>.</p>
+
+              <p>Make sure that <span class="APPLICATION">Privoxy's</span>
+              own requests aren't redirected as well. Additionally take care
+              that <span class="APPLICATION">Privoxy</span> can't
+              intentionally connect to itself, otherwise you could run into
+              redirection loops if <span class="APPLICATION">Privoxy's</span>
+              listening port is reachable by the outside or an attacker has
+              access to the pages you visit.</p>
+            </dd>
+
+            <dt>Examples:</dt>
+
+            <dd>
+              <p>accept-intercepted-requests 1</p>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="ALLOW-CGI-REQUEST-CRUNCHING">7.6.2.
-            allow-cgi-request-crunching</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Specifies:
-              </dt>
-              <dd>
-                <p>
-                  Whether requests to <span class=
-                  "APPLICATION">Privoxy's</span> CGI pages can be blocked or
-                  redirected.
-                </p>
-              </dd>
-              <dt>
-                Type of value:
-              </dt>
-              <dd>
-                <p>
-                  <tt class="REPLACEABLE"><i>0 or 1</i></tt>
-                </p>
-              </dd>
-              <dt>
-                Default value:
-              </dt>
-              <dd>
-                <p>
-                  <span class="emphasis"><i class="EMPHASIS">0</i></span>
-                </p>
-              </dd>
-              <dt>
-                Effect if unset:
-              </dt>
-              <dd>
-                <p>
-                  <span class="APPLICATION">Privoxy</span> ignores block and
-                  redirect actions for its CGI pages.
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  By default <span class="APPLICATION">Privoxy</span> ignores
-                  block or redirect actions for its CGI pages. Intercepting
-                  these requests can be useful in multi-user setups to
-                  implement fine-grained access control, but it can also
-                  render the complete web interface useless and make
-                  debugging problems painful if done without care.
-                </p>
-                <p>
-                  Don't enable this option unless you're sure that you really
-                  need it.
-                </p>
-              </dd>
-              <dt>
-                Examples:
-              </dt>
-              <dd>
-                <p>
-                  allow-cgi-request-crunching 1
-                </p>
-              </dd>
-            </dl>
-          </div>
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="ALLOW-CGI-REQUEST-CRUNCHING" id=
+        "ALLOW-CGI-REQUEST-CRUNCHING">7.6.2.
+        allow-cgi-request-crunching</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Specifies:</dt>
+
+            <dd>
+              <p>Whether requests to <span class=
+              "APPLICATION">Privoxy's</span> CGI pages can be blocked or
+              redirected.</p>
+            </dd>
+
+            <dt>Type of value:</dt>
+
+            <dd>
+              <p><tt class="REPLACEABLE c3">0 or 1</tt></p>
+            </dd>
+
+            <dt>Default value:</dt>
+
+            <dd>
+              <p><span class="emphasis EMPHASIS c2">0</span></p>
+            </dd>
+
+            <dt>Effect if unset:</dt>
+
+            <dd>
+              <p><span class="APPLICATION">Privoxy</span> ignores block and
+              redirect actions for its CGI pages.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>By default <span class="APPLICATION">Privoxy</span> ignores
+              block or redirect actions for its CGI pages. Intercepting these
+              requests can be useful in multi-user setups to implement
+              fine-grained access control, but it can also render the
+              complete web interface useless and make debugging problems
+              painful if done without care.</p>
+
+              <p>Don't enable this option unless you're sure that you really
+              need it.</p>
+            </dd>
+
+            <dt>Examples:</dt>
+
+            <dd>
+              <p>allow-cgi-request-crunching 1</p>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="SPLIT-LARGE-FORMS">7.6.3. split-large-forms</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Specifies:
-              </dt>
-              <dd>
-                <p>
-                  Whether the CGI interface should stay compatible with
-                  broken HTTP clients.
-                </p>
-              </dd>
-              <dt>
-                Type of value:
-              </dt>
-              <dd>
-                <p>
-                  <tt class="REPLACEABLE"><i>0 or 1</i></tt>
-                </p>
-              </dd>
-              <dt>
-                Default value:
-              </dt>
-              <dd>
-                <p>
-                  <span class="emphasis"><i class="EMPHASIS">0</i></span>
-                </p>
-              </dd>
-              <dt>
-                Effect if unset:
-              </dt>
-              <dd>
-                <p>
-                  The CGI form generate long GET URLs.
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  <span class="APPLICATION">Privoxy's</span> CGI forms can
-                  lead to rather long URLs. This isn't a problem as far as
-                  the HTTP standard is concerned, but it can confuse clients
-                  with arbitrary URL length limitations.
-                </p>
-                <p>
-                  Enabling split-large-forms causes <span class=
-                  "APPLICATION">Privoxy</span> to divide big forms into
-                  smaller ones to keep the URL length down. It makes editing
-                  a lot less convenient and you can no longer submit all
-                  changes at once, but at least it works around this browser
-                  bug.
-                </p>
-                <p>
-                  If you don't notice any editing problems, there is no
-                  reason to enable this option, but if one of the submit
-                  buttons appears to be broken, you should give it a try.
-                </p>
-              </dd>
-              <dt>
-                Examples:
-              </dt>
-              <dd>
-                <p>
-                  split-large-forms 1
-                </p>
-              </dd>
-            </dl>
-          </div>
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="SPLIT-LARGE-FORMS" id=
+        "SPLIT-LARGE-FORMS">7.6.3. split-large-forms</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Specifies:</dt>
+
+            <dd>
+              <p>Whether the CGI interface should stay compatible with broken
+              HTTP clients.</p>
+            </dd>
+
+            <dt>Type of value:</dt>
+
+            <dd>
+              <p><tt class="REPLACEABLE c3">0 or 1</tt></p>
+            </dd>
+
+            <dt>Default value:</dt>
+
+            <dd>
+              <p><span class="emphasis EMPHASIS c2">0</span></p>
+            </dd>
+
+            <dt>Effect if unset:</dt>
+
+            <dd>
+              <p>The CGI form generate long GET URLs.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p><span class="APPLICATION">Privoxy's</span> CGI forms can
+              lead to rather long URLs. This isn't a problem as far as the
+              HTTP standard is concerned, but it can confuse clients with
+              arbitrary URL length limitations.</p>
+
+              <p>Enabling split-large-forms causes <span class=
+              "APPLICATION">Privoxy</span> to divide big forms into smaller
+              ones to keep the URL length down. It makes editing a lot less
+              convenient and you can no longer submit all changes at once,
+              but at least it works around this browser bug.</p>
+
+              <p>If you don't notice any editing problems, there is no reason
+              to enable this option, but if one of the submit buttons appears
+              to be broken, you should give it a try.</p>
+            </dd>
+
+            <dt>Examples:</dt>
+
+            <dd>
+              <p>split-large-forms 1</p>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="KEEP-ALIVE-TIMEOUT">7.6.4. keep-alive-timeout</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Specifies:
-              </dt>
-              <dd>
-                <p>
-                  Number of seconds after which an open connection will no
-                  longer be reused.
-                </p>
-              </dd>
-              <dt>
-                Type of value:
-              </dt>
-              <dd>
-                <p>
-                  <tt class="REPLACEABLE"><i>Time in seconds.</i></tt>
-                </p>
-              </dd>
-              <dt>
-                Default value:
-              </dt>
-              <dd>
-                <p>
-                  None
-                </p>
-              </dd>
-              <dt>
-                Effect if unset:
-              </dt>
-              <dd>
-                <p>
-                  Connections are not kept alive.
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  This option allows clients to keep the connection to <span
-                  class="APPLICATION">Privoxy</span> alive. If the server
-                  supports it, <span class="APPLICATION">Privoxy</span> will
-                  keep the connection to the server alive as well. Under
-                  certain circumstances this may result in speed-ups.
-                </p>
-                <p>
-                  By default, <span class="APPLICATION">Privoxy</span> will
-                  close the connection to the server if the client connection
-                  gets closed, or if the specified timeout has been reached
-                  without a new request coming in. This behaviour can be
-                  changed with the <a href="#CONNECTION-SHARING" target=
-                  "_top">connection-sharing</a> option.
-                </p>
-                <p>
-                  This option has no effect if <span class=
-                  "APPLICATION">Privoxy</span> has been compiled without
-                  keep-alive support.
-                </p>
-                <p>
-                  Note that a timeout of five seconds as used in the default
-                  configuration file significantly decreases the number of
-                  connections that will be reused. The value is used because
-                  some browsers limit the number of connections they open to
-                  a single host and apply the same limit to proxies. This can
-                  result in a single website <span class=
-                  "QUOTE">"grabbing"</span> all the connections the browser
-                  allows, which means connections to other websites can't be
-                  opened until the connections currently in use time out.
-                </p>
-                <p>
-                  Several users have reported this as a Privoxy bug, so the
-                  default value has been reduced. Consider increasing it to
-                  300 seconds or even more if you think your browser can
-                  handle it. If your browser appears to be hanging it can't.
-                </p>
-              </dd>
-              <dt>
-                Examples:
-              </dt>
-              <dd>
-                <p>
-                  keep-alive-timeout 300
-                </p>
-              </dd>
-            </dl>
-          </div>
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="KEEP-ALIVE-TIMEOUT" id=
+        "KEEP-ALIVE-TIMEOUT">7.6.4. keep-alive-timeout</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Specifies:</dt>
+
+            <dd>
+              <p>Number of seconds after which an open connection will no
+              longer be reused.</p>
+            </dd>
+
+            <dt>Type of value:</dt>
+
+            <dd>
+              <p><tt class="REPLACEABLE c3">Time in seconds.</tt></p>
+            </dd>
+
+            <dt>Default value:</dt>
+
+            <dd>
+              <p>None</p>
+            </dd>
+
+            <dt>Effect if unset:</dt>
+
+            <dd>
+              <p>Connections are not kept alive.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>This option allows clients to keep the connection to
+              <span class="APPLICATION">Privoxy</span> alive. If the server
+              supports it, <span class="APPLICATION">Privoxy</span> will keep
+              the connection to the server alive as well. Under certain
+              circumstances this may result in speed-ups.</p>
+
+              <p>By default, <span class="APPLICATION">Privoxy</span> will
+              close the connection to the server if the client connection
+              gets closed, or if the specified timeout has been reached
+              without a new request coming in. This behaviour can be changed
+              with the <a href="#CONNECTION-SHARING" target=
+              "_top">connection-sharing</a> option.</p>
+
+              <p>This option has no effect if <span class=
+              "APPLICATION">Privoxy</span> has been compiled without
+              keep-alive support.</p>
+
+              <p>Note that a timeout of five seconds as used in the default
+              configuration file significantly decreases the number of
+              connections that will be reused. The value is used because some
+              browsers limit the number of connections they open to a single
+              host and apply the same limit to proxies. This can result in a
+              single website <span class="QUOTE">"grabbing"</span> all the
+              connections the browser allows, which means connections to
+              other websites can't be opened until the connections currently
+              in use time out.</p>
+
+              <p>Several users have reported this as a Privoxy bug, so the
+              default value has been reduced. Consider increasing it to 300
+              seconds or even more if you think your browser can handle it.
+              If your browser appears to be hanging it can't.</p>
+            </dd>
+
+            <dt>Examples:</dt>
+
+            <dd>
+              <p>keep-alive-timeout 300</p>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="DEFAULT-SERVER-TIMEOUT">7.6.5.
-            default-server-timeout</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Specifies:
-              </dt>
-              <dd>
-                <p>
-                  Assumed server-side keep-alive timeout if not specified by
-                  the server.
-                </p>
-              </dd>
-              <dt>
-                Type of value:
-              </dt>
-              <dd>
-                <p>
-                  <tt class="REPLACEABLE"><i>Time in seconds.</i></tt>
-                </p>
-              </dd>
-              <dt>
-                Default value:
-              </dt>
-              <dd>
-                <p>
-                  None
-                </p>
-              </dd>
-              <dt>
-                Effect if unset:
-              </dt>
-              <dd>
-                <p>
-                  Connections for which the server didn't specify the
-                  keep-alive timeout are not reused.
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  Enabling this option significantly increases the number of
-                  connections that are reused, provided the <a href=
-                  "#KEEP-ALIVE-TIMEOUT" target="_top">keep-alive-timeout</a>
-                  option is also enabled.
-                </p>
-                <p>
-                  While it also increases the number of connections problems
-                  when <span class="APPLICATION">Privoxy</span> tries to
-                  reuse a connection that already has been closed on the
-                  server side, or is closed while <span class=
-                  "APPLICATION">Privoxy</span> is trying to reuse it, this
-                  should only be a problem if it happens for the first
-                  request sent by the client. If it happens for requests on
-                  reused client connections, <span class=
-                  "APPLICATION">Privoxy</span> will simply close the
-                  connection and the client is supposed to retry the request
-                  without bothering the user.
-                </p>
-                <p>
-                  Enabling this option is therefore only recommended if the
-                  <a href="#CONNECTION-SHARING" target=
-                  "_top">connection-sharing</a> option is disabled.
-                </p>
-                <p>
-                  It is an error to specify a value larger than the <a href=
-                  "#KEEP-ALIVE-TIMEOUT" target="_top">keep-alive-timeout</a>
-                  value.
-                </p>
-                <p>
-                  This option has no effect if <span class=
-                  "APPLICATION">Privoxy</span> has been compiled without
-                  keep-alive support.
-                </p>
-              </dd>
-              <dt>
-                Examples:
-              </dt>
-              <dd>
-                <p>
-                  default-server-timeout 60
-                </p>
-              </dd>
-            </dl>
-          </div>
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="DEFAULT-SERVER-TIMEOUT" id=
+        "DEFAULT-SERVER-TIMEOUT">7.6.5. default-server-timeout</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Specifies:</dt>
+
+            <dd>
+              <p>Assumed server-side keep-alive timeout if not specified by
+              the server.</p>
+            </dd>
+
+            <dt>Type of value:</dt>
+
+            <dd>
+              <p><tt class="REPLACEABLE c3">Time in seconds.</tt></p>
+            </dd>
+
+            <dt>Default value:</dt>
+
+            <dd>
+              <p>None</p>
+            </dd>
+
+            <dt>Effect if unset:</dt>
+
+            <dd>
+              <p>Connections for which the server didn't specify the
+              keep-alive timeout are not reused.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>Enabling this option significantly increases the number of
+              connections that are reused, provided the <a href=
+              "#KEEP-ALIVE-TIMEOUT" target="_top">keep-alive-timeout</a>
+              option is also enabled.</p>
+
+              <p>While it also increases the number of connections problems
+              when <span class="APPLICATION">Privoxy</span> tries to reuse a
+              connection that already has been closed on the server side, or
+              is closed while <span class="APPLICATION">Privoxy</span> is
+              trying to reuse it, this should only be a problem if it happens
+              for the first request sent by the client. If it happens for
+              requests on reused client connections, <span class=
+              "APPLICATION">Privoxy</span> will simply close the connection
+              and the client is supposed to retry the request without
+              bothering the user.</p>
+
+              <p>Enabling this option is therefore only recommended if the
+              <a href="#CONNECTION-SHARING" target=
+              "_top">connection-sharing</a> option is disabled.</p>
+
+              <p>It is an error to specify a value larger than the <a href=
+              "#KEEP-ALIVE-TIMEOUT" target="_top">keep-alive-timeout</a>
+              value.</p>
+
+              <p>This option has no effect if <span class=
+              "APPLICATION">Privoxy</span> has been compiled without
+              keep-alive support.</p>
+            </dd>
+
+            <dt>Examples:</dt>
+
+            <dd>
+              <p>default-server-timeout 60</p>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="CONNECTION-SHARING">7.6.6. connection-sharing</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Specifies:
-              </dt>
-              <dd>
-                <p>
-                  Whether or not outgoing connections that have been kept
-                  alive should be shared between different incoming
-                  connections.
-                </p>
-              </dd>
-              <dt>
-                Type of value:
-              </dt>
-              <dd>
-                <p>
-                  <tt class="REPLACEABLE"><i>0 or 1</i></tt>
-                </p>
-              </dd>
-              <dt>
-                Default value:
-              </dt>
-              <dd>
-                <p>
-                  None
-                </p>
-              </dd>
-              <dt>
-                Effect if unset:
-              </dt>
-              <dd>
-                <p>
-                  Connections are not shared.
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  This option has no effect if <span class=
-                  "APPLICATION">Privoxy</span> has been compiled without
-                  keep-alive support, or if it's disabled.
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  Note that reusing connections doesn't necessary cause
-                  speedups. There are also a few privacy implications you
-                  should be aware of.
-                </p>
-                <p>
-                  If this option is effective, outgoing connections are
-                  shared between clients (if there are more than one) and
-                  closing the browser that initiated the outgoing connection
-                  does no longer affect the connection between <span class=
-                  "APPLICATION">Privoxy</span> and the server unless the
-                  client's request hasn't been completed yet.
-                </p>
-                <p>
-                  If the outgoing connection is idle, it will not be closed
-                  until either <span class="APPLICATION">Privoxy's</span> or
-                  the server's timeout is reached. While it's open, the
-                  server knows that the system running <span class=
-                  "APPLICATION">Privoxy</span> is still there.
-                </p>
-                <p>
-                  If there are more than one client (maybe even belonging to
-                  multiple users), they will be able to reuse each others
-                  connections. This is potentially dangerous in case of
-                  authentication schemes like NTLM where only the connection
-                  is authenticated, instead of requiring authentication for
-                  each request.
-                </p>
-                <p>
-                  If there is only a single client, and if said client can
-                  keep connections alive on its own, enabling this option has
-                  next to no effect. If the client doesn't support connection
-                  keep-alive, enabling this option may make sense as it
-                  allows <span class="APPLICATION">Privoxy</span> to keep
-                  outgoing connections alive even if the client itself
-                  doesn't support it.
-                </p>
-                <p>
-                  You should also be aware that enabling this option
-                  increases the likelihood of getting the "No server or
-                  forwarder data" error message, especially if you are using
-                  a slow connection to the Internet.
-                </p>
-                <p>
-                  This option should only be used by experienced users who
-                  understand the risks and can weight them against the
-                  benefits.
-                </p>
-              </dd>
-              <dt>
-                Examples:
-              </dt>
-              <dd>
-                <p>
-                  connection-sharing 1
-                </p>
-              </dd>
-            </dl>
-          </div>
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="CONNECTION-SHARING" id=
+        "CONNECTION-SHARING">7.6.6. connection-sharing</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Specifies:</dt>
+
+            <dd>
+              <p>Whether or not outgoing connections that have been kept
+              alive should be shared between different incoming
+              connections.</p>
+            </dd>
+
+            <dt>Type of value:</dt>
+
+            <dd>
+              <p><tt class="REPLACEABLE c3">0 or 1</tt></p>
+            </dd>
+
+            <dt>Default value:</dt>
+
+            <dd>
+              <p>None</p>
+            </dd>
+
+            <dt>Effect if unset:</dt>
+
+            <dd>
+              <p>Connections are not shared.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>This option has no effect if <span class=
+              "APPLICATION">Privoxy</span> has been compiled without
+              keep-alive support, or if it's disabled.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>Note that reusing connections doesn't necessary cause
+              speedups. There are also a few privacy implications you should
+              be aware of.</p>
+
+              <p>If this option is effective, outgoing connections are shared
+              between clients (if there are more than one) and closing the
+              browser that initiated the outgoing connection does no longer
+              affect the connection between <span class=
+              "APPLICATION">Privoxy</span> and the server unless the client's
+              request hasn't been completed yet.</p>
+
+              <p>If the outgoing connection is idle, it will not be closed
+              until either <span class="APPLICATION">Privoxy's</span> or the
+              server's timeout is reached. While it's open, the server knows
+              that the system running <span class=
+              "APPLICATION">Privoxy</span> is still there.</p>
+
+              <p>If there are more than one client (maybe even belonging to
+              multiple users), they will be able to reuse each others
+              connections. This is potentially dangerous in case of
+              authentication schemes like NTLM where only the connection is
+              authenticated, instead of requiring authentication for each
+              request.</p>
+
+              <p>If there is only a single client, and if said client can
+              keep connections alive on its own, enabling this option has
+              next to no effect. If the client doesn't support connection
+              keep-alive, enabling this option may make sense as it allows
+              <span class="APPLICATION">Privoxy</span> to keep outgoing
+              connections alive even if the client itself doesn't support
+              it.</p>
+
+              <p>You should also be aware that enabling this option increases
+              the likelihood of getting the "No server or forwarder data"
+              error message, especially if you are using a slow connection to
+              the Internet.</p>
+
+              <p>This option should only be used by experienced users who
+              understand the risks and can weight them against the
+              benefits.</p>
+            </dd>
+
+            <dt>Examples:</dt>
+
+            <dd>
+              <p>connection-sharing 1</p>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="SOCKET-TIMEOUT">7.6.7. socket-timeout</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Specifies:
-              </dt>
-              <dd>
-                <p>
-                  Number of seconds after which a socket times out if no data
-                  is received.
-                </p>
-              </dd>
-              <dt>
-                Type of value:
-              </dt>
-              <dd>
-                <p>
-                  <tt class="REPLACEABLE"><i>Time in seconds.</i></tt>
-                </p>
-              </dd>
-              <dt>
-                Default value:
-              </dt>
-              <dd>
-                <p>
-                  None
-                </p>
-              </dd>
-              <dt>
-                Effect if unset:
-              </dt>
-              <dd>
-                <p>
-                  A default value of 300 seconds is used.
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  The default is quite high and you probably want to reduce
-                  it. If you aren't using an occasionally slow proxy like
-                  Tor, reducing it to a few seconds should be fine.
-                </p>
-              </dd>
-              <dt>
-                Examples:
-              </dt>
-              <dd>
-                <p>
-                  socket-timeout 300
-                </p>
-              </dd>
-            </dl>
-          </div>
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="SOCKET-TIMEOUT" id="SOCKET-TIMEOUT">7.6.7.
+        socket-timeout</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Specifies:</dt>
+
+            <dd>
+              <p>Number of seconds after which a socket times out if no data
+              is received.</p>
+            </dd>
+
+            <dt>Type of value:</dt>
+
+            <dd>
+              <p><tt class="REPLACEABLE c3">Time in seconds.</tt></p>
+            </dd>
+
+            <dt>Default value:</dt>
+
+            <dd>
+              <p>None</p>
+            </dd>
+
+            <dt>Effect if unset:</dt>
+
+            <dd>
+              <p>A default value of 300 seconds is used.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>The default is quite high and you probably want to reduce
+              it. If you aren't using an occasionally slow proxy like Tor,
+              reducing it to a few seconds should be fine.</p>
+            </dd>
+
+            <dt>Examples:</dt>
+
+            <dd>
+              <p>socket-timeout 300</p>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="MAX-CLIENT-CONNECTIONS">7.6.8.
-            max-client-connections</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Specifies:
-              </dt>
-              <dd>
-                <p>
-                  Maximum number of client connections that will be served.
-                </p>
-              </dd>
-              <dt>
-                Type of value:
-              </dt>
-              <dd>
-                <p>
-                  <tt class="REPLACEABLE"><i>Positive number.</i></tt>
-                </p>
-              </dd>
-              <dt>
-                Default value:
-              </dt>
-              <dd>
-                <p>
-                  None
-                </p>
-              </dd>
-              <dt>
-                Effect if unset:
-              </dt>
-              <dd>
-                <p>
-                  Connections are served until a resource limit is reached.
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  <span class="APPLICATION">Privoxy</span> creates one thread
-                  (or process) for every incoming client connection that
-                  isn't rejected based on the access control settings.
-                </p>
-                <p>
-                  If the system is powerful enough, <span class=
-                  "APPLICATION">Privoxy</span> can theoretically deal with
-                  several hundred (or thousand) connections at the same time,
-                  but some operating systems enforce resource limits by
-                  shutting down offending processes and their default limits
-                  may be below the ones <span class=
-                  "APPLICATION">Privoxy</span> would require under heavy
-                  load.
-                </p>
-                <p>
-                  Configuring <span class="APPLICATION">Privoxy</span> to
-                  enforce a connection limit below the thread or process
-                  limit used by the operating system makes sure this doesn't
-                  happen. Simply increasing the operating system's limit
-                  would work too, but if <span class=
-                  "APPLICATION">Privoxy</span> isn't the only application
-                  running on the system, you may actually want to limit the
-                  resources used by <span class="APPLICATION">Privoxy</span>.
-                </p>
-                <p>
-                  If <span class="APPLICATION">Privoxy</span> is only used by
-                  a single trusted user, limiting the number of client
-                  connections is probably unnecessary. If there are multiple
-                  possibly untrusted users you probably still want to
-                  additionally use a packet filter to limit the maximal
-                  number of incoming connections per client. Otherwise a
-                  malicious user could intentionally create a high number of
-                  connections to prevent other users from using <span class=
-                  "APPLICATION">Privoxy</span>.
-                </p>
-                <p>
-                  Obviously using this option only makes sense if you choose
-                  a limit below the one enforced by the operating system.
-                </p>
-              </dd>
-              <dt>
-                Examples:
-              </dt>
-              <dd>
-                <p>
-                  max-client-connections 256
-                </p>
-              </dd>
-            </dl>
-          </div>
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="MAX-CLIENT-CONNECTIONS" id=
+        "MAX-CLIENT-CONNECTIONS">7.6.8. max-client-connections</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Specifies:</dt>
+
+            <dd>
+              <p>Maximum number of client connections that will be
+              served.</p>
+            </dd>
+
+            <dt>Type of value:</dt>
+
+            <dd>
+              <p><tt class="REPLACEABLE c3">Positive number.</tt></p>
+            </dd>
+
+            <dt>Default value:</dt>
+
+            <dd>
+              <p>None</p>
+            </dd>
+
+            <dt>Effect if unset:</dt>
+
+            <dd>
+              <p>Connections are served until a resource limit is
+              reached.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p><span class="APPLICATION">Privoxy</span> creates one thread
+              (or process) for every incoming client connection that isn't
+              rejected based on the access control settings.</p>
+
+              <p>If the system is powerful enough, <span class=
+              "APPLICATION">Privoxy</span> can theoretically deal with
+              several hundred (or thousand) connections at the same time, but
+              some operating systems enforce resource limits by shutting down
+              offending processes and their default limits may be below the
+              ones <span class="APPLICATION">Privoxy</span> would require
+              under heavy load.</p>
+
+              <p>Configuring <span class="APPLICATION">Privoxy</span> to
+              enforce a connection limit below the thread or process limit
+              used by the operating system makes sure this doesn't happen.
+              Simply increasing the operating system's limit would work too,
+              but if <span class="APPLICATION">Privoxy</span> isn't the only
+              application running on the system, you may actually want to
+              limit the resources used by <span class=
+              "APPLICATION">Privoxy</span>.</p>
+
+              <p>If <span class="APPLICATION">Privoxy</span> is only used by
+              a single trusted user, limiting the number of client
+              connections is probably unnecessary. If there are multiple
+              possibly untrusted users you probably still want to
+              additionally use a packet filter to limit the maximal number of
+              incoming connections per client. Otherwise a malicious user
+              could intentionally create a high number of connections to
+              prevent other users from using <span class=
+              "APPLICATION">Privoxy</span>.</p>
+
+              <p>Obviously using this option only makes sense if you choose a
+              limit below the one enforced by the operating system.</p>
+            </dd>
+
+            <dt>Examples:</dt>
+
+            <dd>
+              <p>max-client-connections 256</p>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="HANDLE-AS-EMPTY-DOC-RETURNS-OK">7.6.9.
-            handle-as-empty-doc-returns-ok</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Specifies:
-              </dt>
-              <dd>
-                <p>
-                  The status code Privoxy returns for pages blocked with <tt
-                  class="LITERAL"><a href=
-                  "actions-file.html#HANDLE-AS-EMPTY-DOCUMENT" target=
-                  "_top">+handle-as-empty-document</a></tt>.
-                </p>
-              </dd>
-              <dt>
-                Type of value:
-              </dt>
-              <dd>
-                <p>
-                  <tt class="REPLACEABLE"><i>0 or 1</i></tt>
-                </p>
-              </dd>
-              <dt>
-                Default value:
-              </dt>
-              <dd>
-                <p>
-                  0
-                </p>
-              </dd>
-              <dt>
-                Effect if unset:
-              </dt>
-              <dd>
-                <p>
-                  Privoxy returns a status 403(forbidden) for all blocked
-                  pages.
-                </p>
-              </dd>
-              <dt>
-                Effect if set:
-              </dt>
-              <dd>
-                <p>
-                  Privoxy returns a status 200(OK) for pages blocked with
-                  +handle-as-empty-document and a status 403(Forbidden) for
-                  all other blocked pages.
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  This is a work-around for Firefox bug 492459: <span class=
-                  "QUOTE">" Websites are no longer rendered if SSL requests
-                  for JavaScripts are blocked by a proxy. "</span> (<a href=
-                  "https://bugzilla.mozilla.org/show_bug.cgi?id=492459"
-                  target=
-                  "_top">https://bugzilla.mozilla.org/show_bug.cgi?id=492459</a>)
-                  As the bug has been fixed for quite some time this option
-                  should no longer be needed and will be removed in a future
-                  release. Please speak up if you have a reason why the
-                  option should be kept around.
-                </p>
-              </dd>
-            </dl>
-          </div>
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="HANDLE-AS-EMPTY-DOC-RETURNS-OK" id=
+        "HANDLE-AS-EMPTY-DOC-RETURNS-OK">7.6.9.
+        handle-as-empty-doc-returns-ok</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Specifies:</dt>
+
+            <dd>
+              <p>The status code Privoxy returns for pages blocked with
+              <tt class="LITERAL"><a href=
+              "actions-file.html#HANDLE-AS-EMPTY-DOCUMENT" target=
+              "_top">+handle-as-empty-document</a></tt>.</p>
+            </dd>
+
+            <dt>Type of value:</dt>
+
+            <dd>
+              <p><tt class="REPLACEABLE c3">0 or 1</tt></p>
+            </dd>
+
+            <dt>Default value:</dt>
+
+            <dd>
+              <p>0</p>
+            </dd>
+
+            <dt>Effect if unset:</dt>
+
+            <dd>
+              <p>Privoxy returns a status 403(forbidden) for all blocked
+              pages.</p>
+            </dd>
+
+            <dt>Effect if set:</dt>
+
+            <dd>
+              <p>Privoxy returns a status 200(OK) for pages blocked with
+              +handle-as-empty-document and a status 403(Forbidden) for all
+              other blocked pages.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>This is a work-around for Firefox bug 492459: <span class=
+              "QUOTE">" Websites are no longer rendered if SSL requests for
+              JavaScripts are blocked by a proxy. "</span> (<a href=
+              "https://bugzilla.mozilla.org/show_bug.cgi?id=492459" target=
+              "_top">https://bugzilla.mozilla.org/show_bug.cgi?id=492459</a>)
+              As the bug has been fixed for quite some time this option
+              should no longer be needed and will be removed in a future
+              release. Please speak up if you have a reason why the option
+              should be kept around.</p>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="ENABLE-COMPRESSION">7.6.10. enable-compression</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Specifies:
-              </dt>
-              <dd>
-                <p>
-                  Whether or not buffered content is compressed before
-                  delivery.
-                </p>
-              </dd>
-              <dt>
-                Type of value:
-              </dt>
-              <dd>
-                <p>
-                  <tt class="REPLACEABLE"><i>0 or 1</i></tt>
-                </p>
-              </dd>
-              <dt>
-                Default value:
-              </dt>
-              <dd>
-                <p>
-                  0
-                </p>
-              </dd>
-              <dt>
-                Effect if unset:
-              </dt>
-              <dd>
-                <p>
-                  Privoxy does not compress buffered content.
-                </p>
-              </dd>
-              <dt>
-                Effect if set:
-              </dt>
-              <dd>
-                <p>
-                  Privoxy compresses buffered content before delivering it to
-                  the client, provided the client supports it.
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  This directive is only supported if Privoxy has been
-                  compiled with FEATURE_COMPRESSION, which should not to be
-                  confused with FEATURE_ZLIB.
-                </p>
-                <p>
-                  Compressing buffered content is mainly useful if Privoxy
-                  and the client are running on different systems. If they
-                  are running on the same system, enabling compression is
-                  likely to slow things down. If you didn't measure
-                  otherwise, you should assume that it does and keep this
-                  option disabled.
-                </p>
-                <p>
-                  Privoxy will not compress buffered content below a certain
-                  length.
-                </p>
-              </dd>
-            </dl>
-          </div>
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="ENABLE-COMPRESSION" id=
+        "ENABLE-COMPRESSION">7.6.10. enable-compression</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Specifies:</dt>
+
+            <dd>
+              <p>Whether or not buffered content is compressed before
+              delivery.</p>
+            </dd>
+
+            <dt>Type of value:</dt>
+
+            <dd>
+              <p><tt class="REPLACEABLE c3">0 or 1</tt></p>
+            </dd>
+
+            <dt>Default value:</dt>
+
+            <dd>
+              <p>0</p>
+            </dd>
+
+            <dt>Effect if unset:</dt>
+
+            <dd>
+              <p>Privoxy does not compress buffered content.</p>
+            </dd>
+
+            <dt>Effect if set:</dt>
+
+            <dd>
+              <p>Privoxy compresses buffered content before delivering it to
+              the client, provided the client supports it.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>This directive is only supported if Privoxy has been
+              compiled with FEATURE_COMPRESSION, which should not to be
+              confused with FEATURE_ZLIB.</p>
+
+              <p>Compressing buffered content is mainly useful if Privoxy and
+              the client are running on different systems. If they are
+              running on the same system, enabling compression is likely to
+              slow things down. If you didn't measure otherwise, you should
+              assume that it does and keep this option disabled.</p>
+
+              <p>Privoxy will not compress buffered content below a certain
+              length.</p>
+            </dd>
+          </dl>
         </div>
-        <div class="SECT3">
-          <h4 class="SECT3">
-            <a name="COMPRESSION-LEVEL">7.6.11. compression-level</a>
-          </h4>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Specifies:
-              </dt>
-              <dd>
-                <p>
-                  The compression level that is passed to the zlib library
-                  when compressing buffered content.
-                </p>
-              </dd>
-              <dt>
-                Type of value:
-              </dt>
-              <dd>
-                <p>
-                  <tt class="REPLACEABLE"><i>Positive number ranging from 0
-                  to 9.</i></tt>
-                </p>
-              </dd>
-              <dt>
-                Default value:
-              </dt>
-              <dd>
-                <p>
-                  1
-                </p>
-              </dd>
-              <dt>
-                Notes:
-              </dt>
-              <dd>
-                <p>
-                  Compressing the data more takes usually longer than
-                  compressing it less or not compressing it at all. Which
-                  level is best depends on the connection between Privoxy and
-                  the client. If you can't be bothered to benchmark it for
-                  yourself, you should stick with the default and keep
-                  compression disabled.
-                </p>
-                <p>
-                  If compression is disabled, the compression level is
-                  irrelevant.
-                </p>
-              </dd>
-              <dt>
-                Examples:
-              </dt>
-              <dd>
-                <p>
-                </p>
-                <table border="0" bgcolor="#E0E0E0" width="90%">
-                  <tr>
-                    <td>
-<pre class="SCREEN">
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="COMPRESSION-LEVEL" id=
+        "COMPRESSION-LEVEL">7.6.11. compression-level</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Specifies:</dt>
+
+            <dd>
+              <p>The compression level that is passed to the zlib library
+              when compressing buffered content.</p>
+            </dd>
+
+            <dt>Type of value:</dt>
+
+            <dd>
+              <p><tt class="REPLACEABLE c3">Positive number ranging from 0 to
+              9.</tt></p>
+            </dd>
+
+            <dt>Default value:</dt>
+
+            <dd>
+              <p>1</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>Compressing the data more takes usually longer than
+              compressing it less or not compressing it at all. Which level
+              is best depends on the connection between Privoxy and the
+              client. If you can't be bothered to benchmark it for yourself,
+              you should stick with the default and keep compression
+              disabled.</p>
+
+              <p>If compression is disabled, the compression level is
+              irrelevant.</p>
+            </dd>
+
+            <dt>Examples:</dt>
+
+            <dd>
+              <table class="c4" border="0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
     # Best speed (compared to the other levels)
     compression-level 1
     # Best compression
@@ -3518,186 +2912,140 @@ Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
     compression-level 0
 
 </pre>
-                    </td>
-                  </tr>
-                </table>
-              </dd>
-            </dl>
-          </div>
+                  </td>
+                </tr>
+              </table>
+            </dd>
+          </dl>
         </div>
       </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="WINDOWS-GUI">7.7. Windows GUI Options</a>
-        </h2>
-        <p>
-          <span class="APPLICATION">Privoxy</span> has a number of options
-          specific to the Windows GUI interface:
-        </p>
-        <a name="ACTIVITY-ANIMATION"></a>
-        <p>
-          If <span class="QUOTE">"activity-animation"</span> is set to 1, the
-          <span class="APPLICATION">Privoxy</span> icon will animate when
-          <span class="QUOTE">"Privoxy"</span> is active. To turn off, set to
-          0.
-        </p>
-        <p>
-        </p>
-        <p class="LITERALLAYOUT">
-          <tt class="LITERAL">&nbsp;&nbsp;<span class="emphasis"><i class=
-          "EMPHASIS">activity-animation 1</i></span><br>
-           &nbsp;&nbsp;&nbsp;</tt>
-        </p>
-         <a name="LOG-MESSAGES"></a>
-        <p>
-          If <span class="QUOTE">"log-messages"</span> is set to 1, <span
-          class="APPLICATION">Privoxy</span> will log messages to the console
-          window:
-        </p>
-        <p>
-        </p>
-        <p class="LITERALLAYOUT">
-          <tt class="LITERAL">&nbsp;&nbsp;<span class="emphasis"><i class=
-          "EMPHASIS">log-messages 1</i></span><br>
-           &nbsp;&nbsp;&nbsp;</tt>
-        </p>
-         <a name="LOG-BUFFER-SIZE"></a>
-        <p>
-          If <span class="QUOTE">"log-buffer-size"</span> 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 <span
-          class="QUOTE">"log-max-lines"</span> (see below).
-        </p>
-        <p>
-          Warning: Setting this to 0 will result in the buffer to grow
-          infinitely and eat up all your memory!
-        </p>
-        <p>
-        </p>
-        <p class="LITERALLAYOUT">
-          <tt class="LITERAL">&nbsp;&nbsp;<span class="emphasis"><i class=
-          "EMPHASIS">log-buffer-size 1</i></span><br>
-           &nbsp;&nbsp;&nbsp;</tt>
-        </p>
-         <a name="LOG-MAX-LINES"></a>
-        <p>
-          <span class="APPLICATION">log-max-lines</span> is the maximum
-          number of lines held in the log buffer. See above.
-        </p>
-        <p>
-        </p>
-        <p class="LITERALLAYOUT">
-          <tt class="LITERAL">&nbsp;&nbsp;<span class="emphasis"><i class=
-          "EMPHASIS">log-max-lines 200</i></span><br>
-           &nbsp;&nbsp;&nbsp;</tt>
-        </p>
-         <a name="LOG-HIGHLIGHT-MESSAGES"></a>
-        <p>
-          If <span class="QUOTE">"log-highlight-messages"</span> is set to 1,
-          <span class="APPLICATION">Privoxy</span> will highlight portions of
-          the log messages with a bold-faced font:
-        </p>
-        <p>
-        </p>
-        <p class="LITERALLAYOUT">
-          <tt class="LITERAL">&nbsp;&nbsp;<span class="emphasis"><i class=
-          "EMPHASIS">log-highlight-messages 1</i></span><br>
-           &nbsp;&nbsp;&nbsp;</tt>
-        </p>
-         <a name="LOG-FONT-NAME"></a>
-        <p>
-          The font used in the console window:
-        </p>
-        <p>
-        </p>
-        <p class="LITERALLAYOUT">
-          <tt class="LITERAL">&nbsp;&nbsp;<span class="emphasis"><i class=
-          "EMPHASIS">log-font-name Comic Sans MS</i></span><br>
-           &nbsp;&nbsp;&nbsp;</tt>
-        </p>
-         <a name="LOG-FONT-SIZE"></a>
-        <p>
-          Font size used in the console window:
-        </p>
-        <p>
-        </p>
-        <p class="LITERALLAYOUT">
-          <tt class="LITERAL">&nbsp;&nbsp;<span class="emphasis"><i class=
-          "EMPHASIS">log-font-size 8</i></span><br>
-           &nbsp;&nbsp;&nbsp;</tt>
-        </p>
-         <a name="SHOW-ON-TASK-BAR"></a>
-        <p>
-          <span class="QUOTE">"show-on-task-bar"</span> controls whether or
-          not <span class="APPLICATION">Privoxy</span> will appear as a
-          button on the Task bar when minimized:
-        </p>
-        <p>
-        </p>
-        <p class="LITERALLAYOUT">
-          <tt class="LITERAL">&nbsp;&nbsp;<span class="emphasis"><i class=
-          "EMPHASIS">show-on-task-bar 0</i></span><br>
-           &nbsp;&nbsp;&nbsp;</tt>
-        </p>
-         <a name="CLOSE-BUTTON-MINIMIZES"></a>
-        <p>
-          If <span class="QUOTE">"close-button-minimizes"</span> is set to 1,
-          the Windows close button will minimize <span class=
-          "APPLICATION">Privoxy</span> instead of closing the program (close
-          with the exit option on the File menu).
-        </p>
-        <p>
-        </p>
-        <p class="LITERALLAYOUT">
-          <tt class="LITERAL">&nbsp;&nbsp;<span class="emphasis"><i class=
-          "EMPHASIS">close-button-minimizes 1</i></span><br>
-           &nbsp;&nbsp;&nbsp;</tt>
-        </p>
-         <a name="HIDE-CONSOLE"></a>
-        <p>
-          The <span class="QUOTE">"hide-console"</span> option is specific to
-          the MS-Win console version of <span class=
-          "APPLICATION">Privoxy</span>. If this option is used, <span class=
-          "APPLICATION">Privoxy</span> will disconnect from and hide the
-          command console.
-        </p>
-        <p>
-        </p>
-        <p class="LITERALLAYOUT">
-          <tt class="LITERAL">&nbsp;&nbsp;#<span class="emphasis"><i class=
-          "EMPHASIS">hide-console</i></span><br>
-           &nbsp;&nbsp;&nbsp;</tt>
-        </p>
-      </div>
     </div>
-    <div class="NAVFOOTER">
-      <hr width="100%" class="c1">
-      <table summary="Footer navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <td width="33%" align="left" valign="top">
-            <a href="configuration.html" accesskey="P">Prev</a>
-          </td>
-          <td width="34%" align="center" valign="top">
-            <a href="index.html" accesskey="H">Home</a>
-          </td>
-          <td width="33%" align="right" valign="top">
-            <a href="actions-file.html" accesskey="N">Next</a>
-          </td>
-        </tr>
-        <tr>
-          <td width="33%" align="left" valign="top">
-            Privoxy Configuration
-          </td>
-          <td width="34%" align="center" valign="top">
-            &nbsp;
-          </td>
-          <td width="33%" align="right" valign="top">
-            Actions Files
-          </td>
-        </tr>
-      </table>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="WINDOWS-GUI" id="WINDOWS-GUI">7.7. Windows
+      GUI Options</a></h2>
+
+      <p><span class="APPLICATION">Privoxy</span> has a number of options
+      specific to the Windows GUI interface:</p><a name="ACTIVITY-ANIMATION"
+      id="ACTIVITY-ANIMATION"></a>
+
+      <p>If <span class="QUOTE">"activity-animation"</span> is set to 1, the
+      <span class="APPLICATION">Privoxy</span> icon will animate when
+      <span class="QUOTE">"Privoxy"</span> is active. To turn off, set to
+      0.</p>
+
+      <p class="LITERALLAYOUT"><tt class="LITERAL">&nbsp;&nbsp;<span class=
+      "emphasis EMPHASIS c2">activity-animation 1</span><br>
+      &nbsp;&nbsp;&nbsp;</tt></p><a name="LOG-MESSAGES" id=
+      "LOG-MESSAGES"></a>
+
+      <p>If <span class="QUOTE">"log-messages"</span> is set to 1,
+      <span class="APPLICATION">Privoxy</span> will log messages to the
+      console window:</p>
+
+      <p class="LITERALLAYOUT"><tt class="LITERAL">&nbsp;&nbsp;<span class=
+      "emphasis EMPHASIS c2">log-messages 1</span><br>
+      &nbsp;&nbsp;&nbsp;</tt></p><a name="LOG-BUFFER-SIZE" id=
+      "LOG-BUFFER-SIZE"></a>
+
+      <p>If <span class="QUOTE">"log-buffer-size"</span> 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
+      <span class="QUOTE">"log-max-lines"</span> (see below).</p>
+
+      <p>Warning: Setting this to 0 will result in the buffer to grow
+      infinitely and eat up all your memory!</p>
+
+      <p class="LITERALLAYOUT"><tt class="LITERAL">&nbsp;&nbsp;<span class=
+      "emphasis EMPHASIS c2">log-buffer-size 1</span><br>
+      &nbsp;&nbsp;&nbsp;</tt></p><a name="LOG-MAX-LINES" id=
+      "LOG-MAX-LINES"></a>
+
+      <p><span class="APPLICATION">log-max-lines</span> is the maximum number
+      of lines held in the log buffer. See above.</p>
+
+      <p class="LITERALLAYOUT"><tt class="LITERAL">&nbsp;&nbsp;<span class=
+      "emphasis EMPHASIS c2">log-max-lines 200</span><br>
+      &nbsp;&nbsp;&nbsp;</tt></p><a name="LOG-HIGHLIGHT-MESSAGES" id=
+      "LOG-HIGHLIGHT-MESSAGES"></a>
+
+      <p>If <span class="QUOTE">"log-highlight-messages"</span> is set to 1,
+      <span class="APPLICATION">Privoxy</span> will highlight portions of the
+      log messages with a bold-faced font:</p>
+
+      <p class="LITERALLAYOUT"><tt class="LITERAL">&nbsp;&nbsp;<span class=
+      "emphasis EMPHASIS c2">log-highlight-messages 1</span><br>
+      &nbsp;&nbsp;&nbsp;</tt></p><a name="LOG-FONT-NAME" id=
+      "LOG-FONT-NAME"></a>
+
+      <p>The font used in the console window:</p>
+
+      <p class="LITERALLAYOUT"><tt class="LITERAL">&nbsp;&nbsp;<span class=
+      "emphasis EMPHASIS c2">log-font-name Comic Sans MS</span><br>
+      &nbsp;&nbsp;&nbsp;</tt></p><a name="LOG-FONT-SIZE" id=
+      "LOG-FONT-SIZE"></a>
+
+      <p>Font size used in the console window:</p>
+
+      <p class="LITERALLAYOUT"><tt class="LITERAL">&nbsp;&nbsp;<span class=
+      "emphasis EMPHASIS c2">log-font-size 8</span><br>
+      &nbsp;&nbsp;&nbsp;</tt></p><a name="SHOW-ON-TASK-BAR" id=
+      "SHOW-ON-TASK-BAR"></a>
+
+      <p><span class="QUOTE">"show-on-task-bar"</span> controls whether or
+      not <span class="APPLICATION">Privoxy</span> will appear as a button on
+      the Task bar when minimized:</p>
+
+      <p class="LITERALLAYOUT"><tt class="LITERAL">&nbsp;&nbsp;<span class=
+      "emphasis EMPHASIS c2">show-on-task-bar 0</span><br>
+      &nbsp;&nbsp;&nbsp;</tt></p><a name="CLOSE-BUTTON-MINIMIZES" id=
+      "CLOSE-BUTTON-MINIMIZES"></a>
+
+      <p>If <span class="QUOTE">"close-button-minimizes"</span> is set to 1,
+      the Windows close button will minimize <span class=
+      "APPLICATION">Privoxy</span> instead of closing the program (close with
+      the exit option on the File menu).</p>
+
+      <p class="LITERALLAYOUT"><tt class="LITERAL">&nbsp;&nbsp;<span class=
+      "emphasis EMPHASIS c2">close-button-minimizes 1</span><br>
+      &nbsp;&nbsp;&nbsp;</tt></p><a name="HIDE-CONSOLE" id=
+      "HIDE-CONSOLE"></a>
+
+      <p>The <span class="QUOTE">"hide-console"</span> option is specific to
+      the MS-Win console version of <span class="APPLICATION">Privoxy</span>.
+      If this option is used, <span class="APPLICATION">Privoxy</span> will
+      disconnect from and hide the command console.</p>
+
+      <p class="LITERALLAYOUT"><tt class="LITERAL">&nbsp;&nbsp;#<span class=
+      "emphasis EMPHASIS c2">hide-console</span><br>
+      &nbsp;&nbsp;&nbsp;</tt></p>
     </div>
-  </body>
-</html>
+  </div>
+
+  <div class="NAVFOOTER">
+    <hr class="c1" width="100%">
+
+    <table summary="Footer navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <td width="33%" align="left" valign="top"><a href=
+        "configuration.html" accesskey="P">Prev</a></td>
+
+        <td width="34%" align="center" valign="top"><a href="index.html"
+        accesskey="H">Home</a></td>
 
+        <td width="33%" align="right" valign="top"><a href=
+        "actions-file.html" accesskey="N">Next</a></td>
+      </tr>
+
+      <tr>
+        <td width="33%" align="left" valign="top">Privoxy Configuration</td>
+
+        <td width="34%" align="center" valign="top">&nbsp;</td>
+
+        <td width="33%" align="right" valign="top">Actions Files</td>
+      </tr>
+    </table>
+  </div>
+</body>
+</html>
index 1885bda..a03e6f8 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
-Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+
 <html>
-  <head>
-    <meta name="generator" content="HTML Tidy, see www.w3.org">
-    <title>
-      Privoxy Configuration
-    </title>
-    <meta name="GENERATOR" content=
-    "Modular DocBook HTML Stylesheet Version 1.79">
-    <link rel="HOME" title="Privoxy 3.0.18 User Manual" href="index.html">
-    <link rel="PREVIOUS" title="Starting Privoxy" href="startup.html">
-    <link rel="NEXT" title="The Main Configuration File" href="config.html">
-    <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
-    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-    <link rel="STYLESHEET" type="text/css" href="p_doc.css">
-<style type="text/css">
- body {
+<head>
+  <meta name="generator" content=
+  "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
+
+  <title>Privoxy Configuration</title>
+  <meta name="GENERATOR" content=
+  "Modular DocBook HTML Stylesheet Version 1.79">
+  <link rel="HOME" title="Privoxy 3.0.18 User Manual" href="index.html">
+  <link rel="PREVIOUS" title="Starting Privoxy" href="startup.html">
+  <link rel="NEXT" title="The Main Configuration File" href="config.html">
+  <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
+  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+  <link rel="STYLESHEET" type="text/css" href="p_doc.css">
+  <style type="text/css">
+body {
   background-color: #EEEEEE;
   color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- hr.c1 {text-align: left}
-</style>
-  </head>
-  <body class="SECT1">
-    <div class="NAVHEADER">
-      <table summary="Header navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <th colspan="3" align="center">
-            Privoxy 3.0.18 User Manual
-          </th>
-        </tr>
+  }
+  :link { color: #0000FF }
+  :visited { color: #840084 }
+  :active { color: #0000FF }
+  span.c3 {font-style: italic}
+  table.c2 {background-color: #E0E0E0}
+  hr.c1 {text-align: left}
+  </style>
+</head>
+
+<body class="SECT1">
+  <div class="NAVHEADER">
+    <table summary="Header navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <th colspan="3" align="center">Privoxy 3.0.18 User Manual</th>
+      </tr>
+
+      <tr>
+        <td width="10%" align="left" valign="bottom"><a href="startup.html"
+        accesskey="P">Prev</a></td>
+
+        <td width="80%" align="center" valign="bottom"></td>
+
+        <td width="10%" align="right" valign="bottom"><a href="config.html"
+        accesskey="N">Next</a></td>
+      </tr>
+    </table>
+    <hr class="c1" width="100%">
+  </div>
+
+  <div class="SECT1">
+    <h1 class="SECT1"><a name="CONFIGURATION" id="CONFIGURATION">6. Privoxy
+    Configuration</a></h1>
+
+    <p>All <span class="APPLICATION">Privoxy</span> configuration is stored
+    in text files. These files can be edited with a text editor. Many
+    important aspects of <span class="APPLICATION">Privoxy</span> can also be
+    controlled easily with a web browser.</p>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="AEN1074" id="AEN1074">6.1. Controlling
+      Privoxy with Your Web Browser</a></h2>
+
+      <p><span class="APPLICATION">Privoxy</span>'s user interface can be
+      reached through the special URL <a href="http://config.privoxy.org/"
+      target="_top">http://config.privoxy.org/</a> (shortcut: <a href=
+      "http://p.p/" target="_top">http://p.p/</a>), which is a built-in page
+      and works without Internet access. You will see the following
+      section:</p>
+
+      <table class="c2" border="0" width="100%">
         <tr>
-          <td width="10%" align="left" valign="bottom">
-            <a href="startup.html" accesskey="P">Prev</a>
-          </td>
-          <td width="80%" align="center" valign="bottom">
-          </td>
-          <td width="10%" align="right" valign="bottom">
-            <a href="config.html" accesskey="N">Next</a>
-          </td>
-        </tr>
-      </table>
-      <hr width="100%" class="c1">
-    </div>
-    <div class="SECT1">
-      <h1 class="SECT1">
-        <a name="CONFIGURATION">6. Privoxy Configuration</a>
-      </h1>
-      <p>
-        All <span class="APPLICATION">Privoxy</span> configuration is stored
-        in text files. These files can be edited with a text editor. Many
-        important aspects of <span class="APPLICATION">Privoxy</span> can
-        also be controlled easily with a web browser.
-      </p>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="AEN933">6.1. Controlling Privoxy with Your Web Browser</a>
-        </h2>
-        <p>
-          <span class="APPLICATION">Privoxy</span>'s user interface can be
-          reached through the special URL <a href=
-          "http://config.privoxy.org/" target=
-          "_top">http://config.privoxy.org/</a> (shortcut: <a href=
-          "http://p.p/" target="_top">http://p.p/</a>), which is a built-in
-          page and works without Internet access. You will see the following
-          section:&#13;
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
+          <td>
+            <pre class="SCREEN">
 
 </pre>
-              <h2 class="BRIDGEHEAD">
-                <a name="AEN941"></a>&nbsp;&nbsp;&nbsp;&nbsp;Privoxy Menu
-              </h2>
-<pre>
-</pre>
-              <table border="0">
-                <tbody>
-                  <tr>
-                    <td>
-                      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#9642;&nbsp;&nbsp;<a
-                       href="http://config.privoxy.org/show-status" target=
-                      "_top">View &amp; change the current configuration</a>
-                    </td>
-                  </tr>
-                  <tr>
-                    <td>
-                      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#9642;&nbsp;&nbsp;<a
-                       href="http://config.privoxy.org/show-version" target=
-                      "_top">View the source code version numbers</a>
-                    </td>
-                  </tr>
-                  <tr>
-                    <td>
-                      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#9642;&nbsp;&nbsp;<a
-                       href="http://config.privoxy.org/show-request" target=
-                      "_top">View the request headers.</a>
-                    </td>
-                  </tr>
-                  <tr>
-                    <td>
-                      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#9642;&nbsp;&nbsp;<a
-                       href="http://config.privoxy.org/show-url-info" target=
-                      "_top">Look up which actions apply to a URL and why</a>
-
-                    </td>
-                  </tr>
-                  <tr>
-                    <td>
-                      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#9642;&nbsp;&nbsp;<a
-                       href="http://config.privoxy.org/toggle" target=
-                      "_top">Toggle Privoxy on or off</a>
-                    </td>
-                  </tr>
-                  <tr>
-                    <td>
-                      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#9642;&nbsp;&nbsp;<a
-                       href="http://www.privoxy.org/3.0.18/user-manual/"
-                      target="_top">Documentation</a>
-                    </td>
-                  </tr>
-                </tbody>
-              </table>
-<pre>
+
+            <h2 class="BRIDGEHEAD"><a name="AEN1082" id=
+            "AEN1082"></a>&nbsp;&nbsp;&nbsp;&nbsp;Privoxy Menu</h2>
+            <pre>
 </pre>
-            </td>
-          </tr>
-        </table>
-        <p>
-          This should be self-explanatory. Note the first item leads to an
-          editor for the <a href="actions-file.html">actions files</a>, which
-          is where the ad, banner, cookie, and URL blocking magic is
-          configured as well as other advanced features of <span class=
-          "APPLICATION">Privoxy</span>. This is an easy way to adjust various
-          aspects of <span class="APPLICATION">Privoxy</span> configuration.
-          The actions file, and other configuration files, are explained in
-          detail below.
-        </p>
-        <p>
-          <span class="QUOTE">"Toggle Privoxy On or Off"</span> is handy for
-          sites that might have problems with your current actions and
-          filters. You can in fact use it as a test to see whether it is
-          <span class="APPLICATION">Privoxy</span> causing the problem or
-          not. <span class="APPLICATION">Privoxy</span> continues to run as a
-          proxy in this case, but all manipulation is disabled, i.e. <span
-          class="APPLICATION">Privoxy</span> acts like a normal forwarding
-          proxy. There is even a toggle <a href=
-          "appendix.html#BOOKMARKLETS">Bookmarklet</a> offered, so that you
-          can toggle <span class="APPLICATION">Privoxy</span> with one click
-          from your browser.
-        </p>
-        <p>
-          Note that several of the features described above are disabled by
-          default in <span class="APPLICATION">Privoxy</span> 3.0.7 beta and
-          later. Check the <a href="config.html" target="_top">configuration
-          file</a> to learn why and in which cases it's safe to enable them
-          again.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="CONFOVERVIEW">6.2. Configuration Files Overview</a>
-        </h2>
-        <p>
-          For Unix, *BSD and Linux, all configuration files are located in
-          <tt class="FILENAME">/etc/privoxy/</tt> by default. For MS Windows,
-          OS/2, and AmigaOS these are all in the same directory as the <span
-          class="APPLICATION">Privoxy</span> executable. The name and number
-          of configuration files has changed from previous versions, and is
-          subject to change as development progresses.
-        </p>
-        <p>
-          The installed defaults provide a reasonable starting point, though
-          some settings may be aggressive by some standards. For the time
-          being, the principle configuration files are:
-        </p>
-        <p>
-        </p>
-        <ul>
-          <li>
-            <p>
-              The <a href="config.html">main configuration file</a> is named
-              <tt class="FILENAME">config</tt> on Linux, Unix, BSD, OS/2, and
-              AmigaOS and <tt class="FILENAME">config.txt</tt> on Windows.
-              This is a required file.
-            </p>
-          </li>
-          <li>
-            <p>
-              <tt class="FILENAME">match-all.action</tt> is used to define
-              which <span class="QUOTE">"actions"</span> relating to
-              banner-blocking, images, pop-ups, content modification, cookie
-              handling etc should be applied by default. It should be the
-              first actions file loaded.
-            </p>
-            <p>
-              <tt class="FILENAME">default.action</tt> defines many
-              exceptions (both positive and negative) from the default set of
-              actions that's configured in <tt class=
-              "FILENAME">match-all.action</tt>. It should be the second
-              actions file loaded and shouldn't be edited by the user.
-            </p>
-            <p>
-              Multiple actions files may be defined in <tt class=
-              "FILENAME">config</tt>. These are processed in the order they
-              are defined. Local customizations and locally preferred
-              exceptions to the default policies as defined in <tt class=
-              "FILENAME">match-all.action</tt> (which you will most probably
-              want to define sooner or later) are best applied in <tt class=
-              "FILENAME">user.action</tt>, where you can preserve them across
-              upgrades. The file isn't installed by all installers, but you
-              can easily create it yourself with a text editor.
-            </p>
-            <p>
-              There is also a web based editor that can be accessed from <a
-              href="http://config.privoxy.org/show-status" target=
-              "_top">http://config.privoxy.org/show-status</a> (Shortcut: <a
-              href="http://p.p/show-status" target=
-              "_top">http://p.p/show-status</a>) for the various actions
-              files.
-            </p>
-          </li>
-          <li>
-            <p>
-              <span class="QUOTE">"Filter files"</span> (the <a href=
-              "filter-file.html">filter file</a>) 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. The filtering jobs are only pre-defined here; whether to
-              apply them or not is up to the actions files. <tt class=
-              "FILENAME">default.filter</tt> includes various filters made
-              available for use by the developers. Some are much more
-              intrusive than others, and all should be used with caution. You
-              may define additional filter files in <tt class=
-              "FILENAME">config</tt> as you can with actions files. We
-              suggest <tt class="FILENAME">user.filter</tt> for any locally
-              defined filters or customizations.
-            </p>
-          </li>
-        </ul>
-
-        <p>
-          The syntax of the configuration and filter files may change between
-          different Privoxy versions, unfortunately some enhancements cost
-          backwards compatibility.
-        </p>
-        <p>
-          All files use the <span class="QUOTE">"<tt class=
-          "LITERAL">#</tt>"</span> character to denote a comment (the rest of
-          the line will be ignored) and understand line continuation through
-          placing a backslash ("<tt class="LITERAL">\</tt>") as the very last
-          character in a line. If the <tt class="LITERAL">#</tt> is preceded
-          by a backslash, it looses its special function. Placing a <tt
-          class="LITERAL">#</tt> in front of an otherwise valid configuration
-          line to prevent it from being interpreted is called "commenting
-          out" that line. Blank lines are ignored.
-        </p>
-        <p>
-          The actions files and filter files can use Perl style <a href=
-          "appendix.html#REGEX">regular expressions</a> for maximum
-          flexibility.
-        </p>
-        <p>
-          After making any changes, there is no need to restart <span class=
-          "APPLICATION">Privoxy</span> in order for the changes to take
-          effect. <span class="APPLICATION">Privoxy</span> detects such
-          changes automatically. Note, however, that it may take one or two
-          additional requests for the change to take effect. When changing
-          the listening address of <span class="APPLICATION">Privoxy</span>,
-          these <span class="QUOTE">"wake up"</span> requests must obviously
-          be sent to the <span class="emphasis"><i class=
-          "EMPHASIS">old</i></span> listening address.
-        </p>
-        <p>
-          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 <span class=
-          "QUOTE">"default"</span> setting, may change, so please check all
-          your configuration files on important issues.
-        </p>
-      </div>
-    </div>
-    <div class="NAVFOOTER">
-      <hr width="100%" class="c1">
-      <table summary="Footer navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <td width="33%" align="left" valign="top">
-            <a href="startup.html" accesskey="P">Prev</a>
-          </td>
-          <td width="34%" align="center" valign="top">
-            <a href="index.html" accesskey="H">Home</a>
-          </td>
-          <td width="33%" align="right" valign="top">
-            <a href="config.html" accesskey="N">Next</a>
-          </td>
-        </tr>
-        <tr>
-          <td width="33%" align="left" valign="top">
-            Starting Privoxy
-          </td>
-          <td width="34%" align="center" valign="top">
-            &nbsp;
-          </td>
-          <td width="33%" align="right" valign="top">
-            The Main Configuration File
+
+            <table border="0">
+              <tbody>
+                <tr>
+                  <td>
+                  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#9642;&nbsp;&nbsp;<a href="http://config.privoxy.org/show-status"
+                  target="_top">View &amp; change the current
+                  configuration</a></td>
+                </tr>
+
+                <tr>
+                  <td>
+                  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#9642;&nbsp;&nbsp;<a href="http://config.privoxy.org/show-version"
+                  target="_top">View the source code version numbers</a></td>
+                </tr>
+
+                <tr>
+                  <td>
+                  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#9642;&nbsp;&nbsp;<a href="http://config.privoxy.org/show-request"
+                  target="_top">View the request headers.</a></td>
+                </tr>
+
+                <tr>
+                  <td>
+                  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#9642;&nbsp;&nbsp;<a href="http://config.privoxy.org/show-url-info"
+                  target="_top">Look up which actions apply to a URL and
+                  why</a></td>
+                </tr>
+
+                <tr>
+                  <td>
+                  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#9642;&nbsp;&nbsp;<a href="http://config.privoxy.org/toggle"
+                  target="_top">Toggle Privoxy on or off</a></td>
+                </tr>
+
+                <tr>
+                  <td>
+                  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#9642;&nbsp;&nbsp;<a href="http://www.privoxy.org/3.0.18/user-manual/"
+                  target="_top">Documentation</a></td>
+                </tr>
+              </tbody>
+            </table>
           </td>
         </tr>
       </table>
+
+      <p>This should be self-explanatory. Note the first item leads to an
+      editor for the <a href="actions-file.html">actions files</a>, which is
+      where the ad, banner, cookie, and URL blocking magic is configured as
+      well as other advanced features of <span class=
+      "APPLICATION">Privoxy</span>. This is an easy way to adjust various
+      aspects of <span class="APPLICATION">Privoxy</span> configuration. The
+      actions file, and other configuration files, are explained in detail
+      below.</p>
+
+      <p><span class="QUOTE">"Toggle Privoxy On or Off"</span> is handy for
+      sites that might have problems with your current actions and filters.
+      You can in fact use it as a test to see whether it is <span class=
+      "APPLICATION">Privoxy</span> causing the problem or not. <span class=
+      "APPLICATION">Privoxy</span> continues to run as a proxy in this case,
+      but all manipulation is disabled, i.e. <span class=
+      "APPLICATION">Privoxy</span> acts like a normal forwarding proxy. There
+      is even a toggle <a href="appendix.html#BOOKMARKLETS">Bookmarklet</a>
+      offered, so that you can toggle <span class=
+      "APPLICATION">Privoxy</span> with one click from your browser.</p>
+
+      <p>Note that several of the features described above are disabled by
+      default in <span class="APPLICATION">Privoxy</span> 3.0.7 beta and
+      later. Check the <a href="config.html" target="_top">configuration
+      file</a> to learn why and in which cases it's safe to enable them
+      again.</p>
     </div>
-  </body>
-</html>
 
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="CONFOVERVIEW" id="CONFOVERVIEW">6.2.
+      Configuration Files Overview</a></h2>
+
+      <p>For Unix, *BSD and Linux, all configuration files are located in
+      <tt class="FILENAME">/etc/privoxy/</tt> by default. For MS Windows,
+      OS/2, and AmigaOS these are all in the same directory as the
+      <span class="APPLICATION">Privoxy</span> executable.</p>
+
+      <p>The installed defaults provide a reasonable starting point, though
+      some settings may be aggressive by some standards. For the time being,
+      the principle configuration files are:</p>
+
+      <ul>
+        <li>
+          <p>The <a href="config.html">main configuration file</a> is named
+          <tt class="FILENAME">config</tt> on Linux, Unix, BSD, OS/2, and
+          AmigaOS and <tt class="FILENAME">config.txt</tt> on Windows. This
+          is a required file.</p>
+        </li>
+
+        <li>
+          <p><tt class="FILENAME">match-all.action</tt> is used to define
+          which <span class="QUOTE">"actions"</span> relating to
+          banner-blocking, images, pop-ups, content modification, cookie
+          handling etc should be applied by default. It should be the first
+          actions file loaded.</p>
+
+          <p><tt class="FILENAME">default.action</tt> defines many exceptions
+          (both positive and negative) from the default set of actions that's
+          configured in <tt class="FILENAME">match-all.action</tt>. It should
+          be the second actions file loaded and shouldn't be edited by the
+          user.</p>
+
+          <p>Multiple actions files may be defined in <tt class=
+          "FILENAME">config</tt>. These are processed in the order they are
+          defined. Local customizations and locally preferred exceptions to
+          the default policies as defined in <tt class=
+          "FILENAME">match-all.action</tt> (which you will most probably want
+          to define sooner or later) are best applied in <tt class=
+          "FILENAME">user.action</tt>, where you can preserve them across
+          upgrades. The file isn't installed by all installers, but you can
+          easily create it yourself with a text editor.</p>
+
+          <p>There is also a web based editor that can be accessed from
+          <a href="http://config.privoxy.org/show-status" target=
+          "_top">http://config.privoxy.org/show-status</a> (Shortcut:
+          <a href="http://p.p/show-status" target=
+          "_top">http://p.p/show-status</a>) for the various actions
+          files.</p>
+        </li>
+
+        <li>
+          <p><span class="QUOTE">"Filter files"</span> (the <a href=
+          "filter-file.html">filter file</a>) 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. The
+          filtering jobs are only pre-defined here; whether to apply them or
+          not is up to the actions files. <tt class=
+          "FILENAME">default.filter</tt> includes various filters made
+          available for use by the developers. Some are much more intrusive
+          than others, and all should be used with caution. You may define
+          additional filter files in <tt class="FILENAME">config</tt> as you
+          can with actions files. We suggest <tt class=
+          "FILENAME">user.filter</tt> for any locally defined filters or
+          customizations.</p>
+        </li>
+      </ul>
+
+      <p>The syntax of the configuration and filter files may change between
+      different Privoxy versions, unfortunately some enhancements cost
+      backwards compatibility.</p>
+
+      <p>All files use the <span class="QUOTE">"<tt class=
+      "LITERAL">#</tt>"</span> character to denote a comment (the rest of the
+      line will be ignored) and understand line continuation through placing
+      a backslash ("<tt class="LITERAL">\</tt>") as the very last character
+      in a line. If the <tt class="LITERAL">#</tt> is preceded by a
+      backslash, it looses its special function. Placing a <tt class=
+      "LITERAL">#</tt> in front of an otherwise valid configuration line to
+      prevent it from being interpreted is called "commenting out" that line.
+      Blank lines are ignored.</p>
+
+      <p>The actions files and filter files can use Perl style <a href=
+      "appendix.html#REGEX">regular expressions</a> for maximum
+      flexibility.</p>
+
+      <p>After making any changes, there is no need to restart <span class=
+      "APPLICATION">Privoxy</span> in order for the changes to take effect.
+      <span class="APPLICATION">Privoxy</span> detects such changes
+      automatically. Note, however, that it may take one or two additional
+      requests for the change to take effect. When changing the listening
+      address of <span class="APPLICATION">Privoxy</span>, these <span class=
+      "QUOTE">"wake up"</span> requests must obviously be sent to the
+      <span class="emphasis EMPHASIS c3">old</span> listening address.</p>
+    </div>
+  </div>
+
+  <div class="NAVFOOTER">
+    <hr class="c1" width="100%">
+
+    <table summary="Footer navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <td width="33%" align="left" valign="top"><a href="startup.html"
+        accesskey="P">Prev</a></td>
+
+        <td width="34%" align="center" valign="top"><a href="index.html"
+        accesskey="H">Home</a></td>
+
+        <td width="33%" align="right" valign="top"><a href="config.html"
+        accesskey="N">Next</a></td>
+      </tr>
+
+      <tr>
+        <td width="33%" align="left" valign="top">Starting Privoxy</td>
+
+        <td width="34%" align="center" valign="top">&nbsp;</td>
+
+        <td width="33%" align="right" valign="top">The Main Configuration
+        File</td>
+      </tr>
+    </table>
+  </div>
+</body>
+</html>
index 189114c..cce50c5 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
-Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+
 <html>
-  <head>
-    <meta name="generator" content="HTML Tidy, see www.w3.org">
-    <title>
-      Contacting the Developers, Bug Reporting and Feature Requests
-    </title>
-    <meta name="GENERATOR" content=
-    "Modular DocBook HTML Stylesheet Version 1.79">
-    <link rel="HOME" title="Privoxy 3.0.18 User Manual" href="index.html">
-    <link rel="PREVIOUS" title="Privoxy's Template Files" href=
-    "templates.html">
-    <link rel="NEXT" title="Privoxy Copyright, License and History" href=
-    "copyright.html">
-    <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
-    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-    <link rel="STYLESHEET" type="text/css" href="p_doc.css">
-<style type="text/css">
- body {
+<head>
+  <meta name="generator" content=
+  "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
+
+  <title>Contacting the Developers, Bug Reporting and Feature
+  Requests</title>
+  <meta name="GENERATOR" content=
+  "Modular DocBook HTML Stylesheet Version 1.79">
+  <link rel="HOME" title="Privoxy 3.0.18 User Manual" href="index.html">
+  <link rel="PREVIOUS" title="Privoxy's Template Files" href=
+  "templates.html">
+  <link rel="NEXT" title="Privoxy Copyright, License and History" href=
+  "copyright.html">
+  <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
+  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+  <link rel="STYLESHEET" type="text/css" href="p_doc.css">
+  <style type="text/css">
+body {
   background-color: #EEEEEE;
   color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- hr.c1 {text-align: left}
-</style>
-  </head>
-  <body class="SECT1">
-    <div class="NAVHEADER">
-      <table summary="Header navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <th colspan="3" align="center">
-            Privoxy 3.0.18 User Manual
-          </th>
-        </tr>
-        <tr>
-          <td width="10%" align="left" valign="bottom">
-            <a href="templates.html" accesskey="P">Prev</a>
-          </td>
-          <td width="80%" align="center" valign="bottom">
-          </td>
-          <td width="10%" align="right" valign="bottom">
-            <a href="copyright.html" accesskey="N">Next</a>
-          </td>
-        </tr>
-      </table>
-      <hr width="100%" class="c1">
+  }
+  :link { color: #0000FF }
+  :visited { color: #840084 }
+  :active { color: #0000FF }
+  span.c2 {font-style: italic}
+  hr.c1 {text-align: left}
+  </style>
+</head>
+
+<body class="SECT1">
+  <div class="NAVHEADER">
+    <table summary="Header navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <th colspan="3" align="center">Privoxy 3.0.18 User Manual</th>
+      </tr>
+
+      <tr>
+        <td width="10%" align="left" valign="bottom"><a href="templates.html"
+        accesskey="P">Prev</a></td>
+
+        <td width="80%" align="center" valign="bottom"></td>
+
+        <td width="10%" align="right" valign="bottom"><a href=
+        "copyright.html" accesskey="N">Next</a></td>
+      </tr>
+    </table>
+    <hr class="c1" width="100%">
+  </div>
+
+  <div class="SECT1">
+    <h1 class="SECT1"><a name="CONTACT" id="CONTACT">11. Contacting the
+    Developers, Bug Reporting and Feature Requests</a></h1>
+
+    <p>We value your feedback. In fact, we rely on it to improve <span class=
+    "APPLICATION">Privoxy</span> and its configuration. However, please note
+    the following hints, so we can provide you with the best support:</p>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="CONTACT-SUPPORT" id="CONTACT-SUPPORT">11.1.
+      Get Support</a></h2>
+
+      <p>For casual users, our <a href=
+      "http://sourceforge.net/tracker/?group_id=11118&amp;atid=211118"
+      target="_top">support forum at SourceForge</a> is probably best suited:
+      <a href=
+      "http://sourceforge.net/tracker/?group_id=11118&amp;atid=211118"
+      target="_top">http://sourceforge.net/tracker/?group_id=11118&amp;atid=211118</a></p>
+
+      <p>All users are of course welcome to discuss their issues on the
+      <a href="http://lists.sourceforge.net/lists/listinfo/ijbswa-users"
+      target="_top">users mailing list</a>, where the developers also hang
+      around.</p>
+
+      <p>Please don't sent private support requests to individual Privoxy
+      developers, either use the mailing lists or the support trackers.</p>
+
+      <p>If you have to contact a Privoxy developer directly for other
+      reasons, please send a real mail and do not bother with SourceForge's
+      messaging system. Answers to SourceForge messages are usually bounced
+      by SourceForge's mail server in which case the developer wasted time
+      writing a response you don't get. From your point of view it will look
+      like your message has been completely ignored, so this is frustrating
+      for all parties involved.</p>
+
+      <p>Note that the Privoxy mailing lists are moderated. Posts from
+      unsubscribed addresses have to be accepted manually by a moderator.
+      This may cause a delay of several days and if you use a subject that
+      doesn't clearly mention Privoxy or one of its features, your message
+      may be accidentally discarded as spam.</p>
+
+      <p>If you aren't subscribed, you should therefore spend a few seconds
+      to come up with a proper subject. Additionally you should make it clear
+      that you want to get CC'd. Otherwise some responses will be directed to
+      the mailing list only, and you won't see them.</p>
     </div>
-    <div class="SECT1">
-      <h1 class="SECT1">
-        <a name="CONTACT">11. Contacting the Developers, Bug Reporting and
-        Feature Requests</a>
-      </h1>
-      <p>
-        We value your feedback. In fact, we rely on it to improve <span
-        class="APPLICATION">Privoxy</span> and its configuration. However,
-        please note the following hints, so we can provide you with the best
-        support:
-      </p>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="CONTACT-SUPPORT">11.1. Get Support</a>
-        </h2>
-        <p>
-          For casual users, our <a href=
-          "http://sourceforge.net/tracker/?group_id=11118&amp;atid=211118"
-          target="_top">support forum at SourceForge</a> is probably best
-          suited: <a href=
-          "http://sourceforge.net/tracker/?group_id=11118&amp;atid=211118"
-          target=
-          "_top">http://sourceforge.net/tracker/?group_id=11118&amp;atid=211118</a>
-        </p>
-        <p>
-          All users are of course welcome to discuss their issues on the <a
-          href="http://lists.sourceforge.net/lists/listinfo/ijbswa-users"
-          target="_top">users mailing list</a>, where the developers also
-          hang around.
-        </p>
-        <p>
-          Please don't sent private support requests to individual Privoxy
-          developers, either use the mailing lists or the support trackers.
-        </p>
-        <p>
-          If you have to contact a Privoxy developer directly for other
-          reasons, please send a real mail and do not bother with
-          SourceForge's messaging system. Answers to SourceForge messages are
-          usually bounced by SourceForge's mail server in which case the
-          developer wasted time writing a response you don't get. From your
-          point of view it will look like your message has been completely
-          ignored, so this is frustrating for all parties involved.
-        </p>
-        <p>
-          Note that the Privoxy mailing lists are moderated. Posts from
-          unsubscribed addresses have to be accepted manually by a moderator.
-          This may cause a delay of several days and if you use a subject
-          that doesn't clearly mention Privoxy or one of its features, your
-          message may be accidentally discarded as spam.
-        </p>
-        <p>
-          If you aren't subscribed, you should therefore spend a few seconds
-          to come up with a proper subject. Additionally you should make it
-          clear that you want to get CC'd. Otherwise some responses will be
-          directed to the mailing list only, and you won't see them.
-        </p>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="REPORTING" id="REPORTING">11.2. Reporting
+      Problems</a></h2>
+
+      <p><span class="QUOTE">"Problems"</span> for our purposes, come in two
+      forms:</p>
+
+      <ul>
+        <li>
+          <p>Configuration issues, such as ads that slip through, or sites
+          that don't function properly due to one <span class=
+          "APPLICATION">Privoxy</span> <span class="QUOTE">"action"</span> or
+          another being turned <span class="QUOTE">"on"</span>.</p>
+        </li>
+
+        <li>
+          <p><span class="QUOTE">"Bugs"</span> in the programming code that
+          makes up <span class="APPLICATION">Privoxy</span>, such as that
+          might cause a crash.</p>
+        </li>
+      </ul>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="CONTACT-ADS" id="CONTACT-ADS">11.2.1.
+        Reporting Ads or Other Configuration Problems</a></h3>
+
+        <p>Please send feedback on ads that slipped through, innocent images
+        that were blocked, sites that don't work properly, and other
+        configuration related problem of <tt class=
+        "FILENAME">default.action</tt> file, to <a href=
+        "http://sourceforge.net/tracker/?group_id=11118&amp;atid=460288"
+        target=
+        "_top">http://sourceforge.net/tracker/?group_id=11118&amp;atid=460288</a>,
+        the Actions File Tracker.</p>
+
+        <p>New, improved <tt class="FILENAME">default.action</tt> files may
+        occasionally be made available based on your feedback. These will be
+        announced on the <a href=
+        "http://lists.sourceforge.net/lists/listinfo/ijbswa-announce" target=
+        "_top">ijbswa-announce</a> list and available from our the <a href=
+        "http://sourceforge.net/project/showfiles.php?group_id=11118" target=
+        "_top">files section</a> of our <a href=
+        "http://sf.net/projects/ijbswa/" target="_top">project page</a>.</p>
       </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="REPORTING">11.2. Reporting Problems</a>
-        </h2>
-        <p>
-          <span class="QUOTE">"Problems"</span> for our purposes, come in two
-          forms:
-        </p>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="CONTACT-BUGS" id="CONTACT-BUGS">11.2.2.
+        Reporting Bugs</a></h3>
+
+        <p>Please report all bugs through our bug tracker: <a href=
+        "http://sourceforge.net/tracker/?group_id=11118&amp;atid=111118"
+        target=
+        "_top">http://sourceforge.net/tracker/?group_id=11118&amp;atid=111118</a>.</p>
+
+        <p>Before doing so, please make sure that the bug has <span class=
+        "emphasis EMPHASIS c2">not already been submitted</span> and observe
+        the additional hints at the top of the <a href=
+        "http://sourceforge.net/tracker/?func=add&amp;group_id=11118&amp;atid=111118"
+        target="_top">submit form</a>. If already submitted, please feel free
+        to add any info to the original report that might help to solve the
+        issue.</p>
+
+        <p>Please try to verify that it is a <span class=
+        "APPLICATION">Privoxy</span> bug, and not a browser or site bug or
+        documented behaviour that just happens to be different than what you
+        expected. If unsure, try <a href=
+        "http://config.privoxy.org/toggle?set=disable" target="_top">toggling
+        off</a> <span class="APPLICATION">Privoxy</span>, and see if the
+        problem persists.</p>
+
+        <p>If you are using your own custom configuration, please try the
+        stock configs to see if the problem is configuration related. If
+        you're having problems with a feature that is disabled by default,
+        please ask around on the mailing list if others can reproduce the
+        problem.</p>
+
+        <p>If you aren't using the latest Privoxy version, the bug may have
+        been found and fixed in the meantime. We would appreciate if you
+        could take the time to <a href=
+        "http://www.privoxy.org/user-manual/installation.html" target=
+        "_top">upgrade to the latest version</a> (or even the latest CVS
+        snapshot) and verify that your bug still exists.</p>
+
+        <p>Please be sure to provide the following information:</p>
+
         <ul>
           <li>
-            <p>
-              Configuration issues, such as ads that slip through, or sites
-              that don't function properly due to one <span class=
-              "APPLICATION">Privoxy</span> <span class=
-              "QUOTE">"action"</span> or another being turned <span class=
-              "QUOTE">"on"</span>.
-            </p>
+            <p>The exact <span class="APPLICATION">Privoxy</span> version you
+            are using (if you got the source from CVS, please also provide
+            the source code revisions as shown in <a href=
+            "http://config.privoxy.org/show-version" target=
+            "_top">http://config.privoxy.org/show-version</a>).</p>
+          </li>
+
+          <li>
+            <p>The operating system and versions you run <span class=
+            "APPLICATION">Privoxy</span> on, (e.g. <span class=
+            "APPLICATION">Windows XP SP2</span>), if you are using a Unix
+            flavor, sending the output of <span class="QUOTE">"uname
+            -a"</span> should do, in case of GNU/Linux, please also name the
+            distribution.</p>
+          </li>
+
+          <li>
+            <p>The name, platform, and version of the <span class=
+            "APPLICATION">browser</span> you were using (e.g. <span class=
+            "APPLICATION">Internet Explorer v5.5</span> for Mac).</p>
+          </li>
+
+          <li>
+            <p>The URL where the problem occurred, or some way for us to
+            duplicate the problem (e.g. <tt class=
+            "LITERAL">http://somesite.example.com/?somethingelse=123</tt>).</p>
+          </li>
+
+          <li>
+            <p>Whether your version of <span class=
+            "APPLICATION">Privoxy</span> is one supplied by the <span class=
+            "APPLICATION">Privoxy</span> developers via SourceForge, or if
+            you got your copy somewhere else.</p>
+          </li>
+
+          <li>
+            <p>Whether you are using <span class="APPLICATION">Privoxy</span>
+            in tandem with another proxy such as <span class=
+            "APPLICATION">Tor</span>. If so, please temporary disable the
+            other proxy to see if the symptoms change.</p>
           </li>
+
           <li>
-            <p>
-              <span class="QUOTE">"Bugs"</span> in the programming code that
-              makes up <span class="APPLICATION">Privoxy</span>, such as that
-              might cause a crash.
-            </p>
+            <p>Whether you are using a personal firewall product. If so, does
+            <span class="APPLICATION">Privoxy</span> work without it?</p>
+          </li>
+
+          <li>
+            <p>Any other pertinent information to help identify the problem
+            such as config or log file excerpts (yes, you should have log
+            file entries for each action taken). To get a meaningful logfile,
+            please make sure that the <a href=
+            "../user-manual/config.html#LOGFILE" target="_top">logfile
+            directive</a> is being used and the following <a href=
+            "../user-manual/config.html#DEBUG" target="_top">debug
+            options</a> are enabled:</p>
+
+            <p class="LITERALLAYOUT">
+            debug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;#&nbsp;Log&nbsp;the&nbsp;destination&nbsp;for&nbsp;each&nbsp;request&nbsp;Privoxy&nbsp;let&nbsp;through.&nbsp;See&nbsp;also&nbsp;debug&nbsp;1024.<br>
+
+            debug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;#&nbsp;show&nbsp;each&nbsp;connection&nbsp;status<br>
+
+            debug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;#&nbsp;show&nbsp;I/O&nbsp;status<br>
+
+            debug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;#&nbsp;show&nbsp;header&nbsp;parsing<br>
+
+            debug&nbsp;&nbsp;&nbsp;128&nbsp;#&nbsp;debug&nbsp;redirects<br>
+            debug&nbsp;&nbsp;&nbsp;256&nbsp;#&nbsp;debug&nbsp;GIF&nbsp;de-animation<br>
+
+            debug&nbsp;&nbsp;&nbsp;512&nbsp;#&nbsp;Common&nbsp;Log&nbsp;Format<br>
+
+            debug&nbsp;&nbsp;1024&nbsp;#&nbsp;Log&nbsp;the&nbsp;destination&nbsp;for&nbsp;requests&nbsp;Privoxy&nbsp;didn't&nbsp;let&nbsp;through,&nbsp;and&nbsp;the&nbsp;reason&nbsp;why.<br>
+
+            debug&nbsp;&nbsp;4096&nbsp;#&nbsp;Startup&nbsp;banner&nbsp;and&nbsp;warnings.<br>
+
+            debug&nbsp;&nbsp;8192&nbsp;#&nbsp;Non-fatal&nbsp;errors</p>If you
+            are having trouble with a filter, please additionally enable
+
+            <p class="LITERALLAYOUT">
+            debug&nbsp;&nbsp;&nbsp;&nbsp;64&nbsp;#&nbsp;debug&nbsp;regular&nbsp;expression&nbsp;filters</p>If
+            you are using Privoxy 3.0.17 or later and suspect that it
+            interprets the request or the response incorrectly, please enable
+
+            <p class="LITERALLAYOUT">
+            debug&nbsp;32768&nbsp;#&nbsp;log&nbsp;all&nbsp;data&nbsp;read&nbsp;from&nbsp;the&nbsp;network</p>Note
+            that Privoxy log files may contain sensitive information so
+            please don't submit any logfiles you didn't read first. You can
+            mask sensitive information as long as it's clear that you removed
+            something.
           </li>
         </ul>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="CONTACT-ADS">11.2.1. Reporting Ads or Other
-            Configuration Problems</a>
-          </h3>
-          <p>
-            Please send feedback on ads that slipped through, innocent images
-            that were blocked, sites that don't work properly, and other
-            configuration related problem of <tt class=
-            "FILENAME">default.action</tt> file, to <a href=
-            "http://sourceforge.net/tracker/?group_id=11118&amp;atid=460288"
-            target=
-            "_top">http://sourceforge.net/tracker/?group_id=11118&amp;atid=460288</a>,
-            the Actions File Tracker.
-          </p>
-          <p>
-            New, improved <tt class="FILENAME">default.action</tt> files may
-            occasionally be made available based on your feedback. These will
-            be announced on the <a href=
-            "http://lists.sourceforge.net/lists/listinfo/ijbswa-announce"
-            target="_top">ijbswa-announce</a> list and available from our the
-            <a href=
-            "http://sourceforge.net/project/showfiles.php?group_id=11118"
-            target="_top">files section</a> of our <a href=
-            "http://sf.net/projects/ijbswa/" target="_top">project page</a>.
-          </p>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="CONTACT-BUGS">11.2.2. Reporting Bugs</a>
-          </h3>
-          <p>
-            Please report all bugs through our bug tracker: <a href=
-            "http://sourceforge.net/tracker/?group_id=11118&amp;atid=111118"
-            target=
-            "_top">http://sourceforge.net/tracker/?group_id=11118&amp;atid=111118</a>.
-          </p>
-          <p>
-            Before doing so, please make sure that the bug has <span class=
-            "emphasis"><i class="EMPHASIS">not already been
-            submitted</i></span> and observe the additional hints at the top
-            of the <a href=
-            "http://sourceforge.net/tracker/?func=add&amp;group_id=11118&amp;atid=111118"
-             target="_top">submit form</a>. If already submitted, please feel
-            free to add any info to the original report that might help to
-            solve the issue.
-          </p>
-          <p>
-            Please try to verify that it is a <span class=
-            "APPLICATION">Privoxy</span> bug, and not a browser or site bug
-            or documented behaviour that just happens to be different than
-            what you expected. If unsure, try <a href=
-            "http://config.privoxy.org/toggle?set=disable" target=
-            "_top">toggling off</a> <span class="APPLICATION">Privoxy</span>,
-            and see if the problem persists.
-          </p>
-          <p>
-            If you are using your own custom configuration, please try the
-            stock configs to see if the problem is configuration related. If
-            you're having problems with a feature that is disabled by
-            default, please ask around on the mailing list if others can
-            reproduce the problem.
-          </p>
-          <p>
-            If you aren't using the latest Privoxy version, the bug may have
-            been found and fixed in the meantime. We would appreciate if you
-            could take the time to <a href=
-            "http://www.privoxy.org/user-manual/installation.html" target=
-            "_top">upgrade to the latest version</a> (or even the latest CVS
-            snapshot) and verify that your bug still exists.
-          </p>
-          <p>
-            Please be sure to provide the following information:
-          </p>
-          <p>
-          </p>
-          <ul>
-            <li>
-              <p>
-                The exact <span class="APPLICATION">Privoxy</span> version
-                you are using (if you got the source from CVS, please also
-                provide the source code revisions as shown in <a href=
-                "http://config.privoxy.org/show-version" target=
-                "_top">http://config.privoxy.org/show-version</a>).
-              </p>
-            </li>
-            <li>
-              <p>
-                The operating system and versions you run <span class=
-                "APPLICATION">Privoxy</span> on, (e.g. <span class=
-                "APPLICATION">Windows XP SP2</span>), if you are using a Unix
-                flavor, sending the output of <span class="QUOTE">"uname
-                -a"</span> should do, in case of GNU/Linux, please also name
-                the distribution.
-              </p>
-            </li>
-            <li>
-              <p>
-                The name, platform, and version of the <span class=
-                "APPLICATION">browser</span> you were using (e.g. <span
-                class="APPLICATION">Internet Explorer v5.5</span> for Mac).
-              </p>
-            </li>
-            <li>
-              <p>
-                The URL where the problem occurred, or some way for us to
-                duplicate the problem (e.g. <tt class=
-                "LITERAL">http://somesite.example.com/?somethingelse=123</tt>).
-              </p>
-            </li>
-            <li>
-              <p>
-                Whether your version of <span class=
-                "APPLICATION">Privoxy</span> is one supplied by the <span
-                class="APPLICATION">Privoxy</span> developers via
-                SourceForge, or if you got your copy somewhere else.
-              </p>
-            </li>
-            <li>
-              <p>
-                Whether you are using <span class=
-                "APPLICATION">Privoxy</span> in tandem with another proxy
-                such as <span class="APPLICATION">Tor</span>. If so, please
-                temporary disable the other proxy to see if the symptoms
-                change.
-              </p>
-            </li>
-            <li>
-              <p>
-                Whether you are using a personal firewall product. If so,
-                does <span class="APPLICATION">Privoxy</span> work without
-                it?
-              </p>
-            </li>
-            <li>
-              <p>
-                Any other pertinent information to help identify the problem
-                such as config or log file excerpts (yes, you should have log
-                file entries for each action taken). To get a meaningful
-                logfile, please make sure that the <a href=
-                "../user-manual/config.html#LOGFILE" target="_top">logfile
-                directive</a> is being used and the following <a href=
-                "../user-manual/config.html#DEBUG" target="_top">debug
-                options</a> are enabled:
-              </p>
-              <p class="LITERALLAYOUT">
-                debug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;#&nbsp;Log&nbsp;the&nbsp;destination&nbsp;for&nbsp;each&nbsp;request&nbsp;Privoxy&nbsp;let&nbsp;through.&nbsp;See&nbsp;also&nbsp;debug&nbsp;1024.<br>
-
-                 debug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;#&nbsp;show&nbsp;each&nbsp;connection&nbsp;status<br>
-
-                 debug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;#&nbsp;show&nbsp;I/O&nbsp;status<br>
-
-                 debug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;#&nbsp;show&nbsp;header&nbsp;parsing<br>
-
-                 debug&nbsp;&nbsp;&nbsp;128&nbsp;#&nbsp;debug&nbsp;redirects<br>
-
-                 debug&nbsp;&nbsp;&nbsp;256&nbsp;#&nbsp;debug&nbsp;GIF&nbsp;de-animation<br>
-
-                 debug&nbsp;&nbsp;&nbsp;512&nbsp;#&nbsp;Common&nbsp;Log&nbsp;Format<br>
-
-                 debug&nbsp;&nbsp;1024&nbsp;#&nbsp;Log&nbsp;the&nbsp;destination&nbsp;for&nbsp;requests&nbsp;Privoxy&nbsp;didn't&nbsp;let&nbsp;through,&nbsp;and&nbsp;the&nbsp;reason&nbsp;why.<br>
-
-                 debug&nbsp;&nbsp;4096&nbsp;#&nbsp;Startup&nbsp;banner&nbsp;and&nbsp;warnings.<br>
-
-                 debug&nbsp;&nbsp;8192&nbsp;#&nbsp;Non-fatal&nbsp;errors
-              </p>
-              If you are having trouble with a filter, please additionally
-              enable
-              <p class="LITERALLAYOUT">
-                debug&nbsp;&nbsp;&nbsp;&nbsp;64&nbsp;#&nbsp;debug&nbsp;regular&nbsp;expression&nbsp;filters
-              </p>
-              If you are using Privoxy 3.0.17 or later and suspect that it
-              interprets the request or the response incorrectly, please
-              enable
-              <p class="LITERALLAYOUT">
-                debug&nbsp;32768&nbsp;#&nbsp;log&nbsp;all&nbsp;data&nbsp;read&nbsp;from&nbsp;the&nbsp;network
-              </p>
-              Note that Privoxy log files may contain sensitive information
-              so please don't submit any logfiles you didn't read first. You
-              can mask sensitive information as long as it's clear that you
-              removed something.<br>
-            </li>
-          </ul>
-
-          <p>
-            You don't have to tell us your actual name when filing a problem
-            report, but if you don't, please use a nickname so we can
-            differentiate between your messages and the ones entered by other
-            "anonymous" users that may respond to your request if they have
-            the same problem or already found a solution. Note that due to
-            spam the trackers may not always allow to post without being
-            logged into SourceForge. If that's the case, you are still free
-            to create a login that isn't directly linked to your name,
-            though.
-          </p>
-          <p>
-            Please also check the status of your request a few days after
-            submitting it, as we may request additional information. If you
-            use a SF id, you should automatically get a mail when someone
-            responds to your request. Please don't bother to add an email
-            address when using the tracker. If you prefer to communicate
-            through email, just use one of the mailing lists directly.
-          </p>
-          <p>
-            The <a href=
-            "http://www.privoxy.org/user-manual/appendix.html#ACTIONSANAT"
-            target="_top">appendix of the Privoxy User Manual</a> also has
-            helpful information on understanding <tt class=
-            "LITERAL">actions</tt>, and <tt class="LITERAL">action</tt>
-            debugging.
-          </p>
-        </div>
-      </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="CONTACT-FEATURE">11.3. Request New Features</a>
-        </h2>
-        <p>
-          You are welcome to submit ideas on new features or other proposals
-          for improvement through our feature request tracker at <a href=
-          "http://sourceforge.net/tracker/?atid=361118&amp;group_id=11118"
-          target=
-          "_top">http://sourceforge.net/tracker/?atid=361118&amp;group_id=11118</a>.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="MAILING-LISTS">11.4. Mailing Lists</a>
-        </h2>
-        <p>
-          If you prefer to communicate through email, instead of using a web
-          interface, feel free to use one of the mailing lists. To discuss
-          issues that haven't been completely diagnosed yet, please use the
-          Privoxy users list. Technically interested users and people who
-          wish to contribute to the project are always welcome on the
-          developers list. You can find an overview of all <span class=
-          "APPLICATION">Privoxy</span>-related mailing lists, including list
-          archives, at: <a href="http://sourceforge.net/mail/?group_id=11118"
-          target="_top">http://sourceforge.net/mail/?group_id=11118</a>.
-        </p>
+
+        <p>You don't have to tell us your actual name when filing a problem
+        report, but if you don't, please use a nickname so we can
+        differentiate between your messages and the ones entered by other
+        "anonymous" users that may respond to your request if they have the
+        same problem or already found a solution. Note that due to spam the
+        trackers may not always allow to post without being logged into
+        SourceForge. If that's the case, you are still free to create a login
+        that isn't directly linked to your name, though.</p>
+
+        <p>Please also check the status of your request a few days after
+        submitting it, as we may request additional information. If you use a
+        SF id, you should automatically get a mail when someone responds to
+        your request. Please don't bother to add an email address when using
+        the tracker. If you prefer to communicate through email, just use one
+        of the mailing lists directly.</p>
+
+        <p>If you are new to reporting problems, you might be interested in
+        <a href="http://www.chiark.greenend.org.uk/~sgtatham/bugs.html"
+        target="_top">How to Report Bugs Effectively</a>.</p>
+
+        <p>If you are new to reporting problems, you might be interested in
+        <a href="http://www.chiark.greenend.org.uk/~sgtatham/bugs.html"
+        target="_top">How to Report Bugs Effectively</a>.</p>
+
+        <p>The <a href=
+        "http://www.privoxy.org/user-manual/appendix.html#ACTIONSANAT"
+        target="_top">appendix of the Privoxy User Manual</a> also has
+        helpful information on understanding <tt class=
+        "LITERAL">actions</tt>, and <tt class="LITERAL">action</tt>
+        debugging.</p>
       </div>
     </div>
-    <div class="NAVFOOTER">
-      <hr width="100%" class="c1">
-      <table summary="Footer navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <td width="33%" align="left" valign="top">
-            <a href="templates.html" accesskey="P">Prev</a>
-          </td>
-          <td width="34%" align="center" valign="top">
-            <a href="index.html" accesskey="H">Home</a>
-          </td>
-          <td width="33%" align="right" valign="top">
-            <a href="copyright.html" accesskey="N">Next</a>
-          </td>
-        </tr>
-        <tr>
-          <td width="33%" align="left" valign="top">
-            Privoxy's Template Files
-          </td>
-          <td width="34%" align="center" valign="top">
-            &nbsp;
-          </td>
-          <td width="33%" align="right" valign="top">
-            Privoxy Copyright, License and History
-          </td>
-        </tr>
-      </table>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="CONTACT-FEATURE" id="CONTACT-FEATURE">11.3.
+      Request New Features</a></h2>
+
+      <p>You are welcome to submit ideas on new features or other proposals
+      for improvement through our feature request tracker at <a href=
+      "http://sourceforge.net/tracker/?atid=361118&amp;group_id=11118"
+      target="_top">http://sourceforge.net/tracker/?atid=361118&amp;group_id=11118</a>.</p>
     </div>
-  </body>
-</html>
 
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="MAILING-LISTS" id="MAILING-LISTS">11.4.
+      Mailing Lists</a></h2>
+
+      <p>If you prefer to communicate through email, instead of using a web
+      interface, feel free to use one of the mailing lists. To discuss issues
+      that haven't been completely diagnosed yet, please use the Privoxy
+      users list. Technically interested users and people who wish to
+      contribute to the project are always welcome on the developers list.
+      You can find an overview of all <span class=
+      "APPLICATION">Privoxy</span>-related mailing lists, including list
+      archives, at: <a href="http://sourceforge.net/mail/?group_id=11118"
+      target="_top">http://sourceforge.net/mail/?group_id=11118</a>.</p>
+    </div>
+  </div>
+
+  <div class="NAVFOOTER">
+    <hr class="c1" width="100%">
+
+    <table summary="Footer navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <td width="33%" align="left" valign="top"><a href="templates.html"
+        accesskey="P">Prev</a></td>
+
+        <td width="34%" align="center" valign="top"><a href="index.html"
+        accesskey="H">Home</a></td>
+
+        <td width="33%" align="right" valign="top"><a href="copyright.html"
+        accesskey="N">Next</a></td>
+      </tr>
+
+      <tr>
+        <td width="33%" align="left" valign="top">Privoxy's Template
+        Files</td>
+
+        <td width="34%" align="center" valign="top">&nbsp;</td>
+
+        <td width="33%" align="right" valign="top">Privoxy Copyright, License
+        and History</td>
+      </tr>
+    </table>
+  </div>
+</body>
+</html>
index 217336e..4d0ed29 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
-Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+
 <html>
-  <head>
-    <meta name="generator" content="HTML Tidy, see www.w3.org">
-    <title>
-      Privoxy Copyright, License and History
-    </title>
-    <meta name="GENERATOR" content=
-    "Modular DocBook HTML Stylesheet Version 1.79">
-    <link rel="HOME" title="Privoxy 3.0.18 User Manual" href="index.html">
-    <link rel="PREVIOUS" title=
-    "Contacting the Developers, Bug Reporting and Feature Requests" href=
-    "contact.html">
-    <link rel="NEXT" title="See Also" href="seealso.html">
-    <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
-    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-    <link rel="STYLESHEET" type="text/css" href="p_doc.css">
-<style type="text/css">
- body {
+<head>
+  <meta name="generator" content=
+  "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
+
+  <title>Privoxy Copyright, License and History</title>
+  <meta name="GENERATOR" content=
+  "Modular DocBook HTML Stylesheet Version 1.79">
+  <link rel="HOME" title="Privoxy 3.0.18 User Manual" href="index.html">
+  <link rel="PREVIOUS" title=
+  "Contacting the Developers, Bug Reporting and Feature Requests" href=
+  "contact.html">
+  <link rel="NEXT" title="See Also" href="seealso.html">
+  <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
+  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+  <link rel="STYLESHEET" type="text/css" href="p_doc.css">
+  <style type="text/css">
+body {
   background-color: #EEEEEE;
   color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- hr.c1 {text-align: left}
-</style>
-  </head>
-  <body class="SECT1">
-    <div class="NAVHEADER">
-      <table summary="Header navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <th colspan="3" align="center">
-            Privoxy 3.0.18 User Manual
-          </th>
-        </tr>
-        <tr>
-          <td width="10%" align="left" valign="bottom">
-            <a href="contact.html" accesskey="P">Prev</a>
-          </td>
-          <td width="80%" align="center" valign="bottom">
-          </td>
-          <td width="10%" align="right" valign="bottom">
-            <a href="seealso.html" accesskey="N">Next</a>
-          </td>
-        </tr>
-      </table>
-      <hr width="100%" class="c1">
+  }
+  :link { color: #0000FF }
+  :visited { color: #840084 }
+  :active { color: #0000FF }
+  a.c2 {font-style: italic}
+  hr.c1 {text-align: left}
+  </style>
+</head>
+
+<body class="SECT1">
+  <div class="NAVHEADER">
+    <table summary="Header navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <th colspan="3" align="center">Privoxy 3.0.18 User Manual</th>
+      </tr>
+
+      <tr>
+        <td width="10%" align="left" valign="bottom"><a href="contact.html"
+        accesskey="P">Prev</a></td>
+
+        <td width="80%" align="center" valign="bottom"></td>
+
+        <td width="10%" align="right" valign="bottom"><a href="seealso.html"
+        accesskey="N">Next</a></td>
+      </tr>
+    </table>
+    <hr class="c1" width="100%">
+  </div>
+
+  <div class="SECT1">
+    <h1 class="SECT1"><a name="COPYRIGHT" id="COPYRIGHT">12. Privoxy
+    Copyright, License and History</a></h1>
+
+    <p>Copyright &copy; 2001-2011 by Privoxy Developers <code class=
+    "EMAIL">&lt;<a href=
+    "mailto:ijbswa-developers@lists.sourceforge.net">ijbswa-developers@lists.sourceforge.net</a>&gt;</code></p>
+
+    <p>Some source code is based on code Copyright &copy; 1997 by Anonymous
+    Coders and Junkbusters, Inc. and licensed under the <i class=
+    "CITETITLE">GNU General Public License</i>.</p>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="AEN5525" id="AEN5525">12.1. License</a></h2>
+
+      <p><span class="APPLICATION">Privoxy</span> is free software; you can
+      redistribute it and/or modify it under the terms of the <i class=
+      "CITETITLE">GNU General Public License</i>, version 2, as published by
+      the Free Software Foundation.</p>
+
+      <p>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 <a class=
+      "CITETITLE c2" href=
+      "http://www.gnu.org/licenses/old-licenses/gpl-2.0.html" target=
+      "_top">GNU General Public License</a> for details.</p>
+
+      <p>You should have received a copy of the <i class="CITETITLE">GNU
+      GPL</i> along with this program; if not, write to the</p>
+
+      <p class="ADDRESS">&nbsp;Free&nbsp;Software<br>
+      &nbsp;Foundation,&nbsp;Inc.&nbsp;<span class="STREET">51 Franklin
+      Street, Fifth Floor</span><br>
+      &nbsp;<span class="CITY">Boston</span>,&nbsp;<span class=
+      "STATE">MA</span>&nbsp;<span class="POSTCODE">02110-1301</span><br>
+      &nbsp;<span class="COUNTRY">USA</span>&nbsp;</p>
     </div>
-    <div class="SECT1">
-      <h1 class="SECT1">
-        <a name="COPYRIGHT">12. Privoxy Copyright, License and History</a>
-      </h1>
-      <p>
-        Copyright &copy; 2001-2011 by Privoxy Developers <code class=
-        "EMAIL">&lt;<a href=
-        "mailto:ijbswa-developers@lists.sourceforge.net">ijbswa-developers@lists.sourceforge.net</a>&gt;</code>
-      </p>
-      <p>
-        Some source code is based on code Copyright &copy; 1997 by Anonymous
-        Coders and Junkbusters, Inc. and licensed under the <i class=
-        "CITETITLE">GNU General Public License</i>.
-      </p>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="AEN5383">12.1. License</a>
-        </h2>
-        <p>
-          <span class="APPLICATION">Privoxy</span> is free software; you can
-          redistribute it and/or modify it under the terms of the <i class=
-          "CITETITLE">GNU General Public License</i>, version 2, as published
-          by the Free Software Foundation.
-        </p>
-        <p>
-          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 <a
-          href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html"
-          target="_top"><i class="CITETITLE">GNU General Public
-          License</i></a> for details.
-        </p>
-        <p>
-          You should have received a copy of the <i class="CITETITLE">GNU
-          GPL</i> along with this program; if not, write to the
-        </p>
-        <p class="ADDRESS">
-          &nbsp;Free&nbsp;Software<br>
-           &nbsp;Foundation,&nbsp;Inc.&nbsp;<span class="STREET">51 Franklin
-          Street, Fifth Floor</span><br>
-           &nbsp;<span class="CITY">Boston</span>,&nbsp;<span class=
-          "STATE">MA</span>&nbsp;<span class="POSTCODE">02110-1301</span><br>
-           &nbsp;<span class="COUNTRY">USA</span>&nbsp;
-        </p>
-      </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="HISTORY">12.2. History</a>
-        </h2>
-        <p>
-          A long time ago, there was the <a href=
-          "http://www.junkbusters.com/ijb.html" target="_top"><span class=
-          "APPLICATION">Internet Junkbuster</span></a>, by Anonymous Coders
-          and <a href="http://www.junkbusters.com/" target="_top">Junkbusters
-          Corporation</a>. This saved many users a lot of pain in the early
-          days of web advertising and user tracking.
-        </p>
-        <p>
-          But the web, its protocols and standards, and with it, the
-          techniques for forcing ads on users, give up autonomy over their
-          browsing, and for tracking them, keeps evolving. Unfortunately, the
-          <span class="APPLICATION">Internet Junkbuster</span> did not.
-          Version 2.0.2, published in 1998, was (and is) the last official <a
-          href="http://www.junkbusters.com/ijbdist.html#release" target=
-          "_top">release</a> available from <a href=
-          "http://www.junkbusters.com" target="_top">Junkbusters
-          Corporation</a>. Fortunately, it had been released under the GNU <a
-          href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html"
-          target="_top">GPL</a>, which allowed further development by others.
-        </p>
-        <p>
-          So Stefan Waldherr started maintaining an improved version of the
-          software, to which eventually a number of people contributed
-          patches. It could already replace banners with a transparent image,
-          and had a first version of pop-up killing, but it was still very
-          closely based on the original, with all its limitations, such as
-          the lack of HTTP/1.1 support, flexible per-site configuration, or
-          content modification. The last release from this effort was version
-          2.0.2-10, published in 2000.
-        </p>
-        <p>
-          Then, some <a href=
-          "http://www.privoxy.org/user-manual/copyright.html#AUTHORS" target=
-          "_top">developers</a> picked up the thread, and started turning the
-          software inside out, upside down, and then reassembled it, adding
-          many <a href=
-          "http://www.privoxy.org/user-manual/introduction.html#FEATURES"
-          target="_top">new features</a> along the way.
-        </p>
-        <p>
-          The result of this is <span class="APPLICATION">Privoxy</span>,
-          whose first stable version, 3.0, was released August, 2002.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="AUTHORS">12.3. Authors</a>
-        </h2>
-        <p>
-          Current Privoxy Team:
-        </p>
-        <p class="LITERALLAYOUT">
-          &nbsp;Fabian&nbsp;Keil,&nbsp;lead&nbsp;developer<br>
-           &nbsp;David&nbsp;Schmidt,&nbsp;developer<br>
-           &nbsp;Hal&nbsp;Burgiss<br>
-           &nbsp;Mark&nbsp;Miller<br>
-           &nbsp;Gerry&nbsp;Murphy<br>
-           &nbsp;Lee&nbsp;Rian<br>
-           &nbsp;Roland&nbsp;Rosenfeld
-        </p>
-        <p>
-          Former Privoxy Team Members:
-        </p>
-        <p class="LITERALLAYOUT">
-          &nbsp;Johny&nbsp;Agotnes<br>
-           &nbsp;Rodrigo&nbsp;Barbosa<br>
-           &nbsp;Moritz&nbsp;Barsnick<br>
-           &nbsp;Ian&nbsp;Cummings<br>
-           &nbsp;Brian&nbsp;Dessent<br>
-           &nbsp;Jon&nbsp;Foster<br>
-           &nbsp;Karsten&nbsp;Hopp<br>
-           &nbsp;Alexander&nbsp;Lazic<br>
-           &nbsp;Daniel&nbsp;Leite<br>
-           &nbsp;G&aacute;bor&nbsp;Lipt&aacute;k<br>
-           &nbsp;Adam&nbsp;Lock<br>
-           &nbsp;Guy&nbsp;Laroche<br>
-           &nbsp;Justin&nbsp;McMurtry<br>
-           &nbsp;Andreas&nbsp;Oesterhelt<br>
-           &nbsp;Haroon&nbsp;Rafique<br>
-           &nbsp;Georg&nbsp;Sauthoff<br>
-           &nbsp;Thomas&nbsp;Steudten<br>
-           &nbsp;J&ouml;rg&nbsp;Strohmayer<br>
-           &nbsp;Rodney&nbsp;Stromlund<br>
-           &nbsp;Sviatoslav&nbsp;Sviridov<br>
-           &nbsp;Sarantis&nbsp;Paskalis<br>
-           &nbsp;Stefan&nbsp;Waldherr
-        </p>
-        <p>
-          Thanks to the many people who have tested Privoxy, reported bugs,
-          provided patches, made suggestions or contributed in some way.
-          These include (in alphabetical order):
-        </p>
-        <p class="LITERALLAYOUT">
-          &nbsp;Ken&nbsp;Arromdee<br>
-           &nbsp;Devin&nbsp;Bayer<br>
-           &nbsp;Havard&nbsp;Berland<br>
-           &nbsp;Gergely&nbsp;Bor<br>
-           &nbsp;Francois&nbsp;Botha<br>
-           &nbsp;Reiner&nbsp;Buehl<br>
-           &nbsp;Andrew&nbsp;J.&nbsp;Caines<br>
-           &nbsp;Clifford&nbsp;Caoile<br>
-           &nbsp;Wan-Teh&nbsp;Chang<br>
-           &nbsp;Fr&eacute;d&eacute;ric&nbsp;Crozat<br>
-           &nbsp;Michael&nbsp;T.&nbsp;Davis<br>
-           &nbsp;Mattes&nbsp;Dolak<br>
-           &nbsp;Matthias&nbsp;Drochner<br>
-           &nbsp;Peter&nbsp;E.<br>
-           &nbsp;Florian&nbsp;Effenberger<br>
-           &nbsp;Markus&nbsp;Elfring<br>
-           &nbsp;Dean&nbsp;Gaudet<br>
-           &nbsp;Stephen&nbsp;Gildea<br>
-           &nbsp;Daniel&nbsp;Griscom<br>
-           &nbsp;Felix&nbsp;Gr&ouml;bert<br>
-           &nbsp;Jeff&nbsp;H.<br>
-           &nbsp;Aaron&nbsp;Hamid<br>
-           &nbsp;Darel&nbsp;Henman<br>
-           &nbsp;Magnus&nbsp;Holmgren<br>
-           &nbsp;Eric&nbsp;M.&nbsp;Hopper<br>
-           &nbsp;Ralf&nbsp;Horstmann<br>
-           &nbsp;Stefan&nbsp;Huehner<br>
-           &nbsp;Peter&nbsp;Hyman<br>
-           &nbsp;Derek&nbsp;Jennings<br>
-           &nbsp;Petr&nbsp;Kadlec<br>
-           &nbsp;David&nbsp;Laight<br>
-           &nbsp;Bert&nbsp;van&nbsp;Leeuwen<br>
-           &nbsp;Don&nbsp;Libes<br>
-           &nbsp;Paul&nbsp;Lieverse<br>
-           &nbsp;Toby&nbsp;Lyward<br>
-           &nbsp;Wil&nbsp;Mahan<br>
-           &nbsp;Jindrich&nbsp;Makovicka<br>
-           &nbsp;Francois&nbsp;Marier<br>
-           &nbsp;David&nbsp;Mediavilla<br>
-           &nbsp;Raphael&nbsp;Moll<br>
-           &nbsp;Amuro&nbsp;Namie<br>
-           &nbsp;Adam&nbsp;Piggott<br>
-           &nbsp;Petr&nbsp;P&iacute;sar<br>
-           &nbsp;Dan&nbsp;Price<br>
-           &nbsp;Roberto&nbsp;Ragusa<br>
-           &nbsp;F&eacute;lix&nbsp;Rauch<br>
-           &nbsp;Maynard&nbsp;Riley<br>
-           &nbsp;Chung-chieh&nbsp;Shan<br>
-           &nbsp;Spinor&nbsp;S.<br>
-           &nbsp;Bart&nbsp;Schelstraete<br>
-           &nbsp;Oliver&nbsp;Stoeneberg<br>
-           &nbsp;Peter&nbsp;Thoenen<br>
-           &nbsp;Martin&nbsp;Thomas<br>
-           &nbsp;Bobby&nbsp;G.&nbsp;Vinyard<br>
-           &nbsp;Jochen&nbsp;Voss<br>
-           &nbsp;Glenn&nbsp;Washburn<br>
-           &nbsp;Song&nbsp;Weijia<br>
-           &nbsp;J&ouml;rg&nbsp;Weinmann<br>
-           &nbsp;Darren&nbsp;Wiebe<br>
-           &nbsp;Anduin&nbsp;Withers<br>
-           &nbsp;Oliver&nbsp;Yeoh<br>
-           &nbsp;Jamie&nbsp;Zawinski
-        </p>
-        <p>
-          Privoxy is based in part on code originally developed by
-          Junkbusters Corp. and Anonymous Coders.
-        </p>
-        <p>
-          Privoxy heavily relies on Philip Hazel's PCRE.
-        </p>
-        <p>
-          The code to filter compressed content makes use of zlib which is
-          written by Jean-loup Gailly and Mark Adler.
-        </p>
-        <p>
-          On systems that lack snprintf(), Privoxy is using a version written
-          by Mark Martinec. On systems that lack strptime(), Privoxy is using
-          the one from the GNU C Library written by Ulrich Drepper.
-        </p>
-      </div>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="HISTORY" id="HISTORY">12.2. History</a></h2>
+
+      <p>A long time ago, there was the <a href=
+      "http://www.junkbusters.com/ijb.html" target="_top"><span class=
+      "APPLICATION">Internet Junkbuster</span></a>, by Anonymous Coders and
+      <a href="http://www.junkbusters.com/" target="_top">Junkbusters
+      Corporation</a>. This saved many users a lot of pain in the early days
+      of web advertising and user tracking.</p>
+
+      <p>But the web, its protocols and standards, and with it, the
+      techniques for forcing ads on users, give up autonomy over their
+      browsing, and for tracking them, keeps evolving. Unfortunately, the
+      <span class="APPLICATION">Internet Junkbuster</span> did not. Version
+      2.0.2, published in 1998, was (and is) the last official <a href=
+      "http://www.junkbusters.com/ijbdist.html#release" target=
+      "_top">release</a> available from <a href="http://www.junkbusters.com"
+      target="_top">Junkbusters Corporation</a>. Fortunately, it had been
+      released under the GNU <a href=
+      "http://www.gnu.org/licenses/old-licenses/gpl-2.0.html" target=
+      "_top">GPL</a>, which allowed further development by others.</p>
+
+      <p>So Stefan Waldherr started maintaining an improved version of the
+      software, to which eventually a number of people contributed patches.
+      It could already replace banners with a transparent image, and had a
+      first version of pop-up killing, but it was still very closely based on
+      the original, with all its limitations, such as the lack of HTTP/1.1
+      support, flexible per-site configuration, or content modification. The
+      last release from this effort was version 2.0.2-10, published in
+      2000.</p>
+
+      <p>Then, some <a href=
+      "http://www.privoxy.org/user-manual/copyright.html#AUTHORS" target=
+      "_top">developers</a> picked up the thread, and started turning the
+      software inside out, upside down, and then reassembled it, adding many
+      <a href="http://www.privoxy.org/user-manual/introduction.html#FEATURES"
+      target="_top">new features</a> along the way.</p>
+
+      <p>The result of this is <span class="APPLICATION">Privoxy</span>,
+      whose first stable version, 3.0, was released August, 2002.</p>
     </div>
-    <div class="NAVFOOTER">
-      <hr width="100%" class="c1">
-      <table summary="Footer navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <td width="33%" align="left" valign="top">
-            <a href="contact.html" accesskey="P">Prev</a>
-          </td>
-          <td width="34%" align="center" valign="top">
-            <a href="index.html" accesskey="H">Home</a>
-          </td>
-          <td width="33%" align="right" valign="top">
-            <a href="seealso.html" accesskey="N">Next</a>
-          </td>
-        </tr>
-        <tr>
-          <td width="33%" align="left" valign="top">
-            Contacting the Developers, Bug Reporting and Feature Requests
-          </td>
-          <td width="34%" align="center" valign="top">
-            &nbsp;
-          </td>
-          <td width="33%" align="right" valign="top">
-            See Also
-          </td>
-        </tr>
-      </table>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="AUTHORS" id="AUTHORS">12.3. Authors</a></h2>
+
+      <p>Current Privoxy Team:</p>
+
+      <p class="LITERALLAYOUT">
+      &nbsp;Fabian&nbsp;Keil,&nbsp;lead&nbsp;developer<br>
+      &nbsp;David&nbsp;Schmidt,&nbsp;developer<br>
+      &nbsp;Hal&nbsp;Burgiss<br>
+      &nbsp;Mark&nbsp;Miller<br>
+      &nbsp;Gerry&nbsp;Murphy<br>
+      &nbsp;Lee&nbsp;Rian<br>
+      &nbsp;Roland&nbsp;Rosenfeld</p>
+
+      <p>Former Privoxy Team Members:</p>
+
+      <p class="LITERALLAYOUT">&nbsp;Johny&nbsp;Agotnes<br>
+      &nbsp;Rodrigo&nbsp;Barbosa<br>
+      &nbsp;Moritz&nbsp;Barsnick<br>
+      &nbsp;Ian&nbsp;Cummings<br>
+      &nbsp;Brian&nbsp;Dessent<br>
+      &nbsp;Jon&nbsp;Foster<br>
+      &nbsp;Karsten&nbsp;Hopp<br>
+      &nbsp;Alexander&nbsp;Lazic<br>
+      &nbsp;Daniel&nbsp;Leite<br>
+      &nbsp;G&aacute;bor&nbsp;Lipt&aacute;k<br>
+      &nbsp;Adam&nbsp;Lock<br>
+      &nbsp;Guy&nbsp;Laroche<br>
+      &nbsp;Justin&nbsp;McMurtry<br>
+      &nbsp;Andreas&nbsp;Oesterhelt<br>
+      &nbsp;Haroon&nbsp;Rafique<br>
+      &nbsp;Georg&nbsp;Sauthoff<br>
+      &nbsp;Thomas&nbsp;Steudten<br>
+      &nbsp;J&ouml;rg&nbsp;Strohmayer<br>
+      &nbsp;Rodney&nbsp;Stromlund<br>
+      &nbsp;Sviatoslav&nbsp;Sviridov<br>
+      &nbsp;Sarantis&nbsp;Paskalis<br>
+      &nbsp;Stefan&nbsp;Waldherr</p>
+
+      <p>Thanks to the many people who have tested Privoxy, reported bugs,
+      provided patches, made suggestions or contributed in some way. These
+      include (in alphabetical order):</p>
+
+      <p class="LITERALLAYOUT">&nbsp;Ken&nbsp;Arromdee<br>
+      &nbsp;Devin&nbsp;Bayer<br>
+      &nbsp;Havard&nbsp;Berland<br>
+      &nbsp;Gergely&nbsp;Bor<br>
+      &nbsp;Francois&nbsp;Botha<br>
+      &nbsp;Reiner&nbsp;Buehl<br>
+      &nbsp;Andrew&nbsp;J.&nbsp;Caines<br>
+      &nbsp;Clifford&nbsp;Caoile<br>
+      &nbsp;Wan-Teh&nbsp;Chang<br>
+      &nbsp;Fr&eacute;d&eacute;ric&nbsp;Crozat<br>
+      &nbsp;Michael&nbsp;T.&nbsp;Davis<br>
+      &nbsp;Mattes&nbsp;Dolak<br>
+      &nbsp;Matthias&nbsp;Drochner<br>
+      &nbsp;Peter&nbsp;E.<br>
+      &nbsp;Florian&nbsp;Effenberger<br>
+      &nbsp;Markus&nbsp;Elfring<br>
+      &nbsp;Dean&nbsp;Gaudet<br>
+      &nbsp;Stephen&nbsp;Gildea<br>
+      &nbsp;Daniel&nbsp;Griscom<br>
+      &nbsp;Felix&nbsp;Gr&ouml;bert<br>
+      &nbsp;Jeff&nbsp;H.<br>
+      &nbsp;Aaron&nbsp;Hamid<br>
+      &nbsp;Darel&nbsp;Henman<br>
+      &nbsp;Magnus&nbsp;Holmgren<br>
+      &nbsp;Eric&nbsp;M.&nbsp;Hopper<br>
+      &nbsp;Ralf&nbsp;Horstmann<br>
+      &nbsp;Stefan&nbsp;Huehner<br>
+      &nbsp;Peter&nbsp;Hyman<br>
+      &nbsp;Derek&nbsp;Jennings<br>
+      &nbsp;Petr&nbsp;Kadlec<br>
+      &nbsp;David&nbsp;Laight<br>
+      &nbsp;Bert&nbsp;van&nbsp;Leeuwen<br>
+      &nbsp;Don&nbsp;Libes<br>
+      &nbsp;Paul&nbsp;Lieverse<br>
+      &nbsp;Toby&nbsp;Lyward<br>
+      &nbsp;Wil&nbsp;Mahan<br>
+      &nbsp;Jindrich&nbsp;Makovicka<br>
+      &nbsp;Francois&nbsp;Marier<br>
+      &nbsp;David&nbsp;Mediavilla<br>
+      &nbsp;Raphael&nbsp;Moll<br>
+      &nbsp;Amuro&nbsp;Namie<br>
+      &nbsp;Adam&nbsp;Piggott<br>
+      &nbsp;Petr&nbsp;P&iacute;sar<br>
+      &nbsp;Dan&nbsp;Price<br>
+      &nbsp;Roberto&nbsp;Ragusa<br>
+      &nbsp;F&eacute;lix&nbsp;Rauch<br>
+      &nbsp;Maynard&nbsp;Riley<br>
+      &nbsp;Chung-chieh&nbsp;Shan<br>
+      &nbsp;Spinor&nbsp;S.<br>
+      &nbsp;Bart&nbsp;Schelstraete<br>
+      &nbsp;Oliver&nbsp;Stoeneberg<br>
+      &nbsp;Peter&nbsp;Thoenen<br>
+      &nbsp;Martin&nbsp;Thomas<br>
+      &nbsp;Bobby&nbsp;G.&nbsp;Vinyard<br>
+      &nbsp;Jochen&nbsp;Voss<br>
+      &nbsp;Glenn&nbsp;Washburn<br>
+      &nbsp;Song&nbsp;Weijia<br>
+      &nbsp;J&ouml;rg&nbsp;Weinmann<br>
+      &nbsp;Darren&nbsp;Wiebe<br>
+      &nbsp;Anduin&nbsp;Withers<br>
+      &nbsp;Oliver&nbsp;Yeoh<br>
+      &nbsp;Jamie&nbsp;Zawinski</p>
+
+      <p>Privoxy is based in part on code originally developed by Junkbusters
+      Corp. and Anonymous Coders.</p>
+
+      <p>Privoxy heavily relies on Philip Hazel's PCRE.</p>
+
+      <p>The code to filter compressed content makes use of zlib which is
+      written by Jean-loup Gailly and Mark Adler.</p>
+
+      <p>On systems that lack snprintf(), Privoxy is using a version written
+      by Mark Martinec. On systems that lack strptime(), Privoxy is using the
+      one from the GNU C Library written by Ulrich Drepper.</p>
     </div>
-  </body>
-</html>
+  </div>
+
+  <div class="NAVFOOTER">
+    <hr class="c1" width="100%">
+
+    <table summary="Footer navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <td width="33%" align="left" valign="top"><a href="contact.html"
+        accesskey="P">Prev</a></td>
+
+        <td width="34%" align="center" valign="top"><a href="index.html"
+        accesskey="H">Home</a></td>
 
+        <td width="33%" align="right" valign="top"><a href="seealso.html"
+        accesskey="N">Next</a></td>
+      </tr>
+
+      <tr>
+        <td width="33%" align="left" valign="top">Contacting the Developers,
+        Bug Reporting and Feature Requests</td>
+
+        <td width="34%" align="center" valign="top">&nbsp;</td>
+
+        <td width="33%" align="right" valign="top">See Also</td>
+      </tr>
+    </table>
+  </div>
+</body>
+</html>
index d48f67e..c7383a8 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
-Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+
 <html>
-  <head>
-    <meta name="generator" content="HTML Tidy, see www.w3.org">
-    <title>
-      Filter Files
-    </title>
-    <meta name="GENERATOR" content=
-    "Modular DocBook HTML Stylesheet Version 1.79">
-    <link rel="HOME" title="Privoxy 3.0.18 User Manual" href="index.html">
-    <link rel="PREVIOUS" title="Actions Files" href="actions-file.html">
-    <link rel="NEXT" title="Privoxy's Template Files" href="templates.html">
-    <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
-    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-    <link rel="STYLESHEET" type="text/css" href="p_doc.css">
-<style type="text/css">
- body {
+<head>
+  <meta name="generator" content=
+  "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
+
+  <title>Filter Files</title>
+  <meta name="GENERATOR" content=
+  "Modular DocBook HTML Stylesheet Version 1.79">
+  <link rel="HOME" title="Privoxy 3.0.18 User Manual" href="index.html">
+  <link rel="PREVIOUS" title="Actions Files" href="actions-file.html">
+  <link rel="NEXT" title="Privoxy's Template Files" href="templates.html">
+  <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
+  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+  <link rel="STYLESHEET" type="text/css" href="p_doc.css">
+  <style type="text/css">
+body {
   background-color: #EEEEEE;
   color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- hr.c1 {text-align: left}
-</style>
-  </head>
-  <body class="SECT1">
-    <div class="NAVHEADER">
-      <table summary="Header navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <th colspan="3" align="center">
-            Privoxy 3.0.18 User Manual
-          </th>
-        </tr>
+  }
+  :link { color: #0000FF }
+  :visited { color: #840084 }
+  :active { color: #0000FF }
+  table.c4 {background-color: #E0E0E0}
+  tt.c3 {font-style: italic}
+  span.c2 {font-style: italic}
+  hr.c1 {text-align: left}
+  </style>
+</head>
+
+<body class="SECT1">
+  <div class="NAVHEADER">
+    <table summary="Header navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <th colspan="3" align="center">Privoxy 3.0.18 User Manual</th>
+      </tr>
+
+      <tr>
+        <td width="10%" align="left" valign="bottom"><a href=
+        "actions-file.html" accesskey="P">Prev</a></td>
+
+        <td width="80%" align="center" valign="bottom"></td>
+
+        <td width="10%" align="right" valign="bottom"><a href=
+        "templates.html" accesskey="N">Next</a></td>
+      </tr>
+    </table>
+    <hr class="c1" width="100%">
+  </div>
+
+  <div class="SECT1">
+    <h1 class="SECT1"><a name="FILTER-FILE" id="FILTER-FILE">9. Filter
+    Files</a></h1>
+
+    <p>On-the-fly text substitutions need to be defined in a <span class=
+    "QUOTE">"filter file"</span>. Once defined, they can then be invoked as
+    an <span class="QUOTE">"action"</span>.</p>
+
+    <p><span class="APPLICATION">Privoxy</span> supports three different
+    filter actions: <tt class="LITERAL"><a href=
+    "actions-file.html#FILTER">filter</a></tt> to rewrite the content that is
+    send to the client, <tt class="LITERAL"><a href=
+    "actions-file.html#CLIENT-HEADER-FILTER">client-header-filter</a></tt> to
+    rewrite headers that are send by the client, and <tt class=
+    "LITERAL"><a href=
+    "actions-file.html#SERVER-HEADER-FILTER">server-header-filter</a></tt> to
+    rewrite headers that are send by the server.</p>
+
+    <p><span class="APPLICATION">Privoxy</span> also supports two tagger
+    actions: <tt class="LITERAL"><a href=
+    "actions-file.html#CLIENT-HEADER-TAGGER">client-header-tagger</a></tt>
+    and <tt class="LITERAL"><a href=
+    "actions-file.html#SERVER-HEADER-TAGGER">server-header-tagger</a></tt>.
+    Taggers and filters use the same syntax in the filter files, the
+    difference is that taggers don't modify the text they are filtering, but
+    use a rewritten version of the filtered text as tag. The tags can then be
+    used to change the applying actions through sections with <a href=
+    "actions-file.html#TAG-PATTERN">tag-patterns</a>.</p>
+
+    <p>Multiple filter files can be defined through the <tt class=
+    "LITERAL"><a href="config.html#FILTERFILE">filterfile</a></tt> config
+    directive. The filters as supplied by the developers are located in
+    <tt class="FILENAME">default.filter</tt>. It is recommended that any
+    locally defined or modified filters go in a separately defined file such
+    as <tt class="FILENAME">user.filter</tt>.</p>
+
+    <p>Common tasks for content filters are to eliminate common annoyances in
+    HTML and JavaScript, such as pop-up windows, exit consoles, crippled
+    windows without navigation tools, the infamous &lt;BLINK&gt; tag etc, to
+    suppress images with certain width and height attributes (standard banner
+    sizes or web-bugs), or just to have fun.</p>
+
+    <p>Enabled content filters are applied to any content whose <span class=
+    "QUOTE">"Content Type"</span> header is recognised as a sign of
+    text-based content, with the exception of <tt class=
+    "LITERAL">text/plain</tt>. Use the <a href=
+    "actions-file.html#FORCE-TEXT-MODE">force-text-mode</a> action to also
+    filter other content.</p>
+
+    <p>Substitutions are made at the source level, so if you want to
+    <span class="QUOTE">"roll your own"</span> filters, you should first be
+    familiar with HTML syntax, and, of course, regular expressions.</p>
+
+    <p>Just like the <a href="actions-file.html">actions files</a>, the
+    filter file is organized in sections, which are called <span class=
+    "emphasis EMPHASIS c2">filters</span> here. Each filter consists of a
+    heading line, that starts with one of the <span class=
+    "emphasis EMPHASIS c2">keywords</span> <tt class="LITERAL">FILTER:</tt>,
+    <tt class="LITERAL">CLIENT-HEADER-FILTER:</tt> or <tt class=
+    "LITERAL">SERVER-HEADER-FILTER:</tt> followed by the filter's
+    <span class="emphasis EMPHASIS c2">name</span>, and a short (one line)
+    <span class="emphasis EMPHASIS c2">description</span> of what it does.
+    Below that line come the <span class="emphasis EMPHASIS c2">jobs</span>,
+    i.e. lines that define the actual text substitutions. By convention, the
+    name of a filter should describe what the filter <span class=
+    "emphasis EMPHASIS c2">eliminates</span>. The comment is used in the
+    <a href="http://config.privoxy.org/" target="_top">web-based user
+    interface</a>.</p>
+
+    <p>Once a filter called <tt class="REPLACEABLE c3">name</tt> has been
+    defined in the filter file, it can be invoked by using an action of the
+    form +<tt class="LITERAL"><a href=
+    "actions-file.html#FILTER">filter</a>{<tt class=
+    "REPLACEABLE c3">name</tt>}</tt> in any <a href=
+    "actions-file.html">actions file</a>.</p>
+
+    <p>Filter definitions start with a header line that contains the filter
+    type, the filter name and the filter description. A content filter header
+    line for a filter called <span class="QUOTE">"foo"</span> could look like
+    this:</p>
+
+    <table class="c4" border="0" width="100%">
+      <tr>
+        <td>
+          <pre class="SCREEN">
+FILTER: foo Replace all "foo" with "bar"
+</pre>
+        </td>
+      </tr>
+    </table>
+
+    <p>Below that line, and up to the next header line, come the jobs that
+    define what text replacements the filter executes. They are specified in
+    a syntax that imitates <a href="http://www.perl.org/" target=
+    "_top">Perl</a>'s <tt class="LITERAL">s///</tt> operator. If you are
+    familiar with Perl, you will find this to be quite intuitive, and may
+    want to look at the PCRS documentation for the subtle differences to Perl
+    behaviour. Most notably, the non-standard option letter <tt class=
+    "LITERAL">U</tt> is supported, which turns the default to ungreedy
+    matching.</p>
+
+    <p>If you are new to <a href=
+    "http://en.wikipedia.org/wiki/Regular_expressions" target=
+    "_top"><span class="QUOTE">"Regular Expressions"</span></a>, you might
+    want to take a look at the <a href="appendix.html#REGEX">Appendix on
+    regular expressions</a>, and see the <a href=
+    "http://perldoc.perl.org/perlre.html" target="_top">Perl manual</a> for
+    <a href="http://perldoc.perl.org/perlop.html" target="_top">the
+    <tt class="LITERAL">s///</tt> operator's syntax</a> and <a href=
+    "http://perldoc.perl.org/perlre.html" target="_top">Perl-style regular
+    expressions</a> in general. The below examples might also help to get you
+    started.</p>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="AEN5041" id="AEN5041">9.1. Filter File
+      Tutorial</a></h2>
+
+      <p>Now, let's complete our <span class="QUOTE">"foo"</span> content
+      filter. We have already defined the heading, but the jobs are still
+      missing. Since all it does is to replace <span class=
+      "QUOTE">"foo"</span> with <span class="QUOTE">"bar"</span>, there is
+      only one (trivial) job needed:</p>
+
+      <table class="c4" border="0" width="100%">
         <tr>
-          <td width="10%" align="left" valign="bottom">
-            <a href="actions-file.html" accesskey="P">Prev</a>
-          </td>
-          <td width="80%" align="center" valign="bottom">
-          </td>
-          <td width="10%" align="right" valign="bottom">
-            <a href="templates.html" accesskey="N">Next</a>
+          <td>
+            <pre class="SCREEN">
+s/foo/bar/
+</pre>
           </td>
         </tr>
       </table>
-      <hr width="100%" class="c1">
-    </div>
-    <div class="SECT1">
-      <h1 class="SECT1">
-        <a name="FILTER-FILE">9. Filter Files</a>
-      </h1>
-      <p>
-        On-the-fly text substitutions need to be defined in a <span class=
-        "QUOTE">"filter file"</span>. Once defined, they can then be invoked
-        as an <span class="QUOTE">"action"</span>.
-      </p>
-      <p>
-        <span class="APPLICATION">Privoxy</span> supports three different
-        filter actions: <tt class="LITERAL"><a href=
-        "actions-file.html#FILTER">filter</a></tt> to rewrite the content
-        that is send to the client, <tt class="LITERAL"><a href=
-        "actions-file.html#CLIENT-HEADER-FILTER">client-header-filter</a></tt>
-        to rewrite headers that are send by the client, and <tt class=
-        "LITERAL"><a href=
-        "actions-file.html#SERVER-HEADER-FILTER">server-header-filter</a></tt>
-        to rewrite headers that are send by the server.
-      </p>
-      <p>
-        <span class="APPLICATION">Privoxy</span> also supports two tagger
-        actions: <tt class="LITERAL"><a href=
-        "actions-file.html#CLIENT-HEADER-TAGGER">client-header-tagger</a></tt>
-        and <tt class="LITERAL"><a href=
-        "actions-file.html#SERVER-HEADER-TAGGER">server-header-tagger</a></tt>.
-        Taggers and filters use the same syntax in the filter files, the
-        difference is that taggers don't modify the text they are filtering,
-        but use a rewritten version of the filtered text as tag. The tags can
-        then be used to change the applying actions through sections with <a
-        href="actions-file.html#TAG-PATTERN">tag-patterns</a>.
-      </p>
-      <p>
-        Multiple filter files can be defined through the <tt class=
-        "LITERAL"><a href="config.html#FILTERFILE">filterfile</a></tt> config
-        directive. The filters as supplied by the developers are located in
-        <tt class="FILENAME">default.filter</tt>. It is recommended that any
-        locally defined or modified filters go in a separately defined file
-        such as <tt class="FILENAME">user.filter</tt>.
-      </p>
-      <p>
-        Common tasks for content filters are to eliminate common annoyances
-        in HTML and JavaScript, such as pop-up windows, exit consoles,
-        crippled windows without navigation tools, the infamous &lt;BLINK&gt;
-        tag etc, to suppress images with certain width and height attributes
-        (standard banner sizes or web-bugs), or just to have fun.
-      </p>
-      <p>
-        Enabled content filters are applied to any content whose <span class=
-        "QUOTE">"Content Type"</span> header is recognised as a sign of
-        text-based content, with the exception of <tt class=
-        "LITERAL">text/plain</tt>. Use the <a href=
-        "actions-file.html#FORCE-TEXT-MODE">force-text-mode</a> action to
-        also filter other content.
-      </p>
-      <p>
-        Substitutions are made at the source level, so if you want to <span
-        class="QUOTE">"roll your own"</span> filters, you should first be
-        familiar with HTML syntax, and, of course, regular expressions.
-      </p>
-      <p>
-        Just like the <a href="actions-file.html">actions files</a>, the
-        filter file is organized in sections, which are called <span class=
-        "emphasis"><i class="EMPHASIS">filters</i></span> here. Each filter
-        consists of a heading line, that starts with one of the <span class=
-        "emphasis"><i class="EMPHASIS">keywords</i></span> <tt class=
-        "LITERAL">FILTER:</tt>, <tt class=
-        "LITERAL">CLIENT-HEADER-FILTER:</tt> or <tt class=
-        "LITERAL">SERVER-HEADER-FILTER:</tt> followed by the filter's <span
-        class="emphasis"><i class="EMPHASIS">name</i></span>, and a short
-        (one line) <span class="emphasis"><i class=
-        "EMPHASIS">description</i></span> of what it does. Below that line
-        come the <span class="emphasis"><i class="EMPHASIS">jobs</i></span>,
-        i.e. lines that define the actual text substitutions. By convention,
-        the name of a filter should describe what the filter <span class=
-        "emphasis"><i class="EMPHASIS">eliminates</i></span>. The comment is
-        used in the <a href="http://config.privoxy.org/" target=
-        "_top">web-based user interface</a>.
-      </p>
-      <p>
-        Once a filter called <tt class="REPLACEABLE"><i>name</i></tt> has
-        been defined in the filter file, it can be invoked by using an action
-        of the form +<tt class="LITERAL"><a href=
-        "actions-file.html#FILTER">filter</a>{<tt class=
-        "REPLACEABLE"><i>name</i></tt>}</tt> in any <a href=
-        "actions-file.html">actions file</a>.
-      </p>
-      <p>
-        Filter definitions start with a header line that contains the filter
-        type, the filter name and the filter description. A content filter
-        header line for a filter called <span class="QUOTE">"foo"</span>
-        could look like this:
-      </p>
-      <p>
-      </p>
-      <table border="0" bgcolor="#E0E0E0" width="100%">
+
+      <p>But wait! Didn't the comment say that <span class=
+      "emphasis EMPHASIS c2">all</span> occurrences of <span class=
+      "QUOTE">"foo"</span> should be replaced? Our current job will only take
+      care of the first <span class="QUOTE">"foo"</span> on each page. For
+      global substitution, we'll need to add the <tt class="LITERAL">g</tt>
+      option:</p>
+
+      <table class="c4" border="0" width="100%">
         <tr>
           <td>
-<pre class="SCREEN">
-FILTER: foo Replace all "foo" with "bar"
+            <pre class="SCREEN">
+s/foo/bar/g
 </pre>
           </td>
         </tr>
       </table>
 
-      <p>
-        Below that line, and up to the next header line, come the jobs that
-        define what text replacements the filter executes. They are specified
-        in a syntax that imitates <a href="http://www.perl.org/" target=
-        "_top">Perl</a>'s <tt class="LITERAL">s///</tt> operator. If you are
-        familiar with Perl, you will find this to be quite intuitive, and may
-        want to look at the PCRS documentation for the subtle differences to
-        Perl behaviour. Most notably, the non-standard option letter <tt
-        class="LITERAL">U</tt> is supported, which turns the default to
-        ungreedy matching.
-      </p>
-      <p>
-        If you are new to <a href=
-        "http://en.wikipedia.org/wiki/Regular_expressions" target=
-        "_top"><span class="QUOTE">"Regular Expressions"</span></a>, you
-        might want to take a look at the <a href=
-        "appendix.html#REGEX">Appendix on regular expressions</a>, and see
-        the <a href="http://perldoc.perl.org/perlre.html" target="_top">Perl
-        manual</a> for <a href="http://perldoc.perl.org/perlop.html" target=
-        "_top">the <tt class="LITERAL">s///</tt> operator's syntax</a> and <a
-        href="http://perldoc.perl.org/perlre.html" target="_top">Perl-style
-        regular expressions</a> in general. The below examples might also
-        help to get you started.
-      </p>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="AEN4903">9.1. Filter File Tutorial</a>
-        </h2>
-        <p>
-          Now, let's complete our <span class="QUOTE">"foo"</span> content
-          filter. We have already defined the heading, but the jobs are still
-          missing. Since all it does is to replace <span class=
-          "QUOTE">"foo"</span> with <span class="QUOTE">"bar"</span>, there
-          is only one (trivial) job needed:
-        </p>
-        <p>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
-s/foo/bar/
-</pre>
-            </td>
-          </tr>
-        </table>
-
-        <p>
-          But wait! Didn't the comment say that <span class="emphasis"><i
-          class="EMPHASIS">all</i></span> occurrences of <span class=
-          "QUOTE">"foo"</span> should be replaced? Our current job will only
-          take care of the first <span class="QUOTE">"foo"</span> on each
-          page. For global substitution, we'll need to add the <tt class=
-          "LITERAL">g</tt> option:
-        </p>
-        <p>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
-s/foo/bar/g
-</pre>
-            </td>
-          </tr>
-        </table>
-
-        <p>
-          Our complete filter now looks like this:
-        </p>
-        <p>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
+      <p>Our complete filter now looks like this:</p>
+
+      <table class="c4" border="0" width="100%">
+        <tr>
+          <td>
+            <pre class="SCREEN">
 FILTER: foo Replace all "foo" with "bar"
 s/foo/bar/g
 </pre>
-            </td>
-          </tr>
-        </table>
-
-        <p>
-          Let's look at some real filters for more interesting examples. Here
-          you see a filter that protects against some common annoyances that
-          arise from JavaScript abuse. Let's look at its jobs one after the
-          other:
-        </p>
-        <p>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
+          </td>
+        </tr>
+      </table>
+
+      <p>Let's look at some real filters for more interesting examples. Here
+      you see a filter that protects against some common annoyances that
+      arise from JavaScript abuse. Let's look at its jobs one after the
+      other:</p>
+
+      <table class="c4" border="0" width="100%">
+        <tr>
+          <td>
+            <pre class="SCREEN">
 FILTER: js-annoyances Get rid of particularly annoying JavaScript abuse
 
 # Get rid of JavaScript referrer tracking. Test page: http://www.randomoddness.com/untitled.htm
 #
 s|(&lt;script.*)document\.referrer(.*&lt;/script&gt;)|$1"Not Your Business!"$2|Usg
 </pre>
-            </td>
-          </tr>
-        </table>
-
-        <p>
-          Following the header line and a comment, you see the job. Note that
-          it uses <tt class="LITERAL">|</tt> as the delimiter instead of <tt
-          class="LITERAL">/</tt>, because the pattern contains a forward
-          slash, which would otherwise have to be escaped by a backslash (<tt
-          class="LITERAL">\</tt>).
-        </p>
-        <p>
-          Now, let's examine the pattern: it starts with the text <tt class=
-          "LITERAL">&lt;script.*</tt> enclosed in parentheses. Since the dot
-          matches any character, and <tt class="LITERAL">*</tt> means: <span
-          class="QUOTE">"Match an arbitrary number of the element left of
-          myself"</span>, this matches <span class=
-          "QUOTE">"&lt;script"</span>, followed by <span class="emphasis"><i
-          class="EMPHASIS">any</i></span> text, i.e. it matches the whole
-          page, from the start of the first &lt;script&gt; tag.
-        </p>
-        <p>
-          That's more than we want, but the pattern continues: <tt class=
-          "LITERAL">document\.referrer</tt> matches only the exact string
-          <span class="QUOTE">"document.referrer"</span>. The dot needed to
-          be <span class="emphasis"><i class="EMPHASIS">escaped</i></span>,
-          i.e. preceded by a backslash, to take away its special meaning as a
-          joker, and make it just a regular dot. So far, the meaning is:
-          Match from the start of the first &lt;script&gt; tag in a the page,
-          up to, and including, the text <span class=
-          "QUOTE">"document.referrer"</span>, if <span class="emphasis"><i
-          class="EMPHASIS">both</i></span> are present in the page (and
-          appear in that order).
-        </p>
-        <p>
-          But there's still more pattern to go. The next element, again
-          enclosed in parentheses, is <tt class=
-          "LITERAL">.*&lt;/script&gt;</tt>. You already know what <tt class=
-          "LITERAL">.*</tt> means, so the whole pattern translates to: Match
-          from the start of the first &lt;script&gt; tag in a page to the end
-          of the last &lt;script&gt; tag, provided that the text <span class=
-          "QUOTE">"document.referrer"</span> appears somewhere in between.
-        </p>
-        <p>
-          This is still not the whole story, since we have ignored the
-          options and the parentheses: The portions of the page matched by
-          sub-patterns that are enclosed in parentheses, will be remembered
-          and be available through the variables <tt class="LITERAL">$1, $2,
-          ...</tt> in the substitute. The <tt class="LITERAL">U</tt> option
-          switches to ungreedy matching, which means that the first <tt
-          class="LITERAL">.*</tt> in the pattern will only <span class=
-          "QUOTE">"eat up"</span> all text in between <span class=
-          "QUOTE">"&lt;script"</span> and the <span class="emphasis"><i
-          class="EMPHASIS">first</i></span> occurrence of <span class=
-          "QUOTE">"document.referrer"</span>, and that the second <tt class=
-          "LITERAL">.*</tt> will only span the text up to the <span class=
-          "emphasis"><i class="EMPHASIS">first</i></span> <span class=
-          "QUOTE">"&lt;/script&gt;"</span> tag. Furthermore, the <tt class=
-          "LITERAL">s</tt> option says that the match may span multiple lines
-          in the page, and the <tt class="LITERAL">g</tt> option again means
-          that the substitution is global.
-        </p>
-        <p>
-          So, to summarize, the pattern means: Match all scripts that contain
-          the text <span class="QUOTE">"document.referrer"</span>. Remember
-          the parts of the script from (and including) the start tag up to
-          (and excluding) the string <span class=
-          "QUOTE">"document.referrer"</span> as <tt class="LITERAL">$1</tt>,
-          and the part following that string, up to and including the closing
-          tag, as <tt class="LITERAL">$2</tt>.
-        </p>
-        <p>
-          Now the pattern is deciphered, but wasn't this about substituting
-          things? So lets look at the substitute: <tt class="LITERAL">$1"Not
-          Your Business!"$2</tt> is easy to read: The text remembered as <tt
-          class="LITERAL">$1</tt>, followed by <tt class="LITERAL">"Not Your
-          Business!"</tt> (<span class="emphasis"><i class=
-          "EMPHASIS">including</i></span> the quotation marks!), followed by
-          the text remembered as <tt class="LITERAL">$2</tt>. This produces
-          an exact copy of the original string, with the middle part (the
-          <span class="QUOTE">"document.referrer"</span>) replaced by <tt
-          class="LITERAL">"Not Your Business!"</tt>.
-        </p>
-        <p>
-          The whole job now reads: Replace <span class=
-          "QUOTE">"document.referrer"</span> by <tt class="LITERAL">"Not Your
-          Business!"</tt> wherever it appears inside a &lt;script&gt; tag.
-          Note that this job won't break JavaScript syntax, since both the
-          original and the replacement are syntactically valid string
-          objects. The script just won't have access to the referrer
-          information anymore.
-        </p>
-        <p>
-          We'll show you two other jobs from the JavaScript taming
-          department, but this time only point out the constructs of special
-          interest:
-        </p>
-        <p>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
+          </td>
+        </tr>
+      </table>
+
+      <p>Following the header line and a comment, you see the job. Note that
+      it uses <tt class="LITERAL">|</tt> as the delimiter instead of
+      <tt class="LITERAL">/</tt>, because the pattern contains a forward
+      slash, which would otherwise have to be escaped by a backslash
+      (<tt class="LITERAL">\</tt>).</p>
+
+      <p>Now, let's examine the pattern: it starts with the text <tt class=
+      "LITERAL">&lt;script.*</tt> enclosed in parentheses. Since the dot
+      matches any character, and <tt class="LITERAL">*</tt> means:
+      <span class="QUOTE">"Match an arbitrary number of the element left of
+      myself"</span>, this matches <span class="QUOTE">"&lt;script"</span>,
+      followed by <span class="emphasis EMPHASIS c2">any</span> text, i.e. it
+      matches the whole page, from the start of the first &lt;script&gt;
+      tag.</p>
+
+      <p>That's more than we want, but the pattern continues: <tt class=
+      "LITERAL">document\.referrer</tt> matches only the exact string
+      <span class="QUOTE">"document.referrer"</span>. The dot needed to be
+      <span class="emphasis EMPHASIS c2">escaped</span>, i.e. preceded by a
+      backslash, to take away its special meaning as a joker, and make it
+      just a regular dot. So far, the meaning is: Match from the start of the
+      first &lt;script&gt; tag in a the page, up to, and including, the text
+      <span class="QUOTE">"document.referrer"</span>, if <span class=
+      "emphasis EMPHASIS c2">both</span> are present in the page (and appear
+      in that order).</p>
+
+      <p>But there's still more pattern to go. The next element, again
+      enclosed in parentheses, is <tt class="LITERAL">.*&lt;/script&gt;</tt>.
+      You already know what <tt class="LITERAL">.*</tt> means, so the whole
+      pattern translates to: Match from the start of the first &lt;script&gt;
+      tag in a page to the end of the last &lt;script&gt; tag, provided that
+      the text <span class="QUOTE">"document.referrer"</span> appears
+      somewhere in between.</p>
+
+      <p>This is still not the whole story, since we have ignored the options
+      and the parentheses: The portions of the page matched by sub-patterns
+      that are enclosed in parentheses, will be remembered and be available
+      through the variables <tt class="LITERAL">$1, $2, ...</tt> in the
+      substitute. The <tt class="LITERAL">U</tt> option switches to ungreedy
+      matching, which means that the first <tt class="LITERAL">.*</tt> in the
+      pattern will only <span class="QUOTE">"eat up"</span> all text in
+      between <span class="QUOTE">"&lt;script"</span> and the <span class=
+      "emphasis EMPHASIS c2">first</span> occurrence of <span class=
+      "QUOTE">"document.referrer"</span>, and that the second <tt class=
+      "LITERAL">.*</tt> will only span the text up to the <span class=
+      "emphasis EMPHASIS c2">first</span> <span class=
+      "QUOTE">"&lt;/script&gt;"</span> tag. Furthermore, the <tt class=
+      "LITERAL">s</tt> option says that the match may span multiple lines in
+      the page, and the <tt class="LITERAL">g</tt> option again means that
+      the substitution is global.</p>
+
+      <p>So, to summarize, the pattern means: Match all scripts that contain
+      the text <span class="QUOTE">"document.referrer"</span>. Remember the
+      parts of the script from (and including) the start tag up to (and
+      excluding) the string <span class="QUOTE">"document.referrer"</span> as
+      <tt class="LITERAL">$1</tt>, and the part following that string, up to
+      and including the closing tag, as <tt class="LITERAL">$2</tt>.</p>
+
+      <p>Now the pattern is deciphered, but wasn't this about substituting
+      things? So lets look at the substitute: <tt class="LITERAL">$1"Not Your
+      Business!"$2</tt> is easy to read: The text remembered as <tt class=
+      "LITERAL">$1</tt>, followed by <tt class="LITERAL">"Not Your
+      Business!"</tt> (<span class="emphasis EMPHASIS c2">including</span>
+      the quotation marks!), followed by the text remembered as <tt class=
+      "LITERAL">$2</tt>. This produces an exact copy of the original string,
+      with the middle part (the <span class=
+      "QUOTE">"document.referrer"</span>) replaced by <tt class=
+      "LITERAL">"Not Your Business!"</tt>.</p>
+
+      <p>The whole job now reads: Replace <span class=
+      "QUOTE">"document.referrer"</span> by <tt class="LITERAL">"Not Your
+      Business!"</tt> wherever it appears inside a &lt;script&gt; tag. Note
+      that this job won't break JavaScript syntax, since both the original
+      and the replacement are syntactically valid string objects. The script
+      just won't have access to the referrer information anymore.</p>
+
+      <p>We'll show you two other jobs from the JavaScript taming department,
+      but this time only point out the constructs of special interest:</p>
+
+      <table class="c4" border="0" width="100%">
+        <tr>
+          <td>
+            <pre class="SCREEN">
 # The status bar is for displaying link targets, not pointless blahblah
 #
 s/window\.status\s*=\s*(['"]).*?\1/dUmMy=1/ig
 </pre>
-            </td>
-          </tr>
-        </table>
-
-        <p>
-          <tt class="LITERAL">\s</tt> stands for whitespace characters
-          (space, tab, newline, carriage return, form feed), so that <tt
-          class="LITERAL">\s*</tt> means: <span class="QUOTE">"zero or more
-          whitespace"</span>. The <tt class="LITERAL">?</tt> in <tt class=
-          "LITERAL">.*?</tt> makes this matching of arbitrary text ungreedy.
-          (Note that the <tt class="LITERAL">U</tt> option is not set). The
-          <tt class="LITERAL">['"]</tt> construct means: <span class=
-          "QUOTE">"a single <span class="emphasis"><i class=
-          "EMPHASIS">or</i></span> a double quote"</span>. Finally, <tt
-          class="LITERAL">\1</tt> is a back-reference to the first
-          parenthesis just like <tt class="LITERAL">$1</tt> above, with the
-          difference that in the <span class="emphasis"><i class=
-          "EMPHASIS">pattern</i></span>, a backslash indicates a
-          back-reference, whereas in the <span class="emphasis"><i class=
-          "EMPHASIS">substitute</i></span>, it's the dollar.
-        </p>
-        <p>
-          So what does this job do? It replaces assignments of single- or
-          double-quoted strings to the <span class=
-          "QUOTE">"window.status"</span> object with a dummy assignment
-          (using a variable name that is hopefully odd enough not to conflict
-          with real variables in scripts). Thus, it catches many cases where
-          e.g. pointless descriptions are displayed in the status bar instead
-          of the link target when you move your mouse over links.
-        </p>
-        <p>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
+          </td>
+        </tr>
+      </table>
+
+      <p><tt class="LITERAL">\s</tt> stands for whitespace characters (space,
+      tab, newline, carriage return, form feed), so that <tt class=
+      "LITERAL">\s*</tt> means: <span class="QUOTE">"zero or more
+      whitespace"</span>. The <tt class="LITERAL">?</tt> in <tt class=
+      "LITERAL">.*?</tt> makes this matching of arbitrary text ungreedy.
+      (Note that the <tt class="LITERAL">U</tt> option is not set). The
+      <tt class="LITERAL">['"]</tt> construct means: <span class="QUOTE">"a
+      single <span class="emphasis EMPHASIS c2">or</span> a double
+      quote"</span>. Finally, <tt class="LITERAL">\1</tt> is a back-reference
+      to the first parenthesis just like <tt class="LITERAL">$1</tt> above,
+      with the difference that in the <span class=
+      "emphasis EMPHASIS c2">pattern</span>, a backslash indicates a
+      back-reference, whereas in the <span class=
+      "emphasis EMPHASIS c2">substitute</span>, it's the dollar.</p>
+
+      <p>So what does this job do? It replaces assignments of single- or
+      double-quoted strings to the <span class="QUOTE">"window.status"</span>
+      object with a dummy assignment (using a variable name that is hopefully
+      odd enough not to conflict with real variables in scripts). Thus, it
+      catches many cases where e.g. pointless descriptions are displayed in
+      the status bar instead of the link target when you move your mouse over
+      links.</p>
+
+      <table class="c4" border="0" width="100%">
+        <tr>
+          <td>
+            <pre class="SCREEN">
 # Kill OnUnload popups. Yummy. Test: http://www.zdnet.com/zdsubs/yahoo/tree/yfs.html
 #
 s/(&lt;body [^&gt;]*)onunload(.*&gt;)/$1never$2/iU
 </pre>
-            </td>
-          </tr>
-        </table>
-
-        <p>
-          Including the <a href=
-          "http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113/events.html#Events-eventgroupings-htmlevents"
-           target="_top">OnUnload event binding</a> in the HTML DOM was a
-          <span class="emphasis"><i class="EMPHASIS">CRIME</i></span>. When I
-          close a browser window, I want it to close and die. Basta. This job
-          replaces the <span class="QUOTE">"onunload"</span> attribute in
-          <span class="QUOTE">"&lt;body&gt;"</span> tags with the dummy word
-          <tt class="LITERAL">never</tt>. Note that the <tt class=
-          "LITERAL">i</tt> option makes the pattern matching
-          case-insensitive. Also note that ungreedy matching alone doesn't
-          always guarantee a minimal match: In the first parenthesis, we had
-          to use <tt class="LITERAL">[^&gt;]*</tt> instead of <tt class=
-          "LITERAL">.*</tt> to prevent the match from exceeding the
-          &lt;body&gt; tag if it doesn't contain <span class=
-          "QUOTE">"OnUnload"</span>, but the page's content does.
-        </p>
-        <p>
-          The last example is from the fun department:
-        </p>
-        <p>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
+          </td>
+        </tr>
+      </table>
+
+      <p>Including the <a href=
+      "http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113/events.html#Events-eventgroupings-htmlevents"
+      target="_top">OnUnload event binding</a> in the HTML DOM was a
+      <span class="emphasis EMPHASIS c2">CRIME</span>. When I close a browser
+      window, I want it to close and die. Basta. This job replaces the
+      <span class="QUOTE">"onunload"</span> attribute in <span class=
+      "QUOTE">"&lt;body&gt;"</span> tags with the dummy word <tt class=
+      "LITERAL">never</tt>. Note that the <tt class="LITERAL">i</tt> option
+      makes the pattern matching case-insensitive. Also note that ungreedy
+      matching alone doesn't always guarantee a minimal match: In the first
+      parenthesis, we had to use <tt class="LITERAL">[^&gt;]*</tt> instead of
+      <tt class="LITERAL">.*</tt> to prevent the match from exceeding the
+      &lt;body&gt; tag if it doesn't contain <span class=
+      "QUOTE">"OnUnload"</span>, but the page's content does.</p>
+
+      <p>The last example is from the fun department:</p>
+
+      <table class="c4" border="0" width="100%">
+        <tr>
+          <td>
+            <pre class="SCREEN">
 FILTER: fun Fun text replacements
 
 # Spice the daily news:
 #
 s/microsoft(?!\.com)/MicroSuck/ig
 </pre>
-            </td>
-          </tr>
-        </table>
-
-        <p>
-          Note the <tt class="LITERAL">(?!\.com)</tt> part (a so-called
-          negative lookahead) in the job's pattern, which means: Don't match,
-          if the string <span class="QUOTE">".com"</span> appears directly
-          following <span class="QUOTE">"microsoft"</span> in the page. This
-          prevents links to microsoft.com from being trashed, while still
-          replacing the word everywhere else.
-        </p>
-        <p>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
+          </td>
+        </tr>
+      </table>
+
+      <p>Note the <tt class="LITERAL">(?!\.com)</tt> part (a so-called
+      negative lookahead) in the job's pattern, which means: Don't match, if
+      the string <span class="QUOTE">".com"</span> appears directly following
+      <span class="QUOTE">"microsoft"</span> in the page. This prevents links
+      to microsoft.com from being trashed, while still replacing the word
+      everywhere else.</p>
+
+      <table class="c4" border="0" width="100%">
+        <tr>
+          <td>
+            <pre class="SCREEN">
 # Buzzword Bingo (example for extended regex syntax)
 #
 s* industry[ -]leading \
@@ -469,539 +416,429 @@ s* industry[ -]leading \
 *&lt;font color="red"&gt;&lt;b&gt;BINGO!&lt;/b&gt;&lt;/font&gt; \
 *igx
 </pre>
-            </td>
-          </tr>
-        </table>
-
-        <p>
-          The <tt class="LITERAL">x</tt> option in this job turns on extended
-          syntax, and allows for e.g. the liberal use of (non-interpreted!)
-          whitespace for nicer formatting.
-        </p>
-        <p>
-          You get the idea?
-        </p>
-      </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="PREDEFINED-FILTERS">9.2. The Pre-defined Filters</a>
-        </h2>
-        <p>
-          The distribution <tt class="FILENAME">default.filter</tt> file
-          contains a selection of pre-defined filters for your convenience:
-        </p>
-        <div class="VARIABLELIST">
-          <dl>
-            <dt>
-              <span class="emphasis"><i class=
-              "EMPHASIS">js-annoyances</i></span>
-            </dt>
-            <dd>
-              <p>
-                The purpose of this filter is to get rid of particularly
-                annoying JavaScript abuse. To that end, it
-              </p>
-              <ul>
-                <li>
-                  <p>
-                    replaces JavaScript references to the browser's referrer
-                    information with the string "Not Your Business!". This
-                    compliments the <tt class="LITERAL"><a href=
-                    "actions-file.html#HIDE-REFERRER">hide-referrer</a></tt>
-                    action on the content level.
-                  </p>
-                </li>
-                <li>
-                  <p>
-                    removes the bindings to the DOM's <a href=
-                    "http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113/events.html#Events-eventgroupings-htmlevents"
-                     target="_top">unload event</a> which we feel has no
-                    right to exist and is responsible for most <span class=
-                    "QUOTE">"exit consoles"</span>, i.e. nasty windows that
-                    pop up when you close another one.
-                  </p>
-                </li>
-                <li>
-                  <p>
-                    removes code that causes new windows to be opened with
-                    undesired properties, such as being full-screen,
-                    non-resizeable, without location, status or menu bar etc.
-                  </p>
-                </li>
-              </ul>
-
-              <p>
-                Use with caution. This is an aggressive filter, and can break
-                sites that rely heavily on JavaScript.
-              </p>
-            </dd>
-            <dt>
-              <span class="emphasis"><i class="EMPHASIS">js-events</i></span>
-            </dt>
-            <dd>
-              <p>
-                This is a very radical measure. It removes virtually all
-                JavaScript event bindings, which means that scripts can not
-                react to user actions such as mouse movements or clicks,
-                window resizing etc, anymore. Use with caution!
-              </p>
-              <p>
-                We <span class="emphasis"><i class="EMPHASIS">strongly
-                discourage</i></span> using this filter as a default since it
-                breaks many legitimate scripts. It is meant for use only on
-                extra-nasty sites (should you really need to go there).
-              </p>
-            </dd>
-            <dt>
-              <span class="emphasis"><i class=
-              "EMPHASIS">html-annoyances</i></span>
-            </dt>
-            <dd>
-              <p>
-                This filter will undo many common instances of HTML based
-                abuse.
-              </p>
-              <p>
-                The <tt class="LITERAL">BLINK</tt> and <tt class=
-                "LITERAL">MARQUEE</tt> tags are neutralized (yeah baby!), and
-                browser windows will be created as resizeable (as of course
-                they should be!), and will have location, scroll and menu
-                bars -- even if specified otherwise.
-              </p>
-            </dd>
-            <dt>
-              <span class="emphasis"><i class=
-              "EMPHASIS">content-cookies</i></span>
-            </dt>
-            <dd>
-              <p>
-                Most cookies are set in the HTTP dialog, where they can be
-                intercepted by the <tt class="LITERAL"><a href=
-                "actions-file.html#CRUNCH-INCOMING-COOKIES">crunch-incoming-cookies</a></tt>
-                and <tt class="LITERAL"><a href=
-                "actions-file.html#CRUNCH-OUTGOING-COOKIES">crunch-outgoing-cookies</a></tt>
-                actions. But web sites increasingly make use of HTML meta
-                tags and JavaScript to sneak cookies to the browser on the
-                content level.
-              </p>
-              <p>
-                This filter disables most HTML and JavaScript code that reads
-                or sets cookies. It cannot detect all clever uses of these
-                types of code, so it should not be relied on as an absolute
-                fix. Use it wherever you would also use the cookie crunch
-                actions.
-              </p>
-            </dd>
-            <dt>
-              <span class="emphasis"><i class="EMPHASIS">refresh
-              tags</i></span>
-            </dt>
-            <dd>
-              <p>
-                Disable any refresh tags if the interval is greater than nine
-                seconds (so that redirections done via refresh tags are not
-                destroyed). This is useful for dial-on-demand setups, or for
-                those who find this HTML feature annoying.
-              </p>
-            </dd>
-            <dt>
-              <span class="emphasis"><i class=
-              "EMPHASIS">unsolicited-popups</i></span>
-            </dt>
-            <dd>
-              <p>
-                This filter attempts to prevent only <span class=
-                "QUOTE">"unsolicited"</span> pop-up windows from opening, yet
-                still allow pop-up windows that the user has explicitly
-                chosen to open. It was added in version 3.0.1, as an
-                improvement over earlier such filters.
-              </p>
-              <p>
-                Technical note: The filter works by redefining the
-                window.open JavaScript function to a dummy function, <tt
-                class="LITERAL">PrivoxyWindowOpen()</tt>, during the loading
-                and rendering phase of each HTML page access, and restoring
-                the function afterward.
-              </p>
-              <p>
-                This is recommended only for browsers that cannot perform
-                this function reliably themselves. And be aware that some
-                sites require such windows in order to function normally. Use
-                with caution.
-              </p>
-            </dd>
-            <dt>
-              <span class="emphasis"><i class=
-              "EMPHASIS">all-popups</i></span>
-            </dt>
-            <dd>
-              <p>
-                Attempt to prevent <span class="emphasis"><i class=
-                "EMPHASIS">all</i></span> pop-up windows from opening. Note
-                this should be used with even more discretion than the above,
-                since it is more likely to break some sites that require
-                pop-ups for normal usage. Use with caution.
-              </p>
-            </dd>
-            <dt>
-              <span class="emphasis"><i class=
-              "EMPHASIS">img-reorder</i></span>
-            </dt>
-            <dd>
-              <p>
-                This is a helper filter that has no value if used alone. It
-                makes the <tt class="LITERAL">banners-by-size</tt> and <tt
-                class="LITERAL">banners-by-link</tt> (see below) filters more
-                effective and should be enabled together with them.
-              </p>
-            </dd>
-            <dt>
-              <span class="emphasis"><i class=
-              "EMPHASIS">banners-by-size</i></span>
-            </dt>
-            <dd>
-              <p>
-                This filter removes image tags purely based on what size they
-                are. Fortunately for us, many ads and banner images tend to
-                conform to certain standardized sizes, which makes this
-                filter quite effective for ad stripping purposes.
-              </p>
-              <p>
-                Occasionally this filter will cause false positives on images
-                that are not ads, but just happen to be of one of the
-                standard banner sizes.
-              </p>
-              <p>
-                Recommended only for those who require extreme ad blocking.
-                The default block rules should catch 95+% of all ads <span
-                class="emphasis"><i class="EMPHASIS">without</i></span> this
-                filter enabled.
-              </p>
-            </dd>
-            <dt>
-              <span class="emphasis"><i class=
-              "EMPHASIS">banners-by-link</i></span>
-            </dt>
-            <dd>
-              <p>
-                This is an experimental filter that attempts to kill any
-                banners if their URLs seem to point to known or suspected
-                click trackers. It is currently not of much value and is not
-                recommended for use by default.
-              </p>
-            </dd>
-            <dt>
-              <span class="emphasis"><i class="EMPHASIS">webbugs</i></span>
-            </dt>
-            <dd>
-              <p>
-                Webbugs are small, invisible images (technically 1X1 GIF
-                images), that are used to track users across websites, and
-                collect information on them. As an HTML page is loaded by the
-                browser, an embedded image tag causes the browser to contact
-                a third-party site, disclosing the tracking information
-                through the requested URL and/or cookies for that third-party
-                domain, without the user ever becoming aware of the
-                interaction with the third-party site. HTML-ized spam also
-                uses a similar technique to verify email addresses.
-              </p>
-              <p>
-                This filter removes the HTML code that loads such <span
-                class="QUOTE">"webbugs"</span>.
-              </p>
-            </dd>
-            <dt>
-              <span class="emphasis"><i class=
-              "EMPHASIS">tiny-textforms</i></span>
-            </dt>
-            <dd>
-              <p>
-                A rather special-purpose filter that can be used to enlarge
-                textareas (those multi-line text boxes in web forms) and turn
-                off hard word wrap in them. It was written for the
-                sourceforge.net tracker system where such boxes are a
-                nuisance, but it can be handy on other sites, too.
-              </p>
-              <p>
-                It is not recommended to use this filter as a default.
-              </p>
-            </dd>
-            <dt>
-              <span class="emphasis"><i class=
-              "EMPHASIS">jumping-windows</i></span>
-            </dt>
-            <dd>
-              <p>
-                Many consider windows that move, or resize themselves to be
-                abusive. This filter neutralizes the related JavaScript code.
-                Note that some sites might not display or behave as intended
-                when using this filter. Use with caution.
-              </p>
-            </dd>
-            <dt>
-              <span class="emphasis"><i class=
-              "EMPHASIS">frameset-borders</i></span>
-            </dt>
-            <dd>
-              <p>
-                Some web designers seem to assume that everyone in the world
-                will view their web sites using the same browser brand and
-                version, screen resolution etc, because only that assumption
-                could explain why they'd use static frame sizes, yet prevent
-                their frames from being resized by the user, should they be
-                too small to show their whole content.
-              </p>
-              <p>
-                This filter removes the related HTML code. It should only be
-                applied to sites which need it.
-              </p>
-            </dd>
-            <dt>
-              <span class="emphasis"><i class=
-              "EMPHASIS">demoronizer</i></span>
-            </dt>
-            <dd>
-              <p>
-                Many Microsoft products that generate HTML use non-standard
-                extensions (read: violations) of the ISO 8859-1 aka Latin-1
-                character set. This can cause those HTML documents to display
-                with errors on standard-compliant platforms.
-              </p>
-              <p>
-                This filter translates the MS-only characters into Latin-1
-                equivalents. It is not necessary when using MS products, and
-                will cause corruption of all documents that use 8-bit
-                character sets other than Latin-1. It's mostly worthwhile for
-                Europeans on non-MS platforms, if weird garbage characters
-                sometimes appear on some pages, or user agents that don't
-                correct for this on the fly.
-              </p>
-            </dd>
-            <dt>
-              <span class="emphasis"><i class=
-              "EMPHASIS">shockwave-flash</i></span>
-            </dt>
-            <dd>
-              <p>
-                A filter for shockwave haters. As the name suggests, this
-                filter strips code out of web pages that is used to embed
-                shockwave flash objects.
-              </p>
-              <p>
-              </p>
-            </dd>
-            <dt>
-              <span class="emphasis"><i class=
-              "EMPHASIS">quicktime-kioskmode</i></span>
-            </dt>
-            <dd>
-              <p>
-                Change HTML code that embeds Quicktime objects so that
-                kioskmode, which prevents saving, is disabled.
-              </p>
-            </dd>
-            <dt>
-              <span class="emphasis"><i class="EMPHASIS">fun</i></span>
-            </dt>
-            <dd>
-              <p>
-                Text replacements for subversive browsing fun. Make fun of
-                your favorite Monopolist or play buzzword bingo.
-              </p>
-            </dd>
-            <dt>
-              <span class="emphasis"><i class=
-              "EMPHASIS">crude-parental</i></span>
-            </dt>
-            <dd>
-              <p>
-                A demonstration-only filter that shows how <span class=
-                "APPLICATION">Privoxy</span> can be used to delete web
-                content on a keyword basis.
-              </p>
-            </dd>
-            <dt>
-              <span class="emphasis"><i class=
-              "EMPHASIS">ie-exploits</i></span>
-            </dt>
-            <dd>
-              <p>
-                An experimental collection of text replacements to disable
-                malicious HTML and JavaScript code that exploits known
-                security holes in Internet Explorer.
-              </p>
-              <p>
-                Presently, it only protects against Nimda and a cross-site
-                scripting bug, and would need active maintenance to provide
-                more substantial protection.
-              </p>
-            </dd>
-            <dt>
-              <span class="emphasis"><i class=
-              "EMPHASIS">site-specifics</i></span>
-            </dt>
-            <dd>
-              <p>
-                Some web sites have very specific problems, the cure for
-                which doesn't apply anywhere else, or could even cause damage
-                on other sites.
-              </p>
-              <p>
-                This is a collection of such site-specific cures which should
-                only be applied to the sites they were intended for, which is
-                what the supplied <tt class="FILENAME">default.action</tt>
-                file does. Users shouldn't need to change anything regarding
-                this filter.
-              </p>
-            </dd>
-            <dt>
-              <span class="emphasis"><i class="EMPHASIS">google</i></span>
-            </dt>
-            <dd>
-              <p>
-                A CSS based block for Google text ads. Also removes a width
-                limitation and the toolbar advertisement.
-              </p>
-            </dd>
-            <dt>
-              <span class="emphasis"><i class="EMPHASIS">yahoo</i></span>
-            </dt>
-            <dd>
-              <p>
-                Another CSS based block, this time for Yahoo text ads. And
-                removes a width limitation as well.
-              </p>
-            </dd>
-            <dt>
-              <span class="emphasis"><i class="EMPHASIS">msn</i></span>
-            </dt>
-            <dd>
-              <p>
-                Another CSS based block, this time for MSN text ads. And
-                removes tracking URLs, as well as a width limitation.
-              </p>
-            </dd>
-            <dt>
-              <span class="emphasis"><i class="EMPHASIS">blogspot</i></span>
-            </dt>
-            <dd>
-              <p>
-                Cleans up some Blogspot blogs. Read the fine print before
-                using this one!
-              </p>
-              <p>
-                This filter also intentionally removes some navigation stuff
-                and sets the page width to 100%. As a result, some rounded
-                <span class="QUOTE">"corners"</span> would appear to early or
-                not at all and as fixing this would require a browser that
-                understands background-size (CSS3), they are removed instead.
-              </p>
-            </dd>
-            <dt>
-              <span class="emphasis"><i class=
-              "EMPHASIS">xml-to-html</i></span>
-            </dt>
-            <dd>
-              <p>
-                Server-header filter to change the Content-Type from xml to
-                html.
-              </p>
-            </dd>
-            <dt>
-              <span class="emphasis"><i class=
-              "EMPHASIS">html-to-xml</i></span>
-            </dt>
-            <dd>
-              <p>
-                Server-header filter to change the Content-Type from html to
-                xml.
-              </p>
-            </dd>
-            <dt>
-              <span class="emphasis"><i class="EMPHASIS">no-ping</i></span>
-            </dt>
-            <dd>
-              <p>
-                Removes the non-standard <tt class="LITERAL">ping</tt>
-                attribute from anchor and area HTML tags.
-              </p>
-            </dd>
-            <dt>
-              <span class="emphasis"><i class=
-              "EMPHASIS">hide-tor-exit-notation</i></span>
-            </dt>
-            <dd>
-              <p>
-                Client-header filter to remove the <b class="COMMAND">Tor</b>
-                exit node notation found in Host and Referer headers.
-              </p>
-              <p>
-                If <span class="APPLICATION">Privoxy</span> and <b class=
-                "COMMAND">Tor</b> are chained and <span class=
-                "APPLICATION">Privoxy</span> is configured to use socks4a,
-                one can use <span class=
-                "QUOTE">"http://www.example.org.foobar.exit/"</span> to
-                access the host <span class="QUOTE">"www.example.org"</span>
-                through the <b class="COMMAND">Tor</b> exit node <span class=
-                "QUOTE">"foobar"</span>.
-              </p>
-              <p>
-                As the HTTP client isn't aware of this notation, it treats
-                the whole string <span class=
-                "QUOTE">"www.example.org.foobar.exit"</span> as host and uses
-                it for the <span class="QUOTE">"Host"</span> and <span class=
-                "QUOTE">"Referer"</span> headers. From the server's point of
-                view the resulting headers are invalid and can cause
-                problems.
-              </p>
-              <p>
-                An invalid <span class="QUOTE">"Referer"</span> header can
-                trigger <span class="QUOTE">"hot-linking"</span> protections,
-                an invalid <span class="QUOTE">"Host"</span> header will make
-                it impossible for the server to find the right vhost (several
-                domains hosted on the same IP address).
-              </p>
-              <p>
-                This client-header filter removes the <span class=
-                "QUOTE">"foo.exit"</span> part in those headers to prevent
-                the mentioned problems. Note that it only modifies the HTTP
-                headers, it doesn't make it impossible for the server to
-                detect your <b class="COMMAND">Tor</b> exit node based on the
-                IP address the request is coming from.
-              </p>
-            </dd>
-          </dl>
-        </div>
-      </div>
-    </div>
-    <div class="NAVFOOTER">
-      <hr width="100%" class="c1">
-      <table summary="Footer navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <td width="33%" align="left" valign="top">
-            <a href="actions-file.html" accesskey="P">Prev</a>
-          </td>
-          <td width="34%" align="center" valign="top">
-            <a href="index.html" accesskey="H">Home</a>
-          </td>
-          <td width="33%" align="right" valign="top">
-            <a href="templates.html" accesskey="N">Next</a>
-          </td>
-        </tr>
-        <tr>
-          <td width="33%" align="left" valign="top">
-            Actions Files
-          </td>
-          <td width="34%" align="center" valign="top">
-            &nbsp;
-          </td>
-          <td width="33%" align="right" valign="top">
-            Privoxy's Template Files
           </td>
         </tr>
       </table>
+
+      <p>The <tt class="LITERAL">x</tt> option in this job turns on extended
+      syntax, and allows for e.g. the liberal use of (non-interpreted!)
+      whitespace for nicer formatting.</p>
+
+      <p>You get the idea?</p>
     </div>
-  </body>
-</html>
 
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="PREDEFINED-FILTERS" id=
+      "PREDEFINED-FILTERS">9.2. The Pre-defined Filters</a></h2>
+
+      <p>The distribution <tt class="FILENAME">default.filter</tt> file
+      contains a selection of pre-defined filters for your convenience:</p>
+
+      <div class="VARIABLELIST">
+        <dl>
+          <dt><span class="emphasis EMPHASIS c2">js-annoyances</span></dt>
+
+          <dd>
+            <p>The purpose of this filter is to get rid of particularly
+            annoying JavaScript abuse. To that end, it</p>
+
+            <ul>
+              <li>
+                <p>replaces JavaScript references to the browser's referrer
+                information with the string "Not Your Business!". This
+                compliments the <tt class="LITERAL"><a href=
+                "actions-file.html#HIDE-REFERRER">hide-referrer</a></tt>
+                action on the content level.</p>
+              </li>
+
+              <li>
+                <p>removes the bindings to the DOM's <a href=
+                "http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113/events.html#Events-eventgroupings-htmlevents"
+                target="_top">unload event</a> which we feel has no right to
+                exist and is responsible for most <span class="QUOTE">"exit
+                consoles"</span>, i.e. nasty windows that pop up when you
+                close another one.</p>
+              </li>
+
+              <li>
+                <p>removes code that causes new windows to be opened with
+                undesired properties, such as being full-screen,
+                non-resizeable, without location, status or menu bar etc.</p>
+              </li>
+            </ul>
+
+            <p>Use with caution. This is an aggressive filter, and can break
+            sites that rely heavily on JavaScript.</p>
+          </dd>
+
+          <dt><span class="emphasis EMPHASIS c2">js-events</span></dt>
+
+          <dd>
+            <p>This is a very radical measure. It removes virtually all
+            JavaScript event bindings, which means that scripts can not react
+            to user actions such as mouse movements or clicks, window
+            resizing etc, anymore. Use with caution!</p>
+
+            <p>We <span class="emphasis EMPHASIS c2">strongly
+            discourage</span> using this filter as a default since it breaks
+            many legitimate scripts. It is meant for use only on extra-nasty
+            sites (should you really need to go there).</p>
+          </dd>
+
+          <dt><span class="emphasis EMPHASIS c2">html-annoyances</span></dt>
+
+          <dd>
+            <p>This filter will undo many common instances of HTML based
+            abuse.</p>
+
+            <p>The <tt class="LITERAL">BLINK</tt> and <tt class=
+            "LITERAL">MARQUEE</tt> tags are neutralized (yeah baby!), and
+            browser windows will be created as resizeable (as of course they
+            should be!), and will have location, scroll and menu bars -- even
+            if specified otherwise.</p>
+          </dd>
+
+          <dt><span class="emphasis EMPHASIS c2">content-cookies</span></dt>
+
+          <dd>
+            <p>Most cookies are set in the HTTP dialog, where they can be
+            intercepted by the <tt class="LITERAL"><a href=
+            "actions-file.html#CRUNCH-INCOMING-COOKIES">crunch-incoming-cookies</a></tt>
+            and <tt class="LITERAL"><a href=
+            "actions-file.html#CRUNCH-OUTGOING-COOKIES">crunch-outgoing-cookies</a></tt>
+            actions. But web sites increasingly make use of HTML meta tags
+            and JavaScript to sneak cookies to the browser on the content
+            level.</p>
+
+            <p>This filter disables most HTML and JavaScript code that reads
+            or sets cookies. It cannot detect all clever uses of these types
+            of code, so it should not be relied on as an absolute fix. Use it
+            wherever you would also use the cookie crunch actions.</p>
+          </dd>
+
+          <dt><span class="emphasis EMPHASIS c2">refresh tags</span></dt>
+
+          <dd>
+            <p>Disable any refresh tags if the interval is greater than nine
+            seconds (so that redirections done via refresh tags are not
+            destroyed). This is useful for dial-on-demand setups, or for
+            those who find this HTML feature annoying.</p>
+          </dd>
+
+          <dt><span class=
+          "emphasis EMPHASIS c2">unsolicited-popups</span></dt>
+
+          <dd>
+            <p>This filter attempts to prevent only <span class=
+            "QUOTE">"unsolicited"</span> pop-up windows from opening, yet
+            still allow pop-up windows that the user has explicitly chosen to
+            open. It was added in version 3.0.1, as an improvement over
+            earlier such filters.</p>
+
+            <p>Technical note: The filter works by redefining the window.open
+            JavaScript function to a dummy function, <tt class=
+            "LITERAL">PrivoxyWindowOpen()</tt>, during the loading and
+            rendering phase of each HTML page access, and restoring the
+            function afterward.</p>
+
+            <p>This is recommended only for browsers that cannot perform this
+            function reliably themselves. And be aware that some sites
+            require such windows in order to function normally. Use with
+            caution.</p>
+          </dd>
+
+          <dt><span class="emphasis EMPHASIS c2">all-popups</span></dt>
+
+          <dd>
+            <p>Attempt to prevent <span class=
+            "emphasis EMPHASIS c2">all</span> pop-up windows from opening.
+            Note this should be used with even more discretion than the
+            above, since it is more likely to break some sites that require
+            pop-ups for normal usage. Use with caution.</p>
+          </dd>
+
+          <dt><span class="emphasis EMPHASIS c2">img-reorder</span></dt>
+
+          <dd>
+            <p>This is a helper filter that has no value if used alone. It
+            makes the <tt class="LITERAL">banners-by-size</tt> and <tt class=
+            "LITERAL">banners-by-link</tt> (see below) filters more effective
+            and should be enabled together with them.</p>
+          </dd>
+
+          <dt><span class="emphasis EMPHASIS c2">banners-by-size</span></dt>
+
+          <dd>
+            <p>This filter removes image tags purely based on what size they
+            are. Fortunately for us, many ads and banner images tend to
+            conform to certain standardized sizes, which makes this filter
+            quite effective for ad stripping purposes.</p>
+
+            <p>Occasionally this filter will cause false positives on images
+            that are not ads, but just happen to be of one of the standard
+            banner sizes.</p>
+
+            <p>Recommended only for those who require extreme ad blocking.
+            The default block rules should catch 95+% of all ads <span class=
+            "emphasis EMPHASIS c2">without</span> this filter enabled.</p>
+          </dd>
+
+          <dt><span class="emphasis EMPHASIS c2">banners-by-link</span></dt>
+
+          <dd>
+            <p>This is an experimental filter that attempts to kill any
+            banners if their URLs seem to point to known or suspected click
+            trackers. It is currently not of much value and is not
+            recommended for use by default.</p>
+          </dd>
+
+          <dt><span class="emphasis EMPHASIS c2">webbugs</span></dt>
+
+          <dd>
+            <p>Webbugs are small, invisible images (technically 1X1 GIF
+            images), that are used to track users across websites, and
+            collect information on them. As an HTML page is loaded by the
+            browser, an embedded image tag causes the browser to contact a
+            third-party site, disclosing the tracking information through the
+            requested URL and/or cookies for that third-party domain, without
+            the user ever becoming aware of the interaction with the
+            third-party site. HTML-ized spam also uses a similar technique to
+            verify email addresses.</p>
+
+            <p>This filter removes the HTML code that loads such <span class=
+            "QUOTE">"webbugs"</span>.</p>
+          </dd>
+
+          <dt><span class="emphasis EMPHASIS c2">tiny-textforms</span></dt>
+
+          <dd>
+            <p>A rather special-purpose filter that can be used to enlarge
+            textareas (those multi-line text boxes in web forms) and turn off
+            hard word wrap in them. It was written for the sourceforge.net
+            tracker system where such boxes are a nuisance, but it can be
+            handy on other sites, too.</p>
+
+            <p>It is not recommended to use this filter as a default.</p>
+          </dd>
+
+          <dt><span class="emphasis EMPHASIS c2">jumping-windows</span></dt>
+
+          <dd>
+            <p>Many consider windows that move, or resize themselves to be
+            abusive. This filter neutralizes the related JavaScript code.
+            Note that some sites might not display or behave as intended when
+            using this filter. Use with caution.</p>
+          </dd>
+
+          <dt><span class="emphasis EMPHASIS c2">frameset-borders</span></dt>
+
+          <dd>
+            <p>Some web designers seem to assume that everyone in the world
+            will view their web sites using the same browser brand and
+            version, screen resolution etc, because only that assumption
+            could explain why they'd use static frame sizes, yet prevent
+            their frames from being resized by the user, should they be too
+            small to show their whole content.</p>
+
+            <p>This filter removes the related HTML code. It should only be
+            applied to sites which need it.</p>
+          </dd>
+
+          <dt><span class="emphasis EMPHASIS c2">demoronizer</span></dt>
+
+          <dd>
+            <p>Many Microsoft products that generate HTML use non-standard
+            extensions (read: violations) of the ISO 8859-1 aka Latin-1
+            character set. This can cause those HTML documents to display
+            with errors on standard-compliant platforms.</p>
+
+            <p>This filter translates the MS-only characters into Latin-1
+            equivalents. It is not necessary when using MS products, and will
+            cause corruption of all documents that use 8-bit character sets
+            other than Latin-1. It's mostly worthwhile for Europeans on
+            non-MS platforms, if weird garbage characters sometimes appear on
+            some pages, or user agents that don't correct for this on the
+            fly.</p>
+          </dd>
+
+          <dt><span class="emphasis EMPHASIS c2">shockwave-flash</span></dt>
+
+          <dd>
+            <p>A filter for shockwave haters. As the name suggests, this
+            filter strips code out of web pages that is used to embed
+            shockwave flash objects.</p>
+          </dd>
+
+          <dt><span class=
+          "emphasis EMPHASIS c2">quicktime-kioskmode</span></dt>
+
+          <dd>
+            <p>Change HTML code that embeds Quicktime objects so that
+            kioskmode, which prevents saving, is disabled.</p>
+          </dd>
+
+          <dt><span class="emphasis EMPHASIS c2">fun</span></dt>
+
+          <dd>
+            <p>Text replacements for subversive browsing fun. Make fun of
+            your favorite Monopolist or play buzzword bingo.</p>
+          </dd>
+
+          <dt><span class="emphasis EMPHASIS c2">crude-parental</span></dt>
+
+          <dd>
+            <p>A demonstration-only filter that shows how <span class=
+            "APPLICATION">Privoxy</span> can be used to delete web content on
+            a keyword basis.</p>
+          </dd>
+
+          <dt><span class="emphasis EMPHASIS c2">ie-exploits</span></dt>
+
+          <dd>
+            <p>An experimental collection of text replacements to disable
+            malicious HTML and JavaScript code that exploits known security
+            holes in Internet Explorer.</p>
+
+            <p>Presently, it only protects against Nimda and a cross-site
+            scripting bug, and would need active maintenance to provide more
+            substantial protection.</p>
+          </dd>
+
+          <dt><span class="emphasis EMPHASIS c2">site-specifics</span></dt>
+
+          <dd>
+            <p>Some web sites have very specific problems, the cure for which
+            doesn't apply anywhere else, or could even cause damage on other
+            sites.</p>
+
+            <p>This is a collection of such site-specific cures which should
+            only be applied to the sites they were intended for, which is
+            what the supplied <tt class="FILENAME">default.action</tt> file
+            does. Users shouldn't need to change anything regarding this
+            filter.</p>
+          </dd>
+
+          <dt><span class="emphasis EMPHASIS c2">google</span></dt>
+
+          <dd>
+            <p>A CSS based block for Google text ads. Also removes a width
+            limitation and the toolbar advertisement.</p>
+          </dd>
+
+          <dt><span class="emphasis EMPHASIS c2">yahoo</span></dt>
+
+          <dd>
+            <p>Another CSS based block, this time for Yahoo text ads. And
+            removes a width limitation as well.</p>
+          </dd>
+
+          <dt><span class="emphasis EMPHASIS c2">msn</span></dt>
+
+          <dd>
+            <p>Another CSS based block, this time for MSN text ads. And
+            removes tracking URLs, as well as a width limitation.</p>
+          </dd>
+
+          <dt><span class="emphasis EMPHASIS c2">blogspot</span></dt>
+
+          <dd>
+            <p>Cleans up some Blogspot blogs. Read the fine print before
+            using this one!</p>
+
+            <p>This filter also intentionally removes some navigation stuff
+            and sets the page width to 100%. As a result, some rounded
+            <span class="QUOTE">"corners"</span> would appear to early or not
+            at all and as fixing this would require a browser that
+            understands background-size (CSS3), they are removed instead.</p>
+          </dd>
+
+          <dt><span class="emphasis EMPHASIS c2">xml-to-html</span></dt>
+
+          <dd>
+            <p>Server-header filter to change the Content-Type from xml to
+            html.</p>
+          </dd>
+
+          <dt><span class="emphasis EMPHASIS c2">html-to-xml</span></dt>
+
+          <dd>
+            <p>Server-header filter to change the Content-Type from html to
+            xml.</p>
+          </dd>
+
+          <dt><span class="emphasis EMPHASIS c2">no-ping</span></dt>
+
+          <dd>
+            <p>Removes the non-standard <tt class="LITERAL">ping</tt>
+            attribute from anchor and area HTML tags.</p>
+          </dd>
+
+          <dt><span class=
+          "emphasis EMPHASIS c2">hide-tor-exit-notation</span></dt>
+
+          <dd>
+            <p>Client-header filter to remove the <b class="COMMAND">Tor</b>
+            exit node notation found in Host and Referer headers.</p>
+
+            <p>If <span class="APPLICATION">Privoxy</span> and <b class=
+            "COMMAND">Tor</b> are chained and <span class=
+            "APPLICATION">Privoxy</span> is configured to use socks4a, one
+            can use <span class=
+            "QUOTE">"http://www.example.org.foobar.exit/"</span> to access
+            the host <span class="QUOTE">"www.example.org"</span> through the
+            <b class="COMMAND">Tor</b> exit node <span class=
+            "QUOTE">"foobar"</span>.</p>
+
+            <p>As the HTTP client isn't aware of this notation, it treats the
+            whole string <span class=
+            "QUOTE">"www.example.org.foobar.exit"</span> as host and uses it
+            for the <span class="QUOTE">"Host"</span> and <span class=
+            "QUOTE">"Referer"</span> headers. From the server's point of view
+            the resulting headers are invalid and can cause problems.</p>
+
+            <p>An invalid <span class="QUOTE">"Referer"</span> header can
+            trigger <span class="QUOTE">"hot-linking"</span> protections, an
+            invalid <span class="QUOTE">"Host"</span> header will make it
+            impossible for the server to find the right vhost (several
+            domains hosted on the same IP address).</p>
+
+            <p>This client-header filter removes the <span class=
+            "QUOTE">"foo.exit"</span> part in those headers to prevent the
+            mentioned problems. Note that it only modifies the HTTP headers,
+            it doesn't make it impossible for the server to detect your
+            <b class="COMMAND">Tor</b> exit node based on the IP address the
+            request is coming from.</p>
+          </dd>
+        </dl>
+      </div>
+    </div>
+  </div>
+
+  <div class="NAVFOOTER">
+    <hr class="c1" width="100%">
+
+    <table summary="Footer navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <td width="33%" align="left" valign="top"><a href="actions-file.html"
+        accesskey="P">Prev</a></td>
+
+        <td width="34%" align="center" valign="top"><a href="index.html"
+        accesskey="H">Home</a></td>
+
+        <td width="33%" align="right" valign="top"><a href="templates.html"
+        accesskey="N">Next</a></td>
+      </tr>
+
+      <tr>
+        <td width="33%" align="left" valign="top">Actions Files</td>
+
+        <td width="34%" align="center" valign="top">&nbsp;</td>
+
+        <td width="33%" align="right" valign="top">Privoxy's Template
+        Files</td>
+      </tr>
+    </table>
+  </div>
+</body>
+</html>
index d2f17e4..1dd8cc3 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
-Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+
 <html>
-  <head>
-    <meta name="generator" content="HTML Tidy, see www.w3.org">
-    <title>
-      Privoxy 3.0.18 User Manual
-    </title>
-    <meta name="GENERATOR" content=
-    "Modular DocBook HTML Stylesheet Version 1.79">
-    <link rel="NEXT" title="Introduction" href="introduction.html">
-    <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
-    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-    <link rel="STYLESHEET" type="text/css" href="p_doc.css">
-<style type="text/css">
- body {
+<head>
+  <meta name="generator" content=
+  "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
+
+  <title>Privoxy 3.0.18 User Manual</title>
+  <meta name="GENERATOR" content=
+  "Modular DocBook HTML Stylesheet Version 1.79">
+  <link rel="NEXT" title="Introduction" href="introduction.html">
+  <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
+  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+  <link rel="STYLESHEET" type="text/css" href="p_doc.css">
+  <style type="text/css">
+body {
   background-color: #EEEEEE;
   color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- hr.c2 {text-align: left}
- dt.c1 {font-weight: bold}
-</style>
-  </head>
-  <body class="ARTICLE">
-    <div class="ARTICLE">
-      <div class="TITLEPAGE">
-        <h1 class="TITLE">
-          <a name="AEN2">Privoxy 3.0.18 User Manual</a>
-        </h1>
-        <p class="PUBDATE">
-          <sub><a href="copyright.html">Copyright</a> &copy; 2001-2011 by <a
-          href="http://www.privoxy.org/" target="_top">Privoxy
-          Developers</a></sub><br>
-        </p>
-        <p class="PUBDATE">
-          $Id: index.html,v 1.77 2011/08/26 16:14:24 fabiankeil Exp $<br>
-        </p>
-        <div>
-          <a name="AEN9"></a>
-          <p>
-            The <i class="CITETITLE">Privoxy User Manual</i> gives users
-            information on how to install, configure and use <a href=
-            "http://www.privoxy.org/" target="_top">Privoxy</a>.
-          </p>
-          <p>
-            Privoxy is a non-caching web proxy with advanced filtering
-            capabilities for enhancing privacy, modifying web page data and
-            HTTP headers, controlling access, and removing ads and other
-            obnoxious Internet junk. Privoxy has a flexible configuration and
-            can be customized to suit individual needs and tastes. It has
-            application for both stand-alone systems and multi-user networks.
-          </p>
-          <p>
-            Privoxy is Free Software and licensed under the GNU GPLv2.
-          </p>
-          <p>
-            Privoxy is an associated project of Software in the Public
-            Interest (SPI).
-          </p>
-          <p>
-            Helping hands and donations are welcome:
-          </p>
-          <ul>
-            <li>
-              <p>
-                <a href="http://www.privoxy.org/faq/general.html#PARTICIPATE"
-                target=
-                "_top">http://www.privoxy.org/faq/general.html#PARTICIPATE</a>
-              </p>
-            </li>
-            <li>
-              <p>
-                <a href="http://www.privoxy.org/faq/general.html#DONATE"
-                target=
-                "_top">http://www.privoxy.org/faq/general.html#DONATE</a>
-              </p>
-            </li>
-          </ul>
-
-          <p>
-            You can find the latest version of the <i class=
-            "CITETITLE">Privoxy User Manual</i> at <a href=
-            "http://www.privoxy.org/user-manual/" target=
-            "_top">http://www.privoxy.org/user-manual/</a>. Please see the <a
-            href="contact.html">Contact section</a> on how to contact the
-            developers.
-          </p>
-        </div>
-        <hr>
-      </div>
-      <div class="TOC">
-        <dl>
-          <dt class="c1">
-            Table of Contents
-          </dt>
-          <dt>
-            1. <a href="introduction.html">Introduction</a>
-          </dt>
-          <dd>
-            <dl>
-              <dt>
-                1.1. <a href="introduction.html#FEATURES">Features</a>
-              </dt>
-            </dl>
-          </dd>
-          <dt>
-            2. <a href="installation.html">Installation</a>
-          </dt>
-          <dd>
-            <dl>
-              <dt>
-                2.1. <a href="installation.html#INSTALLATION-PACKAGES">Binary
-                Packages</a>
-              </dt>
-              <dd>
-                <dl>
-                  <dt>
-                    2.1.1. <a href=
-                    "installation.html#INSTALLATION-PACK-RPM">Red Hat and
-                    Fedora RPMs</a>
-                  </dt>
-                  <dt>
-                    2.1.2. <a href=
-                    "installation.html#INSTALLATION-DEB">Debian and
-                    Ubuntu</a>
-                  </dt>
-                  <dt>
-                    2.1.3. <a href=
-                    "installation.html#INSTALLATION-PACK-WIN">Windows</a>
-                  </dt>
-                  <dt>
-                    2.1.4. <a href=
-                    "installation.html#INSTALLATION-PACK-BINTGZ">Solaris</a>
-                  </dt>
-                  <dt>
-                    2.1.5. <a href=
-                    "installation.html#INSTALLATION-OS2">OS/2</a>
-                  </dt>
-                  <dt>
-                    2.1.6. <a href="installation.html#INSTALLATION-MAC">Mac
-                    OS X</a>
-                  </dt>
-                  <dt>
-                    2.1.7. <a href=
-                    "installation.html#INSTALLATION-AMIGA">AmigaOS</a>
-                  </dt>
-                  <dt>
-                    2.1.8. <a href=
-                    "installation.html#INSTALLATION-TBZ">FreeBSD</a>
-                  </dt>
-                  <dt>
-                    2.1.9. <a href=
-                    "installation.html#INSTALLATTION-GENTOO">Gentoo</a>
-                  </dt>
-                </dl>
-              </dd>
-              <dt>
-                2.2. <a href="installation.html#INSTALLATION-SOURCE">Building
-                from Source</a>
-              </dt>
-              <dt>
-                2.3. <a href=
-                "installation.html#INSTALLATION-KEEPUPDATED">Keeping your
-                Installation Up-to-Date</a>
-              </dt>
-            </dl>
-          </dd>
-          <dt>
-            3. <a href="whatsnew.html">What's New in this Release</a>
-          </dt>
-          <dd>
-            <dl>
-              <dt>
-                3.1. <a href="whatsnew.html#UPGRADERSNOTE">Note to
-                Upgraders</a>
-              </dt>
-            </dl>
-          </dd>
-          <dt>
-            4. <a href="quickstart.html">Quickstart to Using Privoxy</a>
-          </dt>
-          <dd>
-            <dl>
-              <dt>
-                4.1. <a href=
-                "quickstart.html#QUICKSTART-AD-BLOCKING">Quickstart to Ad
-                Blocking</a>
-              </dt>
-            </dl>
-          </dd>
-          <dt>
-            5. <a href="startup.html">Starting Privoxy</a>
-          </dt>
-          <dd>
-            <dl>
-              <dt>
-                5.1. <a href="startup.html#START-REDHAT">Red Hat and
-                Fedora</a>
-              </dt>
-              <dt>
-                5.2. <a href="startup.html#START-DEBIAN">Debian</a>
-              </dt>
-              <dt>
-                5.3. <a href="startup.html#START-WINDOWS">Windows</a>
-              </dt>
-              <dt>
-                5.4. <a href="startup.html#START-UNICES">Solaris, NetBSD,
-                FreeBSD, HP-UX and others</a>
-              </dt>
-              <dt>
-                5.5. <a href="startup.html#START-OS2">OS/2</a>
-              </dt>
-              <dt>
-                5.6. <a href="startup.html#START-MACOSX">Mac OS X</a>
-              </dt>
-              <dt>
-                5.7. <a href="startup.html#START-AMIGAOS">AmigaOS</a>
-              </dt>
-              <dt>
-                5.8. <a href="startup.html#START-GENTOO">Gentoo</a>
-              </dt>
-              <dt>
-                5.9. <a href="startup.html#CMDOPTIONS">Command Line
-                Options</a>
-              </dt>
-            </dl>
-          </dd>
-          <dt>
-            6. <a href="configuration.html">Privoxy Configuration</a>
-          </dt>
-          <dd>
-            <dl>
-              <dt>
-                6.1. <a href="configuration.html#AEN933">Controlling Privoxy
-                with Your Web Browser</a>
-              </dt>
-              <dt>
-                6.2. <a href="configuration.html#CONFOVERVIEW">Configuration
-                Files Overview</a>
-              </dt>
-            </dl>
-          </dd>
-          <dt>
-            7. <a href="config.html">The Main Configuration File</a>
-          </dt>
-          <dd>
-            <dl>
-              <dt>
-                7.1. <a href="config.html#LOCAL-SET-UP">Local Set-up
-                Documentation</a>
-              </dt>
-              <dd>
-                <dl>
-                  <dt>
-                    7.1.1. <a href="config.html#USER-MANUAL">user-manual</a>
-                  </dt>
-                  <dt>
-                    7.1.2. <a href=
-                    "config.html#TRUST-INFO-URL">trust-info-url</a>
-                  </dt>
-                  <dt>
-                    7.1.3. <a href=
-                    "config.html#ADMIN-ADDRESS">admin-address</a>
-                  </dt>
-                  <dt>
-                    7.1.4. <a href=
-                    "config.html#PROXY-INFO-URL">proxy-info-url</a>
-                  </dt>
-                </dl>
-              </dd>
-              <dt>
-                7.2. <a href="config.html#CONF-LOG-LOC">Configuration and Log
-                File Locations</a>
-              </dt>
-              <dd>
-                <dl>
-                  <dt>
-                    7.2.1. <a href="config.html#CONFDIR">confdir</a>
-                  </dt>
-                  <dt>
-                    7.2.2. <a href="config.html#TEMPLDIR">templdir</a>
-                  </dt>
-                  <dt>
-                    7.2.3. <a href="config.html#LOGDIR">logdir</a>
-                  </dt>
-                  <dt>
-                    7.2.4. <a href="config.html#ACTIONSFILE">actionsfile</a>
-                  </dt>
-                  <dt>
-                    7.2.5. <a href="config.html#FILTERFILE">filterfile</a>
-                  </dt>
-                  <dt>
-                    7.2.6. <a href="config.html#LOGFILE">logfile</a>
-                  </dt>
-                  <dt>
-                    7.2.7. <a href="config.html#TRUSTFILE">trustfile</a>
-                  </dt>
-                </dl>
-              </dd>
-              <dt>
-                7.3. <a href="config.html#DEBUGGING">Debugging</a>
-              </dt>
-              <dd>
-                <dl>
-                  <dt>
-                    7.3.1. <a href="config.html#DEBUG">debug</a>
-                  </dt>
-                  <dt>
-                    7.3.2. <a href=
-                    "config.html#SINGLE-THREADED">single-threaded</a>
-                  </dt>
-                  <dt>
-                    7.3.3. <a href="config.html#HOSTNAME">hostname</a>
-                  </dt>
-                </dl>
-              </dd>
-              <dt>
-                7.4. <a href="config.html#ACCESS-CONTROL">Access Control and
-                Security</a>
-              </dt>
-              <dd>
-                <dl>
-                  <dt>
-                    7.4.1. <a href=
-                    "config.html#LISTEN-ADDRESS">listen-address</a>
-                  </dt>
-                  <dt>
-                    7.4.2. <a href="config.html#TOGGLE">toggle</a>
-                  </dt>
-                  <dt>
-                    7.4.3. <a href=
-                    "config.html#ENABLE-REMOTE-TOGGLE">enable-remote-toggle</a>
-                  </dt>
-                  <dt>
-                    7.4.4. <a href=
-                    "config.html#ENABLE-REMOTE-HTTP-TOGGLE">enable-remote-http-toggle</a>
-                  </dt>
-                  <dt>
-                    7.4.5. <a href=
-                    "config.html#ENABLE-EDIT-ACTIONS">enable-edit-actions</a>
-                  </dt>
-                  <dt>
-                    7.4.6. <a href=
-                    "config.html#ENFORCE-BLOCKS">enforce-blocks</a>
-                  </dt>
-                  <dt>
-                    7.4.7. <a href="config.html#ACLS">ACLs: permit-access and
-                    deny-access</a>
-                  </dt>
-                  <dt>
-                    7.4.8. <a href=
-                    "config.html#BUFFER-LIMIT">buffer-limit</a>
-                  </dt>
-                </dl>
-              </dd>
-              <dt>
-                7.5. <a href="config.html#FORWARDING">Forwarding</a>
-              </dt>
-              <dd>
-                <dl>
-                  <dt>
-                    7.5.1. <a href="config.html#FORWARD">forward</a>
-                  </dt>
-                  <dt>
-                    7.5.2. <a href="config.html#SOCKS">forward-socks4,
-                    forward-socks4a and forward-socks5</a>
-                  </dt>
-                  <dt>
-                    7.5.3. <a href=
-                    "config.html#ADVANCED-FORWARDING-EXAMPLES">Advanced
-                    Forwarding Examples</a>
-                  </dt>
-                  <dt>
-                    7.5.4. <a href=
-                    "config.html#FORWARDED-CONNECT-RETRIES">forwarded-connect-retries</a>
-                  </dt>
-                </dl>
-              </dd>
-              <dt>
-                7.6. <a href="config.html#MISC">Miscellaneous</a>
-              </dt>
-              <dd>
-                <dl>
-                  <dt>
-                    7.6.1. <a href=
-                    "config.html#ACCEPT-INTERCEPTED-REQUESTS">accept-intercepted-requests</a>
-                  </dt>
-                  <dt>
-                    7.6.2. <a href=
-                    "config.html#ALLOW-CGI-REQUEST-CRUNCHING">allow-cgi-request-crunching</a>
-                  </dt>
-                  <dt>
-                    7.6.3. <a href=
-                    "config.html#SPLIT-LARGE-FORMS">split-large-forms</a>
-                  </dt>
-                  <dt>
-                    7.6.4. <a href=
-                    "config.html#KEEP-ALIVE-TIMEOUT">keep-alive-timeout</a>
-                  </dt>
-                  <dt>
-                    7.6.5. <a href=
-                    "config.html#DEFAULT-SERVER-TIMEOUT">default-server-timeout</a>
-                  </dt>
-                  <dt>
-                    7.6.6. <a href=
-                    "config.html#CONNECTION-SHARING">connection-sharing</a>
-                  </dt>
-                  <dt>
-                    7.6.7. <a href=
-                    "config.html#SOCKET-TIMEOUT">socket-timeout</a>
-                  </dt>
-                  <dt>
-                    7.6.8. <a href=
-                    "config.html#MAX-CLIENT-CONNECTIONS">max-client-connections</a>
-                  </dt>
-                  <dt>
-                    7.6.9. <a href=
-                    "config.html#HANDLE-AS-EMPTY-DOC-RETURNS-OK">handle-as-empty-doc-returns-ok</a>
-                  </dt>
-                  <dt>
-                    7.6.10. <a href=
-                    "config.html#ENABLE-COMPRESSION">enable-compression</a>
-                  </dt>
-                  <dt>
-                    7.6.11. <a href=
-                    "config.html#COMPRESSION-LEVEL">compression-level</a>
-                  </dt>
-                </dl>
-              </dd>
-              <dt>
-                7.7. <a href="config.html#WINDOWS-GUI">Windows GUI
-                Options</a>
-              </dt>
-            </dl>
-          </dd>
-          <dt>
-            8. <a href="actions-file.html">Actions Files</a>
-          </dt>
-          <dd>
-            <dl>
-              <dt>
-                8.1. <a href="actions-file.html#AEN2724">Finding the Right
-                Mix</a>
-              </dt>
-              <dt>
-                8.2. <a href="actions-file.html#AEN2731">How to Edit</a>
-              </dt>
-              <dt>
-                8.3. <a href="actions-file.html#ACTIONS-APPLY">How Actions
-                are Applied to Requests</a>
-              </dt>
-              <dt>
-                8.4. <a href="actions-file.html#AF-PATTERNS">Patterns</a>
-              </dt>
-              <dd>
-                <dl>
-                  <dt>
-                    8.4.1. <a href="actions-file.html#AEN2843">The Domain
-                    Pattern</a>
-                  </dt>
-                  <dt>
-                    8.4.2. <a href="actions-file.html#AEN2919">The Path
-                    Pattern</a>
-                  </dt>
-                  <dt>
-                    8.4.3. <a href="actions-file.html#TAG-PATTERN">The Tag
-                    Pattern</a>
-                  </dt>
-                </dl>
-              </dd>
-              <dt>
-                8.5. <a href="actions-file.html#ACTIONS">Actions</a>
-              </dt>
-              <dd>
-                <dl>
-                  <dt>
-                    8.5.1. <a href=
-                    "actions-file.html#ADD-HEADER">add-header</a>
-                  </dt>
-                  <dt>
-                    8.5.2. <a href="actions-file.html#BLOCK">block</a>
-                  </dt>
-                  <dt>
-                    8.5.3. <a href=
-                    "actions-file.html#CHANGE-X-FORWARDED-FOR">change-x-forwarded-for</a>
-                  </dt>
-                  <dt>
-                    8.5.4. <a href=
-                    "actions-file.html#CLIENT-HEADER-FILTER">client-header-filter</a>
-                  </dt>
-                  <dt>
-                    8.5.5. <a href=
-                    "actions-file.html#CLIENT-HEADER-TAGGER">client-header-tagger</a>
-                  </dt>
-                  <dt>
-                    8.5.6. <a href=
-                    "actions-file.html#CONTENT-TYPE-OVERWRITE">content-type-overwrite</a>
-                  </dt>
-                  <dt>
-                    8.5.7. <a href=
-                    "actions-file.html#CRUNCH-CLIENT-HEADER">crunch-client-header</a>
-                  </dt>
-                  <dt>
-                    8.5.8. <a href=
-                    "actions-file.html#CRUNCH-IF-NONE-MATCH">crunch-if-none-match</a>
-                  </dt>
-                  <dt>
-                    8.5.9. <a href=
-                    "actions-file.html#CRUNCH-INCOMING-COOKIES">crunch-incoming-cookies</a>
-                  </dt>
-                  <dt>
-                    8.5.10. <a href=
-                    "actions-file.html#CRUNCH-SERVER-HEADER">crunch-server-header</a>
-                  </dt>
-                  <dt>
-                    8.5.11. <a href=
-                    "actions-file.html#CRUNCH-OUTGOING-COOKIES">crunch-outgoing-cookies</a>
-                  </dt>
-                  <dt>
-                    8.5.12. <a href=
-                    "actions-file.html#DEANIMATE-GIFS">deanimate-gifs</a>
-                  </dt>
-                  <dt>
-                    8.5.13. <a href=
-                    "actions-file.html#DOWNGRADE-HTTP-VERSION">downgrade-http-version</a>
-                  </dt>
-                  <dt>
-                    8.5.14. <a href=
-                    "actions-file.html#FAST-REDIRECTS">fast-redirects</a>
-                  </dt>
-                  <dt>
-                    8.5.15. <a href="actions-file.html#FILTER">filter</a>
-                  </dt>
-                  <dt>
-                    8.5.16. <a href=
-                    "actions-file.html#FORCE-TEXT-MODE">force-text-mode</a>
-                  </dt>
-                  <dt>
-                    8.5.17. <a href=
-                    "actions-file.html#FORWARD-OVERRIDE">forward-override</a>
-                  </dt>
-                  <dt>
-                    8.5.18. <a href=
-                    "actions-file.html#HANDLE-AS-EMPTY-DOCUMENT">handle-as-empty-document</a>
-                  </dt>
-                  <dt>
-                    8.5.19. <a href=
-                    "actions-file.html#HANDLE-AS-IMAGE">handle-as-image</a>
-                  </dt>
-                  <dt>
-                    8.5.20. <a href=
-                    "actions-file.html#HIDE-ACCEPT-LANGUAGE">hide-accept-language</a>
-                  </dt>
-                  <dt>
-                    8.5.21. <a href=
-                    "actions-file.html#HIDE-CONTENT-DISPOSITION">hide-content-disposition</a>
-                  </dt>
-                  <dt>
-                    8.5.22. <a href=
-                    "actions-file.html#HIDE-IF-MODIFIED-SINCE">hide-if-modified-since</a>
-                  </dt>
-                  <dt>
-                    8.5.23. <a href=
-                    "actions-file.html#HIDE-FROM-HEADER">hide-from-header</a>
-                  </dt>
-                  <dt>
-                    8.5.24. <a href=
-                    "actions-file.html#HIDE-REFERRER">hide-referrer</a>
-                  </dt>
-                  <dt>
-                    8.5.25. <a href=
-                    "actions-file.html#HIDE-USER-AGENT">hide-user-agent</a>
-                  </dt>
-                  <dt>
-                    8.5.26. <a href=
-                    "actions-file.html#LIMIT-CONNECT">limit-connect</a>
-                  </dt>
-                  <dt>
-                    8.5.27. <a href=
-                    "actions-file.html#PREVENT-COMPRESSION">prevent-compression</a>
-                  </dt>
-                  <dt>
-                    8.5.28. <a href=
-                    "actions-file.html#OVERWRITE-LAST-MODIFIED">overwrite-last-modified</a>
-                  </dt>
-                  <dt>
-                    8.5.29. <a href="actions-file.html#REDIRECT">redirect</a>
-                  </dt>
-                  <dt>
-                    8.5.30. <a href=
-                    "actions-file.html#SERVER-HEADER-FILTER">server-header-filter</a>
-                  </dt>
-                  <dt>
-                    8.5.31. <a href=
-                    "actions-file.html#SERVER-HEADER-TAGGER">server-header-tagger</a>
-                  </dt>
-                  <dt>
-                    8.5.32. <a href=
-                    "actions-file.html#SESSION-COOKIES-ONLY">session-cookies-only</a>
-                  </dt>
-                  <dt>
-                    8.5.33. <a href=
-                    "actions-file.html#SET-IMAGE-BLOCKER">set-image-blocker</a>
-                  </dt>
-                  <dt>
-                    8.5.34. <a href="actions-file.html#AEN4549">Summary</a>
-                  </dt>
-                </dl>
-              </dd>
-              <dt>
-                8.6. <a href="actions-file.html#ALIASES">Aliases</a>
-              </dt>
-              <dt>
-                8.7. <a href="actions-file.html#ACT-EXAMPLES">Actions Files
-                Tutorial</a>
-              </dt>
-              <dd>
-                <dl>
-                  <dt>
-                    8.7.1. <a href=
-                    "actions-file.html#AEN4613">match-all.action</a>
-                  </dt>
-                  <dt>
-                    8.7.2. <a href=
-                    "actions-file.html#AEN4635">default.action</a>
-                  </dt>
-                  <dt>
-                    8.7.3. <a href=
-                    "actions-file.html#AEN4748">user.action</a>
-                  </dt>
-                </dl>
-              </dd>
-            </dl>
-          </dd>
-          <dt>
-            9. <a href="filter-file.html">Filter Files</a>
-          </dt>
-          <dd>
-            <dl>
-              <dt>
-                9.1. <a href="filter-file.html#AEN4903">Filter File
-                Tutorial</a>
-              </dt>
-              <dt>
-                9.2. <a href="filter-file.html#PREDEFINED-FILTERS">The
-                Pre-defined Filters</a>
-              </dt>
-            </dl>
-          </dd>
-          <dt>
-            10. <a href="templates.html">Privoxy's Template Files</a>
-          </dt>
-          <dt>
-            11. <a href="contact.html">Contacting the Developers, Bug
-            Reporting and Feature Requests</a>
-          </dt>
-          <dd>
-            <dl>
-              <dt>
-                11.1. <a href="contact.html#CONTACT-SUPPORT">Get Support</a>
-              </dt>
-              <dt>
-                11.2. <a href="contact.html#REPORTING">Reporting Problems</a>
-              </dt>
-              <dd>
-                <dl>
-                  <dt>
-                    11.2.1. <a href="contact.html#CONTACT-ADS">Reporting Ads
-                    or Other Configuration Problems</a>
-                  </dt>
-                  <dt>
-                    11.2.2. <a href="contact.html#CONTACT-BUGS">Reporting
-                    Bugs</a>
-                  </dt>
-                </dl>
-              </dd>
-              <dt>
-                11.3. <a href="contact.html#CONTACT-FEATURE">Request New
-                Features</a>
-              </dt>
-              <dt>
-                11.4. <a href="contact.html#MAILING-LISTS">Mailing Lists</a>
-              </dt>
-            </dl>
-          </dd>
-          <dt>
-            12. <a href="copyright.html">Privoxy Copyright, License and
-            History</a>
-          </dt>
-          <dd>
-            <dl>
-              <dt>
-                12.1. <a href="copyright.html#AEN5383">License</a>
-              </dt>
-              <dt>
-                12.2. <a href="copyright.html#HISTORY">History</a>
-              </dt>
-              <dt>
-                12.3. <a href="copyright.html#AUTHORS">Authors</a>
-              </dt>
-            </dl>
-          </dd>
-          <dt>
-            13. <a href="seealso.html">See Also</a>
-          </dt>
-          <dt>
-            14. <a href="appendix.html">Appendix</a>
-          </dt>
-          <dd>
-            <dl>
-              <dt>
-                14.1. <a href="appendix.html#REGEX">Regular Expressions</a>
-              </dt>
-              <dt>
-                14.2. <a href="appendix.html#AEN5636">Privoxy's Internal
-                Pages</a>
-              </dt>
-              <dd>
-                <dl>
-                  <dt>
-                    14.2.1. <a href=
-                    "appendix.html#BOOKMARKLETS">Bookmarklets</a>
-                  </dt>
-                </dl>
-              </dd>
-              <dt>
-                14.3. <a href="appendix.html#CHAIN">Chain of Events</a>
-              </dt>
-              <dt>
-                14.4. <a href="appendix.html#ACTIONSANAT">Troubleshooting:
-                Anatomy of an Action</a>
-              </dt>
-            </dl>
-          </dd>
-        </dl>
+  }
+  :link { color: #0000FF }
+  :visited { color: #840084 }
+  :active { color: #0000FF }
+  hr.c2 {text-align: left}
+  dt.c1 {font-weight: bold}
+  </style>
+</head>
+
+<body class="ARTICLE">
+  <div class="ARTICLE">
+    <div class="TITLEPAGE">
+      <h1 class="TITLE"><a name="AEN2" id="AEN2">Privoxy 3.0.18 User
+      Manual</a></h1>
+
+      <p class="PUBDATE"><sub><a href="copyright.html">Copyright</a> &copy;
+      2001-2011 by <a href="http://www.privoxy.org/" target="_top">Privoxy
+      Developers</a></sub><br></p>
+
+      <p class="PUBDATE">$Id: user-manual.sgml,v 2.136 2011/10/14 16:53:10
+      fabiankeil Exp $<br></p>
+
+      <div class="ABSTRACT">
+        <a name="AEN9" id="AEN9"></a>
+
+        <p>The <i class="CITETITLE">Privoxy User Manual</i> gives users
+        information on how to install, configure and use <a href=
+        "http://www.privoxy.org/" target="_top">Privoxy</a>.</p>
+
+        <p>Privoxy is a non-caching web proxy with advanced filtering
+        capabilities for enhancing privacy, modifying web page data and HTTP
+        headers, controlling access, and removing ads and other obnoxious
+        Internet junk. Privoxy has a flexible configuration and can be
+        customized to suit individual needs and tastes. It has application
+        for both stand-alone systems and multi-user networks.</p>
+
+        <p>Privoxy is Free Software and licensed under the GNU GPLv2.</p>
+
+        <p>Privoxy is an associated project of Software in the Public
+        Interest (SPI).</p>
+
+        <p>Helping hands and donations are welcome:</p>
+
+        <ul>
+          <li>
+            <p><a href="http://www.privoxy.org/faq/general.html#PARTICIPATE"
+            target=
+            "_top">http://www.privoxy.org/faq/general.html#PARTICIPATE</a></p>
+          </li>
+
+          <li>
+            <p><a href="http://www.privoxy.org/faq/general.html#DONATE"
+            target=
+            "_top">http://www.privoxy.org/faq/general.html#DONATE</a></p>
+          </li>
+        </ul>
+
+        <p>You can find the latest version of the <i class=
+        "CITETITLE">Privoxy User Manual</i> at <a href=
+        "http://www.privoxy.org/user-manual/" target=
+        "_top">http://www.privoxy.org/user-manual/</a>. Please see the
+        <a href="contact.html">Contact section</a> on how to contact the
+        developers.</p>
       </div>
+      <hr>
     </div>
-    <div class="NAVFOOTER">
-      <hr width="100%" class="c2">
-      <table summary="Footer navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <td width="33%" align="left" valign="top">
-            &nbsp;
-          </td>
-          <td width="34%" align="center" valign="top">
-            &nbsp;
-          </td>
-          <td width="33%" align="right" valign="top">
-            <a href="introduction.html" accesskey="N">Next</a>
-          </td>
-        </tr>
-        <tr>
-          <td width="33%" align="left" valign="top">
-            &nbsp;
-          </td>
-          <td width="34%" align="center" valign="top">
-            &nbsp;
-          </td>
-          <td width="33%" align="right" valign="top">
-            Introduction
-          </td>
-        </tr>
-      </table>
+
+    <div class="TOC">
+      <dl>
+        <dt class="c1">Table of Contents</dt>
+
+        <dt>1. <a href="introduction.html">Introduction</a></dt>
+
+        <dd>
+          <dl>
+            <dt>1.1. <a href="introduction.html#FEATURES">Features</a></dt>
+          </dl>
+        </dd>
+
+        <dt>2. <a href="installation.html">Installation</a></dt>
+
+        <dd>
+          <dl>
+            <dt>2.1. <a href="installation.html#INSTALLATION-PACKAGES">Binary
+            Packages</a></dt>
+
+            <dd>
+              <dl>
+                <dt>2.1.1. <a href=
+                "installation.html#INSTALLATION-PACK-RPM">Red Hat and Fedora
+                RPMs</a></dt>
+
+                <dt>2.1.2. <a href=
+                "installation.html#INSTALLATION-DEB">Debian and
+                Ubuntu</a></dt>
+
+                <dt>2.1.3. <a href=
+                "installation.html#INSTALLATION-PACK-WIN">Windows</a></dt>
+
+                <dt>2.1.4. <a href=
+                "installation.html#INSTALLATION-PACK-BINTGZ">Solaris</a></dt>
+
+                <dt>2.1.5. <a href=
+                "installation.html#INSTALLATION-OS2">OS/2</a></dt>
+
+                <dt>2.1.6. <a href="installation.html#INSTALLATION-MAC">Mac
+                OS X</a></dt>
+
+                <dt>2.1.7. <a href=
+                "installation.html#INSTALLATION-AMIGA">AmigaOS</a></dt>
+
+                <dt>2.1.8. <a href=
+                "installation.html#INSTALLATION-TBZ">FreeBSD</a></dt>
+
+                <dt>2.1.9. <a href=
+                "installation.html#INSTALLATTION-GENTOO">Gentoo</a></dt>
+              </dl>
+            </dd>
+
+            <dt>2.2. <a href="installation.html#INSTALLATION-SOURCE">Building
+            from Source</a></dt>
+
+            <dt>2.3. <a href=
+            "installation.html#INSTALLATION-KEEPUPDATED">Keeping your
+            Installation Up-to-Date</a></dt>
+          </dl>
+        </dd>
+
+        <dt>3. <a href="whatsnew.html">What's New in this Release</a></dt>
+
+        <dd>
+          <dl>
+            <dt>3.1. <a href="whatsnew.html#UPGRADERSNOTE">Note to
+            Upgraders</a></dt>
+          </dl>
+        </dd>
+
+        <dt>4. <a href="quickstart.html">Quickstart to Using Privoxy</a></dt>
+
+        <dd>
+          <dl>
+            <dt>4.1. <a href=
+            "quickstart.html#QUICKSTART-AD-BLOCKING">Quickstart to Ad
+            Blocking</a></dt>
+          </dl>
+        </dd>
+
+        <dt>5. <a href="startup.html">Starting Privoxy</a></dt>
+
+        <dd>
+          <dl>
+            <dt>5.1. <a href="startup.html#START-REDHAT">Red Hat and
+            Fedora</a></dt>
+
+            <dt>5.2. <a href="startup.html#START-DEBIAN">Debian</a></dt>
+
+            <dt>5.3. <a href="startup.html#START-WINDOWS">Windows</a></dt>
+
+            <dt>5.4. <a href="startup.html#START-UNICES">Solaris, NetBSD,
+            FreeBSD, HP-UX and others</a></dt>
+
+            <dt>5.5. <a href="startup.html#START-OS2">OS/2</a></dt>
+
+            <dt>5.6. <a href="startup.html#START-MACOSX">Mac OS X</a></dt>
+
+            <dt>5.7. <a href="startup.html#START-AMIGAOS">AmigaOS</a></dt>
+
+            <dt>5.8. <a href="startup.html#START-GENTOO">Gentoo</a></dt>
+
+            <dt>5.9. <a href="startup.html#CMDOPTIONS">Command Line
+            Options</a></dt>
+          </dl>
+        </dd>
+
+        <dt>6. <a href="configuration.html">Privoxy Configuration</a></dt>
+
+        <dd>
+          <dl>
+            <dt>6.1. <a href="configuration.html#AEN1074">Controlling Privoxy
+            with Your Web Browser</a></dt>
+
+            <dt>6.2. <a href="configuration.html#CONFOVERVIEW">Configuration
+            Files Overview</a></dt>
+          </dl>
+        </dd>
+
+        <dt>7. <a href="config.html">The Main Configuration File</a></dt>
+
+        <dd>
+          <dl>
+            <dt>7.1. <a href="config.html#LOCAL-SET-UP">Local Set-up
+            Documentation</a></dt>
+
+            <dd>
+              <dl>
+                <dt>7.1.1. <a href=
+                "config.html#USER-MANUAL">user-manual</a></dt>
+
+                <dt>7.1.2. <a href=
+                "config.html#TRUST-INFO-URL">trust-info-url</a></dt>
+
+                <dt>7.1.3. <a href=
+                "config.html#ADMIN-ADDRESS">admin-address</a></dt>
+
+                <dt>7.1.4. <a href=
+                "config.html#PROXY-INFO-URL">proxy-info-url</a></dt>
+              </dl>
+            </dd>
+
+            <dt>7.2. <a href="config.html#CONF-LOG-LOC">Configuration and Log
+            File Locations</a></dt>
+
+            <dd>
+              <dl>
+                <dt>7.2.1. <a href="config.html#CONFDIR">confdir</a></dt>
+
+                <dt>7.2.2. <a href="config.html#TEMPLDIR">templdir</a></dt>
+
+                <dt>7.2.3. <a href="config.html#LOGDIR">logdir</a></dt>
+
+                <dt>7.2.4. <a href=
+                "config.html#ACTIONSFILE">actionsfile</a></dt>
+
+                <dt>7.2.5. <a href=
+                "config.html#FILTERFILE">filterfile</a></dt>
+
+                <dt>7.2.6. <a href="config.html#LOGFILE">logfile</a></dt>
+
+                <dt>7.2.7. <a href="config.html#TRUSTFILE">trustfile</a></dt>
+              </dl>
+            </dd>
+
+            <dt>7.3. <a href="config.html#DEBUGGING">Debugging</a></dt>
+
+            <dd>
+              <dl>
+                <dt>7.3.1. <a href="config.html#DEBUG">debug</a></dt>
+
+                <dt>7.3.2. <a href=
+                "config.html#SINGLE-THREADED">single-threaded</a></dt>
+
+                <dt>7.3.3. <a href="config.html#HOSTNAME">hostname</a></dt>
+              </dl>
+            </dd>
+
+            <dt>7.4. <a href="config.html#ACCESS-CONTROL">Access Control and
+            Security</a></dt>
+
+            <dd>
+              <dl>
+                <dt>7.4.1. <a href=
+                "config.html#LISTEN-ADDRESS">listen-address</a></dt>
+
+                <dt>7.4.2. <a href="config.html#TOGGLE">toggle</a></dt>
+
+                <dt>7.4.3. <a href=
+                "config.html#ENABLE-REMOTE-TOGGLE">enable-remote-toggle</a></dt>
+
+                <dt>7.4.4. <a href=
+                "config.html#ENABLE-REMOTE-HTTP-TOGGLE">enable-remote-http-toggle</a></dt>
+
+                <dt>7.4.5. <a href=
+                "config.html#ENABLE-EDIT-ACTIONS">enable-edit-actions</a></dt>
+
+                <dt>7.4.6. <a href=
+                "config.html#ENFORCE-BLOCKS">enforce-blocks</a></dt>
+
+                <dt>7.4.7. <a href="config.html#ACLS">ACLs: permit-access and
+                deny-access</a></dt>
+
+                <dt>7.4.8. <a href=
+                "config.html#BUFFER-LIMIT">buffer-limit</a></dt>
+              </dl>
+            </dd>
+
+            <dt>7.5. <a href="config.html#FORWARDING">Forwarding</a></dt>
+
+            <dd>
+              <dl>
+                <dt>7.5.1. <a href="config.html#FORWARD">forward</a></dt>
+
+                <dt>7.5.2. <a href="config.html#SOCKS">forward-socks4,
+                forward-socks4a and forward-socks5</a></dt>
+
+                <dt>7.5.3. <a href=
+                "config.html#ADVANCED-FORWARDING-EXAMPLES">Advanced
+                Forwarding Examples</a></dt>
+
+                <dt>7.5.4. <a href=
+                "config.html#FORWARDED-CONNECT-RETRIES">forwarded-connect-retries</a></dt>
+              </dl>
+            </dd>
+
+            <dt>7.6. <a href="config.html#MISC">Miscellaneous</a></dt>
+
+            <dd>
+              <dl>
+                <dt>7.6.1. <a href=
+                "config.html#ACCEPT-INTERCEPTED-REQUESTS">accept-intercepted-requests</a></dt>
+
+                <dt>7.6.2. <a href=
+                "config.html#ALLOW-CGI-REQUEST-CRUNCHING">allow-cgi-request-crunching</a></dt>
+
+                <dt>7.6.3. <a href=
+                "config.html#SPLIT-LARGE-FORMS">split-large-forms</a></dt>
+
+                <dt>7.6.4. <a href=
+                "config.html#KEEP-ALIVE-TIMEOUT">keep-alive-timeout</a></dt>
+
+                <dt>7.6.5. <a href=
+                "config.html#DEFAULT-SERVER-TIMEOUT">default-server-timeout</a></dt>
+
+                <dt>7.6.6. <a href=
+                "config.html#CONNECTION-SHARING">connection-sharing</a></dt>
+
+                <dt>7.6.7. <a href=
+                "config.html#SOCKET-TIMEOUT">socket-timeout</a></dt>
+
+                <dt>7.6.8. <a href=
+                "config.html#MAX-CLIENT-CONNECTIONS">max-client-connections</a></dt>
+
+                <dt>7.6.9. <a href=
+                "config.html#HANDLE-AS-EMPTY-DOC-RETURNS-OK">handle-as-empty-doc-returns-ok</a></dt>
+
+                <dt>7.6.10. <a href=
+                "config.html#ENABLE-COMPRESSION">enable-compression</a></dt>
+
+                <dt>7.6.11. <a href=
+                "config.html#COMPRESSION-LEVEL">compression-level</a></dt>
+              </dl>
+            </dd>
+
+            <dt>7.7. <a href="config.html#WINDOWS-GUI">Windows GUI
+            Options</a></dt>
+          </dl>
+        </dd>
+
+        <dt>8. <a href="actions-file.html">Actions Files</a></dt>
+
+        <dd>
+          <dl>
+            <dt>8.1. <a href="actions-file.html#AEN2863">Finding the Right
+            Mix</a></dt>
+
+            <dt>8.2. <a href="actions-file.html#AEN2870">How to Edit</a></dt>
+
+            <dt>8.3. <a href="actions-file.html#ACTIONS-APPLY">How Actions
+            are Applied to Requests</a></dt>
+
+            <dt>8.4. <a href=
+            "actions-file.html#AF-PATTERNS">Patterns</a></dt>
+
+            <dd>
+              <dl>
+                <dt>8.4.1. <a href="actions-file.html#AEN2982">The Domain
+                Pattern</a></dt>
+
+                <dt>8.4.2. <a href="actions-file.html#AEN3058">The Path
+                Pattern</a></dt>
+
+                <dt>8.4.3. <a href="actions-file.html#TAG-PATTERN">The Tag
+                Pattern</a></dt>
+              </dl>
+            </dd>
+
+            <dt>8.5. <a href="actions-file.html#ACTIONS">Actions</a></dt>
+
+            <dd>
+              <dl>
+                <dt>8.5.1. <a href=
+                "actions-file.html#ADD-HEADER">add-header</a></dt>
+
+                <dt>8.5.2. <a href="actions-file.html#BLOCK">block</a></dt>
+
+                <dt>8.5.3. <a href=
+                "actions-file.html#CHANGE-X-FORWARDED-FOR">change-x-forwarded-for</a></dt>
+
+                <dt>8.5.4. <a href=
+                "actions-file.html#CLIENT-HEADER-FILTER">client-header-filter</a></dt>
+
+                <dt>8.5.5. <a href=
+                "actions-file.html#CLIENT-HEADER-TAGGER">client-header-tagger</a></dt>
+
+                <dt>8.5.6. <a href=
+                "actions-file.html#CONTENT-TYPE-OVERWRITE">content-type-overwrite</a></dt>
+
+                <dt>8.5.7. <a href=
+                "actions-file.html#CRUNCH-CLIENT-HEADER">crunch-client-header</a></dt>
+
+                <dt>8.5.8. <a href=
+                "actions-file.html#CRUNCH-IF-NONE-MATCH">crunch-if-none-match</a></dt>
+
+                <dt>8.5.9. <a href=
+                "actions-file.html#CRUNCH-INCOMING-COOKIES">crunch-incoming-cookies</a></dt>
+
+                <dt>8.5.10. <a href=
+                "actions-file.html#CRUNCH-SERVER-HEADER">crunch-server-header</a></dt>
+
+                <dt>8.5.11. <a href=
+                "actions-file.html#CRUNCH-OUTGOING-COOKIES">crunch-outgoing-cookies</a></dt>
+
+                <dt>8.5.12. <a href=
+                "actions-file.html#DEANIMATE-GIFS">deanimate-gifs</a></dt>
+
+                <dt>8.5.13. <a href=
+                "actions-file.html#DOWNGRADE-HTTP-VERSION">downgrade-http-version</a></dt>
+
+                <dt>8.5.14. <a href=
+                "actions-file.html#FAST-REDIRECTS">fast-redirects</a></dt>
+
+                <dt>8.5.15. <a href=
+                "actions-file.html#FILTER">filter</a></dt>
+
+                <dt>8.5.16. <a href=
+                "actions-file.html#FORCE-TEXT-MODE">force-text-mode</a></dt>
+
+                <dt>8.5.17. <a href=
+                "actions-file.html#FORWARD-OVERRIDE">forward-override</a></dt>
+
+                <dt>8.5.18. <a href=
+                "actions-file.html#HANDLE-AS-EMPTY-DOCUMENT">handle-as-empty-document</a></dt>
+
+                <dt>8.5.19. <a href=
+                "actions-file.html#HANDLE-AS-IMAGE">handle-as-image</a></dt>
+
+                <dt>8.5.20. <a href=
+                "actions-file.html#HIDE-ACCEPT-LANGUAGE">hide-accept-language</a></dt>
+
+                <dt>8.5.21. <a href=
+                "actions-file.html#HIDE-CONTENT-DISPOSITION">hide-content-disposition</a></dt>
+
+                <dt>8.5.22. <a href=
+                "actions-file.html#HIDE-IF-MODIFIED-SINCE">hide-if-modified-since</a></dt>
+
+                <dt>8.5.23. <a href=
+                "actions-file.html#HIDE-FROM-HEADER">hide-from-header</a></dt>
+
+                <dt>8.5.24. <a href=
+                "actions-file.html#HIDE-REFERRER">hide-referrer</a></dt>
+
+                <dt>8.5.25. <a href=
+                "actions-file.html#HIDE-USER-AGENT">hide-user-agent</a></dt>
+
+                <dt>8.5.26. <a href=
+                "actions-file.html#LIMIT-CONNECT">limit-connect</a></dt>
+
+                <dt>8.5.27. <a href=
+                "actions-file.html#PREVENT-COMPRESSION">prevent-compression</a></dt>
+
+                <dt>8.5.28. <a href=
+                "actions-file.html#OVERWRITE-LAST-MODIFIED">overwrite-last-modified</a></dt>
+
+                <dt>8.5.29. <a href=
+                "actions-file.html#REDIRECT">redirect</a></dt>
+
+                <dt>8.5.30. <a href=
+                "actions-file.html#SERVER-HEADER-FILTER">server-header-filter</a></dt>
+
+                <dt>8.5.31. <a href=
+                "actions-file.html#SERVER-HEADER-TAGGER">server-header-tagger</a></dt>
+
+                <dt>8.5.32. <a href=
+                "actions-file.html#SESSION-COOKIES-ONLY">session-cookies-only</a></dt>
+
+                <dt>8.5.33. <a href=
+                "actions-file.html#SET-IMAGE-BLOCKER">set-image-blocker</a></dt>
+
+                <dt>8.5.34. <a href=
+                "actions-file.html#AEN4687">Summary</a></dt>
+              </dl>
+            </dd>
+
+            <dt>8.6. <a href="actions-file.html#ALIASES">Aliases</a></dt>
+
+            <dt>8.7. <a href="actions-file.html#ACT-EXAMPLES">Actions Files
+            Tutorial</a></dt>
+
+            <dd>
+              <dl>
+                <dt>8.7.1. <a href=
+                "actions-file.html#AEN4751">match-all.action</a></dt>
+
+                <dt>8.7.2. <a href=
+                "actions-file.html#AEN4773">default.action</a></dt>
+
+                <dt>8.7.3. <a href=
+                "actions-file.html#AEN4886">user.action</a></dt>
+              </dl>
+            </dd>
+          </dl>
+        </dd>
+
+        <dt>9. <a href="filter-file.html">Filter Files</a></dt>
+
+        <dd>
+          <dl>
+            <dt>9.1. <a href="filter-file.html#AEN5041">Filter File
+            Tutorial</a></dt>
+
+            <dt>9.2. <a href="filter-file.html#PREDEFINED-FILTERS">The
+            Pre-defined Filters</a></dt>
+          </dl>
+        </dd>
+
+        <dt>10. <a href="templates.html">Privoxy's Template Files</a></dt>
+
+        <dt>11. <a href="contact.html">Contacting the Developers, Bug
+        Reporting and Feature Requests</a></dt>
+
+        <dd>
+          <dl>
+            <dt>11.1. <a href="contact.html#CONTACT-SUPPORT">Get
+            Support</a></dt>
+
+            <dt>11.2. <a href="contact.html#REPORTING">Reporting
+            Problems</a></dt>
+
+            <dd>
+              <dl>
+                <dt>11.2.1. <a href="contact.html#CONTACT-ADS">Reporting Ads
+                or Other Configuration Problems</a></dt>
+
+                <dt>11.2.2. <a href="contact.html#CONTACT-BUGS">Reporting
+                Bugs</a></dt>
+              </dl>
+            </dd>
+
+            <dt>11.3. <a href="contact.html#CONTACT-FEATURE">Request New
+            Features</a></dt>
+
+            <dt>11.4. <a href="contact.html#MAILING-LISTS">Mailing
+            Lists</a></dt>
+          </dl>
+        </dd>
+
+        <dt>12. <a href="copyright.html">Privoxy Copyright, License and
+        History</a></dt>
+
+        <dd>
+          <dl>
+            <dt>12.1. <a href="copyright.html#AEN5525">License</a></dt>
+
+            <dt>12.2. <a href="copyright.html#HISTORY">History</a></dt>
+
+            <dt>12.3. <a href="copyright.html#AUTHORS">Authors</a></dt>
+          </dl>
+        </dd>
+
+        <dt>13. <a href="seealso.html">See Also</a></dt>
+
+        <dt>14. <a href="appendix.html">Appendix</a></dt>
+
+        <dd>
+          <dl>
+            <dt>14.1. <a href="appendix.html#REGEX">Regular
+            Expressions</a></dt>
+
+            <dt>14.2. <a href="appendix.html#AEN5778">Privoxy's Internal
+            Pages</a></dt>
+
+            <dd>
+              <dl>
+                <dt>14.2.1. <a href=
+                "appendix.html#BOOKMARKLETS">Bookmarklets</a></dt>
+              </dl>
+            </dd>
+
+            <dt>14.3. <a href="appendix.html#CHAIN">Chain of Events</a></dt>
+
+            <dt>14.4. <a href="appendix.html#ACTIONSANAT">Troubleshooting:
+            Anatomy of an Action</a></dt>
+          </dl>
+        </dd>
+      </dl>
     </div>
-  </body>
-</html>
+  </div>
+
+  <div class="NAVFOOTER">
+    <hr class="c2" width="100%">
+
+    <table summary="Footer navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <td width="33%" align="left" valign="top">&nbsp;</td>
 
+        <td width="34%" align="center" valign="top">&nbsp;</td>
+
+        <td width="33%" align="right" valign="top"><a href=
+        "introduction.html" accesskey="N">Next</a></td>
+      </tr>
+
+      <tr>
+        <td width="33%" align="left" valign="top">&nbsp;</td>
+
+        <td width="34%" align="center" valign="top">&nbsp;</td>
+
+        <td width="33%" align="right" valign="top">Introduction</td>
+      </tr>
+    </table>
+  </div>
+</body>
+</html>
index b57ae84..a8c75bc 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
-Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+
 <html>
-  <head>
-    <meta name="generator" content="HTML Tidy, see www.w3.org">
-    <title>
-      Installation
-    </title>
-    <meta name="GENERATOR" content=
-    "Modular DocBook HTML Stylesheet Version 1.79">
-    <link rel="HOME" title="Privoxy 3.0.18 User Manual" href="index.html">
-    <link rel="PREVIOUS" title="Introduction" href="introduction.html">
-    <link rel="NEXT" title="What's New in this Release" href="whatsnew.html">
-    <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
-    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-    <link rel="STYLESHEET" type="text/css" href="p_doc.css">
-<style type="text/css">
- body {
+<head>
+  <meta name="generator" content=
+  "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
+
+  <title>Installation</title>
+  <meta name="GENERATOR" content=
+  "Modular DocBook HTML Stylesheet Version 1.79">
+  <link rel="HOME" title="Privoxy 3.0.18 User Manual" href="index.html">
+  <link rel="PREVIOUS" title="Introduction" href="introduction.html">
+  <link rel="NEXT" title="What's New in this Release" href="whatsnew.html">
+  <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
+  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+  <link rel="STYLESHEET" type="text/css" href="p_doc.css">
+  <style type="text/css">
+body {
   background-color: #EEEEEE;
   color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- hr.c1 {text-align: left}
-</style>
-  </head>
-  <body class="SECT1">
-    <div class="NAVHEADER">
-      <table summary="Header navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <th colspan="3" align="center">
-            Privoxy 3.0.18 User Manual
-          </th>
-        </tr>
+  }
+  :link { color: #0000FF }
+  :visited { color: #840084 }
+  :active { color: #0000FF }
+  table.c4 {background-color: #E0E0E0}
+  tt.c3 {font-style: italic}
+  span.c2 {font-style: italic}
+  hr.c1 {text-align: left}
+  </style>
+</head>
+
+<body class="SECT1">
+  <div class="NAVHEADER">
+    <table summary="Header navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <th colspan="3" align="center">Privoxy 3.0.18 User Manual</th>
+      </tr>
+
+      <tr>
+        <td width="10%" align="left" valign="bottom"><a href=
+        "introduction.html" accesskey="P">Prev</a></td>
+
+        <td width="80%" align="center" valign="bottom"></td>
+
+        <td width="10%" align="right" valign="bottom"><a href="whatsnew.html"
+        accesskey="N">Next</a></td>
+      </tr>
+    </table>
+    <hr class="c1" width="100%">
+  </div>
+
+  <div class="SECT1">
+    <h1 class="SECT1"><a name="INSTALLATION" id="INSTALLATION">2.
+    Installation</a></h1>
+
+    <p><span class="APPLICATION">Privoxy</span> is available both in
+    convenient pre-compiled packages for a wide range of operating systems,
+    and as raw source code. For most users, we recommend using the packages,
+    which can be downloaded from our <a href=
+    "http://sourceforge.net/projects/ijbswa/" target="_top">Privoxy Project
+    Page</a>.</p>
+
+    <p>Note: On some platforms, the installer may remove previously installed
+    versions, if found. (See below for your platform). In any case
+    <span class="emphasis EMPHASIS c2">be sure to backup your old
+    configuration if it is valuable to you.</span> See the <a href=
+    "whatsnew.html#UPGRADERSNOTE">note to upgraders</a> section below.</p>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="INSTALLATION-PACKAGES" id=
+      "INSTALLATION-PACKAGES">2.1. Binary Packages</a></h2>
+
+      <p>How to install the binary packages depends on your operating
+      system:</p>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="INSTALLATION-PACK-RPM" id=
+        "INSTALLATION-PACK-RPM">2.1.1. Red Hat and Fedora RPMs</a></h3>
+
+        <p>RPMs can be installed with <tt class="LITERAL">rpm -Uvh
+        privoxy-3.0.18-1.rpm</tt>, and will use <tt class=
+        "FILENAME">/etc/privoxy</tt> for the location of configuration
+        files.</p>
+
+        <p>Note that on Red Hat, <span class="APPLICATION">Privoxy</span>
+        will <span class="emphasis EMPHASIS c2">not</span> be automatically
+        started on system boot. You will need to enable that using <b class=
+        "COMMAND">chkconfig</b>, <b class="COMMAND">ntsysv</b>, or similar
+        methods.</p>
+
+        <p>If you have problems with failed dependencies, try rebuilding the
+        SRC RPM: <tt class="LITERAL">rpm --rebuild
+        privoxy-3.0.18-1.src.rpm</tt>. This will use your locally installed
+        libraries and RPM version.</p>
+
+        <p>Also note that if you have a <span class=
+        "APPLICATION">Junkbuster</span> RPM installed on your system, you
+        need to remove it first, because the packages conflict. Otherwise,
+        RPM will try to remove <span class="APPLICATION">Junkbuster</span>
+        automatically if found, before installing <span class=
+        "APPLICATION">Privoxy</span>.</p>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="INSTALLATION-DEB" id=
+        "INSTALLATION-DEB">2.1.2. Debian and Ubuntu</a></h3>
+
+        <p>DEBs can be installed with <tt class="LITERAL">apt-get install
+        privoxy</tt>, and will use <tt class="FILENAME">/etc/privoxy</tt> for
+        the location of configuration files.</p>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="INSTALLATION-PACK-WIN" id=
+        "INSTALLATION-PACK-WIN">2.1.3. Windows</a></h3>
+
+        <p>Just double-click the installer, which will guide you through the
+        installation process. You will find the configuration files in the
+        same directory as you installed <span class=
+        "APPLICATION">Privoxy</span> in.</p>
+
+        <p>Version 3.0.5 beta introduced full <span class=
+        "APPLICATION">Windows</span> service functionality. On Windows only,
+        the <span class="APPLICATION">Privoxy</span> program has two new
+        command line arguments to install and uninstall <span class=
+        "APPLICATION">Privoxy</span> as a <span class=
+        "emphasis EMPHASIS c2">service</span>.</p>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Arguments:</dt>
+
+            <dd>
+              <p><tt class="REPLACEABLE c3">--install</tt>[:<tt class=
+              "REPLACEABLE c3">service_name</tt>]</p>
+
+              <p><tt class="REPLACEABLE c3">--uninstall</tt>[:<tt class=
+              "REPLACEABLE c3">service_name</tt>]</p>
+            </dd>
+          </dl>
+        </div>
+
+        <p>After invoking <span class="APPLICATION">Privoxy</span> with
+        <b class="COMMAND">--install</b>, you will need to bring up the
+        <span class="APPLICATION">Windows</span> service console to assign
+        the user you want <span class="APPLICATION">Privoxy</span> to run
+        under, and whether or not you want it to run whenever the system
+        starts. You can start the <span class="APPLICATION">Windows</span>
+        services console with the following command: <b class=
+        "COMMAND">services.msc</b>. If you do not take the manual step of
+        modifying <span class="APPLICATION">Privoxy's</span> service
+        settings, it will not start. Note too that you will need to give
+        Privoxy a user account that actually exists, or it will not be
+        permitted to write to its log and configuration files.</p>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="INSTALLATION-PACK-BINTGZ" id=
+        "INSTALLATION-PACK-BINTGZ">2.1.4. Solaris</a></h3>
+
+        <p>Create a new directory, <tt class="LITERAL">cd</tt> to it, then
+        unzip and untar the archive. For the most part, you'll have to figure
+        out where things go.</p>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="INSTALLATION-OS2" id=
+        "INSTALLATION-OS2">2.1.5. OS/2</a></h3>
+
+        <p>First, make sure that no previous installations of <span class=
+        "APPLICATION">Junkbuster</span> and / or <span class=
+        "APPLICATION">Privoxy</span> are left on your system. Check that no
+        <span class="APPLICATION">Junkbuster</span> or <span class=
+        "APPLICATION">Privoxy</span> objects are in your startup folder.</p>
+
+        <p>Then, just double-click the WarpIN self-installing archive, which
+        will guide you through the installation process. A shadow of the
+        <span class="APPLICATION">Privoxy</span> executable will be placed in
+        your startup folder so it will start automatically whenever OS/2
+        starts.</p>
+
+        <p>The directory you choose to install <span class=
+        "APPLICATION">Privoxy</span> into will contain all of the
+        configuration files.</p>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="INSTALLATION-MAC" id=
+        "INSTALLATION-MAC">2.1.6. Mac OS X</a></h3>
+
+        <p>Unzip the downloaded file (you can either double-click on the zip
+        file icon from the Finder, or from the desktop if you downloaded it
+        there). Then, double-click on the package installer icon and follow
+        the installation process.</p>
+
+        <p>The privoxy service will automatically start after a successful
+        installation (in addition to every time your computer starts up). To
+        prevent the privoxy service from automatically starting when your
+        computer starts up, remove or rename the folder named <tt class=
+        "LITERAL">/Library/StartupItems/Privoxy</tt>.</p>
+
+        <p>To manually start or stop the privoxy service, use the Privoxy
+        Utility for Mac OS X. This application controls the privoxy service
+        (e.g. starting and stopping the service as well as uninstalling the
+        software).</p>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="INSTALLATION-AMIGA" id=
+        "INSTALLATION-AMIGA">2.1.7. AmigaOS</a></h3>
+
+        <p>Copy and then unpack the <tt class="FILENAME">lha</tt> archive to
+        a suitable location. All necessary files will be installed into
+        <span class="APPLICATION">Privoxy</span> directory, including all
+        configuration and log files. To uninstall, just remove this
+        directory.</p>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="INSTALLATION-TBZ" id=
+        "INSTALLATION-TBZ">2.1.8. FreeBSD</a></h3>
+
+        <p>Privoxy is part of FreeBSD's Ports Collection, you can build and
+        install it with <tt class="LITERAL">cd /usr/ports/www/privoxy; make
+        install clean</tt>.</p>
+
+        <p>If you don't use the ports, you can fetch and install the package
+        with <tt class="LITERAL">pkg_add -r privoxy</tt>.</p>
+
+        <p>The port skeleton and the package can also be downloaded from the
+        <a href=
+        "https://sourceforge.net/project/showfiles.php?group_id=11118"
+        target="_top">File Release Page</a>, but there's no reason to use
+        them unless you're interested in the beta releases which are only
+        available there.</p>
+      </div>
+
+      <div class="SECT3">
+        <h3 class="SECT3"><a name="INSTALLATTION-GENTOO" id=
+        "INSTALLATTION-GENTOO">2.1.9. Gentoo</a></h3>
+
+        <p>Gentoo source packages (Ebuilds) for <span class=
+        "APPLICATION">Privoxy</span> are contained in the Gentoo Portage Tree
+        (they are not on the download page, but there is a Gentoo section,
+        where you can see when a new <span class="APPLICATION">Privoxy</span>
+        Version is added to the Portage Tree).</p>
+
+        <p>Before installing <span class="APPLICATION">Privoxy</span> under
+        Gentoo just do first <tt class="LITERAL">emerge --sync</tt> to get
+        the latest changes from the Portage tree. With <tt class=
+        "LITERAL">emerge privoxy</tt> you install the latest version.</p>
+
+        <p>Configuration files are in <tt class="FILENAME">/etc/privoxy</tt>,
+        the documentation is in <tt class=
+        "FILENAME">/usr/share/doc/privoxy-3.0.18</tt> and the Log directory
+        is in <tt class="FILENAME">/var/log/privoxy</tt>.</p>
+      </div>
+    </div>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="INSTALLATION-SOURCE" id=
+      "INSTALLATION-SOURCE">2.2. Building from Source</a></h2>
+
+      <p>The most convenient way to obtain the <span class=
+      "APPLICATION">Privoxy</span> sources is to download the source tarball
+      from our <a href=
+      "http://sourceforge.net/project/showfiles.php?group_id=11118&amp;package_id=10571"
+      target="_top">project download page</a>.</p>
+
+      <p>If you like to live on the bleeding edge and are not afraid of using
+      possibly unstable development versions, you can check out the
+      up-to-the-minute version directly from <a href=
+      "http://sourceforge.net/cvs/?group_id=11118" target="_top">the CVS
+      repository</a>.</p>
+
+      <p>To build <span class="APPLICATION">Privoxy</span> from source,
+      <a href="http://www.gnu.org/software/autoconf/autoconf.html" target=
+      "_top">autoconf</a>, <a href=
+      "http://www.gnu.org/software/make/make.html" target="_top">GNU make
+      (gmake)</a>, and, of course, a C compiler like <a href=
+      "http://www.gnu.org/software/gcc/gcc.html" target="_top">gcc</a> are
+      required.</p>
+
+      <p>When building from a source tarball, first unpack the source:</p>
+
+      <table class="c4" border="0" width="100%">
         <tr>
-          <td width="10%" align="left" valign="bottom">
-            <a href="introduction.html" accesskey="P">Prev</a>
-          </td>
-          <td width="80%" align="center" valign="bottom">
-          </td>
-          <td width="10%" align="right" valign="bottom">
-            <a href="whatsnew.html" accesskey="N">Next</a>
+          <td>
+            <pre class="SCREEN">
+ tar xzvf privoxy-3.0.18-stable-src.tar.gz
+ cd privoxy-3.0.18-stable
+</pre>
           </td>
         </tr>
       </table>
-      <hr width="100%" class="c1">
-    </div>
-    <div class="SECT1">
-      <h1 class="SECT1">
-        <a name="INSTALLATION">2. Installation</a>
-      </h1>
-      <p>
-        <span class="APPLICATION">Privoxy</span> is available both in
-        convenient pre-compiled packages for a wide range of operating
-        systems, and as raw source code. For most users, we recommend using
-        the packages, which can be downloaded from our <a href=
-        "http://sourceforge.net/projects/ijbswa/" target="_top">Privoxy
-        Project Page</a>.
-      </p>
-      <p>
-        Note: On some platforms, the installer may remove previously
-        installed versions, if found. (See below for your platform). In any
-        case <span class="emphasis"><i class="EMPHASIS">be sure to backup
-        your old configuration if it is valuable to you.</i></span> See the
-        <a href="whatsnew.html#UPGRADERSNOTE">note to upgraders</a> section
-        below.
-      </p>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="INSTALLATION-PACKAGES">2.1. Binary Packages</a>
-        </h2>
-        <p>
-          How to install the binary packages depends on your operating
-          system:
-        </p>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="INSTALLATION-PACK-RPM">2.1.1. Red Hat and Fedora
-            RPMs</a>
-          </h3>
-          <p>
-            RPMs can be installed with <tt class="LITERAL">rpm -Uvh
-            privoxy-3.0.18-1.rpm</tt>, and will use <tt class=
-            "FILENAME">/etc/privoxy</tt> for the location of configuration
-            files.
-          </p>
-          <p>
-            Note that on Red Hat, <span class="APPLICATION">Privoxy</span>
-            will <span class="emphasis"><i class="EMPHASIS">not</i></span> be
-            automatically started on system boot. You will need to enable
-            that using <b class="COMMAND">chkconfig</b>, <b class=
-            "COMMAND">ntsysv</b>, or similar methods.
-          </p>
-          <p>
-            If you have problems with failed dependencies, try rebuilding the
-            SRC RPM: <tt class="LITERAL">rpm --rebuild
-            privoxy-3.0.18-1.src.rpm</tt>. This will use your locally
-            installed libraries and RPM version.
-          </p>
-          <p>
-            Also note that if you have a <span class=
-            "APPLICATION">Junkbuster</span> RPM installed on your system, you
-            need to remove it first, because the packages conflict.
-            Otherwise, RPM will try to remove <span class=
-            "APPLICATION">Junkbuster</span> automatically if found, before
-            installing <span class="APPLICATION">Privoxy</span>.
-          </p>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="INSTALLATION-DEB">2.1.2. Debian and Ubuntu</a>
-          </h3>
-          <p>
-            DEBs can be installed with <tt class="LITERAL">apt-get install
-            privoxy</tt>, and will use <tt class="FILENAME">/etc/privoxy</tt>
-            for the location of configuration files.
-          </p>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="INSTALLATION-PACK-WIN">2.1.3. Windows</a>
-          </h3>
-          <p>
-            Just double-click the installer, which will guide you through the
-            installation process. You will find the configuration files in
-            the same directory as you installed <span class=
-            "APPLICATION">Privoxy</span> in.
-          </p>
-          <p>
-            Version 3.0.5 beta introduced full <span class=
-            "APPLICATION">Windows</span> service functionality. On Windows
-            only, the <span class="APPLICATION">Privoxy</span> program has
-            two new command line arguments to install and uninstall <span
-            class="APPLICATION">Privoxy</span> as a <span class="emphasis"><i
-            class="EMPHASIS">service</i></span>.
-          </p>
-          <div class="VARIABLELIST">
-            <dl>
-              <dt>
-                Arguments:
-              </dt>
-              <dd>
-                <p>
-                  <tt class="REPLACEABLE"><i>--install</i></tt>[:<tt class=
-                  "REPLACEABLE"><i>service_name</i></tt>]
-                </p>
-                <p>
-                  <tt class="REPLACEABLE"><i>--uninstall</i></tt>[:<tt class=
-                  "REPLACEABLE"><i>service_name</i></tt>]
-                </p>
-              </dd>
-            </dl>
-          </div>
-          <p>
-            After invoking <span class="APPLICATION">Privoxy</span> with <b
-            class="COMMAND">--install</b>, you will need to bring up the
-            <span class="APPLICATION">Windows</span> service console to
-            assign the user you want <span class="APPLICATION">Privoxy</span>
-            to run under, and whether or not you want it to run whenever the
-            system starts. You can start the <span class=
-            "APPLICATION">Windows</span> services console with the following
-            command: <b class="COMMAND">services.msc</b>. If you do not take
-            the manual step of modifying <span class=
-            "APPLICATION">Privoxy's</span> service settings, it will not
-            start. Note too that you will need to give Privoxy a user account
-            that actually exists, or it will not be permitted to write to its
-            log and configuration files.
-          </p>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="INSTALLATION-PACK-BINTGZ">2.1.4. Solaris</a>
-          </h3>
-          <p>
-            Create a new directory, <tt class="LITERAL">cd</tt> to it, then
-            unzip and untar the archive. For the most part, you'll have to
-            figure out where things go.
-          </p>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="INSTALLATION-OS2">2.1.5. OS/2</a>
-          </h3>
-          <p>
-            First, make sure that no previous installations of <span class=
-            "APPLICATION">Junkbuster</span> and / or <span class=
-            "APPLICATION">Privoxy</span> are left on your system. Check that
-            no <span class="APPLICATION">Junkbuster</span> or <span class=
-            "APPLICATION">Privoxy</span> objects are in your startup
-            folder.&#13;
-          </p>
-          <p>
-            Then, just double-click the WarpIN self-installing archive, which
-            will guide you through the installation process. A shadow of the
-            <span class="APPLICATION">Privoxy</span> executable will be
-            placed in your startup folder so it will start automatically
-            whenever OS/2 starts.
-          </p>
-          <p>
-            The directory you choose to install <span class=
-            "APPLICATION">Privoxy</span> into will contain all of the
-            configuration files.
-          </p>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="INSTALLATION-MAC">2.1.6. Mac OS X</a>
-          </h3>
-          <p>
-            Unzip the downloaded file (you can either double-click on the zip
-            file icon from the Finder, or from the desktop if you downloaded
-            it there). Then, double-click on the package installer icon and
-            follow the installation process.
-          </p>
-          <p>
-            The privoxy service will automatically start after a successful
-            installation (in addition to every time your computer starts up).
-            To prevent the privoxy service from automatically starting when
-            your computer starts up, remove or rename the folder named <tt
-            class="LITERAL">/Library/StartupItems/Privoxy</tt>.
-          </p>
-          <p>
-            To manually start or stop the privoxy service, use the Privoxy
-            Utility for Mac OS X. This application controls the privoxy
-            service (e.g. starting and stopping the service as well as
-            uninstalling the software).
-          </p>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="INSTALLATION-AMIGA">2.1.7. AmigaOS</a>
-          </h3>
-          <p>
-            Copy and then unpack the <tt class="FILENAME">lha</tt> archive to
-            a suitable location. All necessary files will be installed into
-            <span class="APPLICATION">Privoxy</span> directory, including all
-            configuration and log files. To uninstall, just remove this
-            directory.
-          </p>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="INSTALLATION-TBZ">2.1.8. FreeBSD</a>
-          </h3>
-          <p>
-            Privoxy is part of FreeBSD's Ports Collection, you can build and
-            install it with <tt class="LITERAL">cd /usr/ports/www/privoxy;
-            make install clean</tt>.
-          </p>
-          <p>
-            If you don't use the ports, you can fetch and install the package
-            with <tt class="LITERAL">pkg_add -r privoxy</tt>.
-          </p>
-          <p>
-            The port skeleton and the package can also be downloaded from the
-            <a href=
-            "https://sourceforge.net/project/showfiles.php?group_id=11118"
-            target="_top">File Release Page</a>, but there's no reason to use
-            them unless you're interested in the beta releases which are only
-            available there.
-          </p>
-        </div>
-        <div class="SECT3">
-          <h3 class="SECT3">
-            <a name="INSTALLATTION-GENTOO">2.1.9. Gentoo</a>
-          </h3>
-          <p>
-            Gentoo source packages (Ebuilds) for <span class=
-            "APPLICATION">Privoxy</span> are contained in the Gentoo Portage
-            Tree (they are not on the download page, but there is a Gentoo
-            section, where you can see when a new <span class=
-            "APPLICATION">Privoxy</span> Version is added to the Portage
-            Tree).
-          </p>
-          <p>
-            Before installing <span class="APPLICATION">Privoxy</span> under
-            Gentoo just do first <tt class="LITERAL">emerge --sync</tt> to
-            get the latest changes from the Portage tree. With <tt class=
-            "LITERAL">emerge privoxy</tt> you install the latest version.
-          </p>
-          <p>
-            Configuration files are in <tt class=
-            "FILENAME">/etc/privoxy</tt>, the documentation is in <tt class=
-            "FILENAME">/usr/share/doc/privoxy-3.0.18</tt> and the Log
-            directory is in <tt class="FILENAME">/var/log/privoxy</tt>.
-          </p>
-        </div>
-      </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="INSTALLATION-SOURCE">2.2. Building from Source</a>
-        </h2>
-        <p>
-          The most convenient way to obtain the <span class=
-          "APPLICATION">Privoxy</span> sources is to download the source
-          tarball from our <a href=
-          "http://sourceforge.net/project/showfiles.php?group_id=11118&amp;package_id=10571"
-           target="_top">project download page</a>.
-        </p>
-        <p>
-          If you like to live on the bleeding edge and are not afraid of
-          using possibly unstable development versions, you can check out the
-          up-to-the-minute version directly from <a href=
-          "http://sourceforge.net/cvs/?group_id=11118" target="_top">the CVS
-          repository</a>.
-        </p>
-        <p>
-          To build <span class="APPLICATION">Privoxy</span> from source, <a
-          href="http://www.gnu.org/software/autoconf/autoconf.html" target=
-          "_top">autoconf</a>, <a href=
-          "http://www.gnu.org/software/make/make.html" target="_top">GNU make
-          (gmake)</a>, and, of course, a C compiler like <a href=
-          "http://www.gnu.org/software/gcc/gcc.html" target="_top">gcc</a>
-          are required.
-        </p>
-        <p>
-          When building from a source tarball, first unpack the source:
-        </p>
-        <p>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
- tar xzvf privoxy-3.0.18-beta-src.tar.gz
- cd privoxy-3.0.18-beta
-</pre>
-            </td>
-          </tr>
-        </table>
-
-        <p>
-          For retrieving the current CVS sources, you'll need a CVS client
-          installed. Note that sources from CVS are typically development
-          quality, and may not be stable, or well tested. To download CVS
-          source, check the Sourceforge documentation, which might give
-          commands like:
-        </p>
-        <p>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
+
+      <p>For retrieving the current CVS sources, you'll need a CVS client
+      installed. Note that sources from CVS are typically development
+      quality, and may not be stable, or well tested. To download CVS source,
+      check the Sourceforge documentation, which might give commands
+      like:</p>
+
+      <table class="c4" border="0" width="100%">
+        <tr>
+          <td>
+            <pre class="SCREEN">
   cvs -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa login
   cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co current
   cd current
 </pre>
-            </td>
-          </tr>
-        </table>
-
-        <p>
-          This will create a directory named <tt class=
-          "FILENAME">current/</tt>, which will contain the source tree.
-        </p>
-        <p>
-          You can also check out any <span class="APPLICATION">Privoxy</span>
-          <span class="QUOTE">"branch"</span>, just exchange the <span class=
-          "APPLICATION">current</span> name with the wanted branch name
-          (Example: v_3_0_branch for the 3.0 cvs tree).
-        </p>
-        <p>
-          It is also strongly recommended to not run <span class=
-          "APPLICATION">Privoxy</span> as root. You should
-          configure/install/run <span class="APPLICATION">Privoxy</span> as
-          an unprivileged user, preferably by creating a <span class=
-          "QUOTE">"privoxy"</span> user and group just for this purpose. See
-          your local documentation for the correct command line to do add new
-          users and groups (something like <b class="COMMAND">adduser</b>,
-          but the command syntax may vary from platform to platform).
-        </p>
-        <p>
-          <tt class="FILENAME">/etc/passwd</tt> might then look like:
-        </p>
-        <p>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
+          </td>
+        </tr>
+      </table>
+
+      <p>This will create a directory named <tt class=
+      "FILENAME">current/</tt>, which will contain the source tree.</p>
+
+      <p>You can also check out any <span class="APPLICATION">Privoxy</span>
+      <span class="QUOTE">"branch"</span>, just exchange the <span class=
+      "APPLICATION">current</span> name with the wanted branch name (Example:
+      v_3_0_branch for the 3.0 cvs tree).</p>
+
+      <p>It is also strongly recommended to not run <span class=
+      "APPLICATION">Privoxy</span> as root. You should configure/install/run
+      <span class="APPLICATION">Privoxy</span> as an unprivileged user,
+      preferably by creating a <span class="QUOTE">"privoxy"</span> user and
+      group just for this purpose. See your local documentation for the
+      correct command line to do add new users and groups (something like
+      <b class="COMMAND">adduser</b>, but the command syntax may vary from
+      platform to platform).</p>
+
+      <p><tt class="FILENAME">/etc/passwd</tt> might then look like:</p>
+
+      <table class="c4" border="0" width="100%">
+        <tr>
+          <td>
+            <pre class="SCREEN">
   privoxy:*:7777:7777:privoxy proxy:/no/home:/no/shell
 </pre>
-            </td>
-          </tr>
-        </table>
-
-        <p>
-          And then <tt class="FILENAME">/etc/group</tt>, like:
-        </p>
-        <p>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
+          </td>
+        </tr>
+      </table>
+
+      <p>And then <tt class="FILENAME">/etc/group</tt>, like:</p>
+
+      <table class="c4" border="0" width="100%">
+        <tr>
+          <td>
+            <pre class="SCREEN">
   privoxy:*:7777:
 </pre>
-            </td>
-          </tr>
-        </table>
-
-        <p>
-          Some binary packages may do this for you.
-        </p>
-        <p>
-          Then, to build from either unpacked tarball or CVS source:
-        </p>
-        <p>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
+          </td>
+        </tr>
+      </table>
+
+      <p>Some binary packages may do this for you.</p>
+
+      <p>Then, to build from either unpacked tarball or CVS source:</p>
+
+      <table class="c4" border="0" width="100%">
+        <tr>
+          <td>
+            <pre class="SCREEN">
  autoheader
  autoconf
  ./configure      # (--help to see options)
@@ -422,225 +371,193 @@ Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
  make -n install  # (to see where all the files will go)
  make -s install  # (to really install, -s to silence output)
 </pre>
-            </td>
-          </tr>
-        </table>
-
-        <p>
-          Using GNU <b class="COMMAND">make</b>, you can have the first four
-          steps automatically done for you by just typing:
-        </p>
-        <p>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
+          </td>
+        </tr>
+      </table>
+
+      <p>Using GNU <b class="COMMAND">make</b>, you can have the first four
+      steps automatically done for you by just typing:</p>
+
+      <table class="c4" border="0" width="100%">
+        <tr>
+          <td>
+            <pre class="SCREEN">
   make
 </pre>
-            </td>
-          </tr>
-        </table>
-
-        <p>
-          in the freshly downloaded or unpacked source directory.
-        </p>
-        <p>
-          To build an executable with security enhanced features so that
-          users cannot easily bypass the proxy (e.g. <span class="QUOTE">"Go
-          There Anyway"</span>), or alter their own configurations, <b class=
-          "COMMAND">configure</b> like this:
-        </p>
-        <p>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
+          </td>
+        </tr>
+      </table>
+
+      <p>in the freshly downloaded or unpacked source directory.</p>
+
+      <p>To build an executable with security enhanced features so that users
+      cannot easily bypass the proxy (e.g. <span class="QUOTE">"Go There
+      Anyway"</span>), or alter their own configurations, <b class=
+      "COMMAND">configure</b> like this:</p>
+
+      <table class="c4" border="0" width="100%">
+        <tr>
+          <td>
+            <pre class="SCREEN">
  ./configure  --disable-toggle  --disable-editor  --disable-force
 </pre>
-            </td>
-          </tr>
-        </table>
-
-        <p>
-          Then build as above. In Privoxy 3.0.7 and later, all of these
-          options can also be disabled through the configuration file.
-        </p>
-        <p>
-          <span class="emphasis"><i class="EMPHASIS">WARNING:</i></span> If
-          installing as root, the install will fail unless a non-root user or
-          group is specified, or a <tt class="LITERAL">privoxy</tt> user and
-          group already exist on the system. If a non-root user is specified,
-          and no group, then the installation will try to also use a group of
-          the same name as <span class="QUOTE">"user"</span>. If a group is
-          specified (and no user), then the support files will be installed
-          as writable by that group, and owned by the user running the
-          installation.
-        </p>
-        <p>
-          <b class="COMMAND">configure</b> accepts <tt class=
-          "LITERAL">--with-user</tt> and <tt class=
-          "LITERAL">--with-group</tt> options for setting user and group
-          ownership of the configuration files (which need to be writable by
-          the daemon). The specified <span class="emphasis"><i class=
-          "EMPHASIS">user must already exist</i></span>. When starting <span
-          class="APPLICATION">Privoxy</span>, it must be run as this same
-          user to insure write access to configuration and log files!
-        </p>
-        <p>
-          Alternately, you can specify <tt class="LITERAL">user</tt> and <tt
-          class="LITERAL">group</tt> on the <b class="COMMAND">make</b>
-          command line, but be sure both already exist:
-        </p>
-        <p>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
- make -s install  USER=privoxy GROUP=privoxy
-</pre>
-            </td>
-          </tr>
-        </table>
-
-        <p>
-          The default installation path for <b class="COMMAND">make
-          install</b> is <tt class="FILENAME">/usr/local</tt>. This may of
-          course be customized with the various <b class=
-          "COMMAND">./configure</b> path options. If you are doing an install
-          to anywhere besides <tt class="FILENAME">/usr/local</tt>, be sure
-          to set the appropriate paths with the correct configure options (<b
-          class="COMMAND">./configure --help</b>). Non-privileged users must
-          of course have write access permissions to wherever the target
-          installation is going.
-        </p>
-        <p>
-          If you do install to <tt class="FILENAME">/usr/local</tt>, the
-          install will use <tt class=
-          "LITERAL">sysconfdir=$prefix/etc/privoxy</tt> by default. All other
-          destinations, and the direct usage of <tt class=
-          "LITERAL">--sysconfdir</tt> flag behave like normal, i.e. will not
-          add the extra <tt class="FILENAME">privoxy</tt> directory. This is
-          for a safer install, as there may already exist another program
-          that uses a file with the <span class="QUOTE">"config"</span> name,
-          and thus makes <tt class="FILENAME">/usr/local/etc</tt> cleaner.
-        </p>
-        <p>
-          If installing to <tt class="FILENAME">/usr/local</tt>, the
-          documentation will go by default to <tt class=
-          "FILENAME">$prefix/share/doc</tt>. But if this directory doesn't
-          exist, it will then try <tt class="FILENAME">$prefix/doc</tt> and
-          install there before creating a new <tt class=
-          "FILENAME">$prefix/share/doc</tt> just for <span class=
-          "APPLICATION">Privoxy</span>.
-        </p>
-        <p>
-          Again, if the installs goes to <tt class=
-          "FILENAME">/usr/local</tt>, the <tt class=
-          "LITERAL">localstatedir</tt> (ie: <tt class="FILENAME">var/</tt>)
-          will default to <tt class="FILENAME">/var</tt> instead of <tt
-          class="LITERAL">$prefix/var</tt> so the logs will go to <tt class=
-          "FILENAME">/var/log/privoxy/</tt>, and the pid file will be created
-          in <tt class="FILENAME">/var/run/privoxy.pid</tt>.
-        </p>
-        <p>
-          <b class="COMMAND">make install</b> will attempt to set the correct
-          values in <tt class="FILENAME">config</tt> (main configuration
-          file). You should check this to make sure all values are correct.
-          If appropriate, an init script will be installed, but it is up to
-          the user to determine how and where to start <span class=
-          "APPLICATION">Privoxy</span>. The init script should be checked for
-          correct paths and values, if anything other than a default install
-          is done.
-        </p>
-        <p>
-          If install finds previous versions of local configuration files,
-          most of these will not be overwritten, and the new ones will be
-          installed with a <span class="QUOTE">"new"</span> extension.
-          default.action and default.filter <span class="emphasis"><i class=
-          "EMPHASIS">will be overwritten</i></span>. You will then need to
-          manually update the other installed configuration files as needed.
-          The default template files <span class="emphasis"><i class=
-          "EMPHASIS">will</i></span> be overwritten. If you have customized,
-          local templates, these should be stored safely in a separate
-          directory and defined in <tt class="FILENAME">config</tt> by the
-          <span class="QUOTE">"templdir"</span> directive. It is of course
-          wise to always back-up any important configuration files <span
-          class="QUOTE">"just in case"</span>. If a previous version of <span
-          class="APPLICATION">Privoxy</span> is already running, you will
-          have to restart it manually.
-        </p>
-        <p>
-          For more detailed instructions on how to build Redhat RPMs, Windows
-          self-extracting installers, building on platforms with special
-          requirements etc, please consult the <a href=
-          "http://www.privoxy.org/developer-manual/newrelease.html" target=
-          "_top">developer manual</a>.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="INSTALLATION-KEEPUPDATED">2.3. Keeping your Installation
-          Up-to-Date</a>
-        </h2>
-        <p>
-          As user feedback comes in and development continues, we will make
-          updated versions of both the main <a href=
-          "actions-file.html">actions file</a> (as a <a href=
-          "http://sourceforge.net/project/showfiles.php?group_id=11118&amp;release_id=103670"
-           target="_top">separate package</a>) and the software itself
-          (including the actions file) available for download.
-        </p>
-        <p>
-          If you wish to receive an email notification whenever we release
-          updates of <span class="APPLICATION">Privoxy</span> or the actions
-          file, <a href=
-          "http://lists.sourceforge.net/lists/listinfo/ijbswa-announce/"
-          target="_top">subscribe to our announce mailing list</a>,
-          ijbswa-announce@lists.sourceforge.net.
-        </p>
-        <p>
-          In order not to lose your personal changes and adjustments when
-          updating to the latest <tt class="LITERAL">default.action</tt> file
-          we <span class="emphasis"><i class="EMPHASIS">strongly
-          recommend</i></span> that you use <tt class=
-          "LITERAL">user.action</tt> and <tt class="LITERAL">user.filter</tt>
-          for your local customizations of <span class=
-          "APPLICATION">Privoxy</span>. See the <a href=
-          "actions-file.html">Chapter on actions files</a> for details.
-        </p>
-      </div>
-    </div>
-    <div class="NAVFOOTER">
-      <hr width="100%" class="c1">
-      <table summary="Footer navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <td width="33%" align="left" valign="top">
-            <a href="introduction.html" accesskey="P">Prev</a>
-          </td>
-          <td width="34%" align="center" valign="top">
-            <a href="index.html" accesskey="H">Home</a>
-          </td>
-          <td width="33%" align="right" valign="top">
-            <a href="whatsnew.html" accesskey="N">Next</a>
           </td>
         </tr>
+      </table>
+
+      <p>Then build as above. In Privoxy 3.0.7 and later, all of these
+      options can also be disabled through the configuration file.</p>
+
+      <p><span class="emphasis EMPHASIS c2">WARNING:</span> If installing as
+      root, the install will fail unless a non-root user or group is
+      specified, or a <tt class="LITERAL">privoxy</tt> user and group already
+      exist on the system. If a non-root user is specified, and no group,
+      then the installation will try to also use a group of the same name as
+      <span class="QUOTE">"user"</span>. If a group is specified (and no
+      user), then the support files will be installed as writable by that
+      group, and owned by the user running the installation.</p>
+
+      <p><b class="COMMAND">configure</b> accepts <tt class=
+      "LITERAL">--with-user</tt> and <tt class="LITERAL">--with-group</tt>
+      options for setting user and group ownership of the configuration files
+      (which need to be writable by the daemon). The specified <span class=
+      "emphasis EMPHASIS c2">user must already exist</span>. When starting
+      <span class="APPLICATION">Privoxy</span>, it must be run as this same
+      user to insure write access to configuration and log files!</p>
+
+      <p>Alternately, you can specify <tt class="LITERAL">user</tt> and
+      <tt class="LITERAL">group</tt> on the <b class="COMMAND">make</b>
+      command line, but be sure both already exist:</p>
+
+      <table class="c4" border="0" width="100%">
         <tr>
-          <td width="33%" align="left" valign="top">
-            Introduction
-          </td>
-          <td width="34%" align="center" valign="top">
-            &nbsp;
-          </td>
-          <td width="33%" align="right" valign="top">
-            What's New in this Release
+          <td>
+            <pre class="SCREEN">
+ make -s install  USER=privoxy GROUP=privoxy
+</pre>
           </td>
         </tr>
       </table>
+
+      <p>The default installation path for <b class="COMMAND">make
+      install</b> is <tt class="FILENAME">/usr/local</tt>. This may of course
+      be customized with the various <b class="COMMAND">./configure</b> path
+      options. If you are doing an install to anywhere besides <tt class=
+      "FILENAME">/usr/local</tt>, be sure to set the appropriate paths with
+      the correct configure options (<b class="COMMAND">./configure
+      --help</b>). Non-privileged users must of course have write access
+      permissions to wherever the target installation is going.</p>
+
+      <p>If you do install to <tt class="FILENAME">/usr/local</tt>, the
+      install will use <tt class=
+      "LITERAL">sysconfdir=$prefix/etc/privoxy</tt> by default. All other
+      destinations, and the direct usage of <tt class=
+      "LITERAL">--sysconfdir</tt> flag behave like normal, i.e. will not add
+      the extra <tt class="FILENAME">privoxy</tt> directory. This is for a
+      safer install, as there may already exist another program that uses a
+      file with the <span class="QUOTE">"config"</span> name, and thus makes
+      <tt class="FILENAME">/usr/local/etc</tt> cleaner.</p>
+
+      <p>If installing to <tt class="FILENAME">/usr/local</tt>, the
+      documentation will go by default to <tt class=
+      "FILENAME">$prefix/share/doc</tt>. But if this directory doesn't exist,
+      it will then try <tt class="FILENAME">$prefix/doc</tt> and install
+      there before creating a new <tt class="FILENAME">$prefix/share/doc</tt>
+      just for <span class="APPLICATION">Privoxy</span>.</p>
+
+      <p>Again, if the installs goes to <tt class="FILENAME">/usr/local</tt>,
+      the <tt class="LITERAL">localstatedir</tt> (ie: <tt class=
+      "FILENAME">var/</tt>) will default to <tt class="FILENAME">/var</tt>
+      instead of <tt class="LITERAL">$prefix/var</tt> so the logs will go to
+      <tt class="FILENAME">/var/log/privoxy/</tt>, and the pid file will be
+      created in <tt class="FILENAME">/var/run/privoxy.pid</tt>.</p>
+
+      <p><b class="COMMAND">make install</b> will attempt to set the correct
+      values in <tt class="FILENAME">config</tt> (main configuration file).
+      You should check this to make sure all values are correct. If
+      appropriate, an init script will be installed, but it is up to the user
+      to determine how and where to start <span class=
+      "APPLICATION">Privoxy</span>. The init script should be checked for
+      correct paths and values, if anything other than a default install is
+      done.</p>
+
+      <p>If install finds previous versions of local configuration files,
+      most of these will not be overwritten, and the new ones will be
+      installed with a <span class="QUOTE">"new"</span> extension.
+      default.action and default.filter <span class=
+      "emphasis EMPHASIS c2">will be overwritten</span>. You will then need
+      to manually update the other installed configuration files as needed.
+      The default template files <span class=
+      "emphasis EMPHASIS c2">will</span> be overwritten. If you have
+      customized, local templates, these should be stored safely in a
+      separate directory and defined in <tt class="FILENAME">config</tt> by
+      the <span class="QUOTE">"templdir"</span> directive. It is of course
+      wise to always back-up any important configuration files <span class=
+      "QUOTE">"just in case"</span>. If a previous version of <span class=
+      "APPLICATION">Privoxy</span> is already running, you will have to
+      restart it manually.</p>
+
+      <p>For more detailed instructions on how to build Redhat RPMs, Windows
+      self-extracting installers, building on platforms with special
+      requirements etc, please consult the <a href=
+      "http://www.privoxy.org/developer-manual/newrelease.html" target=
+      "_top">developer manual</a>.</p>
     </div>
-  </body>
-</html>
 
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="INSTALLATION-KEEPUPDATED" id=
+      "INSTALLATION-KEEPUPDATED">2.3. Keeping your Installation
+      Up-to-Date</a></h2>
+
+      <p>As user feedback comes in and development continues, we will make
+      updated versions of both the main <a href="actions-file.html">actions
+      file</a> (as a <a href=
+      "http://sourceforge.net/project/showfiles.php?group_id=11118&amp;release_id=103670"
+      target="_top">separate package</a>) and the software itself (including
+      the actions file) available for download.</p>
+
+      <p>If you wish to receive an email notification whenever we release
+      updates of <span class="APPLICATION">Privoxy</span> or the actions
+      file, <a href=
+      "http://lists.sourceforge.net/lists/listinfo/ijbswa-announce/" target=
+      "_top">subscribe to our announce mailing list</a>,
+      ijbswa-announce@lists.sourceforge.net.</p>
+
+      <p>In order not to lose your personal changes and adjustments when
+      updating to the latest <tt class="LITERAL">default.action</tt> file we
+      <span class="emphasis EMPHASIS c2">strongly recommend</span> that you
+      use <tt class="LITERAL">user.action</tt> and <tt class=
+      "LITERAL">user.filter</tt> for your local customizations of
+      <span class="APPLICATION">Privoxy</span>. See the <a href=
+      "actions-file.html">Chapter on actions files</a> for details.</p>
+    </div>
+  </div>
+
+  <div class="NAVFOOTER">
+    <hr class="c1" width="100%">
+
+    <table summary="Footer navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <td width="33%" align="left" valign="top"><a href="introduction.html"
+        accesskey="P">Prev</a></td>
+
+        <td width="34%" align="center" valign="top"><a href="index.html"
+        accesskey="H">Home</a></td>
+
+        <td width="33%" align="right" valign="top"><a href="whatsnew.html"
+        accesskey="N">Next</a></td>
+      </tr>
+
+      <tr>
+        <td width="33%" align="left" valign="top">Introduction</td>
+
+        <td width="34%" align="center" valign="top">&nbsp;</td>
+
+        <td width="33%" align="right" valign="top">What's New in this
+        Release</td>
+      </tr>
+    </table>
+  </div>
+</body>
+</html>
index eb4d958..d66b17a 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
-Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+
 <html>
-  <head>
-    <meta name="generator" content="HTML Tidy, see www.w3.org">
-    <title>
-      Introduction
-    </title>
-    <meta name="GENERATOR" content=
-    "Modular DocBook HTML Stylesheet Version 1.79">
-    <link rel="HOME" title="Privoxy 3.0.18 User Manual" href="index.html">
-    <link rel="PREVIOUS" title="Privoxy 3.0.18 User Manual" href=
-    "index.html">
-    <link rel="NEXT" title="Installation" href="installation.html">
-    <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
-    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-    <link rel="STYLESHEET" type="text/css" href="p_doc.css">
-<style type="text/css">
- body {
+<head>
+  <meta name="generator" content=
+  "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
+
+  <title>Introduction</title>
+  <meta name="GENERATOR" content=
+  "Modular DocBook HTML Stylesheet Version 1.79">
+  <link rel="HOME" title="Privoxy 3.0.18 User Manual" href="index.html">
+  <link rel="PREVIOUS" title="Privoxy 3.0.18 User Manual" href="index.html">
+  <link rel="NEXT" title="Installation" href="installation.html">
+  <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
+  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+  <link rel="STYLESHEET" type="text/css" href="p_doc.css">
+  <style type="text/css">
+body {
   background-color: #EEEEEE;
   color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- hr.c1 {text-align: left}
-</style>
-  </head>
-  <body class="SECT1">
-    <div class="NAVHEADER">
-      <table summary="Header navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <th colspan="3" align="center">
-            Privoxy 3.0.18 User Manual
-          </th>
-        </tr>
-        <tr>
-          <td width="10%" align="left" valign="bottom">
-            <a href="index.html" accesskey="P">Prev</a>
-          </td>
-          <td width="80%" align="center" valign="bottom">
-          </td>
-          <td width="10%" align="right" valign="bottom">
-            <a href="installation.html" accesskey="N">Next</a>
-          </td>
-        </tr>
-      </table>
-      <hr width="100%" class="c1">
-    </div>
-    <div class="SECT1">
-      <h1 class="SECT1">
-        <a name="INTRODUCTION">1. Introduction</a>
-      </h1>
-      <p>
-        This documentation is included with the current UNRELEASED version of
-        <span class="APPLICATION">Privoxy</span>, v.3.0.18, 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 a new version is currently
-        nearing completion, and includes significant changes and enhancements
-        over earlier versions.
-      </p>
-      <p>
-        Since this is a UNRELEASED 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 <span class="emphasis"><i
-        class="EMPHASIS">may be</i></span> bugs, though hopefully not many!
-      </p>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="FEATURES">1.1. Features</a>
-        </h2>
-        <p>
-          In addition to the core features of ad blocking and <a href=
-          "http://en.wikipedia.org/wiki/Browser_cookie" target=
-          "_top">cookie</a> management, <span class=
-          "APPLICATION">Privoxy</span> provides many supplemental features,
-          some of them currently under development, that give the end-user
-          more control, more privacy and more freedom:
-        </p>
-        <p>
-        </p>
-        <ul>
-          <li>
-            <p>
-              Supports "Connection: keep-alive". Outgoing connections can be
-              kept alive independently from the client.
-            </p>
-          </li>
-          <li>
-            <p>
-              Supports IPv6, provided the operating system does so too, and
-              the configure script detects it.
-            </p>
-          </li>
-          <li>
-            <p>
-              Supports tagging which allows to change the behaviour based on
-              client and server headers.
-            </p>
-          </li>
-          <li>
-            <p>
-              Can be run as an "intercepting" proxy, which obviates the need
-              to configure browsers individually.
-            </p>
-          </li>
-          <li>
-            <p>
-              Sophisticated actions and filters for manipulating both server
-              and client headers.
-            </p>
-          </li>
-          <li>
-            <p>
-              Can be chained with other proxies.
-            </p>
-          </li>
-          <li>
-            <p>
-              Integrated browser-based configuration and control utility at
-              <a href="http://config.privoxy.org/" target=
-              "_top">http://config.privoxy.org/</a> (shortcut: <a href=
-              "http://p.p/" target="_top">http://p.p/</a>). Browser-based
-              tracing of rule and filter effects. Remote toggling.
-            </p>
-          </li>
-          <li>
-            <p>
-              Web page filtering (text replacements, removes banners based on
-              size, invisible <span class="QUOTE">"web-bugs"</span> and HTML
-              annoyances, etc.)
-            </p>
-          </li>
-          <li>
-            <p>
-              Modularized configuration that allows for standard settings and
-              user settings to reside in separate files, so that installing
-              updated actions files won't overwrite individual user settings.
-            </p>
-          </li>
-          <li>
-            <p>
-              Support for Perl Compatible Regular Expressions in the
-              configuration files, and a more sophisticated and flexible
-              configuration syntax.
-            </p>
-          </li>
-          <li>
-            <p>
-              GIF de-animation.
-            </p>
-          </li>
-          <li>
-            <p>
-              Bypass many click-tracking scripts (avoids script redirection).
-            </p>
-          </li>
-          <li>
-            <p>
-              User-customizable HTML templates for most proxy-generated pages
-              (e.g. "blocked" page).
-            </p>
-          </li>
-          <li>
-            <p>
-              Auto-detection and re-reading of config file changes.
-            </p>
-          </li>
-          <li>
-            <p>
-              Most features are controllable on a per-site or per-location
-              basis.
-            </p>
-          </li>
-          <li>
-            <p>
-              Many smaller new features added, limitations and bugs removed.
-            </p>
-          </li>
-        </ul>
-      </div>
-    </div>
-    <div class="NAVFOOTER">
-      <hr width="100%" class="c1">
-      <table summary="Footer navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <td width="33%" align="left" valign="top">
-            <a href="index.html" accesskey="P">Prev</a>
-          </td>
-          <td width="34%" align="center" valign="top">
-            <a href="index.html" accesskey="H">Home</a>
-          </td>
-          <td width="33%" align="right" valign="top">
-            <a href="installation.html" accesskey="N">Next</a>
-          </td>
-        </tr>
-        <tr>
-          <td width="33%" align="left" valign="top">
-            Privoxy 3.0.18 User Manual
-          </td>
-          <td width="34%" align="center" valign="top">
-            &nbsp;
-          </td>
-          <td width="33%" align="right" valign="top">
-            Installation
-          </td>
-        </tr>
-      </table>
+  }
+  :link { color: #0000FF }
+  :visited { color: #840084 }
+  :active { color: #0000FF }
+  hr.c1 {text-align: left}
+  </style>
+</head>
+
+<body class="SECT1">
+  <div class="NAVHEADER">
+    <table summary="Header navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <th colspan="3" align="center">Privoxy 3.0.18 User Manual</th>
+      </tr>
+
+      <tr>
+        <td width="10%" align="left" valign="bottom"><a href="index.html"
+        accesskey="P">Prev</a></td>
+
+        <td width="80%" align="center" valign="bottom"></td>
+
+        <td width="10%" align="right" valign="bottom"><a href=
+        "installation.html" accesskey="N">Next</a></td>
+      </tr>
+    </table>
+    <hr class="c1" width="100%">
+  </div>
+
+  <div class="SECT1">
+    <h1 class="SECT1"><a name="INTRODUCTION" id="INTRODUCTION">1.
+    Introduction</a></h1>
+
+    <p>This documentation is included with the current stable version of
+    <span class="APPLICATION">Privoxy</span>, v.3.0.18.</p>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="FEATURES" id="FEATURES">1.1.
+      Features</a></h2>
+
+      <p>In addition to the core features of ad blocking and <a href=
+      "http://en.wikipedia.org/wiki/Browser_cookie" target="_top">cookie</a>
+      management, <span class="APPLICATION">Privoxy</span> provides many
+      supplemental features, that give the end-user more control, more
+      privacy and more freedom:</p>
+
+      <ul>
+        <li>
+          <p>Supports "Connection: keep-alive". Outgoing connections can be
+          kept alive independently from the client.</p>
+        </li>
+
+        <li>
+          <p>Supports IPv6, provided the operating system does so too, and
+          the configure script detects it.</p>
+        </li>
+
+        <li>
+          <p>Supports tagging which allows to change the behaviour based on
+          client and server headers.</p>
+        </li>
+
+        <li>
+          <p>Can be run as an "intercepting" proxy, which obviates the need
+          to configure browsers individually.</p>
+        </li>
+
+        <li>
+          <p>Sophisticated actions and filters for manipulating both server
+          and client headers.</p>
+        </li>
+
+        <li>
+          <p>Can be chained with other proxies.</p>
+        </li>
+
+        <li>
+          <p>Integrated browser-based configuration and control utility at
+          <a href="http://config.privoxy.org/" target=
+          "_top">http://config.privoxy.org/</a> (shortcut: <a href=
+          "http://p.p/" target="_top">http://p.p/</a>). Browser-based tracing
+          of rule and filter effects. Remote toggling.</p>
+        </li>
+
+        <li>
+          <p>Web page filtering (text replacements, removes banners based on
+          size, invisible <span class="QUOTE">"web-bugs"</span> and HTML
+          annoyances, etc.)</p>
+        </li>
+
+        <li>
+          <p>Modularized configuration that allows for standard settings and
+          user settings to reside in separate files, so that installing
+          updated actions files won't overwrite individual user settings.</p>
+        </li>
+
+        <li>
+          <p>Support for Perl Compatible Regular Expressions in the
+          configuration files, and a more sophisticated and flexible
+          configuration syntax.</p>
+        </li>
+
+        <li>
+          <p>GIF de-animation.</p>
+        </li>
+
+        <li>
+          <p>Bypass many click-tracking scripts (avoids script
+          redirection).</p>
+        </li>
+
+        <li>
+          <p>User-customizable HTML templates for most proxy-generated pages
+          (e.g. "blocked" page).</p>
+        </li>
+
+        <li>
+          <p>Auto-detection and re-reading of config file changes.</p>
+        </li>
+
+        <li>
+          <p>Most features are controllable on a per-site or per-location
+          basis.</p>
+        </li>
+
+        <li>
+          <p>Many smaller new features added, limitations and bugs
+          removed.</p>
+        </li>
+      </ul>
     </div>
-  </body>
-</html>
+  </div>
+
+  <div class="NAVFOOTER">
+    <hr class="c1" width="100%">
+
+    <table summary="Footer navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <td width="33%" align="left" valign="top"><a href="index.html"
+        accesskey="P">Prev</a></td>
+
+        <td width="34%" align="center" valign="top"><a href="index.html"
+        accesskey="H">Home</a></td>
 
+        <td width="33%" align="right" valign="top"><a href=
+        "installation.html" accesskey="N">Next</a></td>
+      </tr>
+
+      <tr>
+        <td width="33%" align="left" valign="top">Privoxy 3.0.18 User
+        Manual</td>
+
+        <td width="34%" align="center" valign="top">&nbsp;</td>
+
+        <td width="33%" align="right" valign="top">Installation</td>
+      </tr>
+    </table>
+  </div>
+</body>
+</html>
index c17cca0..2991107 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
-Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+
 <html>
-  <head>
-    <meta name="generator" content="HTML Tidy, see www.w3.org">
-    <title>
-      Quickstart to Using Privoxy
-    </title>
-    <meta name="GENERATOR" content=
-    "Modular DocBook HTML Stylesheet Version 1.79">
-    <link rel="HOME" title="Privoxy 3.0.18 User Manual" href="index.html">
-    <link rel="PREVIOUS" title="What's New in this Release" href=
-    "whatsnew.html">
-    <link rel="NEXT" title="Starting Privoxy" href="startup.html">
-    <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
-    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-    <link rel="STYLESHEET" type="text/css" href="p_doc.css">
-<style type="text/css">
- body {
+<head>
+  <meta name="generator" content=
+  "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
+
+  <title>Quickstart to Using Privoxy</title>
+  <meta name="GENERATOR" content=
+  "Modular DocBook HTML Stylesheet Version 1.79">
+  <link rel="HOME" title="Privoxy 3.0.18 User Manual" href="index.html">
+  <link rel="PREVIOUS" title="What's New in this Release" href=
+  "whatsnew.html">
+  <link rel="NEXT" title="Starting Privoxy" href="startup.html">
+  <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
+  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+  <link rel="STYLESHEET" type="text/css" href="p_doc.css">
+  <style type="text/css">
+body {
   background-color: #EEEEEE;
   color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- p.c2 {font-weight: bold}
- hr.c1 {text-align: left}
-</style>
-  </head>
-  <body class="SECT1">
-    <div class="NAVHEADER">
-      <table summary="Header navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <th colspan="3" align="center">
-            Privoxy 3.0.18 User Manual
-          </th>
-        </tr>
-        <tr>
-          <td width="10%" align="left" valign="bottom">
-            <a href="whatsnew.html" accesskey="P">Prev</a>
-          </td>
-          <td width="80%" align="center" valign="bottom">
-          </td>
-          <td width="10%" align="right" valign="bottom">
-            <a href="startup.html" accesskey="N">Next</a>
-          </td>
-        </tr>
-      </table>
-      <hr width="100%" class="c1">
-    </div>
-    <div class="SECT1">
-      <h1 class="SECT1">
-        <a name="QUICKSTART">4. Quickstart to Using Privoxy</a>
-      </h1>
-      <p>
-      </p>
+  }
+  :link { color: #0000FF }
+  :visited { color: #840084 }
+  :active { color: #0000FF }
+  p.c3 {font-weight: bold}
+  span.c2 {font-style: italic}
+  hr.c1 {text-align: left}
+  </style>
+</head>
+
+<body class="SECT1">
+  <div class="NAVHEADER">
+    <table summary="Header navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <th colspan="3" align="center">Privoxy 3.0.18 User Manual</th>
+      </tr>
+
+      <tr>
+        <td width="10%" align="left" valign="bottom"><a href="whatsnew.html"
+        accesskey="P">Prev</a></td>
+
+        <td width="80%" align="center" valign="bottom"></td>
+
+        <td width="10%" align="right" valign="bottom"><a href="startup.html"
+        accesskey="N">Next</a></td>
+      </tr>
+    </table>
+    <hr class="c1" width="100%">
+  </div>
+
+  <div class="SECT1">
+    <h1 class="SECT1"><a name="QUICKSTART" id="QUICKSTART">4. Quickstart to
+    Using Privoxy</a></h1>
+
+    <ul>
+      <li>
+        <p>Install <span class="APPLICATION">Privoxy</span>. See the <a href=
+        "installation.html">Installation Section</a> below for platform
+        specific information.</p>
+      </li>
+
+      <li>
+        <p>Advanced users and those who want to offer <span class=
+        "APPLICATION">Privoxy</span> service to more than just their local
+        machine should check the <a href="config.html">main config file</a>,
+        especially the <a href=
+        "config.html#ACCESS-CONTROL">security-relevant</a> options. These are
+        off by default.</p>
+      </li>
+
+      <li>
+        <p>Start <span class="APPLICATION">Privoxy</span>, if the
+        installation program has not done this already (may vary according to
+        platform). See the section <a href="startup.html">Starting
+        <span class="APPLICATION">Privoxy</span></a>.</p>
+      </li>
+
+      <li>
+        <p>Set your browser to use <span class="APPLICATION">Privoxy</span>
+        as HTTP and HTTPS (SSL) <a href=
+        "http://en.wikipedia.org/wiki/Proxy_server" target="_top">proxy</a>
+        by setting the proxy configuration for address of <tt class=
+        "LITERAL">127.0.0.1</tt> and port <tt class="LITERAL">8118</tt>.
+        <span class="emphasis EMPHASIS c2">DO NOT</span> activate proxying
+        for <tt class="LITERAL">FTP</tt> or any protocols besides HTTP and
+        HTTPS (SSL) unless you intend to prevent your browser from using
+        these protocols.</p>
+      </li>
+
+      <li>
+        <p>Flush your browser's disk and memory caches, to remove any cached
+        ad images. If using <span class="APPLICATION">Privoxy</span> to
+        manage <a href="http://en.wikipedia.org/wiki/Browser_cookie" target=
+        "_top">cookies</a>, you should remove any currently stored cookies
+        too.</p>
+      </li>
+
+      <li>
+        <p>A default installation should provide a reasonable starting point
+        for most. There will undoubtedly be occasions where you will want to
+        adjust the configuration, but that can be dealt with as the need
+        arises. Little to no initial configuration is required in most cases,
+        you may want to enable the <a href="config.html#ENABLE-EDIT-ACTIONS"
+        target="_top">web-based action editor</a> though. Be sure to read the
+        warnings first.</p>
+
+        <p>See the <a href="configuration.html">Configuration section</a> for
+        more configuration options, and how to customize your installation.
+        You might also want to look at the <a href=
+        "quickstart.html#QUICKSTART-AD-BLOCKING">next section</a> for a quick
+        introduction to how <span class="APPLICATION">Privoxy</span> blocks
+        ads and banners.</p>
+      </li>
+
+      <li>
+        <p>If you experience ads that slip through, innocent images that are
+        blocked, or otherwise feel the need to fine-tune <span class=
+        "APPLICATION">Privoxy's</span> behavior, take a look at the <a href=
+        "actions-file.html">actions files</a>. As a quick start, you might
+        find the <a href="actions-file.html#ACT-EXAMPLES">richly commented
+        examples</a> helpful. You can also view and edit the actions files
+        through the <a href="http://config.privoxy.org" target=
+        "_top">web-based user interface</a>. The Appendix <span class=
+        "QUOTE">"<a href="appendix.html#ACTIONSANAT">Troubleshooting: Anatomy
+        of an Action</a>"</span> has hints on how to understand and debug
+        actions that <span class="QUOTE">"misbehave"</span>.</p>
+      </li>
+
+      <li>
+        <p>Please see the section <a href="contact.html">Contacting the
+        Developers</a> on how to report bugs, problems with websites or to
+        get help.</p>
+      </li>
+
+      <li>
+        <p>Now enjoy surfing with enhanced control, comfort and privacy!</p>
+      </li>
+    </ul>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="QUICKSTART-AD-BLOCKING" id=
+      "QUICKSTART-AD-BLOCKING">4.1. Quickstart to Ad Blocking</a></h2>
+
+      <p>Ad blocking is but one of <span class="APPLICATION">Privoxy's</span>
+      array of features. Many of these features are for the technically
+      minded advanced user. But, ad and banner blocking is surely common
+      ground for everybody.</p>
+
+      <p>This section will provide a quick summary of ad blocking so you can
+      get up to speed quickly without having to read the more extensive
+      information provided below, though this is highly recommended.</p>
+
+      <p>First a bit of a warning ... blocking ads is much like blocking
+      SPAM: the more aggressive you are about it, the more likely you are to
+      block things that were not intended. And the more likely that some
+      things may not work as intended. So there is a trade off here. If you
+      want extreme ad free browsing, be prepared to deal with more
+      <span class="QUOTE">"problem"</span> sites, and to spend more time
+      adjusting the configuration to solve these unintended consequences. In
+      short, there is not an easy way to eliminate <span class=
+      "emphasis EMPHASIS c2">all</span> ads. Either take the easy way and
+      settle for <span class="emphasis EMPHASIS c2">most</span> ads blocked
+      with the default configuration, or jump in and tweak it for your
+      personal surfing habits and preferences.</p>
+
+      <p>Secondly, a brief explanation of <span class=
+      "APPLICATION">Privoxy's</span> <span class="QUOTE">"actions"</span>.
+      <span class="QUOTE">"Actions"</span> in this context, are the
+      directives we use to tell <span class="APPLICATION">Privoxy</span> to
+      perform some task relating to HTTP transactions (i.e. web browsing). We
+      tell <span class="APPLICATION">Privoxy</span> to take some <span class=
+      "QUOTE">"action"</span>. Each action has a unique name and function.
+      While there are many potential <span class="APPLICATION">actions</span>
+      in <span class="APPLICATION">Privoxy's</span> arsenal, only a few are
+      used for ad blocking. <a href="actions-file.html#ACTIONS">Actions</a>,
+      and <a href="actions-file.html">action configuration files</a>, are
+      explained in depth below.</p>
+
+      <p>Actions are specified in <span class="APPLICATION">Privoxy's</span>
+      configuration, followed by one or more URLs to which the action should
+      apply. URLs can actually be URL type <a href=
+      "actions-file.html#AF-PATTERNS">patterns</a> that use wildcards so they
+      can apply potentially to a range of similar URLs. The actions, together
+      with the URL patterns are called a section.</p>
+
+      <p>When you connect to a website, the full URL will either match one or
+      more of the sections as defined in <span class=
+      "APPLICATION">Privoxy's</span> configuration, or not. If so, then
+      <span class="APPLICATION">Privoxy</span> will perform the respective
+      actions. If not, then nothing special happens. Furthermore, web pages
+      may contain embedded, secondary URLs that your web browser will use to
+      load additional components of the page, as it parses the original
+      page's HTML content. An ad image for instance, is just an URL embedded
+      in the page somewhere. The image itself may be on the same server, or a
+      server somewhere else on the Internet. Complex web pages will have many
+      such embedded URLs. <span class="APPLICATION">Privoxy</span> can deal
+      with each URL individually, so, for instance, the main page text is not
+      touched, but images from such-and-such server are blocked.</p>
+
+      <p>The most important actions for basic ad blocking are: <tt class=
+      "LITERAL"><a href="actions-file.html#BLOCK">block</a></tt>, <tt class=
+      "LITERAL"><a href=
+      "actions-file.html#HANDLE-AS-IMAGE">handle-as-image</a></tt>,
+      <tt class="LITERAL"><a href=
+      "actions-file.html#HANDLE-AS-EMPTY-DOCUMENT">handle-as-empty-document</a></tt>,and
+      <tt class="LITERAL"><a href=
+      "actions-file.html#SET-IMAGE-BLOCKER">set-image-blocker</a></tt>:</p>
+
       <ul>
         <li>
-          <p>
-            Install <span class="APPLICATION">Privoxy</span>. See the <a
-            href="installation.html">Installation Section</a> below for
-            platform specific information.
-          </p>
+          <p><tt class="LITERAL"><a href=
+          "actions-file.html#BLOCK">block</a></tt> - this is perhaps the
+          single most used action, and is particularly important for ad
+          blocking. This action stops any contact between your browser and
+          any URL patterns that match this action's configuration. It can be
+          used for blocking ads, but also anything that is determined to be
+          unwanted. By itself, it simply stops any communication with the
+          remote server and sends <span class="APPLICATION">Privoxy</span>'s
+          own built-in BLOCKED page instead to let you now what has happened
+          (with some exceptions, see below).</p>
         </li>
+
         <li>
-          <p>
-            Advanced users and those who want to offer <span class=
-            "APPLICATION">Privoxy</span> service to more than just their
-            local machine should check the <a href="config.html">main config
-            file</a>, especially the <a href=
-            "config.html#ACCESS-CONTROL">security-relevant</a> options. These
-            are off by default.
-          </p>
+          <p><tt class="LITERAL"><a href=
+          "actions-file.html#HANDLE-AS-IMAGE">handle-as-image</a></tt> -
+          tells <span class="APPLICATION">Privoxy</span> to treat this URL as
+          an image. <span class="APPLICATION">Privoxy</span>'s default
+          configuration already does this for all common image types (e.g.
+          GIF), but there are many situations where this is not so easy to
+          determine. So we'll force it in these cases. This is particularly
+          important for ad blocking, since only if we know that it's an image
+          of some kind, can we replace it with an image of our choosing,
+          instead of the <span class="APPLICATION">Privoxy</span> BLOCKED
+          page (which would only result in a <span class="QUOTE">"broken
+          image"</span> icon). There are some limitations to this though. For
+          instance, you can't just brute-force an image substitution for an
+          entire HTML page in most situations.</p>
         </li>
+
         <li>
-          <p>
-            Start <span class="APPLICATION">Privoxy</span>, if the
-            installation program has not done this already (may vary
-            according to platform). See the section <a href=
-            "startup.html">Starting <span class=
-            "APPLICATION">Privoxy</span></a>.
-          </p>
+          <p><tt class="LITERAL"><a href=
+          "actions-file.html#HANDLE-AS-EMPTY-DOCUMENT">handle-as-empty-document</a></tt>
+          - sends an empty document instead of <span class=
+          "APPLICATION">Privoxy's</span> normal BLOCKED HTML page. This is
+          useful for file types that are neither HTML nor images, such as
+          blocking JavaScript files.</p>
         </li>
+
         <li>
-          <p>
-            Set your browser to use <span class="APPLICATION">Privoxy</span>
-            as HTTP and HTTPS (SSL) <a href=
-            "http://en.wikipedia.org/wiki/Proxy_server" target=
-            "_top">proxy</a> by setting the proxy configuration for address
-            of <tt class="LITERAL">127.0.0.1</tt> and port <tt class=
-            "LITERAL">8118</tt>. <span class="emphasis"><i class=
-            "EMPHASIS">DO NOT</i></span> activate proxying for <tt class=
-            "LITERAL">FTP</tt> or any protocols besides HTTP and HTTPS (SSL)
-            unless you intend to prevent your browser from using these
-            protocols.
-          </p>
+          <p><tt class="LITERAL"><a href=
+          "actions-file.html#SET-IMAGE-BLOCKER">set-image-blocker</a></tt> -
+          tells <span class="APPLICATION">Privoxy</span> what to display in
+          place of an ad image that has hit a block rule. For this to come
+          into play, the URL must match a <tt class="LITERAL"><a href=
+          "actions-file.html#BLOCK">block</a></tt> action somewhere in the
+          configuration, <span class="emphasis EMPHASIS c2">and</span>, it
+          must also match an <tt class="LITERAL"><a href=
+          "actions-file.html#HANDLE-AS-IMAGE">handle-as-image</a></tt>
+          action.</p>
+
+          <p>The configuration options on what to display instead of the ad
+          are:</p>
+
+          <table border="0">
+            <tbody>
+              <tr>
+                <td>&nbsp;&nbsp;&nbsp;<span class=
+                "emphasis EMPHASIS c2">pattern</span> - a checkerboard
+                pattern, so that an ad replacement is obvious. This is the
+                default.</td>
+              </tr>
+            </tbody>
+          </table>
+
+          <table border="0">
+            <tbody>
+              <tr>
+                <td>&nbsp;&nbsp;&nbsp;<span class=
+                "emphasis EMPHASIS c2">blank</span> - A very small empty GIF
+                image is displayed. This is the so-called <span class=
+                "QUOTE">"invisible"</span> configuration option.</td>
+              </tr>
+            </tbody>
+          </table>
+
+          <table border="0">
+            <tbody>
+              <tr>
+                <td>&nbsp;&nbsp;&nbsp;<span class=
+                "emphasis EMPHASIS c2">http://&lt;URL&gt;</span> - A redirect
+                to any image anywhere of the user's choosing (advanced
+                usage).</td>
+              </tr>
+            </tbody>
+          </table>
         </li>
+      </ul>
+
+      <p>Advanced users will eventually want to explore <span class=
+      "APPLICATION">Privoxy</span> <tt class="LITERAL"><a href=
+      "actions-file.html#FILTER">filters</a></tt> as well. Filters are very
+      different from <tt class="LITERAL"><a href=
+      "actions-file.html#BLOCK">blocks</a></tt>. A <span class=
+      "QUOTE">"block"</span> blocks a site, page, or unwanted contented.
+      Filters are a way of filtering or modifying what is actually on the
+      page. An example filter usage: a text replacement of <span class=
+      "QUOTE">"no-no"</span> for <span class="QUOTE">"nasty-word"</span>.
+      That is a very simple example. This process can be used for ad
+      blocking, but it is more in the realm of advanced usage and has some
+      pitfalls to be wary off.</p>
+
+      <p>The quickest way to adjust any of these settings is with your
+      browser through the special <span class="APPLICATION">Privoxy</span>
+      editor at <a href="http://config.privoxy.org/show-status" target=
+      "_top">http://config.privoxy.org/show-status</a> (shortcut: <a href=
+      "http://p.p/" target="_top">http://p.p/show-status</a>). This is an
+      internal page, and does not require Internet access.</p>
+
+      <p>Note that as of <span class="APPLICATION">Privoxy</span> 3.0.7 beta
+      the action editor is disabled by default. Check the <a href=
+      "config.html#ENABLE-EDIT-ACTIONS" target="_top">enable-edit-actions
+      section in the configuration file</a> to learn why and in which cases
+      it's safe to enable again.</p>
+
+      <p>If you decided to enable the action editor, select the appropriate
+      <span class="QUOTE">"actions"</span> file, and click <span class=
+      "QUOTE">"<span class="GUIBUTTON">Edit</span>"</span>. It is best to put
+      personal or local preferences in <tt class="FILENAME">user.action</tt>
+      since this is not meant to be overwritten during upgrades, and will
+      over-ride the settings in other files. Here you can insert new
+      <span class="QUOTE">"actions"</span>, and URLs for ad blocking or other
+      purposes, and make other adjustments to the configuration. <span class=
+      "APPLICATION">Privoxy</span> will detect these changes
+      automatically.</p>
+
+      <p>A quick and simple step by step example:</p>
+
+      <ul>
         <li>
-          <p>
-            Flush your browser's disk and memory caches, to remove any cached
-            ad images. If using <span class="APPLICATION">Privoxy</span> to
-            manage <a href="http://en.wikipedia.org/wiki/Browser_cookie"
-            target="_top">cookies</a>, you should remove any currently stored
-            cookies too.
-          </p>
+          <p>Right click on the ad image to be blocked, then select
+          <span class="QUOTE">"<span class="GUIMENUITEM">Copy Link
+          Location</span>"</span> from the pop-up menu.</p>
         </li>
+
         <li>
-          <p>
-            A default installation should provide a reasonable starting point
-            for most. There will undoubtedly be occasions where you will want
-            to adjust the configuration, but that can be dealt with as the
-            need arises. Little to no initial configuration is required in
-            most cases, you may want to enable the <a href=
-            "config.html#ENABLE-EDIT-ACTIONS" target="_top">web-based action
-            editor</a> though. Be sure to read the warnings first.
-          </p>
-          <p>
-            See the <a href="configuration.html">Configuration section</a>
-            for more configuration options, and how to customize your
-            installation. You might also want to look at the <a href=
-            "quickstart.html#QUICKSTART-AD-BLOCKING">next section</a> for a
-            quick introduction to how <span class=
-            "APPLICATION">Privoxy</span> blocks ads and banners.
-          </p>
+          <p>Set your browser to <a href=
+          "http://config.privoxy.org/show-status" target=
+          "_top">http://config.privoxy.org/show-status</a></p>
         </li>
+
         <li>
-          <p>
-            If you experience ads that slip through, innocent images that are
-            blocked, or otherwise feel the need to fine-tune <span class=
-            "APPLICATION">Privoxy's</span> behavior, take a look at the <a
-            href="actions-file.html">actions files</a>. As a quick start, you
-            might find the <a href="actions-file.html#ACT-EXAMPLES">richly
-            commented examples</a> helpful. You can also view and edit the
-            actions files through the <a href="http://config.privoxy.org"
-            target="_top">web-based user interface</a>. The Appendix <span
-            class="QUOTE">"<a href=
-            "appendix.html#ACTIONSANAT">Troubleshooting: Anatomy of an
-            Action</a>"</span> has hints on how to understand and debug
-            actions that <span class="QUOTE">"misbehave"</span>.
-          </p>
+          <p>Find <tt class="FILENAME">user.action</tt> in the top section,
+          and click on <span class="QUOTE">"<span class=
+          "GUIBUTTON">Edit</span>"</span>:</p>
+
+          <div class="FIGURE">
+            <a name="AEN828" id="AEN828"></a>
+
+            <p class="c3">Figure 1. Actions Files in Use</p>
+
+            <div class="MEDIAOBJECT">
+              <p><img src="files-in-use.jpg"></p>
+            </div>
+          </div>
         </li>
+
         <li>
-          <p>
-            Please see the section <a href="contact.html">Contacting the
-            Developers</a> on how to report bugs, problems with websites or
-            to get help.
-          </p>
+          <p>You should have a section with only <tt class="LITERAL"><a href=
+          "actions-file.html#BLOCK">block</a></tt> listed under <span class=
+          "QUOTE">"Actions:"</span>. If not, click a <span class=
+          "QUOTE">"<span class="GUIBUTTON">Insert new section
+          below</span>"</span> button, and in the new section that just
+          appeared, click the <span class="GUIBUTTON">Edit</span> button
+          right under the word <span class="QUOTE">"Actions:"</span>. This
+          will bring up a list of all actions. Find <tt class=
+          "LITERAL"><a href="actions-file.html#BLOCK">block</a></tt> near the
+          top, and click in the <span class="QUOTE">"Enabled"</span> column,
+          then <span class="QUOTE">"<span class=
+          "GUIBUTTON">Submit</span>"</span> just below the list.</p>
         </li>
+
         <li>
-          <p>
-            Now enjoy surfing with enhanced control, comfort and privacy!
-          </p>
+          <p>Now, in the <tt class="LITERAL"><a href=
+          "actions-file.html#BLOCK">block</a></tt> actions section, click the
+          <span class="QUOTE">"<span class="GUIBUTTON">Add</span>"</span>
+          button, and paste the URL the browser got from <span class=
+          "QUOTE">"<span class="GUIMENUITEM">Copy Link
+          Location</span>"</span>. Remove the <tt class=
+          "LITERAL">http://</tt> at the beginning of the URL. Then, click
+          <span class="QUOTE">"<span class="GUIBUTTON">Submit</span>"</span>
+          (or <span class="QUOTE">"<span class="GUIBUTTON">OK</span>"</span>
+          if in a pop-up window).</p>
+        </li>
+
+        <li>
+          <p>Now go back to the original page, and press <b class=
+          "KEYCAP">SHIFT-Reload</b> (or flush all browser caches). The image
+          should be gone now.</p>
         </li>
       </ul>
 
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="QUICKSTART-AD-BLOCKING">4.1. Quickstart to Ad Blocking</a>
-        </h2>
-        <p>
-          Ad blocking is but one of <span class=
-          "APPLICATION">Privoxy's</span> array of features. Many of these
-          features are for the technically minded advanced user. But, ad and
-          banner blocking is surely common ground for everybody.
-        </p>
-        <p>
-          This section will provide a quick summary of ad blocking so you can
-          get up to speed quickly without having to read the more extensive
-          information provided below, though this is highly recommended.
-        </p>
-        <p>
-          First a bit of a warning ... blocking ads is much like blocking
-          SPAM: the more aggressive you are about it, the more likely you are
-          to block things that were not intended. And the more likely that
-          some things may not work as intended. So there is a trade off here.
-          If you want extreme ad free browsing, be prepared to deal with more
-          <span class="QUOTE">"problem"</span> sites, and to spend more time
-          adjusting the configuration to solve these unintended consequences.
-          In short, there is not an easy way to eliminate <span class=
-          "emphasis"><i class="EMPHASIS">all</i></span> ads. Either take the
-          easy way and settle for <span class="emphasis"><i class=
-          "EMPHASIS">most</i></span> ads blocked with the default
-          configuration, or jump in and tweak it for your personal surfing
-          habits and preferences.
-        </p>
-        <p>
-          Secondly, a brief explanation of <span class=
-          "APPLICATION">Privoxy's</span> <span class=
-          "QUOTE">"actions"</span>. <span class="QUOTE">"Actions"</span> in
-          this context, are the directives we use to tell <span class=
-          "APPLICATION">Privoxy</span> to perform some task relating to HTTP
-          transactions (i.e. web browsing). We tell <span class=
-          "APPLICATION">Privoxy</span> to take some <span class=
-          "QUOTE">"action"</span>. Each action has a unique name and
-          function. While there are many potential <span class=
-          "APPLICATION">actions</span> in <span class=
-          "APPLICATION">Privoxy's</span> arsenal, only a few are used for ad
-          blocking. <a href="actions-file.html#ACTIONS">Actions</a>, and <a
-          href="actions-file.html">action configuration files</a>, are
-          explained in depth below.
-        </p>
-        <p>
-          Actions are specified in <span class="APPLICATION">Privoxy's</span>
-          configuration, followed by one or more URLs to which the action
-          should apply. URLs can actually be URL type <a href=
-          "actions-file.html#AF-PATTERNS">patterns</a> that use wildcards so
-          they can apply potentially to a range of similar URLs. The actions,
-          together with the URL patterns are called a section.
-        </p>
-        <p>
-          When you connect to a website, the full URL will either match one
-          or more of the sections as defined in <span class=
-          "APPLICATION">Privoxy's</span> configuration, or not. If so, then
-          <span class="APPLICATION">Privoxy</span> will perform the
-          respective actions. If not, then nothing special happens.
-          Furthermore, web pages may contain embedded, secondary URLs that
-          your web browser will use to load additional components of the
-          page, as it parses the original page's HTML content. An ad image
-          for instance, is just an URL embedded in the page somewhere. The
-          image itself may be on the same server, or a server somewhere else
-          on the Internet. Complex web pages will have many such embedded
-          URLs. <span class="APPLICATION">Privoxy</span> can deal with each
-          URL individually, so, for instance, the main page text is not
-          touched, but images from such-and-such server are blocked.
-        </p>
-        <p>
-          The most important actions for basic ad blocking are: <tt class=
-          "LITERAL"><a href="actions-file.html#BLOCK">block</a></tt>, <tt
-          class="LITERAL"><a href=
-          "actions-file.html#HANDLE-AS-IMAGE">handle-as-image</a></tt>, <tt
-          class="LITERAL"><a href=
-          "actions-file.html#HANDLE-AS-EMPTY-DOCUMENT">handle-as-empty-document</a></tt>,and
-          <tt class="LITERAL"><a href=
-          "actions-file.html#SET-IMAGE-BLOCKER">set-image-blocker</a></tt>:
-        </p>
-        <p>
-        </p>
-        <ul>
-          <li>
-            <p>
-              <tt class="LITERAL"><a href=
-              "actions-file.html#BLOCK">block</a></tt> - this is perhaps the
-              single most used action, and is particularly important for ad
-              blocking. This action stops any contact between your browser
-              and any URL patterns that match this action's configuration. It
-              can be used for blocking ads, but also anything that is
-              determined to be unwanted. By itself, it simply stops any
-              communication with the remote server and sends <span class=
-              "APPLICATION">Privoxy</span>'s own built-in BLOCKED page
-              instead to let you now what has happened (with some exceptions,
-              see below).
-            </p>
-          </li>
-          <li>
-            <p>
-              <tt class="LITERAL"><a href=
-              "actions-file.html#HANDLE-AS-IMAGE">handle-as-image</a></tt> -
-              tells <span class="APPLICATION">Privoxy</span> to treat this
-              URL as an image. <span class="APPLICATION">Privoxy</span>'s
-              default configuration already does this for all common image
-              types (e.g. GIF), but there are many situations where this is
-              not so easy to determine. So we'll force it in these cases.
-              This is particularly important for ad blocking, since only if
-              we know that it's an image of some kind, can we replace it with
-              an image of our choosing, instead of the <span class=
-              "APPLICATION">Privoxy</span> BLOCKED page (which would only
-              result in a <span class="QUOTE">"broken image"</span> icon).
-              There are some limitations to this though. For instance, you
-              can't just brute-force an image substitution for an entire HTML
-              page in most situations.
-            </p>
-          </li>
-          <li>
-            <p>
-              <tt class="LITERAL"><a href=
-              "actions-file.html#HANDLE-AS-EMPTY-DOCUMENT">handle-as-empty-document</a></tt>
-              - sends an empty document instead of <span class=
-              "APPLICATION">Privoxy's</span> normal BLOCKED HTML page. This
-              is useful for file types that are neither HTML nor images, such
-              as blocking JavaScript files.
-            </p>
-          </li>
-          <li>
-            <p>
-              <tt class="LITERAL"><a href=
-              "actions-file.html#SET-IMAGE-BLOCKER">set-image-blocker</a></tt>
-              - tells <span class="APPLICATION">Privoxy</span> what to
-              display in place of an ad image that has hit a block rule. For
-              this to come into play, the URL must match a <tt class=
-              "LITERAL"><a href="actions-file.html#BLOCK">block</a></tt>
-              action somewhere in the configuration, <span class=
-              "emphasis"><i class="EMPHASIS">and</i></span>, it must also
-              match an <tt class="LITERAL"><a href=
-              "actions-file.html#HANDLE-AS-IMAGE">handle-as-image</a></tt>
-              action.
-            </p>
-            <p>
-              The configuration options on what to display instead of the ad
-              are:
-            </p>
-            <table border="0">
-              <tbody>
-                <tr>
-                  <td>
-                    &nbsp;&nbsp;&nbsp;<span class="emphasis"><i class=
-                    "EMPHASIS">pattern</i></span> - a checkerboard pattern,
-                    so that an ad replacement is obvious. This is the
-                    default.
-                  </td>
-                </tr>
-              </tbody>
-            </table>
-            <table border="0">
-              <tbody>
-                <tr>
-                  <td>
-                    &nbsp;&nbsp;&nbsp;<span class="emphasis"><i class=
-                    "EMPHASIS">blank</i></span> - A very small empty GIF
-                    image is displayed. This is the so-called <span class=
-                    "QUOTE">"invisible"</span> configuration option.
-                  </td>
-                </tr>
-              </tbody>
-            </table>
-            <table border="0">
-              <tbody>
-                <tr>
-                  <td>
-                    &nbsp;&nbsp;&nbsp;<span class="emphasis"><i class=
-                    "EMPHASIS">http://&lt;URL&gt;</i></span> - A redirect to
-                    any image anywhere of the user's choosing (advanced
-                    usage).
-                  </td>
-                </tr>
-              </tbody>
-            </table>
-          </li>
-        </ul>
-
-        <p>
-          Advanced users will eventually want to explore <span class=
-          "APPLICATION">Privoxy</span> <tt class="LITERAL"><a href=
-          "actions-file.html#FILTER">filters</a></tt> as well. Filters are
-          very different from <tt class="LITERAL"><a href=
-          "actions-file.html#BLOCK">blocks</a></tt>. A <span class=
-          "QUOTE">"block"</span> blocks a site, page, or unwanted contented.
-          Filters are a way of filtering or modifying what is actually on the
-          page. An example filter usage: a text replacement of <span class=
-          "QUOTE">"no-no"</span> for <span class="QUOTE">"nasty-word"</span>.
-          That is a very simple example. This process can be used for ad
-          blocking, but it is more in the realm of advanced usage and has
-          some pitfalls to be wary off.
-        </p>
-        <p>
-          The quickest way to adjust any of these settings is with your
-          browser through the special <span class=
-          "APPLICATION">Privoxy</span> editor at <a href=
-          "http://config.privoxy.org/show-status" target=
-          "_top">http://config.privoxy.org/show-status</a> (shortcut: <a
-          href="http://p.p/" target="_top">http://p.p/show-status</a>). This
-          is an internal page, and does not require Internet access.
-        </p>
-        <p>
-          Note that as of <span class="APPLICATION">Privoxy</span> 3.0.7 beta
-          the action editor is disabled by default. Check the <a href=
-          "config.html#ENABLE-EDIT-ACTIONS" target="_top">enable-edit-actions
-          section in the configuration file</a> to learn why and in which
-          cases it's safe to enable again.
-        </p>
-        <p>
-          If you decided to enable the action editor, select the appropriate
-          <span class="QUOTE">"actions"</span> file, and click <span class=
-          "QUOTE">"<span class="GUIBUTTON">Edit</span>"</span>. It is best to
-          put personal or local preferences in <tt class=
-          "FILENAME">user.action</tt> since this is not meant to be
-          overwritten during upgrades, and will over-ride the settings in
-          other files. Here you can insert new <span class=
-          "QUOTE">"actions"</span>, and URLs for ad blocking or other
-          purposes, and make other adjustments to the configuration. <span
-          class="APPLICATION">Privoxy</span> will detect these changes
-          automatically.
-        </p>
-        <p>
-          A quick and simple step by step example:
-        </p>
-        <p>
-        </p>
-        <ul>
-          <li>
-            <p>
-              Right click on the ad image to be blocked, then select <span
-              class="QUOTE">"<span class="GUIMENUITEM">Copy Link
-              Location</span>"</span> from the pop-up menu.
-            </p>
-          </li>
-          <li>
-            <p>
-              Set your browser to <a href=
-              "http://config.privoxy.org/show-status" target=
-              "_top">http://config.privoxy.org/show-status</a>
-            </p>
-          </li>
-          <li>
-            <p>
-              Find <tt class="FILENAME">user.action</tt> in the top section,
-              and click on <span class="QUOTE">"<span class=
-              "GUIBUTTON">Edit</span>"</span>:
-            </p>
-            <p>
-            </p>
-            <div class="FIGURE">
-              <a name="AEN687"></a>
-              <p class="c2">
-                Figure 1. Actions Files in Use
-              </p>
-              <div class="MEDIAOBJECT">
-                <p>
-                  <img src="files-in-use.jpg">
-                </p>
-              </div>
-            </div>
-          </li>
-          <li>
-            <p>
-              You should have a section with only <tt class="LITERAL"><a
-              href="actions-file.html#BLOCK">block</a></tt> listed under
-              <span class="QUOTE">"Actions:"</span>. If not, click a <span
-              class="QUOTE">"<span class="GUIBUTTON">Insert new section
-              below</span>"</span> button, and in the new section that just
-              appeared, click the <span class="GUIBUTTON">Edit</span> button
-              right under the word <span class="QUOTE">"Actions:"</span>.
-              This will bring up a list of all actions. Find <tt class=
-              "LITERAL"><a href="actions-file.html#BLOCK">block</a></tt> near
-              the top, and click in the <span class="QUOTE">"Enabled"</span>
-              column, then <span class="QUOTE">"<span class=
-              "GUIBUTTON">Submit</span>"</span> just below the list.
-            </p>
-          </li>
-          <li>
-            <p>
-              Now, in the <tt class="LITERAL"><a href=
-              "actions-file.html#BLOCK">block</a></tt> actions section, click
-              the <span class="QUOTE">"<span class=
-              "GUIBUTTON">Add</span>"</span> button, and paste the URL the
-              browser got from <span class="QUOTE">"<span class=
-              "GUIMENUITEM">Copy Link Location</span>"</span>. Remove the <tt
-              class="LITERAL">http://</tt> at the beginning of the URL. Then,
-              click <span class="QUOTE">"<span class=
-              "GUIBUTTON">Submit</span>"</span> (or <span class=
-              "QUOTE">"<span class="GUIBUTTON">OK</span>"</span> if in a
-              pop-up window).
-            </p>
-          </li>
-          <li>
-            <p>
-              Now go back to the original page, and press <b class=
-              "KEYCAP">SHIFT-Reload</b> (or flush all browser caches). The
-              image should be gone now.
-            </p>
-          </li>
-        </ul>
-
-        <p>
-          This is a very crude and simple example. There might be good
-          reasons to use a wildcard pattern match to include potentially
-          similar images from the same site. For a more extensive explanation
-          of <span class="QUOTE">"patterns"</span>, and the entire actions
-          concept, see <a href="actions-file.html">the Actions section</a>.
-        </p>
-        <p>
-          For advanced users who want to hand edit their config files, you
-          might want to now go to the <a href=
-          "actions-file.html#ACT-EXAMPLES">Actions Files Tutorial</a>. The
-          ideas explained therein also apply to the web-based editor.
-        </p>
-        <p>
-          There are also various <a href=
-          "actions-file.html#FILTER">filters</a> that can be used for ad
-          blocking (filters are a special subset of actions). These fall into
-          the <span class="QUOTE">"advanced"</span> usage category, and are
-          explained in depth in later sections.
-        </p>
-      </div>
-    </div>
-    <div class="NAVFOOTER">
-      <hr width="100%" class="c1">
-      <table summary="Footer navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <td width="33%" align="left" valign="top">
-            <a href="whatsnew.html" accesskey="P">Prev</a>
-          </td>
-          <td width="34%" align="center" valign="top">
-            <a href="index.html" accesskey="H">Home</a>
-          </td>
-          <td width="33%" align="right" valign="top">
-            <a href="startup.html" accesskey="N">Next</a>
-          </td>
-        </tr>
-        <tr>
-          <td width="33%" align="left" valign="top">
-            What's New in this Release
-          </td>
-          <td width="34%" align="center" valign="top">
-            &nbsp;
-          </td>
-          <td width="33%" align="right" valign="top">
-            Starting Privoxy
-          </td>
-        </tr>
-      </table>
+      <p>This is a very crude and simple example. There might be good reasons
+      to use a wildcard pattern match to include potentially similar images
+      from the same site. For a more extensive explanation of <span class=
+      "QUOTE">"patterns"</span>, and the entire actions concept, see <a href=
+      "actions-file.html">the Actions section</a>.</p>
+
+      <p>For advanced users who want to hand edit their config files, you
+      might want to now go to the <a href=
+      "actions-file.html#ACT-EXAMPLES">Actions Files Tutorial</a>. The ideas
+      explained therein also apply to the web-based editor.</p>
+
+      <p>There are also various <a href=
+      "actions-file.html#FILTER">filters</a> that can be used for ad blocking
+      (filters are a special subset of actions). These fall into the
+      <span class="QUOTE">"advanced"</span> usage category, and are explained
+      in depth in later sections.</p>
     </div>
-  </body>
-</html>
+  </div>
+
+  <div class="NAVFOOTER">
+    <hr class="c1" width="100%">
+
+    <table summary="Footer navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <td width="33%" align="left" valign="top"><a href="whatsnew.html"
+        accesskey="P">Prev</a></td>
+
+        <td width="34%" align="center" valign="top"><a href="index.html"
+        accesskey="H">Home</a></td>
 
+        <td width="33%" align="right" valign="top"><a href="startup.html"
+        accesskey="N">Next</a></td>
+      </tr>
+
+      <tr>
+        <td width="33%" align="left" valign="top">What's New in this
+        Release</td>
+
+        <td width="34%" align="center" valign="top">&nbsp;</td>
+
+        <td width="33%" align="right" valign="top">Starting Privoxy</td>
+      </tr>
+    </table>
+  </div>
+</body>
+</html>
index a3ae857..c6f011d 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
-Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+
 <html>
-  <head>
-    <meta name="generator" content="HTML Tidy, see www.w3.org">
-    <title>
-      See Also
-    </title>
-    <meta name="GENERATOR" content=
-    "Modular DocBook HTML Stylesheet Version 1.79">
-    <link rel="HOME" title="Privoxy 3.0.18 User Manual" href="index.html">
-    <link rel="PREVIOUS" title="Privoxy Copyright, License and History" href=
-    "copyright.html">
-    <link rel="NEXT" title="Appendix" href="appendix.html">
-    <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
-    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-    <link rel="STYLESHEET" type="text/css" href="p_doc.css">
-<style type="text/css">
- body {
+<head>
+  <meta name="generator" content=
+  "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
+
+  <title>See Also</title>
+  <meta name="GENERATOR" content=
+  "Modular DocBook HTML Stylesheet Version 1.79">
+  <link rel="HOME" title="Privoxy 3.0.18 User Manual" href="index.html">
+  <link rel="PREVIOUS" title="Privoxy Copyright, License and History" href=
+  "copyright.html">
+  <link rel="NEXT" title="Appendix" href="appendix.html">
+  <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
+  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+  <link rel="STYLESHEET" type="text/css" href="p_doc.css">
+  <style type="text/css">
+body {
   background-color: #EEEEEE;
   color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- hr.c1 {text-align: left}
-</style>
-  </head>
-  <body class="SECT1">
-    <div class="NAVHEADER">
-      <table summary="Header navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
+  }
+  :link { color: #0000FF }
+  :visited { color: #840084 }
+  :active { color: #0000FF }
+  hr.c1 {text-align: left}
+  </style>
+</head>
+
+<body class="SECT1">
+  <div class="NAVHEADER">
+    <table summary="Header navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <th colspan="3" align="center">Privoxy 3.0.18 User Manual</th>
+      </tr>
+
+      <tr>
+        <td width="10%" align="left" valign="bottom"><a href="copyright.html"
+        accesskey="P">Prev</a></td>
+
+        <td width="80%" align="center" valign="bottom"></td>
+
+        <td width="10%" align="right" valign="bottom"><a href="appendix.html"
+        accesskey="N">Next</a></td>
+      </tr>
+    </table>
+    <hr class="c1" width="100%">
+  </div>
+
+  <div class="SECT1">
+    <h1 class="SECT1"><a name="SEEALSO" id="SEEALSO">13. See Also</a></h1>
+
+    <p>Other references and sites of interest to <span class=
+    "APPLICATION">Privoxy</span> users:</p>
+
+    <table border="0">
+      <tbody>
         <tr>
-          <th colspan="3" align="center">
-            Privoxy 3.0.18 User Manual
-          </th>
+          <td><a href="http://www.privoxy.org/" target=
+          "_top">http://www.privoxy.org/</a>, the <span class=
+          "APPLICATION">Privoxy</span> Home page.</td>
         </tr>
+      </tbody>
+    </table>
+
+    <table border="0">
+      <tbody>
         <tr>
-          <td width="10%" align="left" valign="bottom">
-            <a href="copyright.html" accesskey="P">Prev</a>
-          </td>
-          <td width="80%" align="center" valign="bottom">
-          </td>
-          <td width="10%" align="right" valign="bottom">
-            <a href="appendix.html" accesskey="N">Next</a>
-          </td>
+          <td><a href="http://www.privoxy.org/faq/" target=
+          "_top">http://www.privoxy.org/faq/</a>, the <span class=
+          "APPLICATION">Privoxy</span> FAQ.</td>
         </tr>
-      </table>
-      <hr width="100%" class="c1">
-    </div>
-    <div class="SECT1">
-      <h1 class="SECT1">
-        <a name="SEEALSO">13. See Also</a>
-      </h1>
-      <p>
-        Other references and sites of interest to <span class=
-        "APPLICATION">Privoxy</span> users:
-      </p>
-      <p>
-      </p>
-      <table border="0">
-        <tbody>
-          <tr>
-            <td>
-              <a href="http://www.privoxy.org/" target=
-              "_top">http://www.privoxy.org/</a>, the <span class=
-              "APPLICATION">Privoxy</span> Home page.
-            </td>
-          </tr>
-        </tbody>
-      </table>
-      <table border="0">
-        <tbody>
-          <tr>
-            <td>
-              <a href="http://www.privoxy.org/faq/" target=
-              "_top">http://www.privoxy.org/faq/</a>, the <span class=
-              "APPLICATION">Privoxy</span> FAQ.
-            </td>
-          </tr>
-        </tbody>
-      </table>
-      <table border="0">
-        <tbody>
-          <tr>
-            <td>
-              <a href="http://www.privoxy.org/developer-manual/" target=
-              "_top">http://www.privoxy.org/developer-manual/</a>, the <span
-              class="APPLICATION">Privoxy</span> developer manual.
-            </td>
-          </tr>
-        </tbody>
-      </table>
-      <table border="0">
-        <tbody>
-          <tr>
-            <td>
-              <a href="https://sourceforge.net/projects/ijbswa/" target=
-              "_top">https://sourceforge.net/projects/ijbswa/</a>, the
-              Project Page for <span class="APPLICATION">Privoxy</span> on <a
-              href="http://sourceforge.net" target="_top">SourceForge</a>.
-            </td>
-          </tr>
-        </tbody>
-      </table>
-      <table border="0">
-        <tbody>
-          <tr>
-            <td>
-              <a href="http://config.privoxy.org/" target=
-              "_top">http://config.privoxy.org/</a>, the web-based user
-              interface. <span class="APPLICATION">Privoxy</span> must be
-              running for this to work. Shortcut: <a href="http://p.p/"
-              target="_top">http://p.p/</a>
-            </td>
-          </tr>
-        </tbody>
-      </table>
-      <table border="0">
-        <tbody>
-          <tr>
-            <td>
-              <a href=
-              "https://sourceforge.net/tracker/?group_id=11118&amp;atid=460288"
-               target=
-              "_top">https://sourceforge.net/tracker/?group_id=11118&amp;atid=460288</a>,
-              to submit <span class="QUOTE">"misses"</span> and other
-              configuration related suggestions to the developers.
-            </td>
-          </tr>
-        </tbody>
-      </table>
-      <table border="0">
-        <tbody>
-          <tr>
-            <td>
-              <a href="http://www.junkbusters.com/ht/en/cookies.html" target=
-              "_top">http://www.junkbusters.com/ht/en/cookies.html</a>, an
-              explanation how cookies are used to track web users.
-            </td>
-          </tr>
-        </tbody>
-      </table>
-      <table border="0">
-        <tbody>
-          <tr>
-            <td>
-              <a href="http://www.junkbusters.com/ijb.html" target=
-              "_top">http://www.junkbusters.com/ijb.html</a>, the original
-              Internet Junkbuster.
-            </td>
-          </tr>
-        </tbody>
-      </table>
-      <table border="0">
-        <tbody>
-          <tr>
-            <td>
-              <a href="http://www.squid-cache.org/" target=
-              "_top">http://www.squid-cache.org/</a>, a popular caching
-              proxy, which is often used together with <span class=
-              "APPLICATION">Privoxy</span>.
-            </td>
-          </tr>
-        </tbody>
-      </table>
-      <table border="0">
-        <tbody>
-          <tr>
-            <td>
-              <a href="http://www.pps.jussieu.fr/~jch/software/polipo/"
-              target=
-              "_top">http://www.pps.jussieu.fr/~jch/software/polipo/</a>,
-              <span class="APPLICATION">Polipo</span> is a caching proxy with
-              advanced features like pipelining, multiplexing and caching of
-              partial instances. In many setups it can be used as <span
-              class="APPLICATION">Squid</span> replacement.
-            </td>
-          </tr>
-        </tbody>
-      </table>
-      <table border="0">
-        <tbody>
-          <tr>
-            <td>
-              <a href="https://www.torproject.org/" target=
-              "_top">https://www.torproject.org/</a>, <span class=
-              "APPLICATION">Tor</span> can help anonymize web browsing, web
-              publishing, instant messaging, IRC, SSH, and other
-              applications.
-            </td>
-          </tr>
-        </tbody>
-      </table>
-    </div>
-    <div class="NAVFOOTER">
-      <hr width="100%" class="c1">
-      <table summary="Footer navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
+      </tbody>
+    </table>
+
+    <table border="0">
+      <tbody>
         <tr>
-          <td width="33%" align="left" valign="top">
-            <a href="copyright.html" accesskey="P">Prev</a>
-          </td>
-          <td width="34%" align="center" valign="top">
-            <a href="index.html" accesskey="H">Home</a>
-          </td>
-          <td width="33%" align="right" valign="top">
-            <a href="appendix.html" accesskey="N">Next</a>
-          </td>
+          <td><a href="http://www.privoxy.org/developer-manual/" target=
+          "_top">http://www.privoxy.org/developer-manual/</a>, the
+          <span class="APPLICATION">Privoxy</span> developer manual.</td>
         </tr>
+      </tbody>
+    </table>
+
+    <table border="0">
+      <tbody>
         <tr>
-          <td width="33%" align="left" valign="top">
-            Privoxy Copyright, License and History
-          </td>
-          <td width="34%" align="center" valign="top">
-            &nbsp;
-          </td>
-          <td width="33%" align="right" valign="top">
-            Appendix
-          </td>
+          <td><a href="https://sourceforge.net/projects/ijbswa/" target=
+          "_top">https://sourceforge.net/projects/ijbswa/</a>, the Project
+          Page for <span class="APPLICATION">Privoxy</span> on <a href=
+          "http://sourceforge.net" target="_top">SourceForge</a>.</td>
         </tr>
-      </table>
-    </div>
-  </body>
-</html>
+      </tbody>
+    </table>
+
+    <table border="0">
+      <tbody>
+        <tr>
+          <td><a href="http://config.privoxy.org/" target=
+          "_top">http://config.privoxy.org/</a>, the web-based user
+          interface. <span class="APPLICATION">Privoxy</span> must be running
+          for this to work. Shortcut: <a href="http://p.p/" target=
+          "_top">http://p.p/</a></td>
+        </tr>
+      </tbody>
+    </table>
 
+    <table border="0">
+      <tbody>
+        <tr>
+          <td><a href=
+          "https://sourceforge.net/tracker/?group_id=11118&amp;atid=460288"
+          target=
+          "_top">https://sourceforge.net/tracker/?group_id=11118&amp;atid=460288</a>,
+          to submit <span class="QUOTE">"misses"</span> and other
+          configuration related suggestions to the developers.</td>
+        </tr>
+      </tbody>
+    </table>
+
+    <table border="0">
+      <tbody>
+        <tr>
+          <td><a href="http://www.junkbusters.com/ht/en/cookies.html" target=
+          "_top">http://www.junkbusters.com/ht/en/cookies.html</a>, an
+          explanation how cookies are used to track web users.</td>
+        </tr>
+      </tbody>
+    </table>
+
+    <table border="0">
+      <tbody>
+        <tr>
+          <td><a href="http://www.junkbusters.com/ijb.html" target=
+          "_top">http://www.junkbusters.com/ijb.html</a>, the original
+          Internet Junkbuster.</td>
+        </tr>
+      </tbody>
+    </table>
+
+    <table border="0">
+      <tbody>
+        <tr>
+          <td><a href="http://www.squid-cache.org/" target=
+          "_top">http://www.squid-cache.org/</a>, a popular caching proxy,
+          which is often used together with <span class=
+          "APPLICATION">Privoxy</span>.</td>
+        </tr>
+      </tbody>
+    </table>
+
+    <table border="0">
+      <tbody>
+        <tr>
+          <td><a href="http://www.pps.jussieu.fr/~jch/software/polipo/"
+          target="_top">http://www.pps.jussieu.fr/~jch/software/polipo/</a>,
+          <span class="APPLICATION">Polipo</span> is a caching proxy with
+          advanced features like pipelining, multiplexing and caching of
+          partial instances. In many setups it can be used as <span class=
+          "APPLICATION">Squid</span> replacement.</td>
+        </tr>
+      </tbody>
+    </table>
+
+    <table border="0">
+      <tbody>
+        <tr>
+          <td><a href="https://www.torproject.org/" target=
+          "_top">https://www.torproject.org/</a>, <span class=
+          "APPLICATION">Tor</span> can help anonymize web browsing, web
+          publishing, instant messaging, IRC, SSH, and other
+          applications.</td>
+        </tr>
+      </tbody>
+    </table>
+  </div>
+
+  <div class="NAVFOOTER">
+    <hr class="c1" width="100%">
+
+    <table summary="Footer navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <td width="33%" align="left" valign="top"><a href="copyright.html"
+        accesskey="P">Prev</a></td>
+
+        <td width="34%" align="center" valign="top"><a href="index.html"
+        accesskey="H">Home</a></td>
+
+        <td width="33%" align="right" valign="top"><a href="appendix.html"
+        accesskey="N">Next</a></td>
+      </tr>
+
+      <tr>
+        <td width="33%" align="left" valign="top">Privoxy Copyright, License
+        and History</td>
+
+        <td width="34%" align="center" valign="top">&nbsp;</td>
+
+        <td width="33%" align="right" valign="top">Appendix</td>
+      </tr>
+    </table>
+  </div>
+</body>
+</html>
index df6da50..3e4fa15 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
-Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+
 <html>
-  <head>
-    <meta name="generator" content="HTML Tidy, see www.w3.org">
-    <title>
-      Starting Privoxy
-    </title>
-    <meta name="GENERATOR" content=
-    "Modular DocBook HTML Stylesheet Version 1.79">
-    <link rel="HOME" title="Privoxy 3.0.18 User Manual" href="index.html">
-    <link rel="PREVIOUS" title="Quickstart to Using Privoxy" href=
-    "quickstart.html">
-    <link rel="NEXT" title="Privoxy Configuration" href="configuration.html">
-    <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
-    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-    <link rel="STYLESHEET" type="text/css" href="p_doc.css">
-<style type="text/css">
- body {
+<head>
+  <meta name="generator" content=
+  "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
+
+  <title>Starting Privoxy</title>
+  <meta name="GENERATOR" content=
+  "Modular DocBook HTML Stylesheet Version 1.79">
+  <link rel="HOME" title="Privoxy 3.0.18 User Manual" href="index.html">
+  <link rel="PREVIOUS" title="Quickstart to Using Privoxy" href=
+  "quickstart.html">
+  <link rel="NEXT" title="Privoxy Configuration" href="configuration.html">
+  <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
+  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+  <link rel="STYLESHEET" type="text/css" href="p_doc.css">
+  <style type="text/css">
+body {
   background-color: #EEEEEE;
   color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- p.c2 {font-weight: bold}
- hr.c1 {text-align: left}
-</style>
-  </head>
-  <body class="SECT1">
-    <div class="NAVHEADER">
-      <table summary="Header navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
+  }
+  :link { color: #0000FF }
+  :visited { color: #840084 }
+  :active { color: #0000FF }
+  table.c4 {background-color: #E0E0E0}
+  p.c3 {font-weight: bold}
+  span.c2 {font-style: italic}
+  hr.c1 {text-align: left}
+  </style>
+</head>
+
+<body class="SECT1">
+  <div class="NAVHEADER">
+    <table summary="Header navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <th colspan="3" align="center">Privoxy 3.0.18 User Manual</th>
+      </tr>
+
+      <tr>
+        <td width="10%" align="left" valign="bottom"><a href=
+        "quickstart.html" accesskey="P">Prev</a></td>
+
+        <td width="80%" align="center" valign="bottom"></td>
+
+        <td width="10%" align="right" valign="bottom"><a href=
+        "configuration.html" accesskey="N">Next</a></td>
+      </tr>
+    </table>
+    <hr class="c1" width="100%">
+  </div>
+
+  <div class="SECT1">
+    <h1 class="SECT1"><a name="STARTUP" id="STARTUP">5. Starting
+    Privoxy</a></h1>
+
+    <p>Before launching <span class="APPLICATION">Privoxy</span> for the
+    first time, you will want to configure your browser(s) to use
+    <span class="APPLICATION">Privoxy</span> as a HTTP and HTTPS (SSL)
+    <a href="http://en.wikipedia.org/wiki/Proxy_server" target=
+    "_top">proxy</a>. The default is 127.0.0.1 (or localhost) for the proxy
+    address, and port 8118 (earlier versions used port 8000). This is the one
+    configuration step <span class="emphasis EMPHASIS c2">that must be
+    done</span>!</p>
+
+    <p>Please note that <span class="APPLICATION">Privoxy</span> can only
+    proxy HTTP and HTTPS traffic. It will not work with FTP or other
+    protocols.</p>
+
+    <div class="FIGURE">
+      <a name="AEN883" id="AEN883"></a>
+
+      <p class="c3">Figure 2. Proxy Configuration Showing Mozilla/Netscape
+      HTTP and HTTPS (SSL) Settings</p>
+
+      <div class="MEDIAOBJECT">
+        <p><img src="proxy_setup.jpg"></p>
+      </div>
+    </div>
+
+    <p>With <span class="APPLICATION">Firefox</span>, this is typically set
+    under:</p>
+
+    <p class="LITERALLAYOUT">&nbsp;<span class=
+    "GUIBUTTON">Tools</span>&nbsp;-&gt;&nbsp;<span class=
+    "GUIBUTTON">Options</span>&nbsp;-&gt;&nbsp;&nbsp;<span class=
+    "GUIBUTTON">Advanced</span>&nbsp;-&gt;&nbsp;<span class=
+    "GUIBUTTON">Network</span>&nbsp;-&gt;<span class=
+    "GUIBUTTON">Connection</span>&nbsp;-&gt;&nbsp;<span class=
+    "GUIBUTTON">Settings</span><br></p>
+
+    <p>Or optionally on some platforms:</p>
+
+    <p class="LITERALLAYOUT">&nbsp;<span class=
+    "GUIBUTTON">Edit</span>&nbsp;-&gt;&nbsp;<span class=
+    "GUIBUTTON">Preferences</span>&nbsp;-&gt;&nbsp;<span class=
+    "GUIBUTTON">General</span>&nbsp;-&gt;&nbsp;<span class=
+    "GUIBUTTON">Connection Settings</span>&nbsp;-&gt;&nbsp;<span class=
+    "GUIBUTTON">Manual Proxy Configuration</span><br></p>
+
+    <p>With <span class="APPLICATION">Netscape</span> (and <span class=
+    "APPLICATION">Mozilla</span>), this can be set under:</p>
+
+    <p class="LITERALLAYOUT">&nbsp;<span class=
+    "GUIBUTTON">Edit</span>&nbsp;-&gt;&nbsp;<span class=
+    "GUIBUTTON">Preferences</span>&nbsp;-&gt;&nbsp;<span class=
+    "GUIBUTTON">Advanced</span>&nbsp;-&gt;&nbsp;<span class=
+    "GUIBUTTON">Proxies</span>&nbsp;-&gt;&nbsp;<span class="GUIBUTTON">HTTP
+    Proxy</span><br></p>
+
+    <p>For <span class="APPLICATION">Internet Explorer v.5-7</span>:</p>
+
+    <p class="LITERALLAYOUT">&nbsp;<span class=
+    "GUIBUTTON">Tools</span>&nbsp;-&gt;&nbsp;<span class="GUIBUTTON">Internet
+    Options</span>&nbsp;-&gt;&nbsp;<span class=
+    "GUIBUTTON">Connections</span>&nbsp;-&gt;&nbsp;<span class=
+    "GUIBUTTON">LAN Settings</span></p>
+
+    <p>Then, check <span class="QUOTE">"Use Proxy"</span> and fill in the
+    appropriate info (Address: 127.0.0.1, Port: 8118). Include HTTPS (SSL),
+    if you want HTTPS proxy support too (sometimes labeled <span class=
+    "QUOTE">"Secure"</span>). Make sure any checkboxes like <span class=
+    "QUOTE">"Use the same proxy server for all protocols"</span> is
+    <span class="emphasis EMPHASIS c2">UNCHECKED</span>. You want only HTTP
+    and HTTPS (SSL)!</p>
+
+    <div class="FIGURE">
+      <a name="AEN928" id="AEN928"></a>
+
+      <p class="c3">Figure 3. Proxy Configuration Showing Internet Explorer
+      HTTP and HTTPS (Secure) Settings</p>
+
+      <div class="MEDIAOBJECT">
+        <p><img src="proxy2.jpg"></p>
+      </div>
+    </div>
+
+    <p>After doing this, flush your browser's disk and memory caches to force
+    a re-reading of all pages and to get rid of any ads that may be cached.
+    Remove any <a href="http://en.wikipedia.org/wiki/Browser_cookie" target=
+    "_top">cookies</a>, if you want <span class="APPLICATION">Privoxy</span>
+    to manage that. You are now ready to start enjoying the benefits of using
+    <span class="APPLICATION">Privoxy</span>!</p>
+
+    <p><span class="APPLICATION">Privoxy</span> itself is typically started
+    by specifying the main configuration file to be used on the command line.
+    If no configuration file is specified on the command line, <span class=
+    "APPLICATION">Privoxy</span> will look for a file named <tt class=
+    "FILENAME">config</tt> in the current directory. Except on Win32 where it
+    will try <tt class="FILENAME">config.txt</tt>.</p>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="START-REDHAT" id="START-REDHAT">5.1. Red Hat
+      and Fedora</a></h2>
+
+      <p>A default Red Hat installation may not start <span class=
+      "APPLICATION">Privoxy</span> upon boot. It will use the file <tt class=
+      "FILENAME">/etc/privoxy/config</tt> as its main configuration file.</p>
+
+      <table class="c4" border="0" width="100%">
         <tr>
-          <th colspan="3" align="center">
-            Privoxy 3.0.18 User Manual
-          </th>
+          <td>
+            <pre class="SCREEN">
+ # /etc/rc.d/init.d/privoxy start
+</pre>
+          </td>
         </tr>
+      </table>
+
+      <p>Or ...</p>
+
+      <table class="c4" border="0" width="100%">
         <tr>
-          <td width="10%" align="left" valign="bottom">
-            <a href="quickstart.html" accesskey="P">Prev</a>
-          </td>
-          <td width="80%" align="center" valign="bottom">
-          </td>
-          <td width="10%" align="right" valign="bottom">
-            <a href="configuration.html" accesskey="N">Next</a>
+          <td>
+            <pre class="SCREEN">
+ # service privoxy start
+</pre>
           </td>
         </tr>
       </table>
-      <hr width="100%" class="c1">
     </div>
-    <div class="SECT1">
-      <h1 class="SECT1">
-        <a name="STARTUP">5. Starting Privoxy</a>
-      </h1>
-      <p>
-        Before launching <span class="APPLICATION">Privoxy</span> for the
-        first time, you will want to configure your browser(s) to use <span
-        class="APPLICATION">Privoxy</span> as a HTTP and HTTPS (SSL) <a href=
-        "http://en.wikipedia.org/wiki/Proxy_server" target="_top">proxy</a>.
-        The default is 127.0.0.1 (or localhost) for the proxy address, and
-        port 8118 (earlier versions used port 8000). This is the one
-        configuration step <span class="emphasis"><i class="EMPHASIS">that
-        must be done</i></span>!
-      </p>
-      <p>
-        Please note that <span class="APPLICATION">Privoxy</span> can only
-        proxy HTTP and HTTPS traffic. It will not work with FTP or other
-        protocols.
-      </p>
-      <p>
-      </p>
-      <div class="FIGURE">
-        <a name="AEN742"></a>
-        <p class="c2">
-          Figure 2. Proxy Configuration Showing Mozilla/Netscape HTTP and
-          HTTPS (SSL) Settings
-        </p>
-        <div class="MEDIAOBJECT">
-          <p>
-            <img src="proxy_setup.jpg">
-          </p>
-        </div>
-      </div>
 
-      <p>
-        With <span class="APPLICATION">Firefox</span>, this is typically set
-        under:
-      </p>
-      <p class="LITERALLAYOUT">
-        &nbsp;<span class="GUIBUTTON">Tools</span>&nbsp;-&gt;&nbsp;<span
-        class="GUIBUTTON">Options</span>&nbsp;-&gt;&nbsp;&nbsp;<span class=
-        "GUIBUTTON">Advanced</span>&nbsp;-&gt;&nbsp;<span class=
-        "GUIBUTTON">Network</span>&nbsp;-&gt;<span class=
-        "GUIBUTTON">Connection</span>&nbsp;-&gt;&nbsp;<span class=
-        "GUIBUTTON">Settings</span><br>
-         &#13;
-      </p>
-      <p>
-        Or optionally on some platforms:
-      </p>
-      <p class="LITERALLAYOUT">
-        &nbsp;<span class="GUIBUTTON">Edit</span>&nbsp;-&gt;&nbsp;<span
-        class="GUIBUTTON">Preferences</span>&nbsp;-&gt;&nbsp;<span class=
-        "GUIBUTTON">General</span>&nbsp;-&gt;&nbsp;<span class=
-        "GUIBUTTON">Connection Settings</span>&nbsp;-&gt;&nbsp;<span class=
-        "GUIBUTTON">Manual Proxy Configuration</span><br>
-         &#13;
-      </p>
-      <p>
-        With <span class="APPLICATION">Netscape</span> (and <span class=
-        "APPLICATION">Mozilla</span>), this can be set under:
-      </p>
-      <p class="LITERALLAYOUT">
-        &nbsp;<span class="GUIBUTTON">Edit</span>&nbsp;-&gt;&nbsp;<span
-        class="GUIBUTTON">Preferences</span>&nbsp;-&gt;&nbsp;<span class=
-        "GUIBUTTON">Advanced</span>&nbsp;-&gt;&nbsp;<span class=
-        "GUIBUTTON">Proxies</span>&nbsp;-&gt;&nbsp;<span class=
-        "GUIBUTTON">HTTP Proxy</span><br>
-         &#13;
-      </p>
-      <p>
-        For <span class="APPLICATION">Internet Explorer v.5-7</span>:
-      </p>
-      <p class="LITERALLAYOUT">
-        &nbsp;<span class="GUIBUTTON">Tools</span>&nbsp;-&gt;&nbsp;<span
-        class="GUIBUTTON">Internet Options</span>&nbsp;-&gt;&nbsp;<span
-        class="GUIBUTTON">Connections</span>&nbsp;-&gt;&nbsp;<span class=
-        "GUIBUTTON">LAN Settings</span>
-      </p>
-      <p>
-        Then, check <span class="QUOTE">"Use Proxy"</span> and fill in the
-        appropriate info (Address: 127.0.0.1, Port: 8118). Include HTTPS
-        (SSL), if you want HTTPS proxy support too (sometimes labeled <span
-        class="QUOTE">"Secure"</span>). Make sure any checkboxes like <span
-        class="QUOTE">"Use the same proxy server for all protocols"</span> is
-        <span class="emphasis"><i class="EMPHASIS">UNCHECKED</i></span>. You
-        want only HTTP and HTTPS (SSL)!
-      </p>
-      <p>
-      </p>
-      <div class="FIGURE">
-        <a name="AEN787"></a>
-        <p class="c2">
-          Figure 3. Proxy Configuration Showing Internet Explorer HTTP and
-          HTTPS (Secure) Settings
-        </p>
-        <div class="MEDIAOBJECT">
-          <p>
-            <img src="proxy2.jpg">
-          </p>
-        </div>
-      </div>
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="START-DEBIAN" id="START-DEBIAN">5.2.
+      Debian</a></h2>
 
-      <p>
-        After doing this, flush your browser's disk and memory caches to
-        force a re-reading of all pages and to get rid of any ads that may be
-        cached. Remove any <a href=
-        "http://en.wikipedia.org/wiki/Browser_cookie" target=
-        "_top">cookies</a>, if you want <span class=
-        "APPLICATION">Privoxy</span> to manage that. You are now ready to
-        start enjoying the benefits of using <span class=
-        "APPLICATION">Privoxy</span>!
-      </p>
-      <p>
-        <span class="APPLICATION">Privoxy</span> itself is typically started
-        by specifying the main configuration file to be used on the command
-        line. If no configuration file is specified on the command line,
-        <span class="APPLICATION">Privoxy</span> will look for a file named
-        <tt class="FILENAME">config</tt> in the current directory. Except on
-        Win32 where it will try <tt class="FILENAME">config.txt</tt>.
-      </p>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="START-REDHAT">5.1. Red Hat and Fedora</a>
-        </h2>
-        <p>
-          A default Red Hat installation may not start <span class=
-          "APPLICATION">Privoxy</span> upon boot. It will use the file <tt
-          class="FILENAME">/etc/privoxy/config</tt> as its main configuration
-          file.
-        </p>
-        <p>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
- # /etc/rc.d/init.d/privoxy start
-</pre>
-            </td>
-          </tr>
-        </table>
-
-        <p>
-          Or ...
-        </p>
-        <p>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
- # service privoxy start
-</pre>
-            </td>
-          </tr>
-        </table>
-      </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="START-DEBIAN">5.2. Debian</a>
-        </h2>
-        <p>
-          We use a script. Note that Debian typically starts <span class=
-          "APPLICATION">Privoxy</span> upon booting per default. It will use
-          the file <tt class="FILENAME">/etc/privoxy/config</tt> as its main
-          configuration file.
-        </p>
-        <p>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
+      <p>We use a script. Note that Debian typically starts <span class=
+      "APPLICATION">Privoxy</span> upon booting per default. It will use the
+      file <tt class="FILENAME">/etc/privoxy/config</tt> as its main
+      configuration file.</p>
+
+      <table class="c4" border="0" width="100%">
+        <tr>
+          <td>
+            <pre class="SCREEN">
  # /etc/init.d/privoxy start
 </pre>
-            </td>
-          </tr>
-        </table>
-      </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="START-WINDOWS">5.3. Windows</a>
-        </h2>
-        <p>
-          Click on the <span class="APPLICATION">Privoxy</span> Icon to start
-          <span class="APPLICATION">Privoxy</span>. If no configuration file
-          is specified on the command line, <span class=
-          "APPLICATION">Privoxy</span> will look for a file named <tt class=
-          "FILENAME">config.txt</tt>. Note that Windows will automatically
-          start <span class="APPLICATION">Privoxy</span> when the system
-          starts if you chose that option when installing.
-        </p>
-        <p>
-          <span class="APPLICATION">Privoxy</span> can run with full Windows
-          service functionality. On Windows only, the <span class=
-          "APPLICATION">Privoxy</span> program has two new command line
-          arguments to install and uninstall <span class=
-          "APPLICATION">Privoxy</span> as a service. See the <a href=
-          "installation.html#INSTALLATION-PACK-WIN">Windows Installation
-          instructions</a> for details.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="START-UNICES">5.4. Solaris, NetBSD, FreeBSD, HP-UX and
-          others</a>
-        </h2>
-        <p>
-          Example Unix startup command:
-        </p>
-        <p>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
+          </td>
+        </tr>
+      </table>
+    </div>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="START-WINDOWS" id="START-WINDOWS">5.3.
+      Windows</a></h2>
+
+      <p>Click on the <span class="APPLICATION">Privoxy</span> Icon to start
+      <span class="APPLICATION">Privoxy</span>. If no configuration file is
+      specified on the command line, <span class="APPLICATION">Privoxy</span>
+      will look for a file named <tt class="FILENAME">config.txt</tt>. Note
+      that Windows will automatically start <span class=
+      "APPLICATION">Privoxy</span> when the system starts if you chose that
+      option when installing.</p>
+
+      <p><span class="APPLICATION">Privoxy</span> can run with full Windows
+      service functionality. On Windows only, the <span class=
+      "APPLICATION">Privoxy</span> program has two new command line arguments
+      to install and uninstall <span class="APPLICATION">Privoxy</span> as a
+      service. See the <a href=
+      "installation.html#INSTALLATION-PACK-WIN">Windows Installation
+      instructions</a> for details.</p>
+    </div>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="START-UNICES" id="START-UNICES">5.4.
+      Solaris, NetBSD, FreeBSD, HP-UX and others</a></h2>
+
+      <p>Example Unix startup command:</p>
+
+      <table class="c4" border="0" width="100%">
+        <tr>
+          <td>
+            <pre class="SCREEN">
  # /usr/sbin/privoxy /etc/privoxy/config
 </pre>
-            </td>
-          </tr>
-        </table>
-      </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="START-OS2">5.5. OS/2</a>
-        </h2>
-        <p>
-          During installation, <span class="APPLICATION">Privoxy</span> is
-          configured to start automatically when the system restarts. You can
-          start it manually by double-clicking on the <span class=
-          "APPLICATION">Privoxy</span> icon in the <span class=
-          "APPLICATION">Privoxy</span> folder.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="START-MACOSX">5.6. Mac OS X</a>
-        </h2>
-        <p>
-          After downloading the privoxy software, unzip the downloaded file
-          by double-clicking on the zip file icon. Then, double-click on the
-          installer package icon and follow the installation process.
-        </p>
-        <p>
-          The privoxy service will automatically start after a successful
-          installation. In addition, the privoxy service will automatically
-          start every time your computer starts up.
-        </p>
-        <p>
-          To prevent the privoxy service from automatically starting when
-          your computer starts up, remove or rename the folder named
-          /Library/StartupItems/Privoxy.
-        </p>
-        <p>
-          A simple application named Privoxy Utility has been created which
-          enables administrators to easily start and stop the privoxy
-          service.
-        </p>
-        <p>
-          In addition, the Privoxy Utility presents a simple way for
-          administrators to edit the various privoxy config files. A method
-          to uninstall the software is also available.
-        </p>
-        <p>
-          An administrator username and password must be supplied in order
-          for the Privoxy Utility to perform any of the tasks.
-        </p>
-      </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="START-AMIGAOS">5.7. AmigaOS</a>
-        </h2>
-        <p>
-          Start <span class="APPLICATION">Privoxy</span> (with RUN
-          &lt;&gt;NIL:) in your <tt class="FILENAME">startnet</tt> script
-          (AmiTCP), in <tt class="FILENAME">s:user-startup</tt> (RoadShow),
-          as startup program in your startup script (Genesis), or as startup
-          action (Miami and MiamiDx). <span class=
-          "APPLICATION">Privoxy</span> will automatically quit when you quit
-          your TCP/IP stack (just ignore the harmless warning your TCP/IP
-          stack may display that <span class="APPLICATION">Privoxy</span> is
-          still running).
-        </p>
-      </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="START-GENTOO">5.8. Gentoo</a>
-        </h2>
-        <p>
-          A script is again used. It will use the file <tt class=
-          "FILENAME">/etc/privoxy/config</tt> as its main configuration file.
-        </p>
-        <p>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
- /etc/init.d/privoxy start
-</pre>
-            </td>
-          </tr>
-        </table>
-
-        <p>
-          Note that <span class="APPLICATION">Privoxy</span> is not
-          automatically started at boot time by default. You can change this
-          with the <tt class="LITERAL">rc-update</tt> command.
-        </p>
-        <p>
-        </p>
-        <table border="0" bgcolor="#E0E0E0" width="100%">
-          <tr>
-            <td>
-<pre class="SCREEN">
- rc-update add privoxy default
-</pre>
-            </td>
-          </tr>
-        </table>
-      </div>
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="CMDOPTIONS">5.9. Command Line Options</a>
-        </h2>
-        <p>
-          <span class="APPLICATION">Privoxy</span> may be invoked with the
-          following command-line options:
-        </p>
-        <p>
-        </p>
-        <ul>
-          <li>
-            <p>
-              <span class="emphasis"><i class="EMPHASIS">--version</i></span>
-            </p>
-            <p>
-              Print version info and exit. Unix only.
-            </p>
-          </li>
-          <li>
-            <p>
-              <span class="emphasis"><i class="EMPHASIS">--help</i></span>
-            </p>
-            <p>
-              Print short usage info and exit. Unix only.
-            </p>
-          </li>
-          <li>
-            <p>
-              <span class="emphasis"><i class=
-              "EMPHASIS">--no-daemon</i></span>
-            </p>
-            <p>
-              Don't become a daemon, i.e. don't fork and become process group
-              leader, and don't detach from controlling tty. Unix only.
-            </p>
-          </li>
-          <li>
-            <p>
-              <span class="emphasis"><i class="EMPHASIS">--pidfile
-              FILE</i></span>
-            </p>
-            <p>
-              On startup, write the process ID to <span class="emphasis"><i
-              class="EMPHASIS">FILE</i></span>. Delete the <span class=
-              "emphasis"><i class="EMPHASIS">FILE</i></span> on exit. Failure
-              to create or delete the <span class="emphasis"><i class=
-              "EMPHASIS">FILE</i></span> is non-fatal. If no <span class=
-              "emphasis"><i class="EMPHASIS">FILE</i></span> option is given,
-              no PID file will be used. Unix only.
-            </p>
-          </li>
-          <li>
-            <p>
-              <span class="emphasis"><i class="EMPHASIS">--user
-              USER[.GROUP]</i></span>
-            </p>
-            <p>
-              After (optionally) writing the PID file, assume the user ID of
-              <span class="emphasis"><i class="EMPHASIS">USER</i></span>, and
-              if included the GID of GROUP. Exit if the privileges are not
-              sufficient to do so. Unix only.
-            </p>
-          </li>
-          <li>
-            <p>
-              <span class="emphasis"><i class="EMPHASIS">--chroot</i></span>
-            </p>
-            <p>
-              Before changing to the user ID given in the <span class=
-              "emphasis"><i class="EMPHASIS">--user</i></span> option, chroot
-              to that user's home directory, i.e. make the kernel pretend to
-              the <span class="APPLICATION">Privoxy</span> process that the
-              directory tree starts there. If set up carefully, this can
-              limit the impact of possible vulnerabilities in <span class=
-              "APPLICATION">Privoxy</span> to the files contained in that
-              hierarchy. Unix only.
-            </p>
-          </li>
-          <li>
-            <p>
-              <span class="emphasis"><i class=
-              "EMPHASIS">--pre-chroot-nslookup hostname</i></span>
-            </p>
-            <p>
-              Specifies a hostname to look up before doing a chroot. On some
-              systems, initializing the resolver library involves reading
-              config files from /etc and/or loading additional shared
-              libraries from /lib. On these systems, doing a hostname lookup
-              before the chroot reduces the number of files that must be
-              copied into the chroot tree.
-            </p>
-            <p>
-              For fastest startup speed, a good value is a hostname that is
-              not in /etc/hosts but that your local name server (listed in
-              /etc/resolv.conf) can resolve without recursion (that is,
-              without having to ask any other name servers). The hostname
-              need not exist, but if it doesn't, an error message (which can
-              be ignored) will be output.
-            </p>
-          </li>
-          <li>
-            <p>
-              <span class="emphasis"><i class=
-              "EMPHASIS">configfile</i></span>
-            </p>
-            <p>
-              If no <span class="emphasis"><i class=
-              "EMPHASIS">configfile</i></span> is included on the command
-              line, <span class="APPLICATION">Privoxy</span> will look for a
-              file named <span class="QUOTE">"config"</span> in the current
-              directory (except on Win32 where it will look for <span class=
-              "QUOTE">"config.txt"</span> instead). Specify full path to
-              avoid confusion. If no config file is found, <span class=
-              "APPLICATION">Privoxy</span> will fail to start.
-            </p>
-          </li>
-        </ul>
-
-        <p>
-          On <span class="APPLICATION">MS Windows</span> only there are two
-          additional command-line options to allow <span class=
-          "APPLICATION">Privoxy</span> to install and run as a <span class=
-          "emphasis"><i class="EMPHASIS">service</i></span>. See the <a href=
-          "installation.html#INSTALLATION-PACK-WIN">Window Installation
-          section</a> for details.
-        </p>
-      </div>
+          </td>
+        </tr>
+      </table>
     </div>
-    <div class="NAVFOOTER">
-      <hr width="100%" class="c1">
-      <table summary="Footer navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="START-OS2" id="START-OS2">5.5. OS/2</a></h2>
+
+      <p>During installation, <span class="APPLICATION">Privoxy</span> is
+      configured to start automatically when the system restarts. You can
+      start it manually by double-clicking on the <span class=
+      "APPLICATION">Privoxy</span> icon in the <span class=
+      "APPLICATION">Privoxy</span> folder.</p>
+    </div>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="START-MACOSX" id="START-MACOSX">5.6. Mac OS
+      X</a></h2>
+
+      <p>After downloading the privoxy software, unzip the downloaded file by
+      double-clicking on the zip file icon. Then, double-click on the
+      installer package icon and follow the installation process.</p>
+
+      <p>The privoxy service will automatically start after a successful
+      installation. In addition, the privoxy service will automatically start
+      every time your computer starts up.</p>
+
+      <p>To prevent the privoxy service from automatically starting when your
+      computer starts up, remove or rename the folder named
+      /Library/StartupItems/Privoxy.</p>
+
+      <p>A simple application named Privoxy Utility has been created which
+      enables administrators to easily start and stop the privoxy
+      service.</p>
+
+      <p>In addition, the Privoxy Utility presents a simple way for
+      administrators to edit the various privoxy config files. A method to
+      uninstall the software is also available.</p>
+
+      <p>An administrator username and password must be supplied in order for
+      the Privoxy Utility to perform any of the tasks.</p>
+    </div>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="START-AMIGAOS" id="START-AMIGAOS">5.7.
+      AmigaOS</a></h2>
+
+      <p>Start <span class="APPLICATION">Privoxy</span> (with RUN
+      &lt;&gt;NIL:) in your <tt class="FILENAME">startnet</tt> script
+      (AmiTCP), in <tt class="FILENAME">s:user-startup</tt> (RoadShow), as
+      startup program in your startup script (Genesis), or as startup action
+      (Miami and MiamiDx). <span class="APPLICATION">Privoxy</span> will
+      automatically quit when you quit your TCP/IP stack (just ignore the
+      harmless warning your TCP/IP stack may display that <span class=
+      "APPLICATION">Privoxy</span> is still running).</p>
+    </div>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="START-GENTOO" id="START-GENTOO">5.8.
+      Gentoo</a></h2>
+
+      <p>A script is again used. It will use the file <tt class=
+      "FILENAME">/etc/privoxy/config</tt> as its main configuration file.</p>
+
+      <table class="c4" border="0" width="100%">
         <tr>
-          <td width="33%" align="left" valign="top">
-            <a href="quickstart.html" accesskey="P">Prev</a>
-          </td>
-          <td width="34%" align="center" valign="top">
-            <a href="index.html" accesskey="H">Home</a>
-          </td>
-          <td width="33%" align="right" valign="top">
-            <a href="configuration.html" accesskey="N">Next</a>
+          <td>
+            <pre class="SCREEN">
+ /etc/init.d/privoxy start
+
+</pre>
           </td>
         </tr>
+      </table>
+
+      <p>Note that <span class="APPLICATION">Privoxy</span> is not
+      automatically started at boot time by default. You can change this with
+      the <tt class="LITERAL">rc-update</tt> command.</p>
+
+      <table class="c4" border="0" width="100%">
         <tr>
-          <td width="33%" align="left" valign="top">
-            Quickstart to Using Privoxy
-          </td>
-          <td width="34%" align="center" valign="top">
-            &nbsp;
-          </td>
-          <td width="33%" align="right" valign="top">
-            Privoxy Configuration
+          <td>
+            <pre class="SCREEN">
+ rc-update add privoxy default
+
+</pre>
           </td>
         </tr>
       </table>
     </div>
-  </body>
-</html>
 
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="CMDOPTIONS" id="CMDOPTIONS">5.9. Command
+      Line Options</a></h2>
+
+      <p><span class="APPLICATION">Privoxy</span> may be invoked with the
+      following command-line options:</p>
+
+      <ul>
+        <li>
+          <p><span class="emphasis EMPHASIS c2">--version</span></p>
+
+          <p>Print version info and exit. Unix only.</p>
+        </li>
+
+        <li>
+          <p><span class="emphasis EMPHASIS c2">--help</span></p>
+
+          <p>Print short usage info and exit. Unix only.</p>
+        </li>
+
+        <li>
+          <p><span class="emphasis EMPHASIS c2">--no-daemon</span></p>
+
+          <p>Don't become a daemon, i.e. don't fork and become process group
+          leader, and don't detach from controlling tty. Unix only.</p>
+        </li>
+
+        <li>
+          <p><span class="emphasis EMPHASIS c2">--pidfile FILE</span></p>
+
+          <p>On startup, write the process ID to <span class=
+          "emphasis EMPHASIS c2">FILE</span>. Delete the <span class=
+          "emphasis EMPHASIS c2">FILE</span> on exit. Failure to create or
+          delete the <span class="emphasis EMPHASIS c2">FILE</span> is
+          non-fatal. If no <span class="emphasis EMPHASIS c2">FILE</span>
+          option is given, no PID file will be used. Unix only.</p>
+        </li>
+
+        <li>
+          <p><span class="emphasis EMPHASIS c2">--user
+          USER[.GROUP]</span></p>
+
+          <p>After (optionally) writing the PID file, assume the user ID of
+          <span class="emphasis EMPHASIS c2">USER</span>, and if included the
+          GID of GROUP. Exit if the privileges are not sufficient to do so.
+          Unix only.</p>
+        </li>
+
+        <li>
+          <p><span class="emphasis EMPHASIS c2">--chroot</span></p>
+
+          <p>Before changing to the user ID given in the <span class=
+          "emphasis EMPHASIS c2">--user</span> option, chroot to that user's
+          home directory, i.e. make the kernel pretend to the <span class=
+          "APPLICATION">Privoxy</span> process that the directory tree starts
+          there. If set up carefully, this can limit the impact of possible
+          vulnerabilities in <span class="APPLICATION">Privoxy</span> to the
+          files contained in that hierarchy. Unix only.</p>
+        </li>
+
+        <li>
+          <p><span class="emphasis EMPHASIS c2">--pre-chroot-nslookup
+          hostname</span></p>
+
+          <p>Specifies a hostname to look up before doing a chroot. On some
+          systems, initializing the resolver library involves reading config
+          files from /etc and/or loading additional shared libraries from
+          /lib. On these systems, doing a hostname lookup before the chroot
+          reduces the number of files that must be copied into the chroot
+          tree.</p>
+
+          <p>For fastest startup speed, a good value is a hostname that is
+          not in /etc/hosts but that your local name server (listed in
+          /etc/resolv.conf) can resolve without recursion (that is, without
+          having to ask any other name servers). The hostname need not exist,
+          but if it doesn't, an error message (which can be ignored) will be
+          output.</p>
+        </li>
+
+        <li>
+          <p><span class="emphasis EMPHASIS c2">configfile</span></p>
+
+          <p>If no <span class="emphasis EMPHASIS c2">configfile</span> is
+          included on the command line, <span class=
+          "APPLICATION">Privoxy</span> will look for a file named
+          <span class="QUOTE">"config"</span> in the current directory
+          (except on Win32 where it will look for <span class=
+          "QUOTE">"config.txt"</span> instead). Specify full path to avoid
+          confusion. If no config file is found, <span class=
+          "APPLICATION">Privoxy</span> will fail to start.</p>
+        </li>
+      </ul>
+
+      <p>On <span class="APPLICATION">MS Windows</span> only there are two
+      additional command-line options to allow <span class=
+      "APPLICATION">Privoxy</span> to install and run as a <span class=
+      "emphasis EMPHASIS c2">service</span>. See the <a href=
+      "installation.html#INSTALLATION-PACK-WIN">Window Installation
+      section</a> for details.</p>
+    </div>
+  </div>
+
+  <div class="NAVFOOTER">
+    <hr class="c1" width="100%">
+
+    <table summary="Footer navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <td width="33%" align="left" valign="top"><a href="quickstart.html"
+        accesskey="P">Prev</a></td>
+
+        <td width="34%" align="center" valign="top"><a href="index.html"
+        accesskey="H">Home</a></td>
+
+        <td width="33%" align="right" valign="top"><a href=
+        "configuration.html" accesskey="N">Next</a></td>
+      </tr>
+
+      <tr>
+        <td width="33%" align="left" valign="top">Quickstart to Using
+        Privoxy</td>
+
+        <td width="34%" align="center" valign="top">&nbsp;</td>
+
+        <td width="33%" align="right" valign="top">Privoxy Configuration</td>
+      </tr>
+    </table>
+  </div>
+</body>
+</html>
index 11784d9..9342a8d 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
-Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+
 <html>
-  <head>
-    <meta name="generator" content="HTML Tidy, see www.w3.org">
-    <title>
-      Privoxy's Template Files
-    </title>
-    <meta name="GENERATOR" content=
-    "Modular DocBook HTML Stylesheet Version 1.79">
-    <link rel="HOME" title="Privoxy 3.0.18 User Manual" href="index.html">
-    <link rel="PREVIOUS" title="Filter Files" href="filter-file.html">
-    <link rel="NEXT" title=
-    "Contacting the Developers, Bug Reporting and Feature Requests" href=
-    "contact.html">
-    <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
-    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-    <link rel="STYLESHEET" type="text/css" href="p_doc.css">
-<style type="text/css">
- body {
+<head>
+  <meta name="generator" content=
+  "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
+
+  <title>Privoxy's Template Files</title>
+  <meta name="GENERATOR" content=
+  "Modular DocBook HTML Stylesheet Version 1.79">
+  <link rel="HOME" title="Privoxy 3.0.18 User Manual" href="index.html">
+  <link rel="PREVIOUS" title="Filter Files" href="filter-file.html">
+  <link rel="NEXT" title=
+  "Contacting the Developers, Bug Reporting and Feature Requests" href=
+  "contact.html">
+  <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
+  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+  <link rel="STYLESHEET" type="text/css" href="p_doc.css">
+  <style type="text/css">
+body {
   background-color: #EEEEEE;
   color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- hr.c1 {text-align: left}
-</style>
-  </head>
-  <body class="SECT1">
-    <div class="NAVHEADER">
-      <table summary="Header navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <th colspan="3" align="center">
-            Privoxy 3.0.18 User Manual
-          </th>
-        </tr>
-        <tr>
-          <td width="10%" align="left" valign="bottom">
-            <a href="filter-file.html" accesskey="P">Prev</a>
-          </td>
-          <td width="80%" align="center" valign="bottom">
-          </td>
-          <td width="10%" align="right" valign="bottom">
-            <a href="contact.html" accesskey="N">Next</a>
-          </td>
-        </tr>
-      </table>
-      <hr width="100%" class="c1">
-    </div>
-    <div class="SECT1">
-      <h1 class="SECT1">
-        <a name="TEMPLATES">10. Privoxy's Template Files</a>
-      </h1>
-      <p>
-        All <span class="APPLICATION">Privoxy</span> built-in pages, i.e.
-        error pages such as the <a href="http://show-the-404-error.page"
-        target="_top"><span class="QUOTE">"404 - No Such Domain"</span> error
-        page</a>, the <a href=
-        "http://ads.bannerserver.example.com/nasty-ads/sponsor.html" target=
-        "_top"><span class="QUOTE">"BLOCKED"</span> page</a> and all pages of
-        its <a href="http://config.privoxy.org/" target="_top">web-based user
-        interface</a>, are generated from <span class="emphasis"><i class=
-        "EMPHASIS">templates</i></span>. (<span class=
-        "APPLICATION">Privoxy</span> must be running for the above links to
-        work as intended.)
-      </p>
-      <p>
-        These templates are stored in a subdirectory of the <a href=
-        "config.html#CONFDIR">configuration directory</a> called <tt class=
-        "FILENAME">templates</tt>. On Unixish platforms, this is typically <a
-        href="file:///etc/privoxy/templates/" target="_top"><tt class=
-        "FILENAME">/etc/privoxy/templates/</tt></a>.
-      </p>
-      <p>
-        The templates are basically normal HTML files, but with place-holders
-        (called symbols or exports), which <span class=
-        "APPLICATION">Privoxy</span> fills at run time. It is possible to
-        edit the templates with a normal text editor, should you want to
-        customize them. (<span class="emphasis"><i class="EMPHASIS">Not
-        recommended for the casual user</i></span>). Should you create your
-        own custom templates, you should use the <tt class=
-        "FILENAME">config</tt> setting <a href=
-        "config.html#TEMPLDIR">templdir</a> to specify an alternate location,
-        so your templates do not get overwritten during upgrades.
-      </p>
-      <p>
-        Note that just like in configuration files, lines starting with <tt
-        class="LITERAL">#</tt> are ignored when the templates are filled in.
-      </p>
-      <p>
-        The place-holders are of the form <tt class="LITERAL">@name@</tt>,
-        and you will find a list of available symbols, which vary from
-        template to template, in the comments at the start of each file. Note
-        that these comments are not always accurate, and that it's probably
-        best to look at the existing HTML code to find out which symbols are
-        supported and what they are filled in with.
-      </p>
-      <p>
-        A special application of this substitution mechanism is to make whole
-        blocks of HTML code disappear when a specific symbol is set. We use
-        this for many purposes, one of them being to include the beta warning
-        in all our user interface (CGI) pages when <span class=
-        "APPLICATION">Privoxy</span> is in an alpha or beta development
-        stage:
-      </p>
-      <p>
-      </p>
-      <table border="0" bgcolor="#E0E0E0" width="100%">
-        <tr>
-          <td>
-<pre class="SCREEN">
+  }
+  :link { color: #0000FF }
+  :visited { color: #840084 }
+  :active { color: #0000FF }
+  table.c3 {background-color: #E0E0E0}
+  span.c2 {font-style: italic}
+  hr.c1 {text-align: left}
+  </style>
+</head>
+
+<body class="SECT1">
+  <div class="NAVHEADER">
+    <table summary="Header navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <th colspan="3" align="center">Privoxy 3.0.18 User Manual</th>
+      </tr>
+
+      <tr>
+        <td width="10%" align="left" valign="bottom"><a href=
+        "filter-file.html" accesskey="P">Prev</a></td>
+
+        <td width="80%" align="center" valign="bottom"></td>
+
+        <td width="10%" align="right" valign="bottom"><a href="contact.html"
+        accesskey="N">Next</a></td>
+      </tr>
+    </table>
+    <hr class="c1" width="100%">
+  </div>
+
+  <div class="SECT1">
+    <h1 class="SECT1"><a name="TEMPLATES" id="TEMPLATES">10. Privoxy's
+    Template Files</a></h1>
+
+    <p>All <span class="APPLICATION">Privoxy</span> built-in pages, i.e.
+    error pages such as the <a href="http://show-the-404-error.page" target=
+    "_top"><span class="QUOTE">"404 - No Such Domain"</span> error page</a>,
+    the <a href="http://ads.bannerserver.example.com/nasty-ads/sponsor.html"
+    target="_top"><span class="QUOTE">"BLOCKED"</span> page</a> and all pages
+    of its <a href="http://config.privoxy.org/" target="_top">web-based user
+    interface</a>, are generated from <span class=
+    "emphasis EMPHASIS c2">templates</span>. (<span class=
+    "APPLICATION">Privoxy</span> must be running for the above links to work
+    as intended.)</p>
+
+    <p>These templates are stored in a subdirectory of the <a href=
+    "config.html#CONFDIR">configuration directory</a> called <tt class=
+    "FILENAME">templates</tt>. On Unixish platforms, this is typically
+    <a href="file:///etc/privoxy/templates/" target="_top"><tt class=
+    "FILENAME">/etc/privoxy/templates/</tt></a>.</p>
+
+    <p>The templates are basically normal HTML files, but with place-holders
+    (called symbols or exports), which <span class=
+    "APPLICATION">Privoxy</span> fills at run time. It is possible to edit
+    the templates with a normal text editor, should you want to customize
+    them. (<span class="emphasis EMPHASIS c2">Not recommended for the casual
+    user</span>). Should you create your own custom templates, you should use
+    the <tt class="FILENAME">config</tt> setting <a href=
+    "config.html#TEMPLDIR">templdir</a> to specify an alternate location, so
+    your templates do not get overwritten during upgrades.</p>
+
+    <p>Note that just like in configuration files, lines starting with
+    <tt class="LITERAL">#</tt> are ignored when the templates are filled
+    in.</p>
+
+    <p>The place-holders are of the form <tt class="LITERAL">@name@</tt>, and
+    you will find a list of available symbols, which vary from template to
+    template, in the comments at the start of each file. Note that these
+    comments are not always accurate, and that it's probably best to look at
+    the existing HTML code to find out which symbols are supported and what
+    they are filled in with.</p>
+
+    <p>A special application of this substitution mechanism is to make whole
+    blocks of HTML code disappear when a specific symbol is set. We use this
+    for many purposes, one of them being to include the beta warning in all
+    our user interface (CGI) pages when <span class=
+    "APPLICATION">Privoxy</span> is in an alpha or beta development
+    stage:</p>
+
+    <table class="c3" border="0" width="100%">
+      <tr>
+        <td>
+          <pre class="SCREEN">
 &lt;!-- @if-unstable-start --&gt;
 
   ... beta warning HTML code goes here ...
 
 &lt;!-- if-unstable-end@ --&gt;
 </pre>
-          </td>
-        </tr>
-      </table>
-
-      <p>
-        If the "unstable" symbol is set, everything in between and including
-        <tt class="LITERAL">@if-unstable-start</tt> and <tt class=
-        "LITERAL">if-unstable-end@</tt> will disappear, leaving nothing but
-        an empty comment:
-      </p>
-      <p>
-      </p>
-      <table border="0" bgcolor="#E0E0E0" width="100%">
-        <tr>
-          <td>
-<pre class="SCREEN">
+        </td>
+      </tr>
+    </table>
+
+    <p>If the "unstable" symbol is set, everything in between and including
+    <tt class="LITERAL">@if-unstable-start</tt> and <tt class=
+    "LITERAL">if-unstable-end@</tt> will disappear, leaving nothing but an
+    empty comment:</p>
+
+    <table class="c3" border="0" width="100%">
+      <tr>
+        <td>
+          <pre class="SCREEN">
 &lt;!--  --&gt;
 </pre>
-          </td>
-        </tr>
-      </table>
-
-      <p>
-        There's also an if-then-else construct and an <tt class=
-        "LITERAL">#include</tt> mechanism, but you'll sure find out if you
-        are inclined to edit the templates ;-)
-      </p>
-      <p>
-        All templates refer to a style located at <a href=
-        "http://config.privoxy.org/send-stylesheet" target="_top"><tt class=
-        "LITERAL">http://config.privoxy.org/send-stylesheet</tt></a>. This
-        is, of course, locally served by <span class=
-        "APPLICATION">Privoxy</span> and the source for it can be found and
-        edited in the <tt class="FILENAME">cgi-style.css</tt> template.
-      </p>
-    </div>
-    <div class="NAVFOOTER">
-      <hr width="100%" class="c1">
-      <table summary="Footer navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <td width="33%" align="left" valign="top">
-            <a href="filter-file.html" accesskey="P">Prev</a>
-          </td>
-          <td width="34%" align="center" valign="top">
-            <a href="index.html" accesskey="H">Home</a>
-          </td>
-          <td width="33%" align="right" valign="top">
-            <a href="contact.html" accesskey="N">Next</a>
-          </td>
-        </tr>
-        <tr>
-          <td width="33%" align="left" valign="top">
-            Filter Files
-          </td>
-          <td width="34%" align="center" valign="top">
-            &nbsp;
-          </td>
-          <td width="33%" align="right" valign="top">
-            Contacting the Developers, Bug Reporting and Feature Requests
-          </td>
-        </tr>
-      </table>
-    </div>
-  </body>
-</html>
+        </td>
+      </tr>
+    </table>
+
+    <p>There's also an if-then-else construct and an <tt class=
+    "LITERAL">#include</tt> mechanism, but you'll sure find out if you are
+    inclined to edit the templates ;-)</p>
+
+    <p>All templates refer to a style located at <a href=
+    "http://config.privoxy.org/send-stylesheet" target="_top"><tt class=
+    "LITERAL">http://config.privoxy.org/send-stylesheet</tt></a>. This is, of
+    course, locally served by <span class="APPLICATION">Privoxy</span> and
+    the source for it can be found and edited in the <tt class=
+    "FILENAME">cgi-style.css</tt> template.</p>
+  </div>
+
+  <div class="NAVFOOTER">
+    <hr class="c1" width="100%">
 
+    <table summary="Footer navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <td width="33%" align="left" valign="top"><a href="filter-file.html"
+        accesskey="P">Prev</a></td>
+
+        <td width="34%" align="center" valign="top"><a href="index.html"
+        accesskey="H">Home</a></td>
+
+        <td width="33%" align="right" valign="top"><a href="contact.html"
+        accesskey="N">Next</a></td>
+      </tr>
+
+      <tr>
+        <td width="33%" align="left" valign="top">Filter Files</td>
+
+        <td width="34%" align="center" valign="top">&nbsp;</td>
+
+        <td width="33%" align="right" valign="top">Contacting the Developers,
+        Bug Reporting and Feature Requests</td>
+      </tr>
+    </table>
+  </div>
+</body>
+</html>
index 5a8cfa6..3e38ba0 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
-Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+
 <html>
-  <head>
-    <meta name="generator" content="HTML Tidy, see www.w3.org">
-    <title>
-      What's New in this Release
-    </title>
-    <meta name="GENERATOR" content=
-    "Modular DocBook HTML Stylesheet Version 1.79">
-    <link rel="HOME" title="Privoxy 3.0.18 User Manual" href="index.html">
-    <link rel="PREVIOUS" title="Installation" href="installation.html">
-    <link rel="NEXT" title="Quickstart to Using Privoxy" href=
-    "quickstart.html">
-    <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
-    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-    <link rel="STYLESHEET" type="text/css" href="p_doc.css">
-<style type="text/css">
- body {
+<head>
+  <meta name="generator" content=
+  "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
+
+  <title>What's New in this Release</title>
+  <meta name="GENERATOR" content=
+  "Modular DocBook HTML Stylesheet Version 1.79">
+  <link rel="HOME" title="Privoxy 3.0.18 User Manual" href="index.html">
+  <link rel="PREVIOUS" title="Installation" href="installation.html">
+  <link rel="NEXT" title="Quickstart to Using Privoxy" href=
+  "quickstart.html">
+  <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
+  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+  <link rel="STYLESHEET" type="text/css" href="p_doc.css">
+  <style type="text/css">
+body {
   background-color: #EEEEEE;
   color: #000000;
- }
- :link { color: #0000FF }
- :visited { color: #840084 }
- :active { color: #0000FF }
- hr.c1 {text-align: left}
-</style>
-  </head>
-  <body class="SECT1">
-    <div class="NAVHEADER">
-      <table summary="Header navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <th colspan="3" align="center">
-            Privoxy 3.0.18 User Manual
-          </th>
-        </tr>
-        <tr>
-          <td width="10%" align="left" valign="bottom">
-            <a href="installation.html" accesskey="P">Prev</a>
-          </td>
-          <td width="80%" align="center" valign="bottom">
-          </td>
-          <td width="10%" align="right" valign="bottom">
-            <a href="quickstart.html" accesskey="N">Next</a>
-          </td>
-        </tr>
-      </table>
-      <hr width="100%" class="c1">
-    </div>
-    <div class="SECT1">
-      <h1 class="SECT1">
-        <a name="WHATSNEW">3. What's New in this Release</a>
-      </h1>
-      <p>
-        <span class="APPLICATION">Privoxy 3.0.17</span> is a stable release.
-        The changes since 3.0.16 stable are:
-      </p>
-      <p>
-      </p>
+  }
+  :link { color: #0000FF }
+  :visited { color: #840084 }
+  :active { color: #0000FF }
+  hr.c1 {text-align: left}
+  </style>
+</head>
+
+<body class="SECT1">
+  <div class="NAVHEADER">
+    <table summary="Header navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <th colspan="3" align="center">Privoxy 3.0.18 User Manual</th>
+      </tr>
+
+      <tr>
+        <td width="10%" align="left" valign="bottom"><a href=
+        "installation.html" accesskey="P">Prev</a></td>
+
+        <td width="80%" align="center" valign="bottom"></td>
+
+        <td width="10%" align="right" valign="bottom"><a href=
+        "quickstart.html" accesskey="N">Next</a></td>
+      </tr>
+    </table>
+    <hr class="c1" width="100%">
+  </div>
+
+  <div class="SECT1">
+    <h1 class="SECT1"><a name="WHATSNEW" id="WHATSNEW">3. What's New in this
+    Release</a></h1>
+
+    <p><span class="APPLICATION">Privoxy 3.0.18</span> is a stable release.
+    The changes since 3.0.17 stable are:</p>
+
+    <ul>
+      <li>
+        <p>Bug fixes:</p>
+
+        <ul>
+          <li>
+            <p>Fix a logic bug that could cause Privoxy to reuse a tainted
+            server socket. It could happen for server sockets that got
+            tainted by a server-header-tagger-induced block, in which case
+            Privoxy doesn't necessarily read the whole server response. If
+            keep-alive was enabled and the request following the blocked one
+            was to the same host and using the same forwarding settings,
+            Privoxy would send it on the tainted server socket. While the
+            server would simply treat it as a pipelined request, Privoxy
+            would later on fail to properly parse the server's response as it
+            would try to parse the unread data from the first response as
+            server headers for the second one. Regression introduced in
+            3.0.17.</p>
+          </li>
+
+          <li>
+            <p>When implying keep-alive in client_connection(), remember that
+            the client didn't Fixes a regression introduced in 3.0.13 that
+            would cause Privoxy to wait for additional client requests after
+            receiving a HTTP/1.1 request with "Connection: close" set and
+            connection sharing enabled. With clients like curl which
+            terminates the client connection after detecting that the whole
+            body has been received it doesn't really matter, but with clients
+            like FreeBSD's fetch the client connection would be kept open
+            until it timed out.</p>
+          </li>
+
+          <li>
+            <p>Fix a subtle race condition between
+            prepare_csp_for_next_request() and sweep() A thread preparing
+            itself for the next client request could briefly appear to be
+            inactive. If all other threads were already using more recent
+            files, the thread could get its files swept away under its feet.
+            I've only seen it while stress testing in valgrind while touching
+            action files in a loop. It's unlikely to have caused any actual
+            problems in the real world.</p>
+          </li>
+        </ul>
+      </li>
+
+      <li>
+        <p>General improvements:</p>
+
+        <ul>
+          <li>
+            <p>Privoxy can (re)compress buffered content before delivering it
+            to the client. Disabled by default as most users wouldn't benefit
+            from it.</p>
+          </li>
+
+          <li>
+            <p>The +fast-redirects{check-decoded-url} action checks URL
+            segments separately. If there are other parameters behind the
+            redirect URL, this makes it unnecessary to cut them of by
+            additionally using a +redirect{} pcrs command. Initial patch
+            submitted by Jamie Zawinski in #3429848.</p>
+          </li>
+
+          <li>
+            <p>Properly deal with FEATURE_TOGGLE being disabled</p>
+          </li>
+
+          <li>
+            <p>Adjust url_code_map[] so spaces are replaced with %20 instead
+            of '+' While '+' can be used by client's submitting form data,
+            this is not actually what Privoxy is using the lookups for. This
+            is more of a cosmetic issue and doesn't fix any actual problems
+            I'm aware of.</p>
+          </li>
+
+          <li>
+            <p>When compiled without FEATURE_FAST_REDIRECTS, do not silently
+            ignore +fast-redirect{} directives</p>
+          </li>
+
+          <li>
+            <p>Added a workaround for GNU libc's strptime() reporting
+            negative year values when the parsed year is only specified with
+            two digits. On affected systems cookies with such a date would
+            not be turned into session cookies by the +session-cookies-only
+            action. Reported by Vaeinoe in #3403560</p>
+          </li>
+
+          <li>
+            <p>When loading action sections, verify that the referenced
+            filters exist Currently missing filters only result in an error
+            message, but eventually the severity will be upgraded to
+            fatal.</p>
+          </li>
+
+          <li>
+            <p>Allow to bind to multiple separate addresses. Patch set
+            submitted by Petr Pisar in #3354485.</p>
+          </li>
+
+          <li>
+            <p>Set socket_error to errno if connecting fails in
+            rfc2553_connect_to() Previously rejected direct connections could
+            be incorrectly reported as DNS issues.</p>
+          </li>
+
+          <li>
+            <p>Fixed bind failures with certain GNU libc versions if no
+            non-loopback IP address has been configured on the system. This
+            is mainly an issue if the system is using DHCP and Privoxy is
+            started before the network is completely configured. Reported by
+            Raphael Marichez in #3349356. Additional insight from Petr
+            Pisar.</p>
+          </li>
+
+          <li>
+            <p>Disable filters if SDCH compression is used unless filtering
+            is forced. If SDCH was combined with a supported compression
+            algorithm, we'd previously try to decompress it, when successful
+            apply the enabled filters and ditch the Content-Encoding header
+            even though the SDCH compression wasn't removed. Reported by
+            zebul666 in #3225863.</p>
+          </li>
+
+          <li>
+            <p>Privoxy log messages now use the ISO 8601 date format
+            %Y-%m-%d. It's only slightly longer than the old format, but
+            contains the full date including the year and allows sorting by
+            date (when grepping in multiple log files) without hassle.</p>
+          </li>
+
+          <li>
+            <p>Make a copy of the --user value and only mess with that when
+            splitting user and group. On some operating systems modifying the
+            value directly is reflected in the output of ps and friends and
+            can be misleading. Reported by zepard in #3292710.</p>
+          </li>
+
+          <li>
+            <p>If forwarded-connect-retries is set, only retry if the we are
+            actually forwarding the request. Previously direct connections
+            would be retried as well.</p>
+          </li>
+
+          <li>
+            <p>Fixed a small memory leak when retrying connection</p>
+          </li>
+
+          <li>
+            <p>Remove an incorrect assertion in
+            compile_dynamic_pcrs_job_list() It could be triggered by a pcrs
+            job with an invalid pcre pattern (for example one that contains a
+            lone quantifier).</p>
+          </li>
+        </ul>
+      </li>
+
+      <li>
+        <p>Action file improvements:</p>
+
+        <ul>
+          <li>
+            <p>Moved the site-specific block pattern section below the one
+            for the generic patterns so for requests that are matched in
+            both, the block reason for the domain is shown which is usually
+            more useful than showing the one for the generic pattern.</p>
+          </li>
+
+          <li>
+            <p>Add a (disabled) section to block various Facebook tracking
+            URLs Reported by Dan Stahlke in #3421764.</p>
+          </li>
+
+          <li>
+            <p>Add a (disabled) section to rewrite and redirect
+            click-tracking URLs used on news.google.com Reported by Dan
+            Stahlke in #3421755.</p>
+          </li>
+
+          <li>
+            <p>Unblock linuxcounter.net/ Reported by Dan Stahlke in
+            #3422612.</p>
+          </li>
+
+          <li>
+            <p>Block 'www91.intel.com/' which is used by Omniture. Reported
+            by Adam Piggott in #3167370.</p>
+          </li>
+
+          <li>
+            <p>Disable the handle-as-empty-doc-returns-ok option and mark it
+            as deprecated. Reminded by tceverling in #2790091.</p>
+          </li>
+
+          <li>
+            <p>Add ".ivwbox.de/" to the "Cross-site user tracking" section.
+            Reported by Nettozahler in #3172525.</p>
+          </li>
+
+          <li>
+            <p>Unblock and fast-redirect ".awin1.com/.*=http://" Reported by
+            Adam Piggott in #3170921.</p>
+          </li>
+
+          <li>
+            <p>Block "b.collective-media.net/".</p>
+          </li>
+
+          <li>
+            <p>Widen the Debian popcon exception to "qa.debian.org/popcon".
+            Seen in Debian's 05_default_action.dpatch by Roland
+            Rosenfeld.</p>
+          </li>
+
+          <li>
+            <p>Block ".gemius.pl/" which only seems to be used for user
+            tracking. Reported by johnd16 in #3002731. Additional input from
+            Lee and movax.</p>
+          </li>
+
+          <li>
+            <p>Disable banners-by-size filters for '.thinkgeek.com/' The
+            filter only seems to catch pictures of the inventory.</p>
+          </li>
+
+          <li>
+            <p>Block requests for 'go.idmnet.bbelements.com/please/showit/'
+            Reported by kacperdominik in #3372959.</p>
+          </li>
+
+          <li>
+            <p>Unblock adainitiative.org/</p>
+          </li>
+
+          <li>
+            <p>Add a fast-redirects exception for
+            '.googleusercontent.com/.*=cache'</p>
+          </li>
+
+          <li>
+            <p>Add a fast-redirects exception for
+            webcache.googleusercontent.com/</p>
+          </li>
+
+          <li>
+            <p>Remove -prevent-compression from the fragile alias It's no
+            longer used anywhere by default and isn't known to break stuff
+            anyway.</p>
+          </li>
+
+          <li>
+            <p>Unblock http://adassier.wordpress.com/ and
+            http://adassier.files.wordpress.com/</p>
+          </li>
+        </ul>
+      </li>
+
+      <li>
+        <p>Filter file improvements:</p>
+
+        <ul>
+          <li>
+            <p>Let the yahoo filter hide '.ads'</p>
+          </li>
+
+          <li>
+            <p>Let the msn filter hide overlay ads for Facebook 'likes' in
+            search results.</p>
+          </li>
+
+          <li>
+            <p>Let the msn filter hide elements with the id 's_notf_div'.
+            They only seem to be used to advertise site 'enhancements'.</p>
+          </li>
+
+          <li>
+            <p>Let the js-events filter additionally disarm setInterval()
+            Suggested by dg1727 in #3423775.</p>
+          </li>
+        </ul>
+      </li>
+
+      <li>
+        <p>Documentation improvements:</p>
+
+        <ul>
+          <li>
+            <p>Clarify the effect of compiling Privoxy with zlib support
+            Suggested by dg1727 in #3423782.</p>
+          </li>
+
+          <li>
+            <p>Point out that the SourceForge messaging system works like a
+            blackhole and should thus not be used</p>
+          </li>
+
+          <li>
+            <p>Mention some of the problems one can experience when not
+            explicitly configuring an IP addresses as listen address.</p>
+          </li>
+
+          <li>
+            <p>Explicitly mention that hostnames can be used instead of IP
+            addresses for the listen-address, that only the first address
+            returned will be used and what happens if the address is invalid.
+            Requested by Calestyo in #3302213.</p>
+          </li>
+        </ul>
+      </li>
+
+      <li>
+        <p>Log message improvements:</p>
+
+        <ul>
+          <li>
+            <p>If only the server connection is kept alive, do not pretent to
+            wait for a new client request.</p>
+          </li>
+
+          <li>
+            <p>Remove a superfluos log message in forget_connection()</p>
+          </li>
+
+          <li>
+            <p>In chat(), properly report missing server responses as such
+            instead of calling them empty</p>
+          </li>
+
+          <li>
+            <p>In forwarded_connect(), fix a log message nobody should ever
+            see</p>
+          </li>
+
+          <li>
+            <p>Fix a log message in socks5_connect(), a failed write
+            operation was logged as failed read operation</p>
+          </li>
+
+          <li>
+            <p>Let load_one_actions_file() properly complain about a missing
+            '{' at the beginning of the file Simply stating that a line is
+            invalid isn't particularly helpful.</p>
+          </li>
+
+          <li>
+            <p>Do not claim to listen on a socket until we actually do. Patch
+            submitted by Petr Pisar #3354485</p>
+          </li>
+
+          <li>
+            <p>Prevent a duplicated LOG_LEVEL_CLF message when sending out
+            the "no-server-data" response</p>
+          </li>
+
+          <li>
+            <p>Also log the client socket when dropping a connection.</p>
+          </li>
+
+          <li>
+            <p>Include the destination host in the 'Request ... marked for
+            blocking. limit-connect{...} doesn't allow CONNECT ...' message
+            Patch submitted by Saperski in #3296250.</p>
+          </li>
+
+          <li>
+            <p>Prevent a duplicated log message if none of the resolved IP
+            addresses were reachable</p>
+          </li>
+
+          <li>
+            <p>In connect_to(), do not pretend to retry if
+            forwarded-connect-retries is zero or unset.</p>
+          </li>
+
+          <li>
+            <p>When a specified user or group can't be found, put the name in
+            single-quotes when logging it.</p>
+          </li>
+
+          <li>
+            <p>In rfc2553_connect_to(), explain getnameinfo() errors
+            differently.</p>
+          </li>
+
+          <li>
+            <p>Remove a useless log message in chat()</p>
+          </li>
+
+          <li>
+            <p>When retrying to connect, also log the maximum number of
+            connection attempts</p>
+          </li>
+
+          <li>
+            <p>Rephrase a log message in compile_dynamic_pcrs_job_list()
+            Divide the error code and its meaning with a colon. Call the pcrs
+            job dynamic and not the filter. Filters may contain dynamic and
+            non-dynamic pcrs jobs at the same time. Only mention the name of
+            the filter or tagger, but don't claim it's a filter when it could
+            be a tagger.</p>
+          </li>
+
+          <li>
+            <p>In a fatal error message in load_one_actions_file(), cover
+            both URL and TAG patterns</p>
+          </li>
+
+          <li>
+            <p>In pcrs_strerror(), properly report unknown positive error
+            code values as unknown. Previously they were handled like 0 (no
+            error).</p>
+          </li>
+
+          <li>
+            <p>In compile_dynamic_pcrs_job_list(), also log the actual error
+            code as pcrs_strerror() doesn't handle all errors reported by
+            pcre</p>
+          </li>
+
+          <li>
+            <p>Don't bother trying to continue chatting if the client didn't
+            ask for it. Reduces log noise a bit.</p>
+          </li>
+
+          <li>
+            <p>Make two fatal error message in load_one_actions_file() more
+            descriptive</p>
+          </li>
+
+          <li>
+            <p>In cgi_send_user_manual(), log when rejecting a file name due
+            to '/' or '..'</p>
+          </li>
+
+          <li>
+            <p>In load_file(), log a message if opening a file failed The CGI
+            error message alone isn't too helpful.</p>
+          </li>
+
+          <li>
+            <p>In connection_destination_matches(), improve two log messages
+            to help understand why the destinations don't match</p>
+          </li>
+
+          <li>
+            <p>Rephrase a log message in serve(). Client request arrival
+            should be differentiated from closed client connections now.</p>
+          </li>
+
+          <li>
+            <p>In serve(), log if a client connection isn't reused due to a
+            configuration file change.</p>
+          </li>
+
+          <li>
+            <p>Let mark_server_socket_tainted() always mark the server socket
+            tainted, just don't talk about it in cases where it has no
+            effect. It doesn't change Privoxy's behaviour, but makes
+            understanding the log file easier.</p>
+          </li>
+        </ul>
+      </li>
+
+      <li>
+        <p>Miscellaneous Privoxy improvements:</p>
+
+        <ul>
+          <li>
+            <p>In get_last_url(), do not bother trying to decode URLs that do
+            not contain at least one '%' sign. It reduces the log noise and a
+            number of unnecessary memory allocations.</p>
+          </li>
+
+          <li>
+            <p>If the --user argument user[.group] contains a dot, always
+            bail out if no group has been specified. Previously the intended,
+            but undocumented (and apparently untested), behaviour was to try
+            interpreting the whole argument as user name, but the detection
+            was flawed and checked for '0' isntead of '\0', thus merely
+            preventing group names beginning with a zero.</p>
+          </li>
+
+          <li>
+            <p>Simplify the signal setup in main()</p>
+          </li>
+
+          <li>
+            <p>Streamline socks5_connect() slightly</p>
+          </li>
+
+          <li>
+            <p>In case of SOCKS5 failures, dump the socks response</p>
+          </li>
+
+          <li>
+            <p>In socks5_connect(), require a complete socks response from
+            the server Previously we didn't care how much data the server
+            response contained as long as the first two bytes contained the
+            expected values. While at it, shrink the buffer size so we can't
+            read more than a whole socks response. This is required to
+            support Tor's optimistic data extension.</p>
+          </li>
+
+          <li>
+            <p>In chat(), do not bother to generate a client request in case
+            of direct CONNECT requests</p>
+          </li>
+
+          <li>
+            <p>Reduce server_last_modified()'s stack size</p>
+          </li>
+
+          <li>
+            <p>Shorten get_http_time() by using strftime()</p>
+          </li>
+
+          <li>
+            <p>Constify the known_http_methods pointers in
+            unknown_method()</p>
+          </li>
+
+          <li>
+            <p>Constify the time_formats pointers in parse_header_time()</p>
+          </li>
+
+          <li>
+            <p>Constify the formerly_valid_actions pointers in
+            action_used_to_be_valid()</p>
+          </li>
+
+          <li>
+            <p>In html_code_map[], use a numeric character reference instead
+            of ' which wasn't standardized before XHTML 1.0</p>
+          </li>
+
+          <li>
+            <p>Introduce a MAN_PAGE variable that defaults to privoxy.1. The
+            Debian package uses section 8 for the man page and this should
+            simplify the patch.</p>
+          </li>
+
+          <li>
+            <p>Deduplicate the INADDR_NONE definition for Solaris by moving
+            it to jbsockets.h</p>
+          </li>
+
+          <li>
+            <p>In block_url(), ditch the obsolete workaround for ancient
+            Netscape versions that supposedly couldn't properly deal with
+            status code 403.</p>
+          </li>
+
+          <li>
+            <p>Remove a useless NULL pointer check in load_trustfile()</p>
+          </li>
+
+          <li>
+            <p>Remove two useless NULL pointer checks in
+            load_one_re_filterfile().</p>
+          </li>
+
+          <li>
+            <p>Change url_code_map[] from an array of pointers to an array of
+            arrays It removes an unnecessary layer of indirection and on
+            64bit system reduces the size of the binary a bit.</p>
+          </li>
+
+          <li>
+            <p>Fix various typos. Fixes taken from Debian's 29_typos.dpatch
+            by Roland Rosenfeld.</p>
+          </li>
+
+          <li>
+            <p>Add a dok-tidy GNUMakefile target to clean up the messy HTML
+            generated by the other dok targets.</p>
+          </li>
+
+          <li>
+            <p>GNUisms in the GNUMakefile have been removed.</p>
+          </li>
+
+          <li>
+            <p>Change the HTTP version in static responses to 1.1</p>
+          </li>
+
+          <li>
+            <p>Synced config.sub and config.guess with upstream
+            2011-11-11/386c7218162c145f5f9e1ff7f558a3fbb66c37c5.</p>
+          </li>
+
+          <li>
+            <p>Add a dedicated function to parse the values of toggles
+            Reduces duplicated code in load_config() and provides better
+            error handling. Invalid or missing toggle values are now a fatal
+            error instead of being silently ignored.</p>
+          </li>
+
+          <li>
+            <p>Terminate HTML lines in static error messages with \n instead
+            of \r\n.</p>
+          </li>
+
+          <li>
+            <p>Simplify cgi_error_unknown() a bit.</p>
+          </li>
+
+          <li>
+            <p>In LogPutString(), don't bother looking at pszText when not
+            actually logging anything</p>
+          </li>
+
+          <li>
+            <p>Change ssplit()'s fourth parameter from int to size_t. Fixes a
+            clang complaint.</p>
+          </li>
+
+          <li>
+            <p>Add a warning that the statistics currently can't be trusted.
+            Mention Privoxy-Log-Parser's --statistics option as an
+            alternative for the time being.</p>
+          </li>
+
+          <li>
+            <p>In rfc2553_connect_to(), start setting cgi-&gt;error_message
+            on error</p>
+          </li>
+
+          <li>
+            <p>Change the expected status code returned for http://p.p/die
+            depending on whether or not FEATURE_GRACEFUL_TERMINATION is
+            available.</p>
+          </li>
+
+          <li>
+            <p>In cgi_die(), mark the client connection for closing. If the
+            client will fetch the style sheet through another connection it
+            gets the main thread out of the accept() state and should thus
+            trigger the actual shutdown.</p>
+          </li>
+
+          <li>
+            <p>Add a proper CGI message for cgi_die().</p>
+          </li>
+
+          <li>
+            <p>Fix an invalid free when compiled with
+            FEATURE_GRACEFUL_TERMINATION and shut down through
+            http://config.privoxy.org/die</p>
+          </li>
+
+          <li>
+            <p>Don't enforce a logical line length limit in
+            read_config_line()</p>
+          </li>
+
+          <li>
+            <p>Slightly refactor server_last_modified() to remove useless
+            gmtime*() calls</p>
+          </li>
+
+          <li>
+            <p>In get_content_type(), also recognize '.jpeg' as JPEG
+            extension</p>
+          </li>
+
+          <li>
+            <p>Add '.png' to the list of recognized file extenstions in
+            get_content_type()</p>
+          </li>
+
+          <li>
+            <p>In block_url(), consistently use the block reason "Request
+            blocked by Privoxy" In two places the reason was "Request for
+            blocked URL" which hides the fact that the request got blocked by
+            Privoxy and isn't necessarly correct as the block may be due to
+            tags.</p>
+          </li>
+
+          <li>
+            <p>In get_actions(), fix the "temporary" backwards compatibility
+            hack to accept block actions without reason. It also covered
+            other actions that should be rejected as invalid. Reported by
+            Billy Crook.</p>
+          </li>
+
+          <li>
+            <p>In listen_loop(), reload the configuration files after
+            accepting a new connection instead of before. Previously the
+            first connection that arrived after a configuration change would
+            still be handled with the old configuration.</p>
+          </li>
+
+          <li>
+            <p>In chat()'s receive-data loop, skip a client socket check if
+            the socket will be written to right away anyway. This can
+            increase the transfer speed for unfiltered content on fast
+            network connections.</p>
+          </li>
+
+          <li>
+            <p>The socket timeout is used for SOCKS negotiation as well.</p>
+          </li>
+
+          <li>
+            <p>Don't keep the client connection alive if any configuration
+            file changed since the time the connection came in. This is
+            closer to Privoxy's behaviour before keep-alive support for
+            client connection has been added and also less confusing in
+            general.</p>
+          </li>
+
+          <li>
+            <p>Treat all Content-Type header values containing the pattern
+            'script' as a sign of text. Reported by pribog in #3134970.</p>
+          </li>
+        </ul>
+      </li>
+
+      <li>
+        <p>configure:</p>
+
+        <ul>
+          <li>
+            <p>Added a --disable-ipv6-support switch for platforms where
+            support is detected but doesn't actually work.</p>
+          </li>
+
+          <li>
+            <p>Do not check for the existence of strerror() and memmove()
+            twice</p>
+          </li>
+
+          <li>
+            <p>Remove a useless test for setpgrp(2). Privoxy doesn't need it
+            and it can cause problems when cross-compiling</p>
+          </li>
+
+          <li>
+            <p>Rename the --disable-acl-files switch to --disable-acl-support
+            Since about 2001, ACL directives are specified in the standard
+            config file.</p>
+          </li>
+
+          <li>
+            <p>Update the URL of the 'Removing outdated PCRE version after
+            the next stable release' posting. The old URL stopped working
+            after one of SF's recent layout pessimizations. Reported by Han
+            Liu.</p>
+          </li>
+        </ul>
+      </li>
+
+      <li>
+        <p>Privoxy-Regression-Test:</p>
+
+        <ul>
+          <li>
+            <p>Added --shuffle-tests option to increase the chances of
+            detection race conditions</p>
+          </li>
+
+          <li>
+            <p>Added a --local-test-file option that allows to use
+            Privoxy-Regression-Test without Privoxy</p>
+          </li>
+
+          <li>
+            <p>Added tests for missing socks4 and socks4a forwarders</p>
+          </li>
+
+          <li>
+            <p>The --privoxy-address option now works with IPv6 addresses
+            containing brackets, too</p>
+          </li>
+
+          <li>
+            <p>Perform limited sanity checks for parameters that are supposed
+            to have numerical values.</p>
+          </li>
+
+          <li>
+            <p>Added a --sleep-time option to specify a number of seconds to
+            sleep between tests, defaults to 0.</p>
+          </li>
+
+          <li>
+            <p>Disable the range-requests tagger for tests that break if it's
+            enabled</p>
+          </li>
+
+          <li>
+            <p>Log messages use the ISO 8601 date format %Y-%m-%d.</p>
+          </li>
+
+          <li>
+            <p>Fix spelling in two error messages.</p>
+          </li>
+
+          <li>
+            <p>In the --help output, include a list of supported tests and
+            their default levels.</p>
+          </li>
+        </ul>
+      </li>
+
+      <li>
+        <p>Privoxy-Log-Parser:</p>
+
+        <ul>
+          <li>
+            <p>Perform limited sanity checks for parameters that are supposed
+            to have numerical values.</p>
+          </li>
+
+          <li>
+            <p>Implement a --unbreak-lines-only option to try to revert MUA
+            breakage.</p>
+          </li>
+
+          <li>
+            <p>Accept and highlight: Added header: Content-Encoding:
+            deflate</p>
+          </li>
+
+          <li>
+            <p>Accept and highlight: Compressed content from 29258 to 8630
+            bytes.</p>
+          </li>
+
+          <li>
+            <p>Accept and highlight: Client request arrived in time on socket
+            21.</p>
+          </li>
+
+          <li>
+            <p>Highlight: Didn't receive data in time: a.fsdn.com:443</p>
+          </li>
+
+          <li>
+            <p>Accept log messages with ISO 8601 time stamps, too</p>
+          </li>
+        </ul>
+      </li>
+
+      <li>
+        <p>uagen:</p>
+
+        <ul>
+          <li>
+            <p>Bump generated Firefox version to 9.0</p>
+          </li>
+
+          <li>
+            <p>Only randomize the release date if the new
+            --randomize-release-date option is enabled. Firefox versions
+            after 4 use a fixed date string without meaning.</p>
+          </li>
+        </ul>
+      </li>
+    </ul>
+
+    <div class="SECT2">
+      <h2 class="SECT2"><a name="UPGRADERSNOTE" id="UPGRADERSNOTE">3.1. Note
+      to Upgraders</a></h2>
+
+      <p>A quick list of things to be aware of before upgrading from earlier
+      versions of <span class="APPLICATION">Privoxy</span>:</p>
+
       <ul>
         <li>
-          <p>
-            Fixed last-chunk-detection for responses where the content was
-            small enough to be read with the body, causing Privoxy to wait
-            for the end of the content until the server closed the connection
-            or the request timed out. Reported by "Karsten" in #3028326.
-          </p>
-        </li>
-        <li>
-          <p>
-            Responses with status code 204 weren't properly detected as
-            body-less like RFC2616 mandates. Like the previous bug, this
-            caused Privoxy to wait for the end of the content until the
-            server closed the connection or the request timed out. Fixes
-            #3022042 and #3025553, reported by a user with no visible name.
-            Most likely also fixes a bunch of other AJAX-related problem
-            reports that got closed in the past due to insufficient
-            information and lack of feedback.
-          </p>
-        </li>
-        <li>
-          <p>
-            Fixed an ACL bug that made it impossible to build a blacklist.
-            Usually the ACL directives are used in a whitelist, which worked
-            as expected, but blacklisting is still useful for public proxies
-            where one only needs to deny known abusers access.
-          </p>
-        </li>
-        <li>
-          <p>
-            Added LOG_LEVEL_RECEIVED to log the not-yet-parsed data read from
-            the network. This should make debugging various parsing issues a
-            lot easier.
-          </p>
-        </li>
-        <li>
-          <p>
-            The IPv6 code is enabled by default on Windows versions that
-            support it. Patch submitted by oCameLo in #2942729.
-          </p>
-        </li>
-        <li>
-          <p>
-            In mingw32 versions, the user.filter file is reachable through
-            the GUI, just like default.filter is. Feature request 3040263.
-          </p>
-        </li>
-        <li>
-          <p>
-            Added the configure option --enable-large-file-support to set a
-            few defines that are required by platforms like GNU/Linux to
-            support files larger then 2GB. Mainly interesting for users
-            without proper logfile management.
-          </p>
-        </li>
-        <li>
-          <p>
-            Logging with "debug 16" no longer stops at the first nul byte
-            which is pretty useless. Non-printable characters are replaced
-            with their hex value so the result can't span multiple lines
-            making parsing them harder then necessary.
-          </p>
-        </li>
-        <li>
-          <p>
-            Privoxy logs when reading an action, filter or trust file.
-          </p>
-        </li>
-        <li>
-          <p>
-            Fixed incorrect regression test markup which caused a test in
-            3.0.16 to fail while Privoxy itself was working correctly. While
-            Privoxy accepts hide-referer, too, the action name is actually
-            hide-referrer which is also the name used one the final results
-            page, where the test expected the alias.
-          </p>
-        </li>
-        <li>
-          <p>
-            CGI interface improvements:
-          </p>
-          <ul>
-            <li>
-              <p>
-                In finish_http_response(), continue to add the 'Connection:
-                close' header if the client connection will not be kept
-                alive. Anonymously pointed out in #2987454.
-              </p>
-            </li>
-            <li>
-              <p>
-                Apostrophes in block messages no longer cause parse errors
-                when the blocked page is viewed with JavaScript enabled.
-                Reported by dg1727 in #3062296.
-              </p>
-            </li>
-            <li>
-              <p>
-                Fix a bunch of anchors that used underscores instead of
-                dashes.
-              </p>
-            </li>
-            <li>
-              <p>
-                Allow to keep the client connection alive after crunching the
-                previous request. Already opened server connections can be
-                kept alive, too.
-              </p>
-            </li>
-            <li>
-              <p>
-                In cgi_show_url_info(), don't forget to prefix URLs that only
-                contain http:// or https:// in the path. Fixes #2975765
-                reported by Adam Piggott.
-              </p>
-            </li>
-            <li>
-              <p>
-                Show the 404 CGI page if cgi_send_user_manual() is called
-                while local user manual delivery is disabled.
-              </p>
-            </li>
-          </ul>
+          <p>The recommended way to upgrade <span class=
+          "APPLICATION">Privoxy</span> is to backup your old configuration
+          files, install the new ones, verify that <span class=
+          "APPLICATION">Privoxy</span> is working correctly and finally merge
+          back your changes using <span class="APPLICATION">diff</span> and
+          maybe <span class="APPLICATION">patch</span>.</p>
+
+          <p>There are a number of new features in each <span class=
+          "APPLICATION">Privoxy</span> release and most of them have to be
+          explicitly enabled in the configuration files. Old configuration
+          files obviously don't do that and due to syntax changes using old
+          configuration files with a new <span class=
+          "APPLICATION">Privoxy</span> isn't always possible anyway.</p>
         </li>
+
         <li>
-          <p>
-            Action file improvements:
-          </p>
-          <ul>
-            <li>
-              <p>
-                Enable user.filter by default. Suggested by David White in
-                #3001830.
-              </p>
-            </li>
-            <li>
-              <p>
-                Block .sitestat.com/. Reported by johnd16 in #3002725.
-              </p>
-            </li>
-            <li>
-              <p>
-                Block .atemda.com/. Reported by johnd16 in #3002723.
-              </p>
-            </li>
-            <li>
-              <p>
-                Block js.adlink.net/. Reported by johnd16 in #3002720.
-              </p>
-            </li>
-            <li>
-              <p>
-                Block .analytics.yahoo.com/. Reported by johnd16 in #3002713.
-              </p>
-            </li>
-            <li>
-              <p>
-                Block sb.scorecardresearch.com, too. Reported by dg1727 in
-                #2992652.
-              </p>
-            </li>
-            <li>
-              <p>
-                Fix problems noticed on Yahoo mail and news pages.
-              </p>
-            </li>
-            <li>
-              <p>
-                Remove the too broad yahoo section, only keeping the
-                fast-redirects exception as discussed on ijbswa-devel@.
-              </p>
-            </li>
-            <li>
-              <p>
-                Don't block adesklets.sourceforge.net. Reported in #2974204.
-              </p>
-            </li>
-            <li>
-              <p>
-                Block chartbeat ping tracking. Reported in #2975895.
-              </p>
-            </li>
-            <li>
-              <p>
-                Tag CSS and image requests with cautious and medium settings,
-                too.
-              </p>
-            </li>
-            <li>
-              <p>
-                Don't handle view.atdmt.com as image. It's used for
-                click-throughs so users should be able to "go there anyway".
-                Reported by Adam Piggott in #2975927.
-              </p>
-            </li>
-            <li>
-              <p>
-                Also let the refresh-tags filter remove invalid refresh tags
-                where the 'url=' part is missing. Anonymously reported in
-                #2986382. While at it, update the description to mention the
-                fact that only refresh tags with refresh times above 9
-                seconds are covered.
-              </p>
-            </li>
-            <li>
-              <p>
-                javascript needs to be blocked with +handle-as-empty-document
-                to work around Firefox bug 492459. So move .js blockers from
-                +block{Might be a web-bug.} -handle-as-empty-document to
-                +block{Might be a web-bug.} +handle-as-empty-document.
-              </p>
-            </li>
-            <li>
-              <p>
-                ijbswa-Feature Requests-3006719 - Block 160x578 Banners.
-              </p>
-            </li>
-            <li>
-              <p>
-                Block another omniture tracking domain.
-              </p>
-            </li>
-            <li>
-              <p>
-                Added a range-requests tagger.
-              </p>
-            </li>
-            <li>
-              <p>
-                Added two sections to get Flickr's Ajax interface working
-                with default pre-settings. If you change the configuration to
-                block cookies by default, you'll need additional exceptions.
-                Reported by Mathias Homann in #3101419 and by Patrick on
-                ijbswa-users@.
-              </p>
-            </li>
-          </ul>
+          <p>Note that some installers remove earlier versions completely,
+          including configuration files, therefore you should really save any
+          important configuration files!</p>
         </li>
+
         <li>
-          <p>
-            Documentation improvements:
-          </p>
-          <ul>
-            <li>
-              <p>
-                Explicitly mention how to match all URLs.
-              </p>
-            </li>
-            <li>
-              <p>
-                Consistently recommend socks5 in the Tor FAQ entry and
-                mention its advantage compared to socks4a. Reported by David
-                in #2960129.
-              </p>
-            </li>
-            <li>
-              <p>
-                Slightly improve the explanation of why filtering may appear
-                slower than it is.
-              </p>
-            </li>
-            <li>
-              <p>
-                Grammar fixes for the ACL section.
-              </p>
-            </li>
-            <li>
-              <p>
-                Fixed a link to the 'intercepting' entry and add another one.
-              </p>
-            </li>
-            <li>
-              <p>
-                Rename the 'Other' section to 'Mailing Lists' and reword it
-                to make it clear that nobody is forced to use the trackers
-              </p>
-            </li>
-            <li>
-              <p>
-                Note that 'anonymously' posting on the trackers may not
-                always be possible.
-              </p>
-            </li>
-            <li>
-              <p>
-                Suggest to enable debug 32768 when suspecting parsing
-                problems.
-              </p>
-            </li>
-          </ul>
+          <p>On the other hand, other installers don't overwrite existing
+          configuration files, thinking you will want to do that
+          yourself.</p>
         </li>
+
         <li>
-          <p>
-            Privoxy-Log-Parser improvements:
-          </p>
-          <ul>
-            <li>
-              <p>
-                Gather statistics for ressources, methods, and HTTP versions
-                used by the client.
-              </p>
-            </li>
-            <li>
-              <p>
-                Also gather statistics for blocked and redirected requests.
-              </p>
-            </li>
-            <li>
-              <p>
-                Provide the percentage of keep-alive offers the client
-                accepted.
-              </p>
-            </li>
-            <li>
-              <p>
-                Add a --url-statistics-threshold option.
-              </p>
-            </li>
-            <li>
-              <p>
-                Add a --host-statistics-threshold option to also gather
-                statistics about how many request where made per host.
-              </p>
-            </li>
-            <li>
-              <p>
-                Fix a bug in handle_loglevel_header() where a 'scan: ' got
-                lost.
-              </p>
-            </li>
-            <li>
-              <p>
-                Add a --shorten-thread-ids option to replace the thread id
-                with a decimal number.
-              </p>
-            </li>
-            <li>
-              <p>
-                Accept and ignore: Looks like we got the last chunk together
-                with the server headers. We better stop reading.
-              </p>
-            </li>
-            <li>
-              <p>
-                Accept and ignore: Continue hack in da house.
-              </p>
-            </li>
-            <li>
-              <p>
-                Accept and higlight: Rejecting connection from 10.0.0.2.
-                Maximum number of connections reached.
-              </p>
-            </li>
-            <li>
-              <p>
-                Accept and highlight: Loading actions file:
-                /usr/local/etc/privoxy/default.action
-              </p>
-            </li>
-            <li>
-              <p>
-                Accept and highlight: Loading filter file:
-                /usr/local/etc/privoxy/default.filter
-              </p>
-            </li>
-            <li>
-              <p>
-                Accept and highlight: Killed all-caps Host header line: HOST:
-                bestproxydb.com
-              </p>
-            </li>
-            <li>
-              <p>
-                Accept and highlight: Reducing expected bytes to 0. Marking
-                the server socket tainted after throwing 4 bytes away.
-              </p>
-            </li>
-            <li>
-              <p>
-                Accept: Merged multiple header lines to: 'X-FORWARDED-PROTO:
-                http X-HOST: 127.0.0.1'
-              </p>
-            </li>
-          </ul>
+          <p><tt class="FILENAME">standard.action</tt> has been merged into
+          the <tt class="FILENAME">default.action</tt> file.</p>
         </li>
+
         <li>
-          <p>
-            Code cleanups:
-          </p>
-          <ul>
-            <li>
-              <p>
-                Remove the next member from the client_state struct. Only the
-                main thread needs access to all client states so give it its
-                own struct.
-              </p>
-            </li>
-            <li>
-              <p>
-                Garbage-collect request_contains_null_bytes().
-              </p>
-            </li>
-            <li>
-              <p>
-                Ditch redundant code in unload_configfile().
-              </p>
-            </li>
-            <li>
-              <p>
-                Ditch LogGetURLUnderCursor() which doesn't seem to be used
-                anywhere.
-              </p>
-            </li>
-            <li>
-              <p>
-                In write_socket(), remove the write-only variable write_len
-                in an ifdef __OS2__ block. Spotted by cppcheck.
-              </p>
-            </li>
-            <li>
-              <p>
-                In connect_to(), don't declare the variable 'flags' on OS/2
-                where it isn't used. Spotted by cppcheck.
-              </p>
-            </li>
-            <li>
-              <p>
-                Limit the scope of various variables. Spotted by cppcheck.
-              </p>
-            </li>
-            <li>
-              <p>
-                In add_to_iob(), turn an interestingly looking for loop into
-                a boring while loop.
-              </p>
-            </li>
-            <li>
-              <p>
-                Code cleanup in preparation for external filters.
-              </p>
-            </li>
-            <li>
-              <p>
-                In listen_loop(), mention the socket on which we accepted the
-                connection, not just the source IP address.
-              </p>
-            </li>
-            <li>
-              <p>
-                In write_socket(), also log the socket we're writing to.
-              </p>
-            </li>
-            <li>
-              <p>
-                In log_error(), assert that escaped characters get logged
-                completely or not at all.
-              </p>
-            </li>
-            <li>
-              <p>
-                In log_error(), assert that ival and sval have reasonable
-                values. There's no reason not to abort() if they don't.
-              </p>
-            </li>
-            <li>
-              <p>
-                Remove an incorrect cgi_error_unknown() call in a
-                cannot-happen-situation in send_crunch_response().
-              </p>
-            </li>
-            <li>
-              <p>
-                Clean up white-space in http_response definition and move the
-                crunch_reason to the beginning.
-              </p>
-            </li>
-            <li>
-              <p>
-                Turn http_response.reason into an enum and rename it to
-                http_response.crunch_reason.
-              </p>
-            </li>
-            <li>
-              <p>
-                Silence a 'gcc (Debian 4.3.2-1.1) 4.3.2' warning on i686
-                GNU/Linux.
-              </p>
-            </li>
-            <li>
-              <p>
-                Fix white-space in a log message in
-                remove_chunked_transfer_coding(). While at it, add a note
-                that the message doesn't seem to be entirely correct and
-                should be improved later on.
-              </p>
-            </li>
-          </ul>
+          <p>In the default configuration only fatal errors are logged now.
+          You can change that in the <a href="config.html#DEBUG">debug
+          section</a> of the configuration file. You may also want to enable
+          more verbose logging until you verified that the new <span class=
+          "APPLICATION">Privoxy</span> version is working as expected.</p>
         </li>
+
         <li>
-          <p>
-            GNUmakefile improvements:
-          </p>
-          <ul>
-            <li>
-              <p>
-                Use $(SSH) instead of ssh, so one only needs to specify a
-                username once.
-              </p>
-            </li>
-            <li>
-              <p>
-                Removed references to the action feedback thingy that hasn't
-                been working for years.
-              </p>
-            </li>
-            <li>
-              <p>
-                Consistently use shell.sourceforge.net instead of
-                shell.sf.net so one doesn't need to check server fingerprints
-                twice.
-              </p>
-            </li>
-            <li>
-              <p>
-                Removed GNUisms in the webserver and webactions targets so
-                they work with standard tar.
-              </p>
-            </li>
-          </ul>
+          <p>Three other config file settings are now off by default:
+          <a href="config.html#ENABLE-REMOTE-TOGGLE">enable-remote-toggle</a>,
+          <a href=
+          "config.html#ENABLE-REMOTE-HTTP-TOGGLE">enable-remote-http-toggle</a>,
+          and <a href=
+          "config.html#ENABLE-EDIT-ACTIONS">enable-edit-actions</a>. If you
+          use or want these, you will need to explicitly enable them, and be
+          aware of the security issues involved.</p>
         </li>
       </ul>
-
-      <div class="SECT2">
-        <h2 class="SECT2">
-          <a name="UPGRADERSNOTE">3.1. Note to Upgraders</a>
-        </h2>
-        <p>
-          A quick list of things to be aware of before upgrading from earlier
-          versions of <span class="APPLICATION">Privoxy</span>:
-        </p>
-        <p>
-        </p>
-        <ul>
-          <li>
-            <p>
-              The recommended way to upgrade <span class=
-              "APPLICATION">Privoxy</span> is to backup your old
-              configuration files, install the new ones, verify that <span
-              class="APPLICATION">Privoxy</span> is working correctly and
-              finally merge back your changes using <span class=
-              "APPLICATION">diff</span> and maybe <span class=
-              "APPLICATION">patch</span>.
-            </p>
-            <p>
-              There are a number of new features in each <span class=
-              "APPLICATION">Privoxy</span> release and most of them have to
-              be explicitly enabled in the configuration files. Old
-              configuration files obviously don't do that and due to syntax
-              changes using old configuration files with a new <span class=
-              "APPLICATION">Privoxy</span> isn't always possible anyway.
-            </p>
-          </li>
-          <li>
-            <p>
-              Note that some installers remove earlier versions completely,
-              including configuration files, therefore you should really save
-              any important configuration files!
-            </p>
-          </li>
-          <li>
-            <p>
-              On the other hand, other installers don't overwrite existing
-              configuration files, thinking you will want to do that
-              yourself.
-            </p>
-          </li>
-          <li>
-            <p>
-              <tt class="FILENAME">standard.action</tt> has been merged into
-              the <tt class="FILENAME">default.action</tt> file.
-            </p>
-          </li>
-          <li>
-            <p>
-              In the default configuration only fatal errors are logged now.
-              You can change that in the <a href="config.html#DEBUG">debug
-              section</a> of the configuration file. You may also want to
-              enable more verbose logging until you verified that the new
-              <span class="APPLICATION">Privoxy</span> version is working as
-              expected.
-            </p>
-          </li>
-          <li>
-            <p>
-              Three other config file settings are now off by default: <a
-              href=
-              "config.html#ENABLE-REMOTE-TOGGLE">enable-remote-toggle</a>, <a
-              href=
-              "config.html#ENABLE-REMOTE-HTTP-TOGGLE">enable-remote-http-toggle</a>,
-              and <a href=
-              "config.html#ENABLE-EDIT-ACTIONS">enable-edit-actions</a>. If
-              you use or want these, you will need to explicitly enable them,
-              and be aware of the security issues involved.
-            </p>
-          </li>
-        </ul>
-      </div>
-    </div>
-    <div class="NAVFOOTER">
-      <hr width="100%" class="c1">
-      <table summary="Footer navigation table" width="100%" border="0"
-      cellpadding="0" cellspacing="0">
-        <tr>
-          <td width="33%" align="left" valign="top">
-            <a href="installation.html" accesskey="P">Prev</a>
-          </td>
-          <td width="34%" align="center" valign="top">
-            <a href="index.html" accesskey="H">Home</a>
-          </td>
-          <td width="33%" align="right" valign="top">
-            <a href="quickstart.html" accesskey="N">Next</a>
-          </td>
-        </tr>
-        <tr>
-          <td width="33%" align="left" valign="top">
-            Installation
-          </td>
-          <td width="34%" align="center" valign="top">
-            &nbsp;
-          </td>
-          <td width="33%" align="right" valign="top">
-            Quickstart to Using Privoxy
-          </td>
-        </tr>
-      </table>
     </div>
-  </body>
-</html>
+  </div>
+
+  <div class="NAVFOOTER">
+    <hr class="c1" width="100%">
+
+    <table summary="Footer navigation table" width="100%" border="0"
+    cellpadding="0" cellspacing="0">
+      <tr>
+        <td width="33%" align="left" valign="top"><a href="installation.html"
+        accesskey="P">Prev</a></td>
+
+        <td width="34%" align="center" valign="top"><a href="index.html"
+        accesskey="H">Home</a></td>
 
+        <td width="33%" align="right" valign="top"><a href="quickstart.html"
+        accesskey="N">Next</a></td>
+      </tr>
+
+      <tr>
+        <td width="33%" align="left" valign="top">Installation</td>
+
+        <td width="34%" align="center" valign="top">&nbsp;</td>
+
+        <td width="33%" align="right" valign="top">Quickstart to Using
+        Privoxy</td>
+      </tr>
+    </table>
+  </div>
+</body>
+</html>