The first result of the shiny-new dok-tidy target.
authorFabian Keil <fk@fabiankeil.de>
Wed, 31 Aug 2011 13:38:53 +0000 (13:38 +0000)
committerFabian Keil <fk@fabiankeil.de>
Wed, 31 Aug 2011 13:38:53 +0000 (13:38 +0000)
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 15744c6..7d7854e 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><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"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#EEEEEE"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><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
-ALIGN="LEFT"
-WIDTH="100%"></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. ;-&#62;</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"
->/* if page size greater than 1k ... */
-if ( page_length() &#62; 1024 )
+<!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 {
+  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">
+    </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">
+/* if page size greater than 1k ... */
+if ( page_length() &gt; 1024 )
 {
     ... "block" the page up ...
 }
 
 /* if page size is small, send it in blocks */
-if ( page_length() &#62; 1024 )
+if ( page_length() &gt; 1024 )
 {
     ... "block" the page up ...
 }
 
 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"
->/*********************************************************************
+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">
+/*********************************************************************
  * This will stand out clearly in your code!
  *********************************************************************/
 if ( this_variable == that_variable )
@@ -231,65 +164,46 @@ if ( this_variable == that_variable )
 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"
->/*********************************************************************
+}
+</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">
+/*********************************************************************
  * This will stand out clearly in your code,
  * But the second example won't.
  *********************************************************************/
@@ -322,116 +236,89 @@ short do_something_very_important(
 {
    ...code here...
 
-}   /* -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"
->if ( 1 == X )
+}   /* -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">
+if ( 1 == X )
 {
    do_something_very_important();
    ...some long list of commands...
@@ -443,735 +330,480 @@ if ( 1 == X )
 {
    do_something_very_important();
    ...some long list of commands...
-} /* -END- if ( 1 == X ) */</PRE
-></TD
-></TR
-></TABLE
-></DIV
-></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"
->int ms_iis5_hack = 0;</PRE
-></TD
-></TR
-></TABLE
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Instead of:</I
-></SPAN
-></P
-><P
-><TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->int msiis5hack = 0; int msIis5Hack = 0;</PRE
-></TD
-></TR
-></TABLE
-></P
-></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"
->int load_some_file( struct client_state *csp )</PRE
-></TD
-></TR
-></TABLE
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Instead of:</I
-></SPAN
-></P
-><P
-><TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->int loadsomefile( struct client_state *csp )
-int loadSomeFile( struct client_state *csp )</PRE
-></TD
-></TR
-></TABLE
-></P
-></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"
->(.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
->
-<TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-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
-></P
-></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"
->(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_&#62;, where
-    &#62; 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"
->#define FEATURE_FORCE 1
+} /* -END- if ( 1 == X ) */
+</pre>
+              </td>
+            </tr>
+          </table>
+        </div>
+      </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">
+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">
+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">
+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">
+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">
+(.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">
+(.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">
+(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">
+#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"
->#define USE_IMAGE_LIST 1</PRE
-></TD
-></TR
-></TABLE
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Instead of:</I
-></SPAN
-></P
-><P
-><TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define USE_IMG_LST 1 or 
+#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">
+#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">
+#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 use_image_list 1 or
-#define UseImageList 1</PRE
-></TD
-></TR
-></TABLE
-></P
-></DIV
-></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"
->if ( this == that )
+#define UseImageList 1
+</pre>
+              </td>
+            </tr>
+          </table>
+        </div>
+      </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">
+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"
->while ( more lines are read )
+}
+</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">
+while ( more lines are read )
 {
    /* Please document what is/is not a comment line here */
    if ( it's a comment ) continue;
 
    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"
->if ( this == that )
+}
+</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">
+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"
->structure-&#62;flag = ( condition );</PRE
-></TD
-></TR
-></TABLE
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Instead of:</I
-></SPAN
-></P
-><P
->if ( condition ) { structure-&#62;flag = 1; } else {
-    structure-&#62;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"
->int first_value   = 0;
+}
+</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">
+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">
+int first_value   = 0;
 int some_value    = 0;
 int another_value = 0;
 int this_variable = 0;
 
 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 ( "-&#62;" ) - 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"
->a_struct-&#62;a_member;
+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">
+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 -&#62; 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"
->int function1( ... )
+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">
+int function1( ... )
 {
    ...code...
    return( ret_code );
@@ -1181,83 +813,55 @@ CLASS="PROGRAMLISTING"
 
 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"
->static const char * const url_code_map[256] =
+}   /* -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">
+static const char * const url_code_map[256] =
 {
    NULL, ...
 };
@@ -1276,477 +880,319 @@ int function1( ... )
 
    return( NEVER_GETS_HERE );
 
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-></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"
->short a_short = 0;
+}
+</pre>
+              </td>
+            </tr>
+          </table>
+        </div>
+      </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">
+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
-></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"
->should_we_block_this();
+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>
+      </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">
+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"
->for ( size_t cnt = 0; cnt &#60; block_list_length(); cnt++ )
+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">
+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"
->size_t len = block_list_length();
+}
+</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">
+size_t len = block_list_length();
 
-for ( size_t cnt = 0; cnt &#60; len; cnt++ )
+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"
->#include &#60;iostream.h&#62;     /* 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
-><P
-><TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->/* This is not a local include, but requires a path element. */ 
-#include &#60;sys/fileName.h&#62;</PRE
-></TD
-></TR
-></TABLE
-></P
-><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"
->#ifndef PROJECT_H_INCLUDED
+}
+</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">
+#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">
+/* 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">
+#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"
->#ifdef __cplusplus
+#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">
+#ifdef __cplusplus
 extern "C"
 {
 #endif /* def __cplusplus */
@@ -1755,145 +1201,93 @@ extern "C"
 
 #ifdef __cplusplus
 }
-#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"
->/*********************************************************************
+#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">
+/*********************************************************************
  * 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
-></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"
->switch( hash_string( cmd ) )
+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>
+      </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">
+switch( hash_string( cmd ) )
 {
    case hash_actions_file :
       ... code ...
@@ -1908,438 +1302,299 @@ CLASS="PROGRAMLISTING"
       ... anomaly code goes here ...
       continue; / break; / exit( 1 ); / etc ...
 
-} /* 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"
->long a = 0;
+} /* 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">
+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"
->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"
->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
-></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$";
+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">
+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">
+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>
+      </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 $";
 /*********************************************************************
  *
- * File        :  $Source$
+ * File        :  $Source: /cvsroot/ijbswa/current/doc/webserver/developer-manual/coding.html,v $
  *
  * Purpose     :  (Fill me in with a good description!)
  *
@@ -2361,7 +1616,7 @@ CLASS="PROGRAMLISTING"
  *                The GNU General Public License should be included with
  *                this file.  If not, you can view it at
  *                http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
- *                or write to the Free Software Foundation, Inc., 
+ *                or write to the Free Software Foundation, Inc.,
  *                51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 ,
  *                USA
  *
@@ -2372,55 +1627,39 @@ CLASS="PROGRAMLISTING"
 
    ...necessary include files for us to do our work...
 
-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"
->#ifndef _FILENAME_H
+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">
+#ifndef _FILENAME_H
 #define _FILENAME_H
-#define FILENAME_H_VERSION "$Id$"
+#define FILENAME_H_VERSION "$Id: coding.html,v 1.54 2010/11/13 12:50:18 fabiankeil Exp $"
 /*********************************************************************
  *
- * File        :  $Source$
+ * File        :  $Source: /cvsroot/ijbswa/current/doc/webserver/developer-manual/coding.html,v $
  *
  * Purpose     :  (Fill me in with a good description!)
  *
@@ -2442,7 +1681,7 @@ CLASS="PROGRAMLISTING"
  *                The GNU General Public License should be included with
  *                this file.  If not, you can view it at
  *                http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
- *                or write to the Free Software Foundation, Inc., 
+ *                or write to the Free Software Foundation, Inc.,
  *                51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 ,
  *                USA
  *
@@ -2473,27 +1712,20 @@ extern const char FILENAME_h_rcs[];
   Local Variables:
   tab-width: 3
   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"
->/*********************************************************************
+*/
+</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">
+/*********************************************************************
  *
  * Function    :  FUNCTION_NAME
  *
@@ -2503,7 +1735,7 @@ CLASS="PROGRAMLISTING"
  *          1  :  param1 = pointer to an important thing
  *          2  :  x      = pointer to something else
  *
- * Returns     :  0 =&#62; Ok, everything else is an error.
+ * Returns     :  0 =&gt; Ok, everything else is an error.
  *
  *********************************************************************/
 int FUNCTION_NAME( void *param1, const char *x )
@@ -2511,80 +1743,46 @@ int FUNCTION_NAME( void *param1, const char *x )
    ...
    return( 0 );
 
-}</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
-ALIGN="LEFT"
-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
->
\ No newline at end of file
+}
+</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>
+    </div>
+  </body>
+</html>
+
index e87e604..12d5419 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><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"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#EEEEEE"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><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
-ALIGN="LEFT"
-WIDTH="100%"></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&#38;atid=211118"
-TARGET="_top"
->support forum at SourceForge</A
->
- is probably best suited:
- <A
-HREF="http://sourceforge.net/tracker/?group_id=11118&#38;atid=211118"
-TARGET="_top"
->http://sourceforge.net/tracker/?group_id=11118&#38;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="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
-><P
-></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"
->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&#38;atid=460288"
-TARGET="_top"
-> http://sourceforge.net/tracker/?group_id=11118&#38;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&#38;atid=111118"
-TARGET="_top"
->http://sourceforge.net/tracker/?group_id=11118&#38;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&#38;group_id=11118&#38;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
-></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
-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.
-   </P
-></LI
-></UL
-></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
->  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&#38;group_id=11118"
-TARGET="_top"
->http://sourceforge.net/tracker/?atid=361118&#38;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
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-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
->
\ No newline at end of file
+<!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 {
+  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">
+    </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>
+      <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>
+        <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">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>
+      </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>
+  </body>
+</html>
+
index c89bcae..39b1dd0 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><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"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#EEEEEE"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><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
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="COPYRIGHT"
->9. Privoxy Copyright, License and History</A
-></H1
-><P
-> Copyright Â© 2001-2011 by Privoxy Developers <CODE
-CLASS="EMAIL"
->&#60;<A
-HREF="mailto:ijbswa-developers@lists.sourceforge.net"
->ijbswa-developers@lists.sourceforge.net</A
->&#62;</CODE
-></P
-><P
-> Some source code is based on code Copyright Â© 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
-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
-></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
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-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
->
\ No newline at end of file
+<!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 {
+  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>
+    </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>
+  </body>
+</html>
+
index db1fb9e..3db67f4 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><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"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#EEEEEE"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><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
-ALIGN="LEFT"
-WIDTH="100%"></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 -&#62; 3.0.1 -&#62; 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
-></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&#38;group_id=11118&#38;func=browse"
-TARGET="_top"
->patch
-            tracker</A
-> instead.
-          </P
-></LI
-></UL
->
-      </P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-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
->
\ No newline at end of file
+<!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 {
+  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">
+    </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>
+    <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>
+  </body>
+</html>
+
index f1bfe61..a57a2d2 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><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"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#EEEEEE"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><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
-ALIGN="LEFT"
-WIDTH="100%"></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
-></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
-><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"
->&#60;title&#62;My
- Title&#60;/title&#62;</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"
->&#60;title&#62;</TT
-> element, and at least one 
- <TT
-CLASS="LITERAL"
->&#60;para&#62;</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
-></P
-><TABLE
-BORDER="0"
-><TBODY
-><TR
-><TD
->      <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->&#60;para&#62;&#60;/para&#62;</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"
->&#60;emphasis&#62;&#60;/emphasis&#62;</I
-></SPAN
->, the stylesheets
-      make this italics.
-    </TD
-></TR
-><TR
-><TD
->      <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->&#60;filename&#62;&#60;/filename&#62;</I
-></SPAN
->, files and directories.
-    </TD
-></TR
-><TR
-><TD
->      <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->&#60;command&#62;&#60;/command&#62;</I
-></SPAN
->, command examples.
-    </TD
-></TR
-><TR
-><TD
->      <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->&#60;literallayout&#62;&#60;/literallayout&#62;</I
-></SPAN
->, like 
-      <TT
-CLASS="LITERAL"
->&#60;pre&#62;</TT
->, more or less.
-    </TD
-></TR
-><TR
-><TD
->      <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->&#60;itemizedlist&#62;&#60;/itemizedlist&#62;</I
-></SPAN
->, list with bullets.
-    </TD
-></TR
-><TR
-><TD
->      <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->&#60;listitem&#62;&#60;/listitem&#62;</I
-></SPAN
->, member of the above.
-    </TD
-></TR
-><TR
-><TD
->      <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->&#60;screen&#62;&#60;/screen&#62;</I
-></SPAN
->, screen output, implies 
-      <TT
-CLASS="LITERAL"
->&#60;literallayout&#62;</TT
->.
-    </TD
-></TR
-><TR
-><TD
->      <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->&#60;ulink url="example.com"&#62;&#60;/ulink&#62;</I
-></SPAN
->, like 
-      HTML <TT
-CLASS="LITERAL"
->&#60;a&#62;</TT
-> tag.
-    </TD
-></TR
-><TR
-><TD
->      <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->&#60;quote&#62;&#60;/quote&#62;</I
-></SPAN
->, for, doh, quoting text. 
-    </TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></P
-><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
-></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
-CLASS="LITERALLAYOUT"
->&nbsp;&#60;para&#62;<br>
-&nbsp;&nbsp;Some&nbsp;text&nbsp;goes&nbsp;here.<br>
-&nbsp;&#60;/para&#62;<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;&#60;emphasis&#62;emphasize&#60;/emphasis&#62;,&nbsp;some&nbsp;text&nbsp;goes&nbsp;here.<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
->
-     </P
-></LI
-><LI
-><P
->      Tags should be nested and step indented for block text like: (except
-      in-line tags) 
-     <P
-CLASS="LITERALLAYOUT"
->&nbsp;&#60;para&#62;<br>
-&nbsp;&nbsp;&#60;itemizedlist&#62;<br>
-&nbsp;&nbsp;&nbsp;&#60;para&#62;<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&#60;listitem&#62;<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;&#60;/listitem&#62;<br>
-&nbsp;&nbsp;&nbsp;&#60;/para&#62;<br>
-&nbsp;&nbsp;&#60;/itemizedlist&#62;<br>
-&nbsp;&#60;/para&#62;<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
->
-      This makes it easier to find the text amongst the tags ;-)
-    </P
-></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 
-     &#60;comment&#62; element, or the &#60;!--  --&#62; style comment 
-     familiar from HTML. (Note in Docbook v4.x &#60;comment&#62; is 
-     replaced by &#60;remark&#62;.)
-    </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 (&#60;ulink&#62;), and avoid 
-    this mistake:
-   </P
-><P
->     My favorite site is &#60;ulink url="http://example.com"&#62;here&#60;/ulink&#62;.
-   </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 &#60;ulink url="http://example.com"&#62;example.com&#60;/ulink&#62;.
-   </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
->
- </P
-></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
-></P
-><UL
-><LI
-><P
->    Re- <SPAN
-CLASS="QUOTE"
->"boilerplate"</SPAN
-> text entities are defined like:
-   </P
-><P
->    <TT
-CLASS="LITERAL"
->&#60;!entity supported SYSTEM "supported.sgml"&#62;</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"
->&#38;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
-><P
-></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
-><P
-></P
-></LI
-></UL
->
- </P
-><P
->  There are others in various places that are defined for a specific 
-  purpose. Read the source!
- </P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-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
->
+<!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 {
+  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>
+      </table>
+      <hr width="100%" class="c1">
+    </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">
+        <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"><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>
+    </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>
+  </body>
+</html>
+
index 44b2d6b..b3dc733 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><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"></HEAD
-><BODY
-CLASS="ARTICLE"
-BGCOLOR="#EEEEEE"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><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
-> Â© 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.54 2010/11/13 12:50:18 fabiankeil Exp $<BR></P
-><DIV
-><DIV
-CLASS="ABSTRACT"
-><P
-></P
-><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
-><P
-></P
-></DIV
-></DIV
-><HR></DIV
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></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
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-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
->
+<!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 {
+  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>
+      </div>
+    </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>
+  </body>
+</html>
+
index 5ac1e59..a47acf8 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><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"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#EEEEEE"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><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
-ALIGN="LEFT"
-WIDTH="100%"></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
-ALIGN="LEFT"
-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
->
\ No newline at end of file
+<!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 {
+  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>
+    </div>
+  </body>
+</html>
+
index fa80e1f..7b01ecf 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><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"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#EEEEEE"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><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
-ALIGN="LEFT"
-WIDTH="100%"></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
->,
+<!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 {
+  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="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 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
+        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
-></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 -&#62; 0.0.0 -&#62; 3.0.2</TT
->.
-            </P
-></LI
-></UL
->
-    </P
-><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
-     -&#62; 3.0.1 -&#62; 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
-></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
-><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
-><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
-></TABLE
->
-       </P
-><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"
-><I
-CLASS="EMPHASIS"
->Commit all files that were changed in the above steps!</I
-></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
->
-     </P
-></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
->      <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  mkdir dist # delete or choose different name if it already exists
+      </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>
+      </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>
+        <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>
+            <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>
+            </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"><i class="EMPHASIS">Commit all files
+              that were changed in the above steps!</i></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">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%">
+          <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
-></TD
-></TR
-></TABLE
->
-    </P
-><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"
-><P
-></P
-><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
-></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
-><P
-></P
-><TABLE
-BORDER="0"
-><TBODY
-><TR
-><TD
->          <TT
-CLASS="FILENAME"
->LICENSE</TT
-> (top-level directory)
-         </TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-><P
-></P
-><TABLE
-BORDER="0"
-><TBODY
-><TR
-><TD
->          <TT
-CLASS="FILENAME"
->README</TT
-> (top-level directory)
-         </TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-><P
-></P
-><TABLE
-BORDER="0"
-><TBODY
-><TR
-><TD
->          <TT
-CLASS="FILENAME"
->AUTHORS</TT
-> (top-level directory)
-         </TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-><P
-></P
-><TABLE
-BORDER="0"
-><TBODY
-><TR
-><TD
->          <TT
-CLASS="FILENAME"
->man page</TT
-> (top-level directory, Unix-like
-          platforms only)
-         </TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-><P
-></P
-><TABLE
-BORDER="0"
-><TBODY
-><TR
-><TD
->          <TT
-CLASS="FILENAME"
->The User Manual</TT
-> (doc/webserver/user-manual/)
-         </TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-><P
-></P
-><TABLE
-BORDER="0"
-><TBODY
-><TR
-><TD
->          <TT
-CLASS="FILENAME"
->FAQ</TT
-> (doc/webserver/faq/)
-         </TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-><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
->
-     </P
-></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
->      <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  cd current
-  autoheader &#38;&#38; autoconf &#38;&#38; ./configure</PRE
-></TD
-></TR
-></TABLE
->
-       </P
-><P
->      Then do:
-       </P
-><P
->      <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  make tarball-dist</PRE
-></TD
-></TR
-></TABLE
->
-       </P
-><P
->      To upload the package to Sourceforge, simply issue
-       </P
-><P
->      <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  make tarball-upload</PRE
-></TD
-></TR
-></TABLE
->
-       </P
-><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
->      <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  cd current
-  autoheader &#38;&#38; autoconf &#38;&#38; ./configure</PRE
-></TD
-></TR
-></TABLE
->
-       </P
-><P
->      Then do
-       </P
-><P
->      <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  make <TT
-CLASS="REPLACEABLE"
-><I
->dist</I
-></TT
->-dist</PRE
-></TD
-></TR
-></TABLE
->
-       </P
-><P
->      To upload the package to Sourceforge, simply issue
-       </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
-></PRE
-></TD
-></TR
-></TABLE
->
-       </P
-><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
->      <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co os2setup</PRE
-></TD
-></TR
-></TABLE
->
-       </P
-><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
->      <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  installExeName='privoxyos2_setup_X.Y.Z.exe'</PRE
-></TD
-></TR
-></TABLE
->
-       </P
-><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
->      <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  PACKAGEID="Privoxy Team\Privoxy\Privoxy Package\X\Y\Z"</PRE
-></TD
-></TR
-></TABLE
->
-       </P
-><P
->      You're now ready to build.  Run:
-       </P
-><P
->      <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  os2build</PRE
-></TD
-></TR
-></TABLE
->
-       </P
-><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
->      <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  ssh cf.sourceforge.net</PRE
-></TD
-></TR
-></TABLE
->
-       </P
-><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
->      <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  cd current
-  autoheader &#38;&#38; autoconf &#38;&#38; ./configure</PRE
-></TD
-></TR
-></TABLE
->
-       </P
-><P
->      Then run
-       </P
-><P
->      <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  gmake solaris-dist</PRE
-></TD
-></TR
-></TABLE
->
-       </P
-><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
->      <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  cvs -z3  -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co winsetup</PRE
-></TD
-></TR
-></TABLE
->
-      </P
-><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
->      <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  cd winsetup
-  make</PRE
-></TD
-></TR
-></TABLE
->
-      </P
-><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
->        <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  debchange -v 3.0.18-UNRELEASED-1 "New upstream version"</PRE
-></TD
-></TR
-></TABLE
->
-      </P
-><P
->        Then, run: 
-      </P
-><P
->        <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  dpkg-buildpackage -rfakeroot -us -uc -b</PRE
-></TD
-></TR
-></TABLE
->
-      </P
-><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
->        <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  make debian-upload</PRE
-></TD
-></TR
-></TABLE
->
-      </P
-></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
->      <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co osxsetup</PRE
-></TD
-></TR
-></TABLE
->
-       </P
-><P
->      Then run:
-       </P
-><P
->      <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  cd osxsetup
-  build</PRE
-></TD
-></TR
-></TABLE
->
-       </P
-><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
->      <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  zip -r privoxyosx_setup_x.y.z.zip Privoxy.pkg</PRE
-></TD
-></TR
-></TABLE
->
-       </P
-><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
->      <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  ssh cf.sourceforge.net</PRE
-></TD
-></TR
-></TABLE
->
-       </P
-><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
->      <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  cd current
-  autoheader &#38;&#38; autoconf &#38;&#38; ./configure</PRE
-></TD
-></TR
-></TABLE
->
-       </P
-><P
->      Then run:
-       </P
-><P
->      <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  gmake freebsd-dist</PRE
-></TD
-></TR
-></TABLE
->
-       </P
-><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
->      <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  cd current
-  autoheader &#38;&#38; autoconf &#38;&#38; ./configure</PRE
-></TD
-></TR
-></TABLE
->
-       </P
-><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
->      <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  cd current
-  autoheader &#38;&#38; autoconf &#38;&#38; ./configure</PRE
-></TD
-></TR
-></TABLE
->
-       </P
-><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
->      <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  ssh cf.sourceforge.net</PRE
-></TD
-></TR
-></TABLE
->
-       </P
-><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
->      <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  cd current
-  autoheader &#38;&#38; autoconf &#38;&#38; ./configure</PRE
-></TD
-></TR
-></TABLE
->
-       </P
-><P
->      Then run:
-       </P
-><P
->      <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  make aix-dist</PRE
-></TD
-></TR
-></TABLE
->
-       </P
-><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
-><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
-></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
-><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
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-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
->
+  cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa export -r v_X_Y_Z current
+</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>
+          </p>
+          <table border="0" bgcolor="#E0E0E0" width="100%">
+            <tr>
+              <td>
+<pre class="PROGRAMLISTING">
+  make tarball-dist
+</pre>
+              </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 tarball-upload
+</pre>
+              </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">
+  cd current
+  autoheader &amp;&amp; autoconf &amp;&amp; ./configure
+</pre>
+              </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
+</pre>
+              </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>
+</pre>
+              </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">
+  cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co os2setup
+</pre>
+              </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">
+  installExeName='privoxyos2_setup_X.Y.Z.exe'
+</pre>
+              </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">
+  PACKAGEID="Privoxy Team\Privoxy\Privoxy Package\X\Y\Z"
+</pre>
+              </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">
+  os2build
+</pre>
+              </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">
+  ssh cf.sourceforge.net
+</pre>
+              </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">
+  cd current
+  autoheader &amp;&amp; autoconf &amp;&amp; ./configure
+</pre>
+              </td>
+            </tr>
+          </table>
+
+          <p>
+            Then run
+          </p>
+          <p>
+          </p>
+          <table border="0" bgcolor="#E0E0E0" width="100%">
+            <tr>
+              <td>
+<pre class="PROGRAMLISTING">
+  gmake solaris-dist
+</pre>
+              </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">
+  cvs -z3  -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co winsetup
+</pre>
+              </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">
+  cd winsetup
+  make
+</pre>
+              </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"
+</pre>
+              </td>
+            </tr>
+          </table>
+
+          <p>
+            Then, run:
+          </p>
+          <p>
+          </p>
+          <table border="0" bgcolor="#E0E0E0" width="100%">
+            <tr>
+              <td>
+<pre class="PROGRAMLISTING">
+  dpkg-buildpackage -rfakeroot -us -uc -b
+</pre>
+              </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">
+  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">
+  cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co osxsetup
+</pre>
+              </td>
+            </tr>
+          </table>
+
+          <p>
+            Then run:
+          </p>
+          <p>
+          </p>
+          <table border="0" bgcolor="#E0E0E0" width="100%">
+            <tr>
+              <td>
+<pre class="PROGRAMLISTING">
+  cd osxsetup
+  build
+</pre>
+              </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">
+  zip -r privoxyosx_setup_x.y.z.zip Privoxy.pkg
+</pre>
+              </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">
+  ssh cf.sourceforge.net
+</pre>
+              </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">
+  cd current
+  autoheader &amp;&amp; autoconf &amp;&amp; ./configure
+</pre>
+              </td>
+            </tr>
+          </table>
+
+          <p>
+            Then run:
+          </p>
+          <p>
+          </p>
+          <table border="0" bgcolor="#E0E0E0" width="100%">
+            <tr>
+              <td>
+<pre class="PROGRAMLISTING">
+  gmake freebsd-dist
+</pre>
+              </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">
+  cd current
+  autoheader &amp;&amp; autoconf &amp;&amp; ./configure
+</pre>
+              </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">
+  cd current
+  autoheader &amp;&amp; autoconf &amp;&amp; ./configure
+</pre>
+              </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">
+  ssh cf.sourceforge.net
+</pre>
+              </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">
+  cd current
+  autoheader &amp;&amp; autoconf &amp;&amp; ./configure
+</pre>
+              </td>
+            </tr>
+          </table>
+
+          <p>
+            Then run:
+          </p>
+          <p>
+          </p>
+          <table border="0" bgcolor="#E0E0E0" width="100%">
+            <tr>
+              <td>
+<pre class="PROGRAMLISTING">
+  make aix-dist
+</pre>
+              </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>
+      </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>
+
+        <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>
+    <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>
+  </body>
+</html>
+
index 35ee27c..3aba19e 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><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"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#EEEEEE"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><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
-ALIGN="LEFT"
-WIDTH="100%"></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
-></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
-><P
-></P
->
- <P
-></P
-><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
-><P
-></P
->
- <P
-></P
-><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
-><P
-></P
->
- <P
-></P
-><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
-><P
-></P
->
- <P
-></P
-><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
-><P
-></P
->
- <P
-></P
-><TABLE
-BORDER="0"
-><TBODY
-><TR
-><TD
->   <A
-HREF="https://sourceforge.net/tracker/?group_id=11118&#38;atid=460288"
-TARGET="_top"
->https://sourceforge.net/tracker/?group_id=11118&#38;atid=460288</A
->, to submit <SPAN
-CLASS="QUOTE"
->"misses"</SPAN
-> and other
-   configuration related suggestions to the developers. 
-  </TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
->
- <P
-></P
-><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
-><P
-></P
->
- <P
-></P
-><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
-><P
-></P
->
- <P
-></P
-><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
-><P
-></P
->
- <P
-></P
-><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
-><P
-></P
->
- <P
-></P
-><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
-><P
-></P
->
- </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-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
->
\ No newline at end of file
+<!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 {
+  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="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 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">
+        <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 80d3f29..bb60745 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><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"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#EEEEEE"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><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
-ALIGN="LEFT"
-WIDTH="100%"></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.
+<!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 {
+  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>
+    </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>
+  </body>
+</html>
 
-<P
-></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
-></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
-></P
-></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
-></P
-></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&#38;group_id=11118&#38;atid=395005"
-TARGET="_top"
->test form</A
->
-at sourceforge. Three simple steps:
-        <P
-></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).
-      </P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-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
->
\ No newline at end of file
index b54d646..50985b8 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><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"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#EEEEEE"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><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
-ALIGN="LEFT"
-WIDTH="100%"></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
->    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-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
-><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
->    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  make webserver</PRE
-></TD
-></TR
-></TABLE
->
-   </P
-><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
-ALIGN="LEFT"
-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
->
\ No newline at end of file
+<!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 {
+  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">
+  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">
+  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>
+
index 77c28e0..2c19d28 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><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"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#EEEEEE"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><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
-ALIGN="LEFT"
-WIDTH="100%"></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 &#38;
- 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
->  <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-># Allow all cookies for Yahoo login:
+<!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 {
+  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">
+    </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">
+# Allow all cookies for Yahoo login:
 #
-{ -<A
-HREF="../user-manual/actions-file.html#CRUNCH-INCOMING-COOKIES"
-TARGET="_top"
->crunch-incoming-cookies</A
-> -<A
-HREF="../user-manual/actions-file.html#CRUNCH-OUTGOING-COOKIES"
-TARGET="_top"
->crunch-outgoing-cookies</A
-> -<A
-HREF="../user-manual/actions-file.html#SESSION-COOKIES-ONLY"
-TARGET="_top"
->session-cookies-only</A
-> }
-.login.yahoo.com</PRE
-></TD
-></TR
-></TABLE
->
- </P
-><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
->  <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-># Gmail is a _fragile_ site:
+{ -<a href="../user-manual/actions-file.html#CRUNCH-INCOMING-COOKIES" target=
+"_top">crunch-incoming-cookies</a> -<a href=
+"../user-manual/actions-file.html#CRUNCH-OUTGOING-COOKIES" target=
+"_top">crunch-outgoing-cookies</a> -<a href=
+"../user-manual/actions-file.html#SESSION-COOKIES-ONLY" target=
+"_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">
+# Gmail is a _fragile_ site:
 #
-{ <TT
-CLASS="LITERAL"
->fragile</TT
-> }
+{ <tt class="LITERAL">fragile</tt> }
  # Gmail is ...
- mail.google.com</PRE
-></TD
-></TR
-></TABLE
->
- </P
-><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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->  listen-address  192.168.1.1:8118</PRE
-></TD
-></TR
-></TABLE
-></P
-><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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->  listen-address    :8118</PRE
-></TD
-></TR
-></TABLE
-></P
-><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&#38;atid=361118&#38;aid=485617&#38;group_id=11118"
-TARGET="_top"
->http://sourceforge.net/tracker/?func=detail&#38;atid=361118&#38;aid=485617&#38;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&#38;atid=211118&#38;aid=629518&#38;group_id=11118"
-TARGET="_top"
->http://sourceforge.net/tracker/?func=detail&#38;atid=211118&#38;aid=629518&#38;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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-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
-><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"
-> ############################################################
+ 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">
+  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">
+  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">
+ { -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">
+ ############################################################
  # Blacklist
  ############################################################
- { <A
-HREF="../user-manual/actions-file.html#BLOCK"
-TARGET="_top"
->+block</A
-> }
+ { <a href="../user-manual/actions-file.html#BLOCK" target=
+"_top">+block</a> }
  / # Block *all* URLs
+
  ############################################################
  # Whitelist
  ############################################################
- { <A
-HREF="../user-manual/actions-file.html#BLOCK"
-TARGET="_top"
->-block</A
-> }
+ { <a href="../user-manual/actions-file.html#BLOCK" target=
+"_top">-block</a> }
   kids.example.com
   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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-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
-><P
-> 
- Or even a more comprehensive reversing of various ad related actions:</P
-><P
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-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
-> \
-  <A
-HREF="../user-manual/actions-file.html#FILTER-BANNERS-BY-SIZE"
-TARGET="_top"
->-filter{banners-by-size}</A
-> \
-  <A
-HREF="../user-manual/actions-file.html#FILTER-BANNERS-BY-LINK"
-TARGET="_top"
->-filter{banners-by-link}</A
-> \
-  <TT
-CLASS="LITERAL"
->allow-popups</TT
-> \
+  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">
+ # 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">
+ # Unblock everybody, everywhere, and turn off appropriate filtering, etc
+ { <a href="../user-manual/actions-file.html#BLOCK" target=
+"_top">-block</a> \
+  <a href="../user-manual/actions-file.html#FILTER-BANNERS-BY-SIZE" target=
+"_top">-filter{banners-by-size}</a> \
+  <a href="../user-manual/actions-file.html#FILTER-BANNERS-BY-LINK" target=
+"_top">-filter{banners-by-link}</a> \
+  <tt class="LITERAL">allow-popups</tt> \
  }
- / # UN-Block *all* URLs and allow ads</PRE
-></TD
-></TR
-></TABLE
-></P
-><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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> ./configure  --disable-toggle  --disable-editor  --disable-force</PRE
-></TD
-></TR
-></TABLE
-></P
-><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
-ALIGN="LEFT"
-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
->
\ No newline at end of file
+ / # 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>
+        <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 87bf155..5ae45f2 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><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"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#EEEEEE"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><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
-ALIGN="LEFT"
-WIDTH="100%"></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&#38;atid=211118"
-TARGET="_top"
->support forum at SourceForge</A
->
- is probably best suited:
- <A
-HREF="http://sourceforge.net/tracker/?group_id=11118&#38;atid=211118"
-TARGET="_top"
->http://sourceforge.net/tracker/?group_id=11118&#38;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="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
-><P
-></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"
->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&#38;atid=460288"
-TARGET="_top"
-> http://sourceforge.net/tracker/?group_id=11118&#38;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&#38;atid=111118"
-TARGET="_top"
->http://sourceforge.net/tracker/?group_id=11118&#38;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&#38;group_id=11118&#38;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
-></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
-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.
-   </P
-></LI
-></UL
-></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
->  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&#38;group_id=11118"
-TARGET="_top"
->http://sourceforge.net/tracker/?atid=361118&#38;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
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-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
->
\ No newline at end of file
+<!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 {
+  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">
+    </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>
+      <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>
+        <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">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>
+      </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>
+  </body>
+</html>
+
index 009c313..c071063 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><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"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#EEEEEE"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><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
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="COPYRIGHT"
->7. Privoxy Copyright, License and History</A
-></H1
-><P
-> Copyright Â© 2001-2011 by Privoxy Developers <CODE
-CLASS="EMAIL"
->&#60;<A
-HREF="mailto:ijbswa-developers@lists.sourceforge.net"
->ijbswa-developers@lists.sourceforge.net</A
->&#62;</CODE
-></P
-><P
-> Some source code is based on code Copyright Â© 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
-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
-></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
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-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
->
\ No newline at end of file
+<!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 {
+  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>
+    </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>
+  </body>
+</html>
+
index baaf5d4..24a5442 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><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"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#EEEEEE"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><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
-ALIGN="LEFT"
-WIDTH="100%"></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
-><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
-></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
-></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
-ALIGN="LEFT"
-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
->
+<!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 {
+  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">
+    </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>
+      <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>
+        <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">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>
+
index 7e049eb..d73498c 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><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"></HEAD
-><BODY
-CLASS="ARTICLE"
-BGCOLOR="#EEEEEE"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><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
-> Â© 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.80 2011/08/18 11:42:50 fabiankeil Exp $<BR></P
-><DIV
-><DIV
-CLASS="ABSTRACT"
-><P
-></P
-><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
-></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
-><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
-><P
-></P
-></DIV
-></DIV
-><HR></DIV
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></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"
->&#60;html&#62;&#60;body&#62;&#60;/body&#62;&#60;/html&#62;</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
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-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
->
\ No newline at end of file
+<!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 {
+  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>
+      </div>
+    </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>
+  </body>
+</html>
+
index 1e99b30..38841a8 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><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"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#EEEEEE"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><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
-ALIGN="LEFT"
-WIDTH="100%"></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
-> --&#62; <SPAN
-CLASS="GUIBUTTON"
->Preferences</SPAN
-> --&#62;
- <SPAN
-CLASS="GUIBUTTON"
->Advanced</SPAN
-> --&#62; <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
-> --&#62; <SPAN
-CLASS="GUIBUTTON"
->Options</SPAN
-> --&#62;
- <SPAN
-CLASS="GUIBUTTON"
->Privacy</SPAN
-> --&#62; <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
-ALIGN="LEFT"
-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
->
\ No newline at end of file
+<!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 {
+  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">
+    </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>
+    <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>
+  </body>
+</html>
+
index dad0f27..cc1b1ba 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><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"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#EEEEEE"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><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
-ALIGN="LEFT"
-WIDTH="100%"></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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->#        forward-socks5             /     127.0.0.1:9050 .
- </PRE
-></TD
-></TR
-></TABLE
-></P
-><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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->#        forward         192.168.*.*/     .
+<!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 {
+  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="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 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">
+#        forward         192.168.*.*/     .
 #        forward            10.*.*.*/     .
 #        forward           127.*.*.*/     .
- </PRE
-></TD
-></TR
-></TABLE
-></P
-><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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->#        forward           localhost/     .
- </PRE
-></TD
-></TR
-></TABLE
-></P
-><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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->  { +block }
+</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">
+#        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">
+  { +block }
    www.ad.example1.com
    ad.example2.com
    ads.galore.example.com
-   etc.example.com</PRE
-></TD
-></TR
-></TABLE
-></P
-></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
-></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
-><P
-></P
->
- <P
-></P
-><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
-><P
-></P
->
- <P
-></P
-><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
-><P
-></P
->
- <P
-></P
-><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
-><P
-></P
->
- <P
-></P
-><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
-><P
-></P
->
- <P
-></P
-><TABLE
-BORDER="0"
-><TBODY
-><TR
-><TD
->   <A
-HREF="https://sourceforge.net/tracker/?group_id=11118&#38;atid=460288"
-TARGET="_top"
->https://sourceforge.net/tracker/?group_id=11118&#38;atid=460288</A
->, to submit <SPAN
-CLASS="QUOTE"
->"misses"</SPAN
-> and other
-   configuration related suggestions to the developers. 
-  </TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
->
- <P
-></P
-><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
-><P
-></P
->
- <P
-></P
-><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
-><P
-></P
->
- <P
-></P
-><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
-><P
-></P
->
- <P
-></P
-><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
-><P
-></P
->
- <P
-></P
-><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
-><P
-></P
->
- </P
-></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
-ALIGN="LEFT"
-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
->
\ No newline at end of file
+   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>
+
index 2f8374e..141a835 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><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"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#EEEEEE"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><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
-ALIGN="LEFT"
-WIDTH="100%"></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
-><P
-><P
-></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
-></P
-></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
-><P
-><TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->Request: www.example.com/
+<!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 {
+  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">
+    </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">
+Request: www.example.com/
 Request: www.example.com/favicon.ico
 Request: img.example.com/main.css
 Request: img.example.com/sr.js
@@ -243,8 +171,8 @@ Request: img.example.com/pb.png
 Request: www.google-analytics.com/urchin.js crunch! (Blocked)
 Request: www.advertising-department.com/ats/switch.ps.php?26856 crunch! (Blocked)
 Request: img.example.com/p.gif
-Request: www.popuptraffic.com/assign.php?l=example&#38;mode=behind crunch! (Blocked)
-Request: www.popuptraffic.com/scripts/popup.php?hid=5c3cf&#38;tmpl=PBa.tmpl crunch! (Blocked)
+Request: www.popuptraffic.com/assign.php?l=example&amp;mode=behind crunch! (Blocked)
+Request: www.popuptraffic.com/scripts/popup.php?hid=5c3cf&amp;tmpl=PBa.tmpl crunch! (Blocked)
 Request: www.popuptraffic.com/assign.php?l=example crunch! (Blocked)
 Request: www.lik-sang.com/Banners/best_sellers/best_sellers.css
 Request: www.adtrak.net/adx.js crunch! (Blocked)
@@ -253,1024 +181,650 @@ Request: img.example.com/example.jpg
 Request: img.example.com/mt.png
 Request: img.example.com/mm.png
 Request: img.example.com/mb.png
-Request: www.popuptraffic.com/scripts/popup.php?hid=a71b91fa5&#38;tmpl=Ua.tmp crunch! (Blocked)
+Request: www.popuptraffic.com/scripts/popup.php?hid=a71b91fa5&amp;tmpl=Ua.tmp crunch! (Blocked)
 Request: www.example.com/tracker.js
 Request: www.lik-sang.com/Banners/best_sellers/lsi_head.gif
-Request: www.adtrak.net/adjs.php?n=020548130&#38;what=zone:61 crunch! (Blocked)
-Request: www.adtrak.net/adjs.php?n=463594413&#38;what=zone:58&#38;source=Ua crunch! (Blocked)
+Request: www.adtrak.net/adjs.php?n=020548130&amp;what=zone:61 crunch! (Blocked)
+Request: www.adtrak.net/adjs.php?n=463594413&amp;what=zone:58&amp;source=Ua crunch! (Blocked)
 Request: www.lik-sang.com/Banners/best_sellers/bottomani.swf
-Request: mmm.elitemediagroup.net/install.php?allowpop=no&#38;popupmincook=0&#38;allowsp2=1 crunch! (Blocked)
-Request: www.example.com/tracker.js?screen=1400x1050&#38;win=962x693
-Request: www.adtrak.net/adlog.php?bannerid=1309&#38;clientid=439&#38;zoneid=61 crunch! (Blocked)
-Request: 66.70.21.80/scripts/click.php?hid=5c3cf599a9efd0320d26&#38;si
+Request: mmm.elitemediagroup.net/install.php?allowpop=no&amp;popupmincook=0&amp;allowsp2=1 crunch! (Blocked)
+Request: www.example.com/tracker.js?screen=1400x1050&amp;win=962x693
+Request: www.adtrak.net/adlog.php?bannerid=1309&amp;clientid=439&amp;zoneid=61 crunch! (Blocked)
+Request: 66.70.21.80/scripts/click.php?hid=5c3cf599a9efd0320d26&amp;si
 Request: 66.70.21.80/img/pixel.gif
-Request: www.adtrak.net/adlog.php?bannerid=1309&#38;clientid=439&#38;zoneid=58&#38;source=Ua&#38;block=86400 crunch! (Blocked)
-Request: 66.70.21.80/scripts/click.php?hid=a71b9f6504b0c5681fa5&#38;si=Ua</PRE
-></TD
-></TR
-></TABLE
-></P
-><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"
->&#60;html&#62;&#60;body&#62;&#60;/body&#62;&#60;/html&#62;</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"
->   # 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
-><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
-><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
-ALIGN="LEFT"
-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
->
\ No newline at end of file
+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">
+   # 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>
+        <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 1c2be28..4920dc4 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><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"></HEAD
-><BODY
-CLASS="ARTICLE"
-BGCOLOR="#EEEEEE"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="ARTICLE"
-><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
-><A
-NAME="AEN2"
->Privoxy - Home Page</A
-></H1
-><DIV
-><DIV
-CLASS="ABSTRACT"
-><P
-></P
-><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
-></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
-><P
->   The most recent release is <A
-HREF="announce.txt"
-TARGET="_top"
->3.0.18 (UNRELEASED)</A
->. 
-  </P
-><P
-></P
-></DIV
-></DIV
-><HR></DIV
-><DIV
-CLASS="SECT1"
-><H3
-CLASS="SECT1"
-><A
-NAME="DOWNLOAD"
->Download</A
-></H3
-><P
-> <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
-></P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H3
-CLASS="SECT1"
-><A
-NAME="DOCS"
->Documentation</A
-></H3
-><P
-> <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
-></P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H3
-CLASS="SECT1"
-><A
-NAME="MOREINFO"
->More information</A
-></H3
-><P
-> <P
-></P
-><UL
-><LI
-><P
->    <A
-HREF="user-manual/contact.html"
-TARGET="_top"
->Support &#38; Service</A
->
-   </P
-></LI
-><LI
-><P
->    <A
-HREF="user-manual/copyright.html"
-TARGET="_top"
->Copyright, License, History &#38; 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
-></P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN90"
-></A
-></H2
-><P
-><DIV
-CLASS="INFORMALTABLE"
-><P
-></P
-><A
-NAME="AEN93"
-></A
-><TABLE
-BORDER="0"
-FRAME="void"
-RULES="all"
-WIDTH="100%"
-CLASS="CALSTABLE"
-><COL
-WIDTH="100%"
-ALIGN="CENTER"
-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&#38;type=1&#38;dummy=.gif">
-     </A
->
-    </TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></P
-><P
-> <SUB
->  Copyright &copy; 2001-2010 by Privoxy Developers
- </SUB
-></P
-></DIV
-></DIV
-></BODY
-></HTML
->
+<!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 {
+  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>
+        <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"></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>
+      </div>
+    </div>
+  </body>
+</html>
+
index 01a19d4..1bb72e2 100644 (file)
-<html><head><title>Privoxy Man page</title><link rel="stylesheet" type="text/css" href="../p_web.css"></head><body><H2>NAME</H2>
-<PRE>
+<!DOCTYPE html PUBLIC "-//IETF//DTD HTML 2.0//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>
 <!-- Manpage converted by man2html 3.0.1 -->
 
-</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>
-       <B>Privoxy</B> may be invoked with the following command line options:
-
-       <B>--help</B> Print brief usage info and exit.
-
-       <B>--version</B>
-             Print version info and exit.
-
-       <B>--no-daemon</B>
-             Don't   become   a  daemon,  i.e.  don't fork and become process
-             group leader, don't detach from controlling tty, and do all log-
-             ging there.
-
-       <B>--pidfile</B> <I>pidfile</I>
-             On startup, write the process ID to <I>pidfile</I>.  Delete the <I>pidfile</I>
-             on exit.  Failure to create or delete the <I>pidfile</I>  is  non-fatal.
-             If no <B>--pidfile</B> option is  given, no PID file will be used.
-
-       <B>--user</B> <I>user[.group]</I>
-             After  (optionally)  writing the PID file, assume the user ID of
-             <I>user</I> and the GID of <I>group</I>, or, if   the  optional  <I>group</I>  was  not
-             given, the default group of <I>user</I>.  Exit if the privileges are not
-             sufficient to do so.
-
-       <B>--chroot</B>
-             Before changing to the user  ID  given  in  the  --user  option,
-             chroot  to that user's home directory, i.e. make the kernel pre-
-             tend to the <B>Privoxy</B>  process  that  the  directory  tree   starts
-             there.  If set up carefully, this can limit the impact of possi-
-             ble vulnerabilities in <B>Privoxy</B> to  the files  contained  in  that
-             hierarchy.
-
-       <B>--pre-chroot-nslookup</B> <I>hostname</I>
-             Initialize   the   resolver   library   using   <I>hostname</I>   before
-             chroot'ing. On some systems this reduces  the  number  of  files
-             that must be copied into the chroot tree.
-
-       If  the <I>configfile</I>  is   not  specified on  the  command  line, <B>Privoxy</B>
-       will  look for a        file named <I>config</I> in the current directory. If no <I>con-</I>
-       <I>figfile</I> is found, <B>Privoxy</B> will fail to start.
-
-
-</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.
-       Privoxy has a flexible configuration and         can  be  customized  to  suit
-
-
-</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>
+      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>
+       <b>Privoxy</b> may be invoked with the following command line options:
+
+       <b>--help</b> Print brief usage  info and exit.
+
+       <b>--version</b>
+          Print version info and exit.
+
+       <b>--no-daemon</b>
+          Don't   become   a  daemon,  i.e.  don't fork and become process
+          group leader, don't detach from controlling tty, and do all log-
+          ging there.
+
+       <b>--pidfile</b> <i>pidfile</i>
+          On startup, write the process ID to <i>pidfile</i>.  Delete the <i>pidfile</i>
+          on exit.  Failure to create or delete the <i>pidfile</i>  is  non-fatal.
+          If no <b>--pidfile</b> option is  given, no PID file will be used.
+
+       <b>--user</b> <i>user[.group]</i>
+          After  (optionally)  writing the PID file, assume the user ID of
+          <i>user</i> and the GID of <i>group</i>, or, if   the  optional  <i>group</i>  was  not
+          given, the default group of <i>user</i>.  Exit if the privileges are not
+          sufficient to do so.
+
+       <b>--chroot</b>
+          Before changing to the user  ID  given  in  the  --user  option,
+          chroot  to that user's home directory, i.e. make the kernel pre-
+          tend to the <b>Privoxy</b>  process  that  the  directory  tree   starts
+          there.  If set up carefully, this can limit the impact of possi-
+          ble vulnerabilities in <b>Privoxy</b> to  the files  contained  in  that
+          hierarchy.
+
+       <b>--pre-chroot-nslookup</b> <i>hostname</i>
+          Initialize   the   resolver   library   using   <i>hostname</i>   before
+          chroot'ing. On some systems this reduces  the  number  of  files
+          that must be copied into the chroot tree.
+
+       If  the  <i>configfile</i>  is   not  specified on  the  command  line, <b>Privoxy</b>
+       will  look for a file named <i>config</i> in the current directory. If no <i>con-</i>
+       <i>figfile</i> is found, <b>Privoxy</b> will fail to start.
+
+
+</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.
+       Privoxy has a flexible configuration and  can  be  customized  to  suit
+
+
+</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
        localhost,  on port  8118 (configurable in the main config  file).   To
-       set  the         HTTP  proxy  in Firefox, go through: <B>Tools</B>; <B>Options</B>; <B>General</B>;
-       <B>Connection</B> <B>Settings</B>; <B>Manual</B> <B>Proxy</B> <B>Configuration</B>.
+       set  the  HTTP  proxy  in Firefox, go through: <b>Tools</b>; <b>Options</b>; <b>General</b>;
+       <b>Connection</b> <b>Settings</b>; <b>Manual</b> <b>Proxy</b> <b>Configuration</b>.
 
-       For Internet Explorer, go through: <B>Tools</B>; <B>Internet</B> <B>Properties</B>;  <B>Connec-</B>
-       <B>tions</B>; <B>LAN</B> <B>Settings</B>.
+       For Internet Explorer, go through: <b>Tools</b>; <b>Internet</b> <b>Properties</b>;  <b>Connec-</b>
+       <b>tions</b>; <b>LAN</b> <b>Settings</b>.
 
-       The Secure (SSL)        Proxy should also be set to the same values, otherwise
-       https: URLs will        not be proxied. Note: <B>Privoxy</B> can only proxy HTTP  and
-       HTTPS  traffic. Do  not  try  it  with  FTP or other protocols.  HTTPS
-       presents        some limitations, and not all features will  work  with  HTTPS
+       The Secure (SSL) Proxy should also be set to the same values, otherwise
+       https: URLs will not be proxied. Note: <b>Privoxy</b> can only proxy HTTP  and
+       HTTPS  traffic.  Do  not  try  it  with  FTP or other protocols.  HTTPS
+       presents some limitations, and not all features will  work  with  HTTPS
        connections.
 
        For other browsers, check the documentation.
 
 
-</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
-       exceptions to the default rules in <I>match-all.action</I> and <I>default.action</I>,
-       and  <I>user.filter</I> for locally defined filters. These are well commented.
-       On Unix and Unix-like systems, these are        located  in  <I>/etc/privoxy/</I>  by
+</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
+       exceptions to the default rules in <i>match-all.action</i> and <i>default.action</i>,
+       and  <i>user.filter</i>  for locally defined filters. These are well commented.
+       On Unix and Unix-like systems, these are located  in  <i>/etc/privoxy/</i>  by
        default.
 
-       <B>Privoxy</B>  uses  the  concept  of <B>actions</B> in order  to manipulate the data
+       <b>Privoxy</b>   uses  the  concept  of <b>actions</b> in order  to manipulate the data
        stream between the browser and remote sites.  There are various actions
-       available  with specific  functions  for  such  things as blocking web
-       sites, managing cookies,        etc. These actions can be invoked individually
-       or  combined,  and used against individual URLs,        or groups of URLs that
+       available  with  specific  functions  for  such  things as blocking web
+       sites, managing cookies, etc. These actions can be invoked individually
+       or  combined,  and used against individual URLs, or groups of URLs that
        can be defined using wildcards and regular expressions. The  result  is
-       that the        user has greatly enhanced control and freedom.
+       that the user has greatly enhanced control and freedom.
 
        The  actions list (ad blocks, etc) can also be configured with your web
-       browser at  http://config.privoxy.org/  (assuming  the   configuration
-       allows it).  <B>Privoxy's</B> configuration parameters  can also  be viewed at
-       the same        page. In addition, <B>Privoxy</B> can be toggled on/off.  This  is  an
-       internal        page, and does not require Internet access.
-
-       See the <I>User</I> <I>Manual</I> for a detailed explanation of installation, general
-       usage, all configuration        options, new features and notes on  upgrading.
-
-
-</PRE>
-<H2>FILES</H2><PRE>
-       <I>/usr/sbin/privoxy</I>
-       <I>/etc/privoxy/config</I>
-       <I>/etc/privoxy/match-all.action</I>
-       <I>/etc/privoxy/default.action</I>
-       <I>/etc/privoxy/user.action</I>
-       <I>/etc/privoxy/default.filter</I>
+       browser  at  http://config.privoxy.org/  (assuming  the   configuration
+       allows it).  <b>Privoxy's</b> configuration parameters   can also  be viewed at
+       the same page. In addition, <b>Privoxy</b> can be toggled on/off.  This  is  an
+       internal page, and does not require Internet access.
+
+       See the <i>User</i> <i>Manual</i> for a detailed explanation of installation, general
+       usage, all configuration options, new features and notes on  upgrading.
+
+
+</pre>
+    <h2>
+      FILES
+    </h2>
+<pre>
+    <i>/usr/sbin/privoxy</i>
+    <i>/etc/privoxy/config</i>
+    <i>/etc/privoxy/match-all.action</i>
+    <i>/etc/privoxy/default.action</i>
+    <i>/etc/privoxy/user.action</i>
+    <i>/etc/privoxy/default.filter</i>
        detect them automatically.
 
 
-</PRE>
-<H2>NOTES</H2><PRE>
-       This  is         a  UNRELEASED  version  of <B>Privoxy</B>. Not all features are well
+</pre>
+    <h2>
+      NOTES
+    </h2>
+<pre>
+       This  is  a  UNRELEASED  version  of <b>Privoxy</b>. Not all features are well
        tested.
 
-       Please see the <I>User</I> <I>Manual</I> on how to contact the  developers,  for  fea-
-       ture requests, reporting        problems, and other questions.
+       Please see the <i>User</i> <i>Manual</i> on how to contact the   developers,  for  fea-
+       ture requests, reporting problems, and other questions.
 
 
-</PRE>
-<H2>SEE ALSO</H2><PRE>
-       Other references        and sites of interest to <B>Privoxy</B> users:
+</pre>
+    <h2>
+      SEE ALSO
+    </h2>
+<pre>
+       Other references and sites of interest to <b>Privoxy</b> users:
 
 
-       http://www.privoxy.org/,        the <B>Privoxy</B> Home page.
+       http://www.privoxy.org/, the <b>Privoxy</b> Home page.
 
-       http://www.privoxy.org/faq/, the        <B>Privoxy</B>  FAQ.
+       http://www.privoxy.org/faq/, the <b>Privoxy</b>  FAQ.
 
-       http://www.privoxy.org/developer-manual/, the <B>Privoxy</B> developer manual.
+       http://www.privoxy.org/developer-manual/, the <b>Privoxy</b> developer manual.
 
-       https://sourceforge.net/projects/ijbswa/, the Project Page for  <B>Privoxy</B>
+       https://sourceforge.net/projects/ijbswa/, the Project Page for  <b>Privoxy</b>
        on SourceForge.
 
-       http://config.privoxy.org/,  the        web-based user interface. <B>Privoxy</B> must
+       http://config.privoxy.org/,  the web-based user interface. <b>Privoxy</b> must
        be running for this to work. Shortcut: http://p.p/
 
-       https://sourceforge.net/tracker/?group_id=11118&amp;atid=460288, to     submit
+       https://sourceforge.net/tracker/?group_id=11118&amp;atid=460288, to  submit
        ``misses''  and other configuration related suggestions to the develop-
        ers.
 
 
-</PRE>
-<H2>DEVELOPMENT TEAM</H2><PRE>
-       Fabian Keil, lead developer
-       David Schmidt, developer
-
-       Hal Burgiss
-       Mark Miller
-       Gerry Murphy
-       Lee Rian
-       Roland Rosenfeld
-
-
-</PRE>
-<H2>COPYRIGHT AND LICENSE</H2><PRE>
-   <B>COPYRIGHT</B>
-       Copyright  (C)  2001-2011  by   Privoxy  Developers   &lt;ijbswa-develop-
+</pre>
+    <h2>
+      DEVELOPMENT TEAM
+    </h2>
+<pre>
+    Fabian Keil, lead developer
+    David Schmidt, developer
+
+    Hal Burgiss
+    Mark Miller
+    Gerry Murphy
+    Lee Rian
+    Roland Rosenfeld
+
+
+</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;
 
        Some  source  code  is  based  on  code Copyright (C) 1997 by Anonymous
-       Coders and Junkbusters, Inc. and        licensed under the <I>GNU</I> <I>General</I>    <I>Public</I>
-       <I>License</I>.
+       Coders and Junkbusters, Inc. and licensed under the <i>GNU</i> <i>General</i>    <i>Public</i>
+       <i>License</i>.
 
-   <B>LICENSE</B>
-       <B>Privoxy</B>  is  free  software;  you  can redistribute it and/or modify it
-       under the terms of the <I>GNU</I> <I>General</I> <I>Public</I> <I>License</I>, version 2,  as  pub-
+   <b>LICENSE</b>
+       <b>Privoxy</b>   is  free  software;  you  can redistribute it and/or modify it
+       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></html>
+</pre>
+  </body>
+</html>
+
index 54a6596..83d0598 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><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"></HEAD
-><BODY
-CLASS="ARTICLE"
-BGCOLOR="#EEEEEE"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><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
-><DIV
-CLASS="ABSTRACT"
-><P
-></P
-><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
-></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
-><P
-></P
-></DIV
-></DIV
-><HR></DIV
-><DIV
-CLASS="SECT1"
-><H3
-CLASS="SECT1"
-><A
-NAME="DOWNLOAD"
->Download</A
-></H3
-><P
-> <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
-></P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H3
-CLASS="SECT1"
-><A
-NAME="DOCS"
->Documentation</A
-></H3
-><P
-> <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
-></P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H3
-CLASS="SECT1"
-><A
-NAME="MOREINFO"
->More information</A
-></H3
-><P
-> <P
-></P
-><UL
-><LI
-><P
->    <A
-HREF="user-manual/contact.html"
-TARGET="_top"
->Support &#38; Service</A
->
-   </P
-></LI
-><LI
-><P
->    <A
-HREF="user-manual/copyright.html"
-TARGET="_top"
->Copyright, License, History &#38; 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
-></P
-></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
-></DIV
-></BODY
-></HTML
->
+<!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 {
+  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>
+        <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"></a>
+        </h2>
+        <p>
+          <sub>Copyright &copy; 2001-2010 by Privoxy Developers</sub>
+        </p>
+      </div>
+    </div>
+  </body>
+</html>
+
index 2903bcf..0d093d1 100644 (file)
@@ -1,26 +1,62 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <html>
- <head>
-  <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">
- </head>
- <body>
-  <h1 style="margin-left: 0%">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>
+  <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>
+
index d7e687c..cbffcee 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><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">
-</head
-><BODY
-CLASS="SECT1"
-BGCOLOR="#EEEEEE"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><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
-ALIGN="LEFT"
-WIDTH="100%"></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
-></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
->    <DIV
-CLASS="TABLE"
-><A
-NAME="AEN2625"
-></A
-><P
-><B
->Table 1. Default Configurations</B
-></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
->
-    </P
-></LI
-></UL
-></P
-><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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->  { +<TT
-CLASS="LITERAL"
->handle-as-image</TT
->  +<TT
-CLASS="LITERAL"
->block{Banner ads.}</TT
-> }
+<!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 {
+  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">
+    </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">
+  { +<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.
    banners.example.com
    media.example.com/.*banners
-   .example.com/images/ads/</PRE
-></TD
-></TR
-></TABLE
->
- </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
-></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"
->&#60;domain&#62;&#60;port&#62;/&#60;path&#62;</TT
->, where the
- <TT
-CLASS="LITERAL"
->&#60;domain&#62;</TT
->, the <TT
-CLASS="LITERAL"
->&#60;port&#62;</TT
->
- and the <TT
-CLASS="LITERAL"
->&#60;path&#62;</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"
->&#60;</TT
->, <TT
-CLASS="LITERAL"
->&#62;</TT
->).</P
-><P
-></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"
->&#60;2001:db8::1&#62;/</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="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
-><P
-></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
-><P
-></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
-><P
-></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="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
-></DIV
-></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
-></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
->   <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
-></PRE
-></TD
-></TR
-></TABLE
->
-  </P
-><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
->   <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
->,
+   .example.com/images/ads/
+</pre>
+            </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">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="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>
+            </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>
+        </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>
+        </div>
+      </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>
+</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>,
                # overwriting parameter from previous match if necessary
-  -<TT
-CLASS="REPLACEABLE"
-><I
->name</I
-></TT
->         # disable action. The parameter can be omitted</PRE
-></TD
-></TR
-></TABLE
->
-  </P
-><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
->   <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
+  -<tt class=
+"REPLACEABLE"><i>name</i></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
                 # 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</PRE
-></TD
-></TR
-></TABLE
->
-  </P
-><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
-><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
-><P
-></P
-><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
->     <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->+add-header{X-User-Tracking: sucks}</PRE
-></TD
-></TR
-></TABLE
->
-   </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><H4
-CLASS="SECT3"
-><A
-NAME="BLOCK"
->8.5.2. block</A
-></H4
-><P
-></P
-><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
->     <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->{+block{No nasty stuff for you.}}
+  <tt class=
+"REPLACEABLE"><i>-name</i></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">
++add-header{X-User-Tracking: sucks}
+</pre>
+                    </td>
+                  </tr>
+                </table>
+              </dd>
+            </dl>
+          </div>
+        </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">
+{+block{No nasty stuff for you.}}
 # Block and replace with "blocked" page
  .nasty-stuff.example.com
 
-{+block{Doubleclick banners.} +handle-as-image} 
+{+block{Doubleclick banners.} +handle-as-image}
 # Block and replace with image
  .ad.doubleclick.net
  .ads.r.us/banners/
 
-{+block{Layered ads.} +handle-as-empty-document} 
+{+block{Layered ads.} +handle-as-empty-document}
 # Block and then ignore
- adserver.example.net/.*\.js$</PRE
-></TD
-></TR
-></TABLE
->
-    </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><H4
-CLASS="SECT3"
-><A
-NAME="CHANGE-X-FORWARDED-FOR"
->8.5.3. change-x-forwarded-for</A
-></H4
-><P
-></P
-><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
-><P
-></P
-><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
->     <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->+change-x-forwarded-for{block}</PRE
-></TD
-></TR
-></TABLE
->
-   </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><H4
-CLASS="SECT3"
-><A
-NAME="CLIENT-HEADER-FILTER"
->8.5.4. client-header-filter</A
-></H4
-><P
-></P
-><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
->     <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-># Hide Tor exit notation in Host and Referer Headers
+ adserver.example.net/.*\.js$
+</pre>
+                    </td>
+                  </tr>
+                </table>
+              </dd>
+            </dl>
+          </div>
+        </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">
++change-x-forwarded-for{block}
+</pre>
+                    </td>
+                  </tr>
+                </table>
+              </dd>
+            </dl>
+          </div>
+        </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">
+# Hide Tor exit notation in Host and Referer Headers
 {+client-header-filter{hide-tor-exit-notation}}
 /
-    </PRE
-></TD
-></TR
-></TABLE
->
-    </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><H4
-CLASS="SECT3"
-><A
-NAME="CLIENT-HEADER-TAGGER"
->8.5.5. client-header-tagger</A
-></H4
-><P
-></P
-><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
->     <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-># Tag every request with the User-Agent header
+
+</pre>
+                    </td>
+                  </tr>
+                </table>
+              </dd>
+            </dl>
+          </div>
+        </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">
+# Tag every request with the User-Agent header
 {+client-header-tagger{user-agent}}
 /
 
@@ -2309,2180 +1570,1632 @@ TAG:^User-Agent: RPM APT-HTTP/
 TAG:^User-Agent: fetch libfetch/
 TAG:^User-Agent: Ubuntu APT-HTTP/
 TAG:^User-Agent: MPlayer/
-    </PRE
-></TD
-></TR
-></TABLE
->
-    </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><H4
-CLASS="SECT3"
-><A
-NAME="CONTENT-TYPE-OVERWRITE"
->8.5.6. content-type-overwrite</A
-></H4
-><P
-></P
-><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
->     <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-># Check if www.example.net/ really uses valid XHTML
+
+</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">
+# Check if www.example.net/ really uses valid XHTML
 { +content-type-overwrite{application/xml} }
 www.example.net/
 
 # but leave the content type unmodified if the URL looks like a style sheet
 {-content-type-overwrite}
 www.example.net/.*\.css$
-www.example.net/.*style</PRE
-></TD
-></TR
-></TABLE
->
-   </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><H4
-CLASS="SECT3"
-><A
-NAME="CRUNCH-CLIENT-HEADER"
->8.5.7. crunch-client-header</A
-></H4
-><P
-></P
-><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"
-><P
-></P
-><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
->     <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-># Block the non-existent "Privacy-Violation:" client header 
+www.example.net/.*style
+</pre>
+                    </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">
+# Block the non-existent "Privacy-Violation:" client header
 { +crunch-client-header{Privacy-Violation:} }
 /
-    </PRE
-></TD
-></TR
-></TABLE
->
-   </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><H4
-CLASS="SECT3"
-><A
-NAME="CRUNCH-IF-NONE-MATCH"
->8.5.8. crunch-if-none-match</A
-></H4
-><P
-></P
-><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
->     <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-># Let the browser revalidate cached documents but don't
+
+</pre>
+                    </td>
+                  </tr>
+                </table>
+              </dd>
+            </dl>
+          </div>
+        </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">
+# 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} \
  +overwrite-last-modified{randomize} \
  +crunch-if-none-match}
-/   </PRE
-></TD
-></TR
-></TABLE
->
-   </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><H4
-CLASS="SECT3"
-><A
-NAME="CRUNCH-INCOMING-COOKIES"
->8.5.9. crunch-incoming-cookies</A
-></H4
-><P
-></P
-><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
->    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->+crunch-incoming-cookies</PRE
-></TD
-></TR
-></TABLE
->
-   </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><H4
-CLASS="SECT3"
-><A
-NAME="CRUNCH-SERVER-HEADER"
->8.5.10. crunch-server-header</A
-></H4
-><P
-></P
-><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"
-><P
-></P
-><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
->     <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-># Crunch server headers that try to prevent caching
+/
+</pre>
+                    </td>
+                  </tr>
+                </table>
+              </dd>
+            </dl>
+          </div>
+        </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">
++crunch-incoming-cookies
+</pre>
+                    </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">
+# Crunch server headers that try to prevent caching
 { +crunch-server-header{no-cache} }
-/   </PRE
-></TD
-></TR
-></TABLE
->
-   </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><H4
-CLASS="SECT3"
-><A
-NAME="CRUNCH-OUTGOING-COOKIES"
->8.5.11. crunch-outgoing-cookies</A
-></H4
-><P
-></P
-><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
->    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->+crunch-outgoing-cookies</PRE
-></TD
-></TR
-></TABLE
->
-   </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><H4
-CLASS="SECT3"
-><A
-NAME="DEANIMATE-GIFS"
->8.5.12. deanimate-gifs</A
-></H4
-><P
-></P
-><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
->      <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->+deanimate-gifs{last}</PRE
-></TD
-></TR
-></TABLE
->
-    </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><H4
-CLASS="SECT3"
-><A
-NAME="DOWNGRADE-HTTP-VERSION"
->8.5.13. downgrade-http-version</A
-></H4
-><P
-></P
-><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
->     <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->{+downgrade-http-version}
-problem-host.example.com</PRE
-></TD
-></TR
-></TABLE
->
-    </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><H4
-CLASS="SECT3"
-><A
-NAME="FAST-REDIRECTS"
->8.5.14. fast-redirects</A
-></H4
-><P
-></P
-><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
-><P
-></P
-><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/&#38;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/&#38;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
->     <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> { +fast-redirects{simple-check} }
-   one.example.com 
+/
+</pre>
+                    </td>
+                  </tr>
+                </table>
+              </dd>
+            </dl>
+          </div>
+        </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">
++crunch-outgoing-cookies
+</pre>
+                    </td>
+                  </tr>
+                </table>
+              </dd>
+            </dl>
+          </div>
+        </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">
++deanimate-gifs{last}
+</pre>
+                    </td>
+                  </tr>
+                </table>
+              </dd>
+            </dl>
+          </div>
+        </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">
+{+downgrade-http-version}
+problem-host.example.com
+</pre>
+                    </td>
+                  </tr>
+                </table>
+              </dd>
+            </dl>
+          </div>
+        </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">
+ { +fast-redirects{simple-check} }
+   one.example.com
 
  { +fast-redirects{check-decoded-url} }
-   another.example.com/testing</PRE
-></TD
-></TR
-></TABLE
->
-    </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><H4
-CLASS="SECT3"
-><A
-NAME="FILTER"
->8.5.15. filter</A
-></H4
-><P
-></P
-><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
->
-    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->+filter{js-annoyances}       # Get rid of particularly annoying JavaScript abuse.</PRE
-></TD
-></TR
-></TABLE
->
-   </P
-><P
->    <A
-NAME="FILTER-JS-EVENTS"
-></A
->
-    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-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
->
-   </P
-><P
->    <A
-NAME="FILTER-HTML-ANNOYANCES"
-></A
->
-    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->+filter{html-annoyances}     # Get rid of particularly annoying HTML abuse.</PRE
-></TD
-></TR
-></TABLE
->
-   </P
-><P
->    <A
-NAME="FILTER-CONTENT-COOKIES"
-></A
->
-    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->+filter{content-cookies}     # Kill cookies that come in the HTML or JS content.</PRE
-></TD
-></TR
-></TABLE
->
-   </P
-><P
->    <A
-NAME="FILTER-REFRESH-TAGS"
-></A
->
-    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->+filter{refresh-tags}        # Kill automatic refresh tags (for dial-on-demand setups).</PRE
-></TD
-></TR
-></TABLE
->
-   </P
-><P
->    <A
-NAME="FILTER-UNSOLICITED-POPUPS"
-></A
->
-    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-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
->
-   </P
-><P
->    <A
-NAME="FILTER-ALL-POPUPS"
-></A
->
-    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-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
->
-   </P
-><P
->    <A
-NAME="FILTER-IMG-REORDER"
-></A
->
-    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->+filter{img-reorder}         # Reorder attributes in &#60;img&#62; tags to make the banners-by-* filters more effective.</PRE
-></TD
-></TR
-></TABLE
->
-   </P
-><P
->    <A
-NAME="FILTER-BANNERS-BY-SIZE"
-></A
->
-    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->+filter{banners-by-size}     # Kill banners by size.</PRE
-></TD
-></TR
-></TABLE
->
-   </P
-><P
->    <A
-NAME="FILTER-BANNERS-BY-LINK"
-></A
->
-    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->+filter{banners-by-link}     # Kill banners by their links to known clicktrackers.</PRE
-></TD
-></TR
-></TABLE
->
-   </P
-><P
->    <A
-NAME="FILTER-WEBBUGS"
-></A
->
-    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->+filter{webbugs}             # Squish WebBugs (1x1 invisible GIFs used for user tracking).</PRE
-></TD
-></TR
-></TABLE
->
-   </P
-><P
->    <A
-NAME="FILTER-TINY-TEXTFORMS"
-></A
->
-    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-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
->
-   </P
-><P
->    <A
-NAME="FILTER-JUMPING-WINDOWS"
-></A
->
-    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->+filter{jumping-windows}     # Prevent windows from resizing and moving themselves.</PRE
-></TD
-></TR
-></TABLE
->
-   </P
-><P
->    <A
-NAME="FILTER-FRAMESET-BORDERS"
-></A
->
-    <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
-><P
->    <A
-NAME="FILTER-DEMORONIZER"
-></A
->
-    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->+filter{demoronizer}         # Fix MS's non-standard use of standard charsets.</PRE
-></TD
-></TR
-></TABLE
->
-   </P
-><P
->    <A
-NAME="FILTER-SHOCKWAVE-FLASH"
-></A
->
-    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->+filter{shockwave-flash}     # Kill embedded Shockwave Flash objects.</PRE
-></TD
-></TR
-></TABLE
->
-   </P
-><P
->    <A
-NAME="FILTER-QUICKTIME-KIOSKMODE"
-></A
->
-    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->+filter{quicktime-kioskmode} # Make Quicktime movies saveable.</PRE
-></TD
-></TR
-></TABLE
->
-   </P
-><P
->    <A
-NAME="FILTER-FUN"
-></A
->
-    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->+filter{fun}                 # Text replacements for subversive browsing fun!</PRE
-></TD
-></TR
-></TABLE
->
-   </P
-><P
->    <A
-NAME="FILTER-CRUDE-PARENTAL"
-></A
->
-    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-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
->
-   </P
-><P
->    <A
-NAME="FILTER-IE-EXPLOITS"
-></A
->
-    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->+filter{ie-exploits}         # Disable some known Internet Explorer bug exploits.</PRE
-></TD
-></TR
-></TABLE
->
-   </P
-><P
->    <A
-NAME="FILTER-SITE-SPECIFICS"
-></A
->
-    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->+filter{site-specifics}      # Cure for site-specific problems. Don't apply generally!</PRE
-></TD
-></TR
-></TABLE
->
-   </P
-><P
->    <A
-NAME="FILTER-NO-PING"
-></A
->
-    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->+filter{no-ping}             # Removes non-standard ping attributes in &#60;a&#62; and &#60;area&#62; tags.</PRE
-></TD
-></TR
-></TABLE
->
-   </P
-><P
->    <A
-NAME="FILTER-GOOGLE"
-></A
->
-    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-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
->
-   </P
-><P
->    <A
-NAME="FILTER-YAHOO"
-></A
->
-    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-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
->
-   </P
-><P
->    <A
-NAME="FILTER-MSN"
-></A
->
-    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-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
->
-   </P
-><P
->    <A
-NAME="FILTER-BLOGSPOT"
-></A
->
-    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-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
->
-   </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><H4
-CLASS="SECT3"
-><A
-NAME="FORCE-TEXT-MODE"
->8.5.16. force-text-mode</A
-></H4
-><P
-></P
-><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"
-><P
-></P
-><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
->     <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->+force-text-mode
-     </PRE
-></TD
-></TR
-></TABLE
->
-   </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><H4
-CLASS="SECT3"
-><A
-NAME="FORWARD-OVERRIDE"
->8.5.17. forward-override</A
-></H4
-><P
-></P
-><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
-><P
-></P
-><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"
-><P
-></P
-><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
->     <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-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
+   another.example.com/testing
+</pre>
+                    </td>
+                  </tr>
+                </table>
+              </dd>
+            </dl>
+          </div>
+        </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">
++filter{js-annoyances}       # Get rid of particularly annoying JavaScript abuse.
+</pre>
+                    </td>
+                  </tr>
+                </table>
+
+                <p>
+                  <a name="FILTER-JS-EVENTS"></a>
+                </p>
+                <table border="0" bgcolor="#E0E0E0" 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>
+
+                <p>
+                  <a name="FILTER-HTML-ANNOYANCES"></a>
+                </p>
+                <table border="0" bgcolor="#E0E0E0" width="90%">
+                  <tr>
+                    <td>
+<pre class="SCREEN">
++filter{html-annoyances}     # Get rid of particularly annoying HTML abuse.
+</pre>
+                    </td>
+                  </tr>
+                </table>
+
+                <p>
+                  <a name="FILTER-CONTENT-COOKIES"></a>
+                </p>
+                <table border="0" bgcolor="#E0E0E0" width="90%">
+                  <tr>
+                    <td>
+<pre class="SCREEN">
++filter{content-cookies}     # Kill cookies that come in the HTML or JS content.
+</pre>
+                    </td>
+                  </tr>
+                </table>
+
+                <p>
+                  <a name="FILTER-REFRESH-TAGS"></a>
+                </p>
+                <table border="0" bgcolor="#E0E0E0" width="90%">
+                  <tr>
+                    <td>
+<pre class="SCREEN">
++filter{refresh-tags}        # Kill automatic refresh tags (for dial-on-demand setups).
+</pre>
+                    </td>
+                  </tr>
+                </table>
+
+                <p>
+                  <a name="FILTER-UNSOLICITED-POPUPS"></a>
+                </p>
+                <table border="0" bgcolor="#E0E0E0" 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>
+
+                <p>
+                  <a name="FILTER-ALL-POPUPS"></a>
+                </p>
+                <table border="0" bgcolor="#E0E0E0" 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>
+
+                <p>
+                  <a name="FILTER-IMG-REORDER"></a>
+                </p>
+                <table border="0" bgcolor="#E0E0E0" 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>
+
+                <p>
+                  <a name="FILTER-BANNERS-BY-SIZE"></a>
+                </p>
+                <table border="0" bgcolor="#E0E0E0" width="90%">
+                  <tr>
+                    <td>
+<pre class="SCREEN">
++filter{banners-by-size}     # Kill banners by size.
+</pre>
+                    </td>
+                  </tr>
+                </table>
+
+                <p>
+                  <a name="FILTER-BANNERS-BY-LINK"></a>
+                </p>
+                <table border="0" bgcolor="#E0E0E0" width="90%">
+                  <tr>
+                    <td>
+<pre class="SCREEN">
++filter{banners-by-link}     # Kill banners by their links to known clicktrackers.
+</pre>
+                    </td>
+                  </tr>
+                </table>
+
+                <p>
+                  <a name="FILTER-WEBBUGS"></a>
+                </p>
+                <table border="0" bgcolor="#E0E0E0" width="90%">
+                  <tr>
+                    <td>
+<pre class="SCREEN">
++filter{webbugs}             # Squish WebBugs (1x1 invisible GIFs used for user tracking).
+</pre>
+                    </td>
+                  </tr>
+                </table>
+
+                <p>
+                  <a name="FILTER-TINY-TEXTFORMS"></a>
+                </p>
+                <table border="0" bgcolor="#E0E0E0" 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>
+
+                <p>
+                  <a name="FILTER-JUMPING-WINDOWS"></a>
+                </p>
+                <table border="0" bgcolor="#E0E0E0" width="90%">
+                  <tr>
+                    <td>
+<pre class="SCREEN">
++filter{jumping-windows}     # Prevent windows from resizing and moving themselves.
+</pre>
+                    </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-DEMORONIZER"></a>
+                </p>
+                <table border="0" bgcolor="#E0E0E0" width="90%">
+                  <tr>
+                    <td>
+<pre class="SCREEN">
++filter{demoronizer}         # Fix MS's non-standard use of standard charsets.
+</pre>
+                    </td>
+                  </tr>
+                </table>
+
+                <p>
+                  <a name="FILTER-SHOCKWAVE-FLASH"></a>
+                </p>
+                <table border="0" bgcolor="#E0E0E0" width="90%">
+                  <tr>
+                    <td>
+<pre class="SCREEN">
++filter{shockwave-flash}     # Kill embedded Shockwave Flash objects.
+</pre>
+                    </td>
+                  </tr>
+                </table>
+
+                <p>
+                  <a name="FILTER-QUICKTIME-KIOSKMODE"></a>
+                </p>
+                <table border="0" bgcolor="#E0E0E0" width="90%">
+                  <tr>
+                    <td>
+<pre class="SCREEN">
++filter{quicktime-kioskmode} # Make Quicktime movies saveable.
+</pre>
+                    </td>
+                  </tr>
+                </table>
+
+                <p>
+                  <a name="FILTER-FUN"></a>
+                </p>
+                <table border="0" bgcolor="#E0E0E0" width="90%">
+                  <tr>
+                    <td>
+<pre class="SCREEN">
++filter{fun}                 # Text replacements for subversive browsing fun!
+</pre>
+                    </td>
+                  </tr>
+                </table>
+
+                <p>
+                  <a name="FILTER-CRUDE-PARENTAL"></a>
+                </p>
+                <table border="0" bgcolor="#E0E0E0" 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>
+
+                <p>
+                  <a name="FILTER-IE-EXPLOITS"></a>
+                </p>
+                <table border="0" bgcolor="#E0E0E0" width="90%">
+                  <tr>
+                    <td>
+<pre class="SCREEN">
++filter{ie-exploits}         # Disable some known Internet Explorer bug exploits.
+</pre>
+                    </td>
+                  </tr>
+                </table>
+
+                <p>
+                  <a name="FILTER-SITE-SPECIFICS"></a>
+                </p>
+                <table border="0" bgcolor="#E0E0E0" width="90%">
+                  <tr>
+                    <td>
+<pre class="SCREEN">
++filter{site-specifics}      # Cure for site-specific problems. Don't apply generally!
+</pre>
+                    </td>
+                  </tr>
+                </table>
+
+                <p>
+                  <a name="FILTER-NO-PING"></a>
+                </p>
+                <table border="0" bgcolor="#E0E0E0" 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>
+
+                <p>
+                  <a name="FILTER-GOOGLE"></a>
+                </p>
+                <table border="0" bgcolor="#E0E0E0" 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>
+
+                <p>
+                  <a name="FILTER-YAHOO"></a>
+                </p>
+                <table border="0" bgcolor="#E0E0E0" 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>
+
+                <p>
+                  <a name="FILTER-MSN"></a>
+                </p>
+                <table border="0" bgcolor="#E0E0E0" 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>
+
+                <p>
+                  <a name="FILTER-BLOGSPOT"></a>
+                </p>
+                <table border="0" bgcolor="#E0E0E0" 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">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">
++force-text-mode
+
+</pre>
+                    </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">
+# 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.
 # This way you can continue to use Tor for your normal browsing,
 # without overloading the Tor network with your FreeBSD ports updates
@@ -4494,255 +3207,195 @@ CLASS="QUOTE"
  -overwrite-last-modified     \
 }
 TAG:^User-Agent: fetch libfetch/2\.0$
-     </PRE
-></TD
-></TR
-></TABLE
->
-   </P
-></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
-><P
-></P
-><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
->     <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. 
+
+</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
->
-   </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><H4
-CLASS="SECT3"
-><A
-NAME="HANDLE-AS-IMAGE"
->8.5.19. handle-as-image</A
-></H4
-><P
-></P
-><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
->     <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-># Generic image extensions:
+
+</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">
+# Generic image extensions:
 #
 {+handle-as-image}
 /.*\.(gif|jpg|jpeg|png|bmp|ico)$
@@ -4751,1028 +3404,850 @@ CLASS="SCREEN"
 # blocked as images:
 #
 {+block{Nasty banners.} +handle-as-image}
-nasty-banner-server.example.com/junk.cgi\?output=trash</PRE
-></TD
-></TR
-></TABLE
->
-   </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><H4
-CLASS="SECT3"
-><A
-NAME="HIDE-ACCEPT-LANGUAGE"
->8.5.20. hide-accept-language</A
-></H4
-><P
-></P
-><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
->     <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-># Pretend to use Canadian language settings.
+nasty-banner-server.example.com/junk.cgi\?output=trash
+</pre>
+                    </td>
+                  </tr>
+                </table>
+              </dd>
+            </dl>
+          </div>
+        </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">
+# 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
->
-   </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><H4
-CLASS="SECT3"
-><A
-NAME="HIDE-CONTENT-DISPOSITION"
->8.5.21. hide-content-disposition</A
-></H4
-><P
-></P
-><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
->     <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-># Disarm the download link in Sourceforge's patch tracker
+/
+</pre>
+                    </td>
+                  </tr>
+                </table>
+              </dd>
+            </dl>
+          </div>
+        </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">
+# 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
->
-   </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><H4
-CLASS="SECT3"
-><A
-NAME="HIDE-IF-MODIFIED-SINCE"
->8.5.22. hide-if-modified-since</A
-></H4
-><P
-></P
-><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
->     <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-># Let the browser revalidate but make tracking based on the time less likely.
+ .sourceforge.net/tracker/download\.php
+</pre>
+                    </td>
+                  </tr>
+                </table>
+              </dd>
+            </dl>
+          </div>
+        </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">
+# 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
->
-   </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><H4
-CLASS="SECT3"
-><A
-NAME="HIDE-FROM-HEADER"
->8.5.23. hide-from-header</A
-></H4
-><P
-></P
-><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
->    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-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"
->+hide-from-header{spam-me-senseless@sittingduck.example.com}</PRE
-></TD
-></TR
-></TABLE
->
-   </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><H4
-CLASS="SECT3"
-><A
-NAME="HIDE-REFERRER"
->8.5.24. hide-referrer</A
-></H4
-><A
-NAME="HIDE-REFERER"
-></A
-><P
-></P
-><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
-><P
-></P
-><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
->     <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->+hide-referrer{forge}</PRE
-></TD
-></TR
-></TABLE
-> or
-     <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->+hide-referrer{http://www.yahoo.com/}</PRE
-></TD
-></TR
-></TABLE
->
-   </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><H4
-CLASS="SECT3"
-><A
-NAME="HIDE-USER-AGENT"
->8.5.25. hide-user-agent</A
-></H4
-><P
-></P
-><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"
-><P
-></P
-><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
->     <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->+hide-user-agent{Netscape 6.1 (X11; I; Linux 2.4.18 i686)}</PRE
-></TD
-></TR
-></TABLE
->
-   </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><H4
-CLASS="SECT3"
-><A
-NAME="LIMIT-CONNECT"
->8.5.26. limit-connect</A
-></H4
-><P
-></P
-><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
->     <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->+limit-connect{443}                   # Port 443 is OK.
+/
+</pre>
+                    </td>
+                  </tr>
+                </table>
+              </dd>
+            </dl>
+          </div>
+        </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">
++hide-from-header{block}
+</pre>
+                    </td>
+                  </tr>
+                </table>
+                or
+                <table border="0" bgcolor="#E0E0E0" width="90%">
+                  <tr>
+                    <td>
+<pre class="SCREEN">
++hide-from-header{spam-me-senseless@sittingduck.example.com}
+</pre>
+                    </td>
+                  </tr>
+                </table>
+              </dd>
+            </dl>
+          </div>
+        </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%">
+                  <tr>
+                    <td>
+<pre class="SCREEN">
++hide-referrer{forge}
+</pre>
+                    </td>
+                  </tr>
+                </table>
+                or
+                <table border="0" bgcolor="#E0E0E0" width="90%">
+                  <tr>
+                    <td>
+<pre class="SCREEN">
++hide-referrer{http://www.yahoo.com/}
+</pre>
+                    </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">
++hide-user-agent{Netscape 6.1 (X11; I; Linux 2.4.18 i686)}
+</pre>
+                    </td>
+                  </tr>
+                </table>
+              </dd>
+            </dl>
+          </div>
+        </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">
++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
->
-   </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><H4
-CLASS="SECT3"
-><A
-NAME="PREVENT-COMPRESSION"
->8.5.27. prevent-compression</A
-></H4
-><P
-></P
-><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
->    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-># Selectively turn off compression, and enable a filter
++limit-connect{,}                     # No HTTPS/SSL traffic is allowed
+</pre>
+                    </td>
+                  </tr>
+                </table>
+              </dd>
+            </dl>
+          </div>
+        </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">
+# Selectively turn off compression, and enable a filter
 #
 { +filter{tiny-textforms} +prevent-compression }
 # Match only these sites
@@ -5788,1076 +4263,771 @@ CLASS="SCREEN"
 # Then maybe make exceptions for broken sites:
 #
 { -prevent-compression }
-.compusa.com/</PRE
-></TD
-></TR
-></TABLE
->
-   </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><H4
-CLASS="SECT3"
-><A
-NAME="OVERWRITE-LAST-MODIFIED"
->8.5.28. overwrite-last-modified</A
-></H4
-><P
-></P
-><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
->     <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-># Let the browser revalidate without being tracked across sessions
+.compusa.com/
+</pre>
+                    </td>
+                  </tr>
+                </table>
+              </dd>
+            </dl>
+          </div>
+        </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">
+# 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
->
-   </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><H4
-CLASS="SECT3"
-><A
-NAME="REDIRECT"
->8.5.29. redirect</A
-></H4
-><P
-></P
-><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
->    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-># Replace example.com's style sheet with another one
+/
+</pre>
+                    </td>
+                  </tr>
+                </table>
+              </dd>
+            </dl>
+          </div>
+        </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">
+# 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
->)
+# (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@$@&#38;mode=expanded@}}
-undeadly.org/cgi\?action=article&#38;sid=\d*$
+{+redirect{s@$@&amp;mode=expanded@}}
+undeadly.org/cgi\?action=article&amp;sid=\d*$
 
 # Redirect Google search requests to MSN
-{+redirect{s@^http://[^/]*/search\?q=([^&#38;]*).*@http://search.msn.com/results.aspx?q=$1@}}
+{+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=([^&#38;]*).*@http://search.yahoo.com/search?p=$1@}}
+{+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
->
-   </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><H4
-CLASS="SECT3"
-><A
-NAME="SERVER-HEADER-FILTER"
->8.5.30. server-header-filter</A
-></H4
-><P
-></P
-><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
->     <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->{+server-header-filter{html-to-xml}}
+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">
+{+server-header-filter{html-to-xml}}
 example.org/xml-instance-that-is-delivered-as-html
 
 {+server-header-filter{xml-to-html}}
 example.org/instance-that-is-delivered-as-xml-but-is-not
-    </PRE
-></TD
-></TR
-></TABLE
->
-    </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><H4
-CLASS="SECT3"
-><A
-NAME="SERVER-HEADER-TAGGER"
->8.5.31. server-header-tagger</A
-></H4
-><P
-></P
-><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
->     <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-># Tag every request with the content type declared by the server
+
+</pre>
+                    </td>
+                  </tr>
+                </table>
+              </dd>
+            </dl>
+          </div>
+        </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">
+# Tag every request with the content type declared by the server
 {+server-header-tagger{content-type}}
 /
-    </PRE
-></TD
-></TR
-></TABLE
->
-    </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><H4
-CLASS="SECT3"
-><A
-NAME="SESSION-COOKIES-ONLY"
->8.5.32. session-cookies-only</A
-></H4
-><P
-></P
-><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
->     <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->+session-cookies-only</PRE
-></TD
-></TR
-></TABLE
->
-   </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><H4
-CLASS="SECT3"
-><A
-NAME="SET-IMAGE-BLOCKER"
->8.5.33. set-image-blocker</A
-></H4
-><P
-></P
-><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
-><P
-></P
-><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
->    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->+set-image-blocker{pattern}</PRE
-></TD
-></TR
-></TABLE
->
-   </P
-><P
->    Redirect to the BSD daemon:
-   </P
-><P
->    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->+set-image-blocker{http://www.freebsd.org/gifs/dae_up3.gif}</PRE
-></TD
-></TR
-></TABLE
->
-   </P
-><P
->    Redirect to the built-in pattern for better caching:
-   </P
-><P
->    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->+set-image-blocker{http://config.privoxy.org/send-banner?type=pattern}</PRE
-></TD
-></TR
-></TABLE
->
-   </P
-></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
-></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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> # Useful custom aliases we can use later.
+
+</pre>
+                    </td>
+                  </tr>
+                </table>
+              </dd>
+            </dl>
+          </div>
+        </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">
++session-cookies-only
+</pre>
+                    </td>
+                  </tr>
+                </table>
+              </dd>
+            </dl>
+          </div>
+        </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">
++set-image-blocker{pattern}
+</pre>
+                    </td>
+                  </tr>
+                </table>
+
+                <p>
+                  Redirect to the BSD daemon:
+                </p>
+                <p>
+                </p>
+                <table border="0" bgcolor="#E0E0E0" width="90%">
+                  <tr>
+                    <td>
+<pre class="SCREEN">
++set-image-blocker{http://www.freebsd.org/gifs/dae_up3.gif}
+</pre>
+                    </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">
++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>
+        </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">
+ # Useful custom aliases we can use later.
  #
  # Note the (required!) section header line and that this section
  # must be at the top of the actions file!
@@ -6867,79 +5037,51 @@ CLASS="SCREEN"
  # These aliases just save typing later:
  # (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
->
- -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
->
+ +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>
+ -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>
  +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="actions-file.html#FILTER-CONTENT-COOKIES"
->filter{content-cookies}</A
->
+ allow-all-cookies   = -crunch-all-cookies -<a href=
+"actions-file.html#SESSION-COOKIES-ONLY">session-cookies-only</a> -<a href=
+"actions-file.html#FILTER-CONTENT-COOKIES">filter{content-cookies}</a>
 
  # These aliases define combinations of actions
  # that are useful for certain types of sites:
  #
- fragile     = -<A
-HREF="actions-file.html#BLOCK"
->block</A
-> -<A
-HREF="actions-file.html#FILTER"
->filter</A
-> -crunch-all-cookies -<A
-HREF="actions-file.html#FAST-REDIRECTS"
->fast-redirects</A
-> -<A
-HREF="actions-file.html#HIDE-REFERER"
->hide-referrer</A
-> -<A
-HREF="actions-file.html#PREVENT-COMPRESSION"
->prevent-compression</A
->
+ fragile     = -<a href="actions-file.html#BLOCK">block</a> -<a href=
+"actions-file.html#FILTER">filter</a> -crunch-all-cookies -<a href=
+"actions-file.html#FAST-REDIRECTS">fast-redirects</a> -<a href=
+"actions-file.html#HIDE-REFERER">hide-referrer</a> -<a href=
+"actions-file.html#PREVENT-COMPRESSION">prevent-compression</a>
 
- shop        = -crunch-all-cookies -<A
-HREF="actions-file.html#FILTER-ALL-POPUPS"
->filter{all-popups}</A
->
+ shop        = -crunch-all-cookies -<a href=
+"actions-file.html#FILTER-ALL-POPUPS">filter{all-popups}</a>
 
  # Short names for other aliases, for really lazy people ;-)
  #
  c0 = +crunch-all-cookies
- c1 = -crunch-all-cookies</PRE
-></TD
-></TR
-></TABLE
-></P
-><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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> # These sites are either very complex or very keen on
+ c1 = -crunch-all-cookies
+</pre>
+            </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">
+ # These sites are either very complex or very keen on
  # user data and require minimal interference to work:
  #
  {fragile}
@@ -6950,7 +5092,7 @@ CLASS="SCREEN"
 
  # Shopping sites:
  # Allow cookies (for setting and retrieving your customer data)
- #           
+ #
  {shop}
  .quietpc.com
  .worldpay.com   # for quietpc.com
@@ -6960,234 +5102,140 @@ CLASS="SCREEN"
  #
  {-filter{all-popups} -filter{unsolicited-popups}}
   .dabs.com
-  .overclockers.co.uk</PRE
-></TD
-></TR
-></TABLE
-></P
-><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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->{ \
- +<A
-HREF="actions-file.html#CHANGE-X-FORWARDED-FOR"
->change-x-forwarded-for{block}</A
-> \
- +<A
-HREF="actions-file.html#HIDE-FROM-HEADER"
->hide-from-header{block}</A
-> \
- +<A
-HREF="actions-file.html#SET-IMAGE-BLOCKER"
->set-image-blocker{pattern}</A
-> \
+  .overclockers.co.uk
+</pre>
+            </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">
+{ \
+ +<a href=
+"actions-file.html#CHANGE-X-FORWARDED-FOR">change-x-forwarded-for{block}</a> \
+ +<a href="actions-file.html#HIDE-FROM-HEADER">hide-from-header{block}</a> \
+ +<a href=
+"actions-file.html#SET-IMAGE-BLOCKER">set-image-blocker{pattern}</a> \
 }
 / # Match all URLs
- </PRE
-></TD
-></TR
-></TABLE
-></P
-><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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->##########################################################################
+</pre>
+              </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">
+##########################################################################
 # Settings -- Don't change! For internal Privoxy use ONLY.
 ##########################################################################
 {{settings}}
-for-privoxy-version=3.0.11</PRE
-></TD
-></TR
-></TABLE
-></P
-><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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->##########################################################################
+for-privoxy-version=3.0.11
+</pre>
+              </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">
+##########################################################################
 # Aliases
 ##########################################################################
 {{alias}}
@@ -7195,76 +5243,47 @@ CLASS="SCREEN"
  # These aliases just save typing later:
  # (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
->
- -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
->
+ +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>
+ -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>
  +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="actions-file.html#FILTER-CONTENT-COOKIES"
->filter{content-cookies}</A
->
+ mercy-for-cookies   = -crunch-all-cookies -<a href=
+"actions-file.html#SESSION-COOKIES-ONLY">session-cookies-only</a> -<a href=
+"actions-file.html#FILTER-CONTENT-COOKIES">filter{content-cookies}</a>
 
  # These aliases define combinations of actions
  # that are useful for certain types of sites:
  #
- fragile     = -<A
-HREF="actions-file.html#BLOCK"
->block</A
-> -<A
-HREF="actions-file.html#FILTER"
->filter</A
-> -crunch-all-cookies -<A
-HREF="actions-file.html#FAST-REDIRECTS"
->fast-redirects</A
-> -<A
-HREF="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
-></P
-><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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->##########################################################################
+ fragile     = -<a href="actions-file.html#BLOCK">block</a> -<a href=
+"actions-file.html#FILTER">filter</a> -crunch-all-cookies -<a href=
+"actions-file.html#FAST-REDIRECTS">fast-redirects</a> -<a href=
+"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>
+
+          <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">
+##########################################################################
 # Exceptions for sites that'll break under the default action set:
 ##########################################################################
 
@@ -7273,239 +5292,167 @@ CLASS="SCREEN"
 { fragile }
 .office.microsoft.com           # surprise, surprise!
 .windowsupdate.microsoft.com
-mail.google.com</PRE
-></TD
-></TR
-></TABLE
-></P
-><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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-># Shopping sites:
+mail.google.com
+</pre>
+              </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">
+# Shopping sites:
 #
 { shop }
-.quietpc.com 
+.quietpc.com
 .worldpay.com   # for quietpc.com
 .jungle.com
-.scan.co.uk</PRE
-></TD
-></TR
-></TABLE
-></P
-><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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->{ -<A
-HREF="actions-file.html#FAST-REDIRECTS"
->fast-redirects</A
-> }
+.scan.co.uk
+</pre>
+              </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">
+{ -<a href="actions-file.html#FAST-REDIRECTS">fast-redirects</a> }
 login.yahoo.com
 edit.*.yahoo.com
 .google.com
 .altavista.com/.*(like|url|link):http
 .altavista.com/trans.*urltext=http
-.nytimes.com</PRE
-></TD
-></TR
-></TABLE
-></P
-><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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->##########################################################################
+.nytimes.com
+</pre>
+              </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">
+##########################################################################
 # Images:
 ##########################################################################
 
 # Define which file types will be treated as images, in case they get
 # blocked further down this file:
 #
-{ +<A
-HREF="actions-file.html#HANDLE-AS-IMAGE"
->handle-as-image</A
-> }
-/.*\.(gif|jpe?g|png|bmp|ico)$</PRE
-></TD
-></TR
-></TABLE
-></P
-><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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-># Known ad generators:
+{ +<a href="actions-file.html#HANDLE-AS-IMAGE">handle-as-image</a> }
+/.*\.(gif|jpe?g|png|bmp|ico)$
+</pre>
+              </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">
+# Known ad generators:
 #
 { +block-as-image }
-ar.atwola.com 
+ar.atwola.com
 .ad.doubleclick.net
 .ad.*.doubleclick.net
 .a.yimg.com/(?:(?!/i/).)*$
 .a[0-9].yimg.com/(?:(?!/i/).)*$
 bs*.gsanet.com
-.qkimg.net</PRE
-></TD
-></TR
-></TABLE
-></P
-><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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->##########################################################################
+.qkimg.net
+</pre>
+              </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">
+##########################################################################
 # Block these fine banners:
 ##########################################################################
-{ <A
-HREF="actions-file.html#BLOCK"
->+block{Banner ads.}</A
-> }
+{ <a href="actions-file.html#BLOCK">+block{Banner ads.}</a> }
 
 # Generic patterns:
-# 
+#
 ad*.
 .*ads.
 banner?.
@@ -7515,137 +5462,64 @@ count*.
 
 # Site-specific patterns (abbreviated):
 #
-.hitbox.com</PRE
-></TD
-></TR
-></TABLE
-></P
-><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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->##########################################################################
+.hitbox.com
+</pre>
+              </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">
+##########################################################################
 # Save some innocent victims of the above generic block patterns:
 ##########################################################################
 
 # By domain:
-# 
-{ -<A
-HREF="actions-file.html#BLOCK"
->block</A
-> }
+#
+{ -<a href="actions-file.html#BLOCK">block</a> }
 adv[io]*.  # (for advogato.org and advice.*)
 adsl.      # (has nothing to do with ads)
 adobe.     # (has nothing to do with ads either)
@@ -7660,147 +5534,100 @@ ad[ud]*.   # (adult.* and add.*)
 # Site-specific:
 #
 www.globalintersec.com/adv # (adv = advanced)
-www.ugu.com/sui/ugu/adv</PRE
-></TD
-></TR
-></TABLE
-></P
-><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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-># Don't filter code!
+www.ugu.com/sui/ugu/adv
+</pre>
+              </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">
+# Don't filter code!
 #
-{ -<A
-HREF="actions-file.html#FILTER"
->filter</A
-> }
+{ -<a href="actions-file.html#FILTER">filter</a> }
 /(.*/)?cvs
 bugzilla.
 developer.
 wiki.
-.sourceforge.net</PRE
-></TD
-></TR
-></TABLE
-></P
-><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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-># My user.action file. &#60;fred@example.com&#62;</PRE
-></TD
-></TR
-></TABLE
-></P
-><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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-># Aliases are local to the file they are defined in.
+.sourceforge.net
+</pre>
+              </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">
+# My user.action file. &lt;fred@example.com&gt;
+</pre>
+              </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">
+# Aliases are local to the file they are defined in.
 # (Re-)define aliases for this file:
 #
 {{alias}}
-# 
-# These aliases just save typing later, and the alias names should 
+#
+# These aliases just save typing later, and the alias names should
 # be self explanatory.
 #
 +crunch-all-cookies = +crunch-incoming-cookies +crunch-outgoing-cookies
@@ -7822,83 +5649,67 @@ 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
-></PRE
-></TD
-></TR
-></TABLE
->&#13;</P
-><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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->{ allow-all-cookies }
+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>
+</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">
+{ allow-all-cookies }
  sourceforge.net
  .yahoo.com
  .msdn.microsoft.com
- .redhat.com</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
-> Your bank is allergic to some filter, but you don't know which, so you disable them all:</P
-><P
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->{ -<A
-HREF="actions-file.html#FILTER"
->filter</A
-> }
- .your-home-banking-site.com</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
-> Some file types you may not want to filter for various reasons:</P
-><P
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-># Technical documentation is likely to contain strings that might
+ .redhat.com
+</pre>
+              </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">
+{ -<a href="actions-file.html#FILTER">filter</a> }
+ .your-home-banking-site.com
+</pre>
+              </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">
+# Technical documentation is likely to contain strings that might
 # erroneously get altered by the JavaScript-oriented filters:
 #
 .tldp.org
@@ -7907,355 +5718,217 @@ CLASS="SCREEN"
 # And this stupid host sends streaming video with a wrong MIME type,
 # so that Privoxy thinks it is getting HTML and starts filtering:
 #
-stupid-server.example.com/</PRE
-></TD
-></TR
-></TABLE
-></P
-><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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->{ +<A
-HREF="actions-file.html#BLOCK"
->block</A
->{Nasty ads.} }
+stupid-server.example.com/
+</pre>
+              </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">
+{ +<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
-></P
-><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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->{ +block-as-image }
+ another.example.net/more/junk/here/
+</pre>
+              </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">
+{ +block-as-image }
  .doubleclick.net
  .fastclick.net
  /Realmedia/ads/
- ar.atwola.com/</PRE
-></TD
-></TR
-></TABLE
-></P
-><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
-><P
-><TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->{ fragile }
+ ar.atwola.com/
+</pre>
+              </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">
+{ fragile }
  .forbes.com
  webmail.example.com
- .mybank.com</PRE
-></TD
-></TR
-></TABLE
-></P
-><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
-><P
-><TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->{ +<A
-HREF="actions-file.html#FILTER-FUN"
->filter{fun}</A
-> }
- / # For ALL sites!</PRE
-></TD
-></TR
-></TABLE
-></P
-><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-&#62;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
-><P
-><TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->{ allow-ads }
+ .mybank.com
+</pre>
+              </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">
+{ +<a href="actions-file.html#FILTER-FUN">filter{fun}</a> }
+ / # For ALL sites!
+</pre>
+              </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">
+{ allow-ads }
  .sourceforge.net
  .slashdot.org
- .osdn.net</PRE
-></TD
-></TR
-></TABLE
->   </P
-><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
-><P
-><TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->{ handle-as-text }
- /.*\.sh$</PRE
-></TD
-></TR
-></TABLE
->   </P
-><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
-><P
-><TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-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
-></P
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-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
->
\ No newline at end of file
+ .osdn.net
+</pre>
+              </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">
+{ handle-as-text }
+ /.*\.sh$
+</pre>
+              </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">
+{ +<a href=
+"actions-file.html#SET-IMAGE-BLOCKER">set-image-blocker{blank}</a> }
+/ # ALL sites
+</pre>
+              </td>
+            </tr>
+          </table>
+        </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="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 1cdc628..8bc96bc 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><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">
-</head
-><BODY
-CLASS="SECT1"
-BGCOLOR="#EEEEEE"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><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
-ALIGN="LEFT"
-WIDTH="100%"></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
-><P
-><P
-></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
-><P
-></P
-></P
-><P
-><P
-></P
-><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
-><P
-></P
-></P
-><P
-><P
-></P
-><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
-><P
-></P
-></P
-><P
-><P
-></P
-><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
-><P
-></P
-></P
-><P
-><P
-></P
-><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
-><P
-></P
-></P
-><P
-><P
-></P
-><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
-><P
-></P
-></P
-><P
-><P
-></P
-><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
-><P
-></P
-></P
-><P
-><P
-></P
-><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
-></P
-></P
-><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
-></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
-><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
-></P
-><UL
-><LI
-><P
->    <A
-HREF="javascript:void(window.open('http://config.privoxy.org/toggle?mini=y&#38;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&#38;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&#38;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
-><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
-></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
-><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"
->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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> Matches for http://www.google.com:
+<!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 {
+  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>
+      </table>
+      <hr width="100%" class="c1">
+    </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>
 
- In file: default.action <SPAN
-CLASS="GUIBUTTON"
->[ View ]</SPAN
-> <SPAN
-CLASS="GUIBUTTON"
->[ Edit ]</SPAN
->
+        <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>
+        <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">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">
+ Matches for http://www.google.com:
+
+ In file: default.action <span class="GUIBUTTON">[ View ]</span> <span class=
+"GUIBUTTON">[ Edit ]</span>
 
  {+change-x-forwarded-for{block}
  +deanimate-gifs {last}
@@ -1464,180 +780,96 @@ CLASS="GUIBUTTON"
  +session-cookies-only
  +set-image-blocker {pattern}
 /
+
  { -session-cookies-only }
  .google.com
 
  { -fast-redirects }
  .google.com
 
-In file: user.action <SPAN
-CLASS="GUIBUTTON"
->[ View ]</SPAN
-> <SPAN
-CLASS="GUIBUTTON"
->[ Edit ]</SPAN
->
-(no matches in this file)  </PRE
-></TD
-></TR
-></TABLE
-></P
-><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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->&#13; Final results:
+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">
+&#13; Final results:
+
  -add-header
  -block
- +change-x-forwarded-for{block} 
+ +change-x-forwarded-for{block}
  -client-header-filter{hide-tor-exit-notation}
  -content-type-overwrite
  -crunch-client-header
@@ -1688,142 +920,90 @@ CLASS="SCREEN"
  -prevent-compression
  -redirect
  -server-header-filter{xml-to-html}
- -server-header-filter{html-to-xml} 
+ -server-header-filter{html-to-xml}
  -session-cookies-only
- +set-image-blocker {pattern} </PRE
-></TD
-></TR
-></TABLE
-></P
-><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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->&#13; { +block{Domains starts with "ad"} }
+ +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">
+&#13; { +block{Domains starts with "ad"} }
   ad*.
 
  { +block{Domain contains "ad"} }
   .ad.
 
  { +block{Doubleclick banner server} +handle-as-image }
-  .[a-vx-z]*.doubleclick.net</PRE
-></TD
-></TR
-></TABLE
-></P
-><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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->&#13; Matches for http://www.example.net/adsl/HOWTO/:
+  .[a-vx-z]*.doubleclick.net
+</pre>
+            </td>
+          </tr>
+        </table>
 
- In file: default.action <SPAN
-CLASS="GUIBUTTON"
->[ View ]</SPAN
-> <SPAN
-CLASS="GUIBUTTON"
->[ Edit ]</SPAN
->
+        <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">
+&#13; Matches for http://www.example.net/adsl/HOWTO/:
 
- {-add-header 
+ In file: default.action <span class="GUIBUTTON">[ View ]</span> <span class=
+"GUIBUTTON">[ Edit ]</span>
+
+ {-add-header
   -block
-  +change-x-forwarded-for{block} 
+  +change-x-forwarded-for{block}
   -client-header-filter{hide-tor-exit-notation}
   -content-type-overwrite
   -crunch-client-header
@@ -1831,8 +1011,8 @@ CLASS="GUIBUTTON"
   -crunch-incoming-cookies
   -crunch-outgoing-cookies
   -crunch-server-header
-  +deanimate-gifs 
-  -downgrade-http-version 
+  +deanimate-gifs
+  -downgrade-http-version
   +fast-redirects {check-decoded-url}
   -filter {js-events}
   -filter {content-cookies}
@@ -1862,326 +1042,212 @@ CLASS="GUIBUTTON"
   -filter {no-ping}
   -force-text-mode
   -handle-as-empty-document
-  -handle-as-image 
+  -handle-as-image
   -hide-accept-language
-  -hide-content-disposition  
-  +hide-from-header{block} 
-  +hide-referer{forge} 
-  -hide-user-agent 
+  -hide-content-disposition
+  +hide-from-header{block}
+  +hide-referer{forge}
+  -hide-user-agent
   -overwrite-last-modified
-  +prevent-compression 
+  +prevent-compression
   -redirect
   -server-header-filter{xml-to-html}
-  -server-header-filter{html-to-xml} 
-  +session-cookies-only 
+  -server-header-filter{html-to-xml}
+  +session-cookies-only
   +set-image-blocker{blank} }
    /
 
  { +block{Path contains "ads".} +handle-as-image }
-  /ads</PRE
-></TD
-></TR
-></TABLE
-></P
-><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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->&#13; { -block }
-  /adsl</PRE
-></TD
-></TR
-></TABLE
-></P
-><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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->&#13; { +block{Path starts with "ads".} +handle-as-image }
- /ads</PRE
-></TD
-></TR
-></TABLE
-></P
-><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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->&#13; { shop }
+  /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">
+&#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">
+&#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">
+&#13; { shop }
  .quietpc.com
  .worldpay.com   # for quietpc.com
  .jungle.com
  .scan.co.uk
- .forbes.com</PRE
-></TD
-></TR
-></TABLE
-></P
-><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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->&#13; { -filter }
+ .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">
+&#13; { -filter }
  # Disable ALL filter actions for sites in this section
  .forbes.com
  developer.ibm.com
- localhost</PRE
-></TD
-></TR
-></TABLE
-></P
-><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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->&#13; { fragile }
+ 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">
+&#13; { fragile }
  # Handle with care: easy to break
  mail.google.
- mybank.example.com</PRE
-></TD
-></TR
-></TABLE
-></P
-><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
-ALIGN="LEFT"
-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
->
+ 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>
+    </div>
+  </body>
+</html>
+
index d41f069..9c4ba59 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><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">
-</head
-><BODY
-CLASS="SECT1"
-BGCOLOR="#EEEEEE"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><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
-ALIGN="LEFT"
-WIDTH="100%"></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
-> <TT
-CLASS="LITERAL"
->  <P
-CLASS="LITERALLAYOUT"
->&nbsp;&nbsp;<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->confdir /etc/privoxy</I
-></SPAN
-></P
->
- </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
-><P
-></P
-><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
->   <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->  user-manual  /usr/share/doc/privoxy/user-manual</PRE
-></TD
-></TR
-></TABLE
->
-  </P
-><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
->   <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->  user-manual  http://example.com/privoxy/user-manual/</PRE
-></TD
-></TR
-></TABLE
->
-  </P
-><DIV
-CLASS="WARNING"
-><P
-></P
-><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
-><DIV
-CLASS="SECT3"
-><H4
-CLASS="SECT3"
-><A
-NAME="TRUST-INFO-URL"
->7.1.2. trust-info-url</A
-></H4
-><P
-></P
-><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="ADMIN-ADDRESS"
->7.1.3. admin-address</A
-></H4
-><P
-></P
-><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="PROXY-INFO-URL"
->7.1.4. proxy-info-url</A
-></H4
-><P
-></P
-><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
-><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
-><P
-></P
-><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="SECT3"
-><H4
-CLASS="SECT3"
-><A
-NAME="TEMPLDIR"
->7.2.2. templdir</A
-></H4
-><P
-></P
-><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="LOGDIR"
->7.2.3. logdir</A
-></H4
-><P
-></P
-><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="ACTIONSFILE"
->7.2.4. actionsfile</A
-></H4
-><A
-NAME="DEFAULT.ACTION"
-></A
-><A
-NAME="STANDARD.ACTION"
-></A
-><A
-NAME="USER.ACTION"
-></A
-><P
-></P
-><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
-><P
-></P
-><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
-><P
-></P
-></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="FILTERFILE"
->7.2.5. filterfile</A
-></H4
-><A
-NAME="DEFAULT.FILTER"
-></A
-><P
-></P
-><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="LOGFILE"
->7.2.6. logfile</A
-></H4
-><P
-></P
-><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="TRUSTFILE"
->7.2.7. trustfile</A
-></H4
-><P
-></P
-><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
-><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
-><P
-></P
-><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
->    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-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.
+<!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 {
+  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">
+  user-manual  /usr/share/doc/privoxy/user-manual
+</pre>
+                    </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">
+  user-manual  http://example.com/privoxy/user-manual/
+</pre>
+                    </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>
+        <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="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="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>
+      <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="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="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="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="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="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="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>
+      <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">
+  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
   debug     4 # show I/O status
   debug     8 # show header parsing
@@ -1386,3314 +1013,2500 @@ CLASS="APPLICATION"
   debug   128 # debug redirects
   debug   256 # debug GIF de-animation
   debug   512 # Common Log Format
-  debug  1024 # Log the destination for requests <SPAN
-CLASS="APPLICATION"
->Privoxy</SPAN
-> didn't let through, and the reason why.
+  debug  1024 # Log the destination for requests <span class=
+"APPLICATION">Privoxy</span> didn't let through, and the reason why.
   debug  2048 # CGI user interface
   debug  4096 # Startup banner and warnings.
   debug  8192 # Non-fatal errors
-  debug 32768 # log all data read from the network</PRE
-></TD
-></TR
-></TABLE
->
-   </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
-><P
-></P
-><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
-><P
-></P
-><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
-><P
-></P
-><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
->    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  listen-address  192.168.0.1:8118</PRE
-></TD
-></TR
-></TABLE
->
-   </P
-><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
->    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  listen-address [::1]:8118</PRE
-></TD
-></TR
-></TABLE
->
-   </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><H4
-CLASS="SECT3"
-><A
-NAME="TOGGLE"
->7.4.2. toggle</A
-></H4
-><P
-></P
-><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="ENABLE-REMOTE-TOGGLE"
->7.4.3. enable-remote-toggle</A
-></H4
-><P
-></P
-><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-HTTP-TOGGLE"
->7.4.4. enable-remote-http-toggle</A
-></H4
-><P
-></P
-><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-EDIT-ACTIONS"
->7.4.5. enable-edit-actions</A
-></H4
-><P
-></P
-><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="ENFORCE-BLOCKS"
->7.4.6. enforce-blocks</A
-></H4
-><P
-></P
-><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="ACLS"
->7.4.7. ACLs: permit-access and deny-access</A
-></H4
-><A
-NAME="PERMIT-ACCESS"
-></A
-><A
-NAME="DENY-ACCESS"
-></A
-><P
-></P
-><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
->    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->  permit-access  localhost</PRE
-></TD
-></TR
-></TABLE
->
-   </P
-><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
->    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->  permit-access  www.privoxy.org/24 www.example.com/32</PRE
-></TD
-></TR
-></TABLE
->
-   </P
-><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
->    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-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
->
-   </P
-><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
->    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  permit-access  192.0.2.0/24</PRE
-></TD
-></TR
-></TABLE
->
-   </P
-><P
->     This is equivalent to the following line even if listening on an
-     IPv4 address (not supported on all platforms):
-   </P
-><P
->    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  permit-access  [::ffff:192.0.2.0]/120</PRE
-></TD
-></TR
-></TABLE
->
-   </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><H4
-CLASS="SECT3"
-><A
-NAME="BUFFER-LIMIT"
->7.4.8. buffer-limit</A
-></H4
-><P
-></P
-><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
-><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
-><P
-></P
-><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
->    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->  forward   /      parent-proxy.example.org:8080
-  forward   :443   .</PRE
-></TD
-></TR
-></TABLE
->
-   </P
-><P
->    Everything goes to our example ISP's caching proxy, except for requests
-    to that ISP's sites:
-   </P
-><P
->    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->  forward   /                  caching-proxy.isp.example.net:8000
-  forward   .isp.example.net   .</PRE
-></TD
-></TR
-></TABLE
->
-   </P
-><P
->    Parent proxy specified by an IPv6 address:
-   </P
-><P
->    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  forward   /                   [2001:DB8::1]:8000</PRE
-></TD
-></TR
-></TABLE
->
-   </P
-><P
->    Suppose your parent proxy doesn't support IPv6:
-   </P
-><P
->    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  forward  /                        parent-proxy.example.org:8000
+  debug 32768 # log all data read from the network
+</pre>
+                    </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"><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">
+  listen-address  192.168.0.1:8118
+</pre>
+                    </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">
+  listen-address [::1]:8118
+</pre>
+                    </td>
+                  </tr>
+                </table>
+              </dd>
+            </dl>
+          </div>
+        </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="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-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-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="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="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">
+  permit-access  localhost
+</pre>
+                    </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">
+  permit-access  www.privoxy.org/24 www.example.com/32
+</pre>
+                    </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">
+  permit-access  192.168.45.64/26
+  deny-access    192.168.45.73    www.dirty-stuff.example.com
+</pre>
+                    </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">
+  permit-access  192.0.2.0/24
+</pre>
+                    </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">
+  permit-access  [::ffff:192.0.2.0]/120
+</pre>
+                    </td>
+                  </tr>
+                </table>
+              </dd>
+            </dl>
+          </div>
+        </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>
+      <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">
+  forward   /      parent-proxy.example.org:8080
+  forward   :443   .
+</pre>
+                    </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">
+  forward   /                  caching-proxy.isp.example.net:8000
+  forward   .isp.example.net   .
+</pre>
+                    </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">
+  forward   /                   [2001:DB8::1]:8000
+</pre>
+                    </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">
+  forward  /                        parent-proxy.example.org:8000
   forward  ipv6-server.example.org  .
-  forward  &#60;[2-3][0-9a-f][0-9a-f][0-9a-f]:*&#62;   .</PRE
-></TD
-></TR
-></TABLE
->
-   </P
-></DD
-></DL
-></DIV
-></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
-><P
-></P
-><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
->    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-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
->
-   </P
-><P
->    A rule that uses a SOCKS 4 gateway for all destinations but no HTTP parent looks like this:
-   </P
-><P
->    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->  forward-socks4   /               socks-gw.example.com:1080  .</PRE
-></TD
-></TR
-></TABLE
->
-   </P
-><P
->    To chain Privoxy and Tor, both running on the same system, you would use 
-    something like:
-   </P
-><P
->    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->  forward-socks5   /               127.0.0.1:9050 .</PRE
-></TD
-></TR
-></TABLE
->
-   </P
-><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
->    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->  forward         192.168.*.*/     .
+  forward  &lt;[2-3][0-9a-f][0-9a-f][0-9a-f]:*&gt;   .
+</pre>
+                    </td>
+                  </tr>
+                </table>
+              </dd>
+            </dl>
+          </div>
+        </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">
+  forward-socks4a   /              socks-gw.example.com:1080  www-cache.isp.example.net:8080
+  forward           .example.com   .
+</pre>
+                    </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">
+  forward-socks4   /               socks-gw.example.com:1080  .
+</pre>
+                    </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">
+  forward-socks5   /               127.0.0.1:9050 .
+</pre>
+                    </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">
+  forward         192.168.*.*/     .
   forward            10.*.*.*/     .
-  forward           127.*.*.*/     .</PRE
-></TD
-></TR
-></TABLE
->
-   </P
-><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
->    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> forward           localhost/     .</PRE
-></TD
-></TR
-></TABLE
->
-   </P
-></DD
-></DL
-></DIV
-></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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->  forward    /           .
-  forward    .isp-b.example.net  host-b:8118</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
-> host-b:</P
-><P
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->  forward    /           .
-  forward    .isp-a.example.org  host-a:8118</PRE
-></TD
-></TR
-></TABLE
-></P
-><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 -&#62; squid -&#62; 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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-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 
+  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 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">
+ forward           localhost/     .
+</pre>
+                    </td>
+                  </tr>
+                </table>
+              </dd>
+            </dl>
+          </div>
+        </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">
+  forward    /           .
+  forward    .isp-b.example.net  host-b:8118
+</pre>
+              </td>
+            </tr>
+          </table>
 
-  # Define ACL for protocol FTP 
-  acl ftp proto FTP 
+          <p>
+            host-b:
+          </p>
+          <p>
+          </p>
+          <table border="0" bgcolor="#E0E0E0" 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">
+  # Define Privoxy as parent proxy (without ICP)
+  cache_peer 127.0.0.1 parent 8118 7 no-query
+
+  # Define ACL for protocol FTP
+  acl ftp proto FTP
 
   # Do not forward FTP requests to Privoxy
-  always_direct allow ftp 
+  always_direct allow ftp
 
   # Forward all the rest to Privoxy
-  never_direct allow all</PRE
-></TD
-></TR
-></TABLE
-></P
-><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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->  forward   /                          .
-  forward   /.*\.(exe|com|dll|zip)$    antivir.example.com:8010</PRE
-></TD
-></TR
-></TABLE
-> </P
-></DIV
-><DIV
-CLASS="SECT3"
-><H4
-CLASS="SECT3"
-><A
-NAME="FORWARDED-CONNECT-RETRIES"
->7.5.4. forwarded-connect-retries</A
-></H4
-><P
-></P
-><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
-></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
-><P
-></P
-><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="SECT3"
-><H4
-CLASS="SECT3"
-><A
-NAME="ALLOW-CGI-REQUEST-CRUNCHING"
->7.6.2. allow-cgi-request-crunching</A
-></H4
-><P
-></P
-><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="SPLIT-LARGE-FORMS"
->7.6.3. split-large-forms</A
-></H4
-><P
-></P
-><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="KEEP-ALIVE-TIMEOUT"
->7.6.4. keep-alive-timeout</A
-></H4
-><P
-></P
-><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="DEFAULT-SERVER-TIMEOUT"
->7.6.5. default-server-timeout</A
-></H4
-><P
-></P
-><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="CONNECTION-SHARING"
->7.6.6. connection-sharing</A
-></H4
-><P
-></P
-><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="SOCKET-TIMEOUT"
->7.6.7. socket-timeout</A
-></H4
-><P
-></P
-><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="MAX-CLIENT-CONNECTIONS"
->7.6.8. max-client-connections</A
-></H4
-><P
-></P
-><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="HANDLE-AS-EMPTY-DOC-RETURNS-OK"
->7.6.9. handle-as-empty-doc-returns-ok</A
-></H4
-><P
-></P
-><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="ENABLE-COMPRESSION"
->7.6.10. enable-compression</A
-></H4
-><P
-></P
-><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="COMPRESSION-LEVEL"
->7.6.11. compression-level</A
-></H4
-><P
-></P
-><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
->    <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="90%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->    # Best speed (compared to the other levels)
+  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">
+  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>
+        </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="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="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="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="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="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="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="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="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="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="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">
+    # Best speed (compared to the other levels)
     compression-level 1
     # Best compression
     compression-level 9
@@ -4703,373 +3516,188 @@ CLASS="SCREEN"
     # is superior to using no compression at all, the benchmark
     # is likely to be flawed.
     compression-level 0
-    </PRE
-></TD
-></TR
-></TABLE
->
-   </P
-></DD
-></DL
-></DIV
-></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
-> <TT
-CLASS="LITERAL"
->  <P
-CLASS="LITERALLAYOUT"
->&nbsp;&nbsp;<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->activity-animation   1</I
-></SPAN
-><br>
-&nbsp;&nbsp;&nbsp;</P
-> 
- </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
-> <TT
-CLASS="LITERAL"
->  <P
-CLASS="LITERALLAYOUT"
->&nbsp;&nbsp;<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->log-messages       1</I
-></SPAN
-><br>
-&nbsp;&nbsp;&nbsp;</P
-> 
- </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
-> <TT
-CLASS="LITERAL"
->  <P
-CLASS="LITERALLAYOUT"
->&nbsp;&nbsp;<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->log-buffer-size      1</I
-></SPAN
-><br>
-&nbsp;&nbsp;&nbsp;</P
-> 
- </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
-> <TT
-CLASS="LITERAL"
->  <P
-CLASS="LITERALLAYOUT"
->&nbsp;&nbsp;<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->log-max-lines      200</I
-></SPAN
-><br>
-&nbsp;&nbsp;&nbsp;</P
-> 
- </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
-> <TT
-CLASS="LITERAL"
->  <P
-CLASS="LITERALLAYOUT"
->&nbsp;&nbsp;<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->log-highlight-messages   1</I
-></SPAN
-><br>
-&nbsp;&nbsp;&nbsp;</P
-> 
- </TT
-></P
-><A
-NAME="LOG-FONT-NAME"
-></A
-><P
-> The font used in the console window:</P
-><P
-> <TT
-CLASS="LITERAL"
->  <P
-CLASS="LITERALLAYOUT"
->&nbsp;&nbsp;<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->log-font-name        Comic Sans MS</I
-></SPAN
-><br>
-&nbsp;&nbsp;&nbsp;</P
-> 
- </TT
-></P
-><A
-NAME="LOG-FONT-SIZE"
-></A
-><P
-> Font size used in the console window:</P
-><P
-> <TT
-CLASS="LITERAL"
->  <P
-CLASS="LITERALLAYOUT"
->&nbsp;&nbsp;<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->log-font-size        8</I
-></SPAN
-><br>
-&nbsp;&nbsp;&nbsp;</P
-> 
- </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
-> <TT
-CLASS="LITERAL"
->  <P
-CLASS="LITERALLAYOUT"
->&nbsp;&nbsp;<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->show-on-task-bar     0</I
-></SPAN
-><br>
-&nbsp;&nbsp;&nbsp;</P
-> 
- </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
-> <TT
-CLASS="LITERAL"
->  <P
-CLASS="LITERALLAYOUT"
->&nbsp;&nbsp;<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->close-button-minimizes  1</I
-></SPAN
-><br>
-&nbsp;&nbsp;&nbsp;</P
-> 
- </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
-> <TT
-CLASS="LITERAL"
->  <P
-CLASS="LITERALLAYOUT"
->&nbsp;&nbsp;#<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->hide-console</I
-></SPAN
-><br>
-&nbsp;&nbsp;&nbsp;</P
-> 
- </TT
-></P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-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
->
\ No newline at end of file
+
+</pre>
+                    </td>
+                  </tr>
+                </table>
+              </dd>
+            </dl>
+          </div>
+        </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>
+  </body>
+</html>
+
index 318752a..1885bda 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><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">
-</head
-><BODY
-CLASS="SECT1"
-BGCOLOR="#EEEEEE"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><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
-ALIGN="LEFT"
-WIDTH="100%"></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"
-> <H2
-CLASS="BRIDGEHEAD"
-><A
-NAME="AEN941"
-></A
->    Privoxy Menu</H2
-><P
-></P
-><TABLE
-BORDER="0"
-><TBODY
-><TR
-><TD
->  Â Â Â Â Â Â Â Â &#9642;  <A
-HREF="http://config.privoxy.org/show-status"
-TARGET="_top"
->View &#38; change the current configuration</A
->
- </TD
-></TR
-><TR
-><TD
->  Â Â Â Â Â Â Â Â &#9642;  <A
-HREF="http://config.privoxy.org/show-version"
-TARGET="_top"
->View the source code version numbers</A
->
- </TD
-></TR
-><TR
-><TD
->  Â Â Â Â Â Â Â Â &#9642;  <A
-HREF="http://config.privoxy.org/show-request"
-TARGET="_top"
->View the request headers.</A
->
- </TD
-></TR
-><TR
-><TD
->  Â Â Â Â Â Â Â Â &#9642;  <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
->  Â Â Â Â Â Â Â Â &#9642;  <A
-HREF="http://config.privoxy.org/toggle"
-TARGET="_top"
->Toggle Privoxy on or off</A
->
- </TD
-></TR
-><TR
-><TD
->  Â Â Â Â Â Â Â Â &#9642;  <A
-HREF="http://www.privoxy.org/3.0.18/user-manual/"
-TARGET="_top"
->Documentation</A
->
- </TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></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
-></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
-><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
-ALIGN="LEFT"
-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
->
\ No newline at end of file
+<!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 {
+  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="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">
+
+</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>
+</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
+          </td>
+        </tr>
+      </table>
+    </div>
+  </body>
+</html>
+
index 5b8d72f..189114c 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><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">
-</head
-><BODY
-CLASS="SECT1"
-BGCOLOR="#EEEEEE"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><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
-ALIGN="LEFT"
-WIDTH="100%"></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&#38;atid=211118"
-TARGET="_top"
->support forum at SourceForge</A
->
- is probably best suited:
- <A
-HREF="http://sourceforge.net/tracker/?group_id=11118&#38;atid=211118"
-TARGET="_top"
->http://sourceforge.net/tracker/?group_id=11118&#38;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="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
-><P
-></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"
->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&#38;atid=460288"
-TARGET="_top"
-> http://sourceforge.net/tracker/?group_id=11118&#38;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&#38;atid=111118"
-TARGET="_top"
->http://sourceforge.net/tracker/?group_id=11118&#38;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&#38;group_id=11118&#38;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
-></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
-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.
-   </P
-></LI
-></UL
-></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
->  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&#38;group_id=11118"
-TARGET="_top"
->http://sourceforge.net/tracker/?atid=361118&#38;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
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-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
->
\ No newline at end of file
+<!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 {
+  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">
+    </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>
+      <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>
+        <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">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>
+      </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>
+  </body>
+</html>
+
index 1f078cb..217336e 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><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">
-</head
-><BODY
-CLASS="SECT1"
-BGCOLOR="#EEEEEE"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><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
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="COPYRIGHT"
->12. Privoxy Copyright, License and History</A
-></H1
-><P
-> Copyright Â© 2001-2011 by Privoxy Developers <CODE
-CLASS="EMAIL"
->&#60;<A
-HREF="mailto:ijbswa-developers@lists.sourceforge.net"
->ijbswa-developers@lists.sourceforge.net</A
->&#62;</CODE
-></P
-><P
-> Some source code is based on code Copyright Â© 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
-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
-></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>
-<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ábor&nbsp;Liptá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ö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édé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ö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ísar<br>
-&nbsp;Dan&nbsp;Price<br>
-&nbsp;Roberto&nbsp;Ragusa<br>
-&nbsp;Fé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ö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
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-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
->
+<!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 {
+  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">
+    </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>
+    <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>
+  </body>
+</html>
+
index 330c5bd..d48f67e 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><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">
-</head
-><BODY
-CLASS="SECT1"
-BGCOLOR="#EEEEEE"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><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
-ALIGN="LEFT"
-WIDTH="100%"></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 &#60;BLINK&#62; 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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->FILTER: foo Replace all "foo" with "bar"</PRE
-></TD
-></TR
-></TABLE
-></P
-><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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->s/foo/bar/</PRE
-></TD
-></TR
-></TABLE
-></P
-><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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->s/foo/bar/g</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
-> Our complete filter now looks like this:</P
-><P
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->FILTER: foo Replace all "foo" with "bar"
-s/foo/bar/g</PRE
-></TD
-></TR
-></TABLE
-></P
-><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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->FILTER: js-annoyances Get rid of particularly annoying JavaScript abuse
+<!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 {
+  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="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 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%">
+        <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="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">
+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">
+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|(&#60;script.*)document\.referrer(.*&#60;/script&#62;)|$1"Not Your Business!"$2|Usg</PRE
-></TD
-></TR
-></TABLE
-></P
-><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"
->&#60;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"
->"&#60;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 &#60;script&#62; 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 &#60;script&#62; 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"
->.*&#60;/script&#62;</TT
->. You already know what <TT
-CLASS="LITERAL"
->.*</TT
->
- means, so the whole pattern translates to: Match from the start of the first  &#60;script&#62;
- tag in a page to the end of the last &#60;script&#62; 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"
->"&#60;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"
->"&#60;/script&#62;"</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
- &#60;script&#62; 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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-># The status bar is for displaying link targets, not pointless blahblah
+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">
+# 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
-><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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-># Kill OnUnload popups. Yummy. Test: http://www.zdnet.com/zdsubs/yahoo/tree/yfs.html
+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">
+# Kill OnUnload popups. Yummy. Test: http://www.zdnet.com/zdsubs/yahoo/tree/yfs.html
 #
-s/(&#60;body [^&#62;]*)onunload(.*&#62;)/$1never$2/iU</PRE
-></TD
-></TR
-></TABLE
-></P
-><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"
->"&#60;body&#62;"</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"
->[^&#62;]*</TT
->
- instead of <TT
-CLASS="LITERAL"
->.*</TT
-> to prevent the match from exceeding the 
- &#60;body&#62; 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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->FILTER: fun Fun text replacements
+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">
+FILTER: fun Fun text replacements
 
 # Spice the daily news:
 #
-s/microsoft(?!\.com)/MicroSuck/ig</PRE
-></TD
-></TR
-></TABLE
-></P
-><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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-># Buzzword Bingo (example for extended regex syntax)
+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">
+# Buzzword Bingo (example for extended regex syntax)
 #
 s* industry[ -]leading \
 |  cutting[ -]edge \
@@ -873,780 +466,542 @@ s* industry[ -]leading \
 |  unmatched \
 |  unparalleled \
 |  unrivalled \
-*&#60;font color="red"&#62;&#60;b&#62;BINGO!&#60;/b&#62;&#60;/font&#62; \
-*igx</PRE
-></TD
-></TR
-></TABLE
-></P
-><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
-><P
-></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
-></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
-><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
-ALIGN="LEFT"
-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
->
\ No newline at end of file
+*&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>
+    </div>
+  </body>
+</html>
+
index 70fb37d..d2f17e4 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><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">
-</head
-><BODY
-CLASS="ARTICLE"
-BGCOLOR="#EEEEEE"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><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
-> Â© 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.76 2011/08/17 10:37:48 fabiankeil Exp $<BR></P
-><DIV
-><DIV
-CLASS="ABSTRACT"
-><P
-></P
-><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
-></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
-><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
-><P
-></P
-></DIV
-></DIV
-><HR></DIV
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></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
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-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
->
+<!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 {
+  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>
+      </div>
+    </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>
+  </body>
+</html>
+
index 8d89706..b57ae84 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><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">
-</head
-><BODY
-CLASS="SECT1"
-BGCOLOR="#EEEEEE"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><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
-ALIGN="LEFT"
-WIDTH="100%"></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
-><P
-></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&#38;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
-> <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
-><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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->  cvs -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa login
+<!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 {
+  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="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 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">
+  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
-><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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->  privoxy:*:7777:7777:privoxy proxy:/no/home:/no/shell</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
-> And then <TT
-CLASS="FILENAME"
->/etc/group</TT
->, like:</P
-><P
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->  privoxy:*:7777:</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
-> Some binary packages may do this for you.</P
-><P
-> Then, to build from either unpacked tarball or CVS source:</P
-><P
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> autoheader
+  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">
+  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">
+  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">
+ autoheader
  autoconf
  ./configure      # (--help to see options)
- make             # (the make from GNU, sometimes called gmake) 
+ make             # (the make from GNU, sometimes called gmake)
  su               # Possibly required
  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
-><P
->  Using GNU <B
-CLASS="COMMAND"
->make</B
->, you can have the first four steps
-  automatically done for you by just typing:</P
-><P
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->  make</PRE
-></TD
-></TR
-></TABLE
-></P
-><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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> ./configure  --disable-toggle  --disable-editor  --disable-force</PRE
-></TD
-></TR
-></TABLE
-></P
-><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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> make -s install  USER=privoxy GROUP=privoxy</PRE
-></TD
-></TR
-></TABLE
-></P
-><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&#38;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
-ALIGN="LEFT"
-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
->
\ No newline at end of file
+ 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">
+  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">
+ ./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>
+        <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 4d6da24..eb4d958 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><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">
-</head
-><BODY
-CLASS="SECT1"
-BGCOLOR="#EEEEEE"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><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
-ALIGN="LEFT"
-WIDTH="100%"></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
-></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
-></P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-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
->
\ No newline at end of file
+<!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 {
+  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>
+    </div>
+  </body>
+</html>
+
index c04a0a2..c17cca0 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><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">
-</head
-><BODY
-CLASS="SECT1"
-BGCOLOR="#EEEEEE"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><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
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="QUICKSTART"
->4. Quickstart to Using Privoxy</A
-></H1
-><P
-> <P
-></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
-></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"
-><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
-></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
-></P
-><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
-></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
-><P
-></P
-><TABLE
-BORDER="0"
-><TBODY
-><TR
-><TD
->    Â Â Â <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
-><P
-></P
-><P
-></P
-><TABLE
-BORDER="0"
-><TBODY
-><TR
-><TD
->    Â Â Â <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
-><P
-></P
-><P
-></P
-><TABLE
-BORDER="0"
-><TBODY
-><TR
-><TD
->    Â Â Â <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->http://&#60;URL&#62;</I
-></SPAN
-> - A redirect to any image anywhere
-    of the user's choosing (advanced usage).
-   </TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></LI
-></UL
-></P
-><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
-></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
->  <DIV
-CLASS="FIGURE"
-><A
-NAME="AEN687"
-></A
-><P
-><B
->Figure 1. Actions Files in Use</B
-></P
-><DIV
-CLASS="MEDIAOBJECT"
-><P
-><IMG
-SRC="files-in-use.jpg"></P
-></DIV
-></DIV
->
- </P
-></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
-><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
-ALIGN="LEFT"
-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
->
\ No newline at end of file
+<!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 {
+  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>
+      <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"><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>
+        </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">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>
+    </div>
+  </body>
+</html>
+
index 272ce35..a3ae857 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><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">
-</head
-><BODY
-CLASS="SECT1"
-BGCOLOR="#EEEEEE"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><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
-ALIGN="LEFT"
-WIDTH="100%"></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
-></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
-><P
-></P
->
- <P
-></P
-><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
-><P
-></P
->
- <P
-></P
-><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
-><P
-></P
->
- <P
-></P
-><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
-><P
-></P
->
- <P
-></P
-><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
-><P
-></P
->
- <P
-></P
-><TABLE
-BORDER="0"
-><TBODY
-><TR
-><TD
->   <A
-HREF="https://sourceforge.net/tracker/?group_id=11118&#38;atid=460288"
-TARGET="_top"
->https://sourceforge.net/tracker/?group_id=11118&#38;atid=460288</A
->, to submit <SPAN
-CLASS="QUOTE"
->"misses"</SPAN
-> and other
-   configuration related suggestions to the developers. 
-  </TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
->
- <P
-></P
-><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
-><P
-></P
->
- <P
-></P
-><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
-><P
-></P
->
- <P
-></P
-><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
-><P
-></P
->
- <P
-></P
-><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
-><P
-></P
->
- <P
-></P
-><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
-><P
-></P
->
- </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-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
->
\ No newline at end of file
+<!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 {
+  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="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 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">
+        <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 275e689..df6da50 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><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">
-</head
-><BODY
-CLASS="SECT1"
-BGCOLOR="#EEEEEE"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><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
-ALIGN="LEFT"
-WIDTH="100%"></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
->  <DIV
-CLASS="FIGURE"
-><A
-NAME="AEN742"
-></A
-><P
-><B
->Figure 2. Proxy Configuration Showing
-  Mozilla/Netscape HTTP and HTTPS (SSL) Settings</B
-></P
-><DIV
-CLASS="MEDIAOBJECT"
-><P
-><IMG
-SRC="proxy_setup.jpg"></P
-></DIV
-></DIV
->
- </P
-><P
-> 
- With <SPAN
-CLASS="APPLICATION"
->Firefox</SPAN
->, this is typically set under:</P
-><P
-CLASS="LITERALLAYOUT"
->&nbsp;<SPAN
-CLASS="GUIBUTTON"
->Tools</SPAN
->&nbsp;-&#62;&nbsp;<SPAN
-CLASS="GUIBUTTON"
->Options</SPAN
->&nbsp;-&#62;&nbsp;&nbsp;<SPAN
-CLASS="GUIBUTTON"
->Advanced</SPAN
->&nbsp;-&#62;&nbsp;<SPAN
-CLASS="GUIBUTTON"
->Network</SPAN
->&nbsp;-&#62;<SPAN
-CLASS="GUIBUTTON"
->Connection</SPAN
->&nbsp;-&#62;&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;-&#62;&nbsp;<SPAN
-CLASS="GUIBUTTON"
->Preferences</SPAN
->&nbsp;-&#62;&nbsp;<SPAN
-CLASS="GUIBUTTON"
->General</SPAN
->&nbsp;-&#62;&nbsp;<SPAN
-CLASS="GUIBUTTON"
->Connection Settings</SPAN
->&nbsp;-&#62;&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;-&#62;&nbsp;<SPAN
-CLASS="GUIBUTTON"
->Preferences</SPAN
->&nbsp;-&#62;&nbsp;<SPAN
-CLASS="GUIBUTTON"
->Advanced</SPAN
->&nbsp;-&#62;&nbsp;<SPAN
-CLASS="GUIBUTTON"
->Proxies</SPAN
->&nbsp;-&#62;&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;-&#62;&nbsp;<SPAN
-CLASS="GUIBUTTON"
->Internet Options</SPAN
->&nbsp;-&#62;&nbsp;<SPAN
-CLASS="GUIBUTTON"
->Connections</SPAN
->&nbsp;-&#62;&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
->  <DIV
-CLASS="FIGURE"
-><A
-NAME="AEN787"
-></A
-><P
-><B
->Figure 3. Proxy Configuration Showing
-  Internet Explorer HTTP and HTTPS (Secure) Settings</B
-></P
-><DIV
-CLASS="MEDIAOBJECT"
-><P
-><IMG
-SRC="proxy2.jpg"></P
-></DIV
-></DIV
->
- </P
-><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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> # /etc/rc.d/init.d/privoxy start</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
-> Or ...</P
-><P
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> # service privoxy start</PRE
-></TD
-></TR
-></TABLE
-></P
-></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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> # /etc/init.d/privoxy start</PRE
-></TD
-></TR
-></TABLE
-></P
-></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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> # /usr/sbin/privoxy /etc/privoxy/config</PRE
-></TD
-></TR
-></TABLE
-></P
-></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 &#60;&#62;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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> /etc/init.d/privoxy start
- </PRE
-></TD
-></TR
-></TABLE
-></P
-><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
-> 
- <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> rc-update add privoxy default
- </PRE
-></TD
-></TR
-></TABLE
-></P
-></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
-></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
-><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
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-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
->
\ No newline at end of file
+<!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 {
+  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="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 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>
+
+      <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">
+ # /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">
+ # /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>
+    </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="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 5cc5708..11784d9 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><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">
-</head
-><BODY
-CLASS="SECT1"
-BGCOLOR="#EEEEEE"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><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
-ALIGN="LEFT"
-WIDTH="100%"></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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->&#60;!-- @if-unstable-start --&#62;
+<!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 {
+  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">
+&lt;!-- @if-unstable-start --&gt;
 
   ... beta warning HTML code goes here ...
 
-&#60;!-- if-unstable-end@ --&#62;</PRE
-></TD
-></TR
-></TABLE
-></P
-><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
-> <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->&#60;!--  --&#62;</PRE
-></TD
-></TR
-></TABLE
-></P
-><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
-ALIGN="LEFT"
-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
->
\ No newline at end of file
+&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">
+&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>
+
index ac293a0..5a8cfa6 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><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">
-</head
-><BODY
-CLASS="SECT1"
-BGCOLOR="#EEEEEE"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><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
-ALIGN="LEFT"
-WIDTH="100%"></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
-></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
-></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
-></LI
-><LI
-><P
->    Action file improvements:
-    <P
-></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
-></LI
-><LI
-><P
->    Documentation improvements:
-    <P
-></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
-></LI
-><LI
-><P
->    Privoxy-Log-Parser improvements:
-    <P
-></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
-></LI
-><LI
-><P
->    Code cleanups:
-    <P
-></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
-></LI
-><LI
-><P
->    GNUmakefile improvements:
-    <P
-></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
-></LI
-></UL
-></P
-><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
-></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
-></P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-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
->
\ No newline at end of file
+<!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 {
+  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>
+      <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>
+        </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>
+        </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>
+        </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>
+        </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>
+        </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>
+        </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>
+