Various small updates for new actions, filterfiles, etc.
authorhal9 <hal9@users.sourceforge.net>
Sat, 2 Sep 2006 12:49:37 +0000 (12:49 +0000)
committerhal9 <hal9@users.sourceforge.net>
Sat, 2 Sep 2006 12:49:37 +0000 (12:49 +0000)
13 files changed:
doc/source/p-config.sgml
doc/source/user-manual.sgml
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/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/startup.html

index ceefe6c..02669a0 100644 (file)
@@ -3,9 +3,9 @@
 
  Purpose     :  Used with other docs and files only.
 
 
  Purpose     :  Used with other docs and files only.
 
- $Id: p-config.sgml,v 1.1.2.10 2003/02/20 13:50:37 hal9 Exp $
+ $Id: p-config.sgml,v 2.5 2006/07/18 14:48:51 david__schmidt Exp $
 
 
- Copyright (C) 2001, 2002 Privoxy Developers <developers@privoxy.org>
+ Copyright (C) 2001-2006 Privoxy Developers <developers@privoxy.org>
  See LICENSE.
 
  ========================================================================
  See LICENSE.
 
  ========================================================================
  Sample Configuration File for Privoxy v&p-version;
 </title>
 <para>
  Sample Configuration File for Privoxy v&p-version;
 </title>
 <para>
- $Id: p-config.sgml,v 1.1.2.10 2003/02/20 13:50:37 hal9 Exp $
+ $Id: p-config.sgml,v 2.5 2006/07/18 14:48:51 david__schmidt Exp $
 </para>
 <para>
 </para>
 <para>
-Copyright (C) 2001, 2002 Privoxy Developers http://privoxy.org
+Copyright (C) 2001-2006 Privoxy Developers http://privoxy.org
 </para>
 
 <para>
 </para>
 
 <para>
@@ -126,7 +126,7 @@ Copyright (C) 2001, 2002 Privoxy Developers http://privoxy.org
 
 <para>
  This file holds the Privoxy configuration.  If you modify this
 
 <para>
  This file holds the Privoxy configuration.  If you modify this
- file, you will need to send a couple of requests to the proxy
+ file, you will need to send a couple of requests (of any kind) to the proxy
  before any changes take effect.
 </para>
 <para>
  before any changes take effect.
 </para>
 <para>
@@ -376,7 +376,7 @@ actionsfile
   <term>Specifies:</term>
   <listitem>
    <para>
   <term>Specifies:</term>
   <listitem>
    <para>
-    The <link linkend="filter-file">filter file</link> to use
+    The <link linkend="filter-file">filter file(s)</link> to use
    </para>
   </listitem>
  </varlistentry>
    </para>
   </listitem>
  </varlistentry>
@@ -406,25 +406,33 @@ actionsfile
   <term>Notes:</term>
   <listitem>
    <para>
   <term>Notes:</term>
   <listitem>
    <para>
-    The <link linkend="filter-file">filter file</link> contains content modification
+    Multiple <literal>filterfiles</literal> lines are permitted.
+   </para>
+   <para>
+    The <link linkend="filter-file">filter files</link> contain content modification
     rules that use <link linkend="regex">regular expressions</link>. These rules permit
     rules that use <link linkend="regex">regular expressions</link>. These rules permit
-    powerful changes on the content of Web pages, e.g., you could disable your favorite
-    JavaScript annoyances, re-write the actual displayed text, or just have some
-    fun replacing <quote>Microsoft</quote> with <quote>MicroSuck</quote> wherever
-    it appears on a Web page.
+    powerful changes on the content of Web pages, and optionally the headers
+    as well, e.g., you could disable your favorite JavaScript annoyances,
+    re-write the actual displayed text, or just have some fun replacing
+    <quote>Microsoft</quote> with <quote>MicroSuck</quote> wherever it appears
+    on a Web page.
    </para>
    <para>
     The
     <literal>+<link linkend="filter">filter</link>{<replaceable class="parameter">name</replaceable>}</literal>
     actions rely on the relevant filter (<replaceable class="parameter">name</replaceable>)
    </para>
    <para>
     The
     <literal>+<link linkend="filter">filter</link>{<replaceable class="parameter">name</replaceable>}</literal>
     actions rely on the relevant filter (<replaceable class="parameter">name</replaceable>)
-    to be defined in the filter file!
+    to be defined in a filter file!
    </para>
    <para>
     A pre-defined filter file called <filename>default.filter</filename> that contains
    </para>
    <para>
     A pre-defined filter file called <filename>default.filter</filename> that contains
-    a bunch of handy filters for common problems is included in the distribution.
+    a number of useful filters for common problems is included in the distribution.
     See the section on the <literal><link linkend="filter">filter</link></literal>
     action for a list.
    </para>
     See the section on the <literal><link linkend="filter">filter</link></literal>
     action for a list.
    </para>
+   <para>
+    It is recommended to place any locally adapted filters into a separate
+    file, such as <filename>user.filter</filename>.
+   </para>
   </listitem>
  </varlistentry>
 </variablelist>
   </listitem>
  </varlistentry>
 </variablelist>
index 2b5198e..4b28669 100644 (file)
@@ -12,7 +12,7 @@
 <!entity p-authors SYSTEM "p-authors.sgml">
 <!entity config SYSTEM "p-config.sgml">
 <!entity p-version "3.0.4">
 <!entity p-authors SYSTEM "p-authors.sgml">
 <!entity config SYSTEM "p-config.sgml">
 <!entity p-version "3.0.4">
-<!entity p-status "BETA">
+<!entity p-status "beta">
 <!entity % p-authors-formal "INCLUDE"> <!-- include additional text, etc  -->
 <!entity % p-not-stable "INCLUDE">
 <!entity % p-stable "IGNORE">
 <!entity % p-authors-formal "INCLUDE"> <!-- include additional text, etc  -->
 <!entity % p-not-stable "INCLUDE">
 <!entity % p-stable "IGNORE">
@@ -32,7 +32,7 @@
                 This file belongs into
                 ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/
 
                 This file belongs into
                 ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/
 
- $Id: user-manual.sgml,v 2.14 2006/08/29 10:59:36 hal9 Exp $
+ $Id: user-manual.sgml,v 2.15 2006/08/30 11:15:22 hal9 Exp $
 
  Copyright (C) 2001- 2006 Privoxy Developers <developers@privoxy.org>
  See LICENSE.
 
  Copyright (C) 2001- 2006 Privoxy Developers <developers@privoxy.org>
  See LICENSE.
@@ -58,7 +58,7 @@
  </subscript>
 </pubdate>
 
  </subscript>
 </pubdate>
 
-<pubdate>$Id: user-manual.sgml,v 2.14 2006/08/29 10:59:36 hal9 Exp $</pubdate>
+<pubdate>$Id: user-manual.sgml,v 2.15 2006/08/30 11:15:22 hal9 Exp $</pubdate>
 
 <!--
 
 
 <!--
 
@@ -116,10 +116,9 @@ Hal.
  <application>Privoxy</application>, v.&p-version;<![%p-not-stable;[, 
  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
  <application>Privoxy</application>, v.&p-version;<![%p-not-stable;[, 
  and is mostly complete at this point. The most up to date reference for the
  time being is still the comments in the source files and in the individual
- configuration files. Development of version 3.0 is currently nearing
- completion, and includes many significant changes and enhancements over
- earlier versions. The target release date for
- stable v3.0 is <quote>soon</quote> ;-)]]>.
+ configuration files. Development of a new version is currently nearing
+ completion, and includes significant changes and enhancements over
+ earlier versions. ]]>.
 </para>
 
 <!-- include only in non-stable versions -->
 </para>
 
 <!-- include only in non-stable versions -->
@@ -135,10 +134,11 @@ Hal.
 <!--   ~~~~~       New section      ~~~~~     -->
 <sect2 id="features"><title>Features</title>
 <para>
 <!--   ~~~~~       New section      ~~~~~     -->
 <sect2 id="features"><title>Features</title>
 <para>
- In addition to <application>Internet Junkbuster's</application> traditional
- features of ad and banner blocking and cookie management,
- <application>Privoxy</application> provides new features<![%p-not-stable;[,
- some of them currently under development]]>:
+ In addition to the core 
+ features of ad blocking and cookie management,
+ <application>Privoxy</application> provides many supplemental
+ features<![%p-not-stable;[, some of them currently under development]]>, 
+ that give the end-user more control, more privacy and more freedom:
 </para>
 <!-- Include newfeatures.sgml boilerplate here: -->
  &newfeatures;
 </para>
 <!-- Include newfeatures.sgml boilerplate here: -->
  &newfeatures;
@@ -373,8 +373,9 @@ automatically start Privoxy in the boot process.
 <para>
  In order not to lose your personal changes and adjustments when updating
  to the latest <literal>default.action</literal> file we <emphasis>strongly
 <para>
  In order not to lose your personal changes and adjustments when updating
  to the latest <literal>default.action</literal> file we <emphasis>strongly
- recommend</emphasis> that you use <literal>user.action</literal> for your
- customization of <application>Privoxy</application>. See the <link
+ recommend</emphasis> that you use <literal>user.action</literal> and 
+ <literal>user.filter</literal> for your local
+ customizations of <application>Privoxy</application>. See the <link
  linkend="actions-file">Chapter on actions files</link> for details.
 </para>
 
  linkend="actions-file">Chapter on actions files</link> for details.
 </para>
 
@@ -1580,12 +1581,19 @@ must find a better place for this paragraph
 <sect1 id="actions-file"><title>Actions Files</title>
 
 <para>
 <sect1 id="actions-file"><title>Actions Files</title>
 
 <para>
- The actions files are used to define what actions
- <application>Privoxy</application> takes for which URLs, and thus determine
+ The actions files are used to define what <emphasis>actions</emphasis>
+ <application>Privoxy</application> takes for which URLs, and thus determines
  how ad images, cookies and various other aspects of HTTP content and
  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 three such files included with <application>Privoxy</application>
- with differing purposes:
+ 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.
+</para> 
+<para>
+ There 
+ are three action files included with <application>Privoxy</application> with
+ differing purposes:
  </para>
  
  <para>
  </para>
  
  <para>
@@ -2487,7 +2495,7 @@ new action
   <term>Effect:</term>
   <listitem>
    <para>
   <term>Effect:</term>
   <listitem>
    <para>
-    Deletes every header send by the client that contains the string the user supplied as parameter.
+    Deletes every header sent by the client that contains the string the user supplied as parameter.
    </para>
   </listitem>
  </varlistentry>
    </para>
   </listitem>
  </varlistentry>
@@ -3336,8 +3344,10 @@ problem-host.example.com</screen>
  <varlistentry>
   <term>Effect:</term>
   <listitem>
  <varlistentry>
   <term>Effect:</term>
   <listitem>
-   <para>Extend filtering capabilities to the client's headers, which 
-   by default applies only to the document itself.
+   <para>
+    By default, <application>Privoxy's</application> filters only apply 
+    to the document content itself. This will extend those filters to 
+    include the client's headers as well.
    </para>
   </listitem>
  </varlistentry>
    </para>
   </listitem>
  </varlistentry>
@@ -3434,8 +3444,10 @@ problem-host.example.com
  <varlistentry>
   <term>Effect:</term>
   <listitem>
  <varlistentry>
   <term>Effect:</term>
   <listitem>
-   <para>Extend filtering capabilities to the server's headers, which 
-   by default applies only to the document itself.
+   <para>
+    By default, <application>Privoxy's</application> filters only apply 
+    to the document content itself. This will extend those filters to 
+    include the server's headers as well.
    </para>
   </listitem>
  </varlistentry>
    </para>
   </listitem>
  </varlistentry>
@@ -4349,7 +4361,7 @@ new action
   <term>Effect:</term>
   <listitem>
    <para>
   <term>Effect:</term>
   <listitem>
    <para>
-    To protect against a known exploit
+    Protect against a known exploit
    </para>
   </listitem>
  </varlistentry>
    </para>
   </listitem>
  </varlistentry>
@@ -4813,7 +4825,8 @@ new action
   <listitem>
    <para>
     This action is useful to replace whole documents with your own
   <listitem>
    <para>
     This action is useful to replace whole documents with your own
-    ones. For that to work, they have to be available on another server.
+    ones. For that to work, they have to be available on another server, 
+    and both should resolve.
    </para>
    <para>
     You can do the same by combining the actions
    </para>
    <para>
     You can do the same by combining the actions
@@ -5250,7 +5263,7 @@ new action
    <para>
     If you previously configured <application>Privoxy</application> to do the
     request through a SSL tunnel, everything will work. Most likely you haven't
    <para>
     If you previously configured <application>Privoxy</application> to do the
     request through a SSL tunnel, everything will work. Most likely you haven't
-    and the server will responds with an error message because it is expecting
+    and the server will respond with an error message because it is expecting
     HTTPS.
    </para>
   </listitem>
     HTTPS.
    </para>
   </listitem>
@@ -5500,11 +5513,15 @@ that also explains why and how aliases are used:
  { \
  -<link linkend="ADD-HEADER">add-header</link> \
  -<link linkend="BLOCK">block</link> \
  { \
  -<link linkend="ADD-HEADER">add-header</link> \
  -<link linkend="BLOCK">block</link> \
+ -<link linkend="CONTENT-TYPE-OVERWRITE">content-type-overwrite</link> \
+ -<link linkend="CRUNCH-CLIENT-HEADER">crunch-client-header</link> \
+ -<link linkend="CRUNCH-IF-NONE-MATCH">crunch-if-none-match</link> \
  -<link linkend="CRUNCH-INCOMING-COOKIES">crunch-incoming-cookies</link> \
  -<link linkend="CRUNCH-INCOMING-COOKIES">crunch-incoming-cookies</link> \
+ -<link linkend="CRUNCH-SERVER-HEADER">crunch-server-header</link> \
  -<link linkend="CRUNCH-OUTGOING-COOKIES">crunch-outgoing-cookies</link> \
  +<link linkend="DEANIMATE-GIFS">deanimate-gifs</link> \
  -<link linkend="DOWNGRADE-HTTP-VERSION">downgrade-http-version</link> \
  -<link linkend="CRUNCH-OUTGOING-COOKIES">crunch-outgoing-cookies</link> \
  +<link linkend="DEANIMATE-GIFS">deanimate-gifs</link> \
  -<link linkend="DOWNGRADE-HTTP-VERSION">downgrade-http-version</link> \
- +<link linkend="FAST-REDIRECTS">fast-redirects</link> \
+ +<link linkend="FAST-REDIRECTS">fast-redirects{check-decoded-url}</link> \
  +<link linkend="FILTER-JS-ANNOYANCES">filter{js-annoyances}</link> \
  -<link linkend="FILTER-JS-EVENTS">filter{js-events}</link> \
  +<link linkend="FILTER-HTML-ANNOYANCES">filter{html-annoyances}</link> \
  +<link linkend="FILTER-JS-ANNOYANCES">filter{js-annoyances}</link> \
  -<link linkend="FILTER-JS-EVENTS">filter{js-events}</link> \
  +<link linkend="FILTER-HTML-ANNOYANCES">filter{html-annoyances}</link> \
@@ -5525,18 +5542,29 @@ that also explains why and how aliases are used:
  -<link linkend="FILTER-FUN">filter{fun}</link> \
  -<link linkend="FILTER-CRUDE-PARENTAL">filter{crude-parental}</link> \
  +<link linkend="FILTER-IE-EXPLOITS">filter{ie-exploits}</link> \     
  -<link linkend="FILTER-FUN">filter{fun}</link> \
  -<link linkend="FILTER-CRUDE-PARENTAL">filter{crude-parental}</link> \
  +<link linkend="FILTER-IE-EXPLOITS">filter{ie-exploits}</link> \     
+ -<link linkend="FILTER-CLIENT-HEADERS">filter-client-headers</link> \
+ -<link linkend="FILTER-SERVER-HEADERS">filter-server-headers</link> \
+ -<link linkend="FORCE-TEXT-MODE">force-text-mode</link> \
+ -<link linkend="HANDLE-AS-EMPTY-DOCUMENT">handle-as-empty-document</link> \
  -<link linkend="HANDLE-AS-IMAGE">handle-as-image</link> \
  -<link linkend="HANDLE-AS-IMAGE">handle-as-image</link> \
+ -<link linkend="HIDE-ACCEPT-LANGUAGE">hide-accept-language</link> \
+ -<link linkend="HIDE-CONTENT-DISPOSITION">hide-content-disposition</link> \
+ -<link linkend="HIDE-IF-MODIFIED-SINCE">hide-if-modified-since</link> \
  +<link linkend="HIDE-FORWARDED-FOR-HEADERS">hide-forwarded-for-headers</link> \
  +<link linkend="HIDE-FROM-HEADER">hide-from-header{block}</link> \
  +<link linkend="HIDE-REFERER">hide-referrer{forge}</link> \
  -<link linkend="HIDE-USER-AGENT">hide-user-agent</link> \
  +<link linkend="HIDE-FORWARDED-FOR-HEADERS">hide-forwarded-for-headers</link> \
  +<link linkend="HIDE-FROM-HEADER">hide-from-header{block}</link> \
  +<link linkend="HIDE-REFERER">hide-referrer{forge}</link> \
  -<link linkend="HIDE-USER-AGENT">hide-user-agent</link> \
+ -<link linkend="INSPECT-JPEGS">inspect-jpegs</link> \
  -<link linkend="KILL-POPUPS">kill-popups</link> \
  -<link linkend="LIMIT-CONNECT">limit-connect</link> \
  +<link linkend="PREVENT-COMPRESSION">prevent-compression</link> \
  -<link linkend="KILL-POPUPS">kill-popups</link> \
  -<link linkend="LIMIT-CONNECT">limit-connect</link> \
  +<link linkend="PREVENT-COMPRESSION">prevent-compression</link> \
+ -<link linkend="OVERWRITE-LAST-MODIFIED">overwrite-last-modified</link> \
+ -<link linkend="REDIRECT">redirect</link> \
  -<link linkend="SEND-VANILLA-WAFER">send-vanilla-wafer</link> \
  -<link linkend="SEND-WAFER">send-wafer</link> \
  +<link linkend="SESSION-COOKIES-ONLY">session-cookies-only</link> \
  +<link linkend="SET-IMAGE-BLOCKER">set-image-blocker{pattern}</link> \
  -<link linkend="SEND-VANILLA-WAFER">send-vanilla-wafer</link> \
  -<link linkend="SEND-WAFER">send-wafer</link> \
  +<link linkend="SESSION-COOKIES-ONLY">session-cookies-only</link> \
  +<link linkend="SET-IMAGE-BLOCKER">set-image-blocker{pattern}</link> \
+ -<link linkend="TREAT-FORBIDDEN-CONNECTS-LIKE-BLOCKS">treat-forbidden-connects-like-blocks</link> \
  }
  / # forward slash will match *all* potential URL patterns.</screen>
 </para>
  }
  / # forward slash will match *all* potential URL patterns.</screen>
 </para>
@@ -5691,7 +5719,7 @@ bs*.einets.com
 
 <para>
  One of the most important jobs of <application>Privoxy</application>
 
 <para>
  One of the most important jobs of <application>Privoxy</application>
- is to block banners. A huge bunch of them are already <quote>blocked</quote>
+ is to block banners. A huge bunch of them can be <quote>blocked</quote>
  by the <literal><link linkend="filter">filter</link>{banners-by-size}</literal>
  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
  by the <literal><link linkend="filter">filter</link>{banners-by-size}</literal>
  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
@@ -5799,7 +5827,7 @@ www.ugu.com/sui/ugu/adv</screen>
 </para>
 
 <para>
 </para>
 
 <para>
- The actual <filename>default.action</filename> is of course more
+ The actual <filename>default.action</filename> is of course much more
  comprehensive, but we hope this example made clear how it works.
 </para>
 
  comprehensive, but we hope this example made clear how it works.
 </para>
 
@@ -5866,9 +5894,12 @@ shop        = -crunch-all-cookies allow-popups
 
 # Allow ads for selected useful free sites:
 #
 
 # Allow ads for selected useful free sites:
 #
-allow-ads   = -block -filter{banners-by-size} -filter{banners-by-link}</screen>
+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 = -<link linkend="FILTER">filter</link> +-<link linkend="content-type-overwrite">content-type-overwrite{text/plain}</link> +-<link linkend="FORCE-TEXT-MODE">force-text-mode</link> -<link linkend="HIDE-CONTENT-DISPOSITION">hide-content-disposition</link></screen>
 
 
 </para>
 
 <para>
 </para>
 
 <para>
@@ -6017,6 +6048,19 @@ ar.atwola.com/</screen>
  <literal>-<link linkend="filter-banners-by-link">filter{banners-by-link}</link></literal> above.
 </para>
 
  <literal>-<link linkend="filter-banners-by-link">filter{banners-by-link}</link></literal> above.
 </para>
 
+<para>
+ Invoke another alias here to force an over-ride of the MIME type <literal>
+ application/x-sh</literal> 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.
+</para>
+
+<para>
+<screen>
+{ handle-as-text }
+/.*\.sh$</screen>   
+</para>
+
 <para>
  <filename>user.action</filename> is generally the best place to define
  exceptions and additions to the default policies of
 <para>
  <filename>user.action</filename> is generally the best place to define
  exceptions and additions to the default policies of
@@ -7386,10 +7430,10 @@ Requests</title>
    linkend="DEANIMATE-GIFS"><quote>+deanimate-gifs</quote></link>
    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
    linkend="DEANIMATE-GIFS"><quote>+deanimate-gifs</quote></link>
    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
-   <filename>default.filter</filename>) 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
+   <filename>default.filter</filename> 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
    <application>Privoxy</application> back to your browser. 
   </para>
    setting.The entire page, which is now filtered, is then sent by
    <application>Privoxy</application> back to your browser. 
   </para>
@@ -7469,7 +7513,8 @@ Requests</title>
 
 <para>
  Let's try an example, <ulink url="http://google.com">google.com</ulink>, 
 
 <para>
  Let's try an example, <ulink url="http://google.com">google.com</ulink>, 
- and look at it one section at a time:
+ and look at it one section at a time in a sample configuration (your real 
+ configuration may vary):
 </para>
 
 <para>
 </para>
 
 <para>
@@ -7478,38 +7523,63 @@ Requests</title>
 
  In file: default.action <guibutton>[ View ]</guibutton> <guibutton>[ Edit ]</guibutton>
 
 
  In file: default.action <guibutton>[ View ]</guibutton> <guibutton>[ Edit ]</guibutton>
 
-{-add-header 
- -block 
- -crunch-outgoing-cookies 
- -crunch-incoming-cookies 
- +deanimate-gifs{last} 
- -downgrade-http-version 
- +fast-redirects 
- -filter{popups} 
- -filter{fun} 
- -filter{shockwave-flash} 
- -filter{crude-parental} 
- +filter{html-annoyances} 
- +filter{js-annoyances} 
- +filter{content-cookies} 
- +filter{webbugs} 
- +filter{refresh-tags} 
- +filter{nimda} 
- +filter{banners-by-size} 
- +hide-forwarded-for-headers 
- +hide-from-header{block} 
- +hide-referer{forge} 
- -hide-user-agent 
- -handle-as-image 
- -kill-popups 
- -limit-connect 
- +prevent-compression 
- -send-vanilla-wafer 
- -send-wafer 
- +session-cookies-only 
- +set-image-blocker{pattern} }
+ {-add-header
+ -block
+ -content-type-overwrite
+ -crunch-client-header
+ -crunch-if-none-match
+ -crunch-incoming-cookies
+ -crunch-outgoing-cookies
+ -crunch-server-header
+ +deanimate-gifs {last}
+ -downgrade-http-version
+ +fast-redirects {check-decoded-url}
+ -filter {js-events}
+ -filter {content-cookies}
+ -filter {all-popups}
+ -filter {banners-by-link}
+ -filter {tiny-textforms}
+ -filter {frameset-borders}
+ -filter {demoronizer}
+ -filter {shockwave-flash}
+ -filter {quicktime-kioskmode}
+ -filter {fun}
+ -filter {crude-parental}
+ -filter {site-specifics}
+ +filter {js-annoyances}
+ +filter {html-annoyances}
+ +filter {refresh-tags}
+ +filter {unsolicited-popups}
+ +filter {img-reorder}
+ +filter {banners-by-size}
+ +filter {webbugs}
+ +filter {jumping-windows}
+ +filter {ie-exploits}
+ -filter-client-headers
+ -filter-server-headers
+ -force-text-mode
+ -handle-as-empty-document
+ -handle-as-image
+ -hide-accept-language
+ -hide-content-disposition
+ +hide-forwarded-for-headers
+ +hide-from-header {block}
+ -hide-if-modified-since
+ +hide-referrer {forge}
+ -hide-user-agent
+ -inspect-jpegs
+ -kill-popups
+ -limit-connect
+ -overwrite-last-modified
+ +prevent-compression
+ -redirect
+ -send-vanilla-wafer
+ -send-wafer
+ +session-cookies-only
+ +set-image-blocker {pattern}
+ -treat-forbidden-connects-like-blocks }
 /
 /
-
  { -session-cookies-only }
  .google.com
 
  { -session-cookies-only }
  .google.com
 
@@ -7522,9 +7592,17 @@ In file: user.action <guibutton>[ View ]</guibutton> <guibutton>[ Edit ]</guibut
 </para>
 
 <para>
 </para>
 
 <para>
- This tells us how we have defined our 
+ This is telling us how we have defined our 
  <link linkend="ACTIONS"><quote>actions</quote></link>, and
  <link linkend="ACTIONS"><quote>actions</quote></link>, and
- which ones match for our example, <quote>google.com</quote>. The first listing
+ which ones match for our test case, <quote>google.com</quote>. 
+ Displayed is all the actions that are available to us. Remember,
+ the <literal>+</literal> sign denotes <quote>on</quote>. <literal>-</literal>
+ denotes <quote>off</quote>. So some are <quote>on</quote> here, but many 
+ are <quote>off</quote>. Each example we try may provide a slightly different
+ end result, depending on our configuration directives.
+</para>
+<para>
+ The first listing
  is any matches for the <filename>standard.action</filename> file. No hits at
  all here on <quote>standard</quote>. Then next is <quote>default</quote>, or
  our <filename>default.action</filename> file. The large, multi-line listing,
  is any matches for the <filename>standard.action</filename> file. No hits at
  all here on <quote>standard</quote>. Then next is <quote>default</quote>, or
  our <filename>default.action</filename> file. The large, multi-line listing,
@@ -7542,8 +7620,9 @@ In file: user.action <guibutton>[ View ]</guibutton> <guibutton>[ Edit ]</guibut
  <quote>.google.com</quote>. The first is negating our previous cookie setting, 
  which was for <link
  linkend="SESSION-COOKIES-ONLY"><quote>+session-cookies-only</quote></link>
  <quote>.google.com</quote>. The first is negating our previous cookie setting, 
  which was for <link
  linkend="SESSION-COOKIES-ONLY"><quote>+session-cookies-only</quote></link>
- (i.e. not persistent). So we will allow persistent cookies for google. The
- second turns <emphasis>off</emphasis> any 
+ (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
+ <emphasis>off</emphasis> any 
  <link
  linkend="FAST-REDIRECTS"><quote>+fast-redirects</quote></link>
  action, allowing this to take place unmolested. Note that there is a leading
  <link
  linkend="FAST-REDIRECTS"><quote>+fast-redirects</quote></link>
  action, allowing this to take place unmolested. Note that there is a leading
@@ -7557,6 +7636,8 @@ In file: user.action <guibutton>[ View ]</guibutton> <guibutton>[ Edit ]</guibut
 
 <para>
  Then, for our <filename>user.action</filename> file, we again have no hits.
 
 <para>
  Then, for our <filename>user.action</filename> file, we again have no hits.
+ So there is nothing google-specific that we might have added to our own, local
+ configuration.
 </para>
 
 <para>
 </para>
 
 <para>
@@ -7571,43 +7652,56 @@ In file: user.action <guibutton>[ View ]</guibutton> <guibutton>[ Edit ]</guibut
 
  Final results:
  
 
  Final results:
  
- -add-header 
- -block 
- -crunch-outgoing-cookies 
- -crunch-incoming-cookies 
- +deanimate-gifs{last} 
- -downgrade-http-version 
- -fast-redirects 
- -filter{popups} 
- -filter{fun} 
- -filter{shockwave-flash} 
- -filter{crude-parental} 
- +filter{html-annoyances} 
- +filter{js-annoyances} 
- +filter{content-cookies} 
- +filter{webbugs} 
- +filter{refresh-tags} 
- +filter{nimda} 
- +filter{banners-by-size} 
- +hide-forwarded-for-headers 
- +hide-from-header{block} 
- +hide-referer{forge} 
- -hide-user-agent 
- -handle-as-image 
- -kill-popups 
- -limit-connect 
- +prevent-compression 
- -send-vanilla-wafer 
+ -add-header
+ -block
+ -content-type-overwrite
+ -crunch-client-header
+ -crunch-if-none-match
+ -crunch-incoming-cookies
+ -crunch-outgoing-cookies
+ -crunch-server-header
+ +deanimate-gifs {last}
+ -downgrade-http-version
+ -fast-redirects
+ +filter {js-annoyances}
+ +filter {html-annoyances}
+ +filter {refresh-tags}
+ +filter {unsolicited-popups}
+ +filter {img-reorder}
+ +filter {banners-by-size}
+ +filter {webbugs}
+ +filter {jumping-windows}
+ +filter {ie-exploits}
+ -filter-client-headers
+ -filter-server-headers
+ -force-text-mode
+ -handle-as-empty-document
+ -handle-as-image
+ -hide-accept-language
+ -hide-content-disposition
+ +hide-forwarded-for-headers
+ +hide-from-header {block}
+ -hide-if-modified-since
+ +hide-referrer {forge}
+ -hide-user-agent
+ -inspect-jpegs
+ -kill-popups
+ -limit-connect
+ -overwrite-last-modified
+ +prevent-compression
+ -redirect
+ -send-vanilla-wafer
  -send-wafer
  -send-wafer
- -session-cookies-only 
- +set-image-blocker{pattern} 
-</screen>
+ -session-cookies-only
+ +set-image-blocker {pattern}
+ -treat-forbidden-connects-like-blocks </screen>
 </para>
 
 <para>
  Notice the only difference here to the previous listing, is to 
  <quote>fast-redirects</quote> and <quote>session-cookies-only</quote>,
 </para>
 
 <para>
  Notice the only difference here to the previous listing, is to 
  <quote>fast-redirects</quote> and <quote>session-cookies-only</quote>,
- which are actived specifically for this site in our configuration.
+ which are actived specifically for this site in our configuration, 
+ and thus show in the <quote>Final Results</quote>.
 </para>
 
 <para>
 </para>
 
 <para>
@@ -7666,12 +7760,16 @@ In file: user.action <guibutton>[ View ]</guibutton> <guibutton>[ Edit ]</guibut
  In file: default.action <guibutton>[ View ]</guibutton> <guibutton>[ Edit ]</guibutton>
 
  {-add-header 
  In file: default.action <guibutton>[ View ]</guibutton> <guibutton>[ Edit ]</guibutton>
 
  {-add-header 
-  -block 
-  -crunch-incoming-cookies 
-  -crunch-outgoing-cookies 
+  -block
+  -content-type-overwrite
+  -crunch-client-header
+  -crunch-if-none-match
+  -crunch-incoming-cookies
+  -crunch-outgoing-cookies
+  -crunch-server-header
   +deanimate-gifs 
   -downgrade-http-version 
   +deanimate-gifs 
   -downgrade-http-version 
-  +fast-redirects 
+  +fast-redirects{check-decoded-url}
   +filter{html-annoyances} 
   +filter{js-annoyances} 
   +filter{kill-popups} 
   +filter{html-annoyances} 
   +filter{js-annoyances} 
   +filter{kill-popups} 
@@ -7680,17 +7778,27 @@ In file: user.action <guibutton>[ View ]</guibutton> <guibutton>[ Edit ]</guibut
   +filter{banners-by-size} 
   +filter{hal} 
   +filter{fun} 
   +filter{banners-by-size} 
   +filter{hal} 
   +filter{fun} 
+  -filter-client-headers
+  -filter-server-headers
+  -force-text-mode
+  -handle-as-empty-document
+  -handle-as-image 
+  -hide-accept-language
+  -hide-content-disposition  
   +hide-forwarded-for-headers 
   +hide-from-header{block} 
   +hide-referer{forge} 
   -hide-user-agent 
   +hide-forwarded-for-headers 
   +hide-from-header{block} 
   +hide-referer{forge} 
   -hide-user-agent 
-  -handle-as-image 
+  -inspect-jpegs
   +kill-popups 
   +kill-popups 
+  -overwrite-last-modified
   +prevent-compression 
   +prevent-compression 
+  -redirect
   -send-vanilla-wafer 
   -send-wafer 
   +session-cookies-only 
   -send-vanilla-wafer 
   -send-wafer 
   +session-cookies-only 
-  +set-image-blocker{blank} }
+  +set-image-blocker{blank} 
+  -treat-forbidden-connects-like-blocks }
    /
 
  { +block +handle-as-image }
    /
 
  { +block +handle-as-image }
@@ -7699,11 +7807,12 @@ In file: user.action <guibutton>[ View ]</guibutton> <guibutton>[ Edit ]</guibut
 </para>
 
 <para>
 </para>
 
 <para>
- Ooops, the <quote>/adsl/</quote> is matching <quote>/ads</quote>! But 
- we did not want this at all! Now we see why we get the blank page. We could
- now add a new action below this that explicitly does <emphasis>not</emphasis>
- block (<quote>{-block}</quote>) paths with <quote>adsl</quote>. There are
- various ways to handle such exceptions. Example:
+ Ooops, the <quote>/adsl/</quote> is matching <quote>/ads</quote> in our 
+ configuration! But we did not want this at all! Now we see why we get the
+ blank page. We could now add a new action below this that explicitly 
+ <emphasis>un</emphasis> blocks (<quote>{-block}</quote>) paths with
+ <quote>adsl</quote> in them (remember, last match in the configuration wins).
+ There are various ways to handle such exceptions. Example:
 </para>
 
 <para>
 </para>
 
 <para>
@@ -7814,6 +7923,11 @@ In file: user.action <guibutton>[ View ]</guibutton> <guibutton>[ Edit ]</guibut
  Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 
  $Log: user-manual.sgml,v $
  Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 
  $Log: user-manual.sgml,v $
+ Revision 2.15  2006/08/30 11:15:22  hal9
+ More work on the new actions, especially filter-*-headers, and What's New
+ section. User Manual is close to final form for 3.0.4 release. Some tinkering
+ and proof reading left to do.
+
  Revision 2.14  2006/08/29 10:59:36  hal9
  Add a "Whats New in this release" Section. Further work on multiple filter
  files, and assorted other minor changes.
  Revision 2.14  2006/08/29 10:59:36  hal9
  Add a "Whats New in this release" Section. Further work on multiple filter
  files, and assorted other minor changes.
index 844df3a..132cdea 100644 (file)
@@ -77,18 +77,30 @@ NAME="ACTIONS-FILE"
 ></A
 >8. Actions Files</H1
 ><P
 ></A
 >8. Actions Files</H1
 ><P
-> The actions files are used to define what actions
+> The actions files are used to define what <SPAN
+CLASS="emphasis"
+><I
+CLASS="EMPHASIS"
+>actions</I
+></SPAN
+>
  <SPAN
 CLASS="APPLICATION"
 >Privoxy</SPAN
  <SPAN
 CLASS="APPLICATION"
 >Privoxy</SPAN
-> takes for which URLs, and thus determine
+> takes for which URLs, and thus determines
  how ad images, cookies and various other aspects of HTTP content and
  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 three such files included with <SPAN
+ 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.</P
+><P
+> There 
+ are three action files included with <SPAN
 CLASS="APPLICATION"
 >Privoxy</SPAN
 CLASS="APPLICATION"
 >Privoxy</SPAN
->
with differing purposes:
+> with
+ differing purposes:
  </P
 ><P
 >  <P
  </P
 ><P
 >  <P
@@ -156,7 +168,7 @@ CLASS="FILENAME"
 >    <DIV
 CLASS="TABLE"
 ><A
 >    <DIV
 CLASS="TABLE"
 ><A
-NAME="AEN1798"
+NAME="AEN1803"
 ></A
 ><P
 ><B
 ></A
 ><P
 ><B
@@ -579,7 +591,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN1897"
+NAME="AEN1902"
 ></A
 >8.1. Finding the Right Mix</H2
 ><P
 ></A
 >8.1. Finding the Right Mix</H2
 ><P
@@ -613,7 +625,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN1904"
+NAME="AEN1909"
 ></A
 >8.2. How to Edit</H2
 ><P
 ></A
 >8.2. How to Edit</H2
 ><P
@@ -869,7 +881,7 @@ CLASS="SECT3"
 ><H3
 CLASS="SECT3"
 ><A
 ><H3
 CLASS="SECT3"
 ><A
-NAME="AEN1978"
+NAME="AEN1983"
 ></A
 >8.4.1. The Domain Pattern</H3
 ><P
 ></A
 >8.4.1. The Domain Pattern</H3
 ><P
@@ -1055,7 +1067,7 @@ CLASS="SECT3"
 ><H3
 CLASS="SECT3"
 ><A
 ><H3
 CLASS="SECT3"
 ><A
-NAME="AEN2040"
+NAME="AEN2045"
 ></A
 >8.4.2. The Path Pattern</H3
 ><P
 ></A
 >8.4.2. The Path Pattern</H3
 ><P
@@ -1854,7 +1866,7 @@ CLASS="APPLICATION"
 >Effect:</DT
 ><DD
 ><P
 >Effect:</DT
 ><DD
 ><P
->    Deletes every header send by the client that contains the string the user supplied as parameter.
+>    Deletes every header sent by the client that contains the string the user supplied as parameter.
    </P
 ></DD
 ><DT
    </P
 ></DD
 ><DT
@@ -3407,8 +3419,12 @@ CLASS="VARIABLELIST"
 >Effect:</DT
 ><DD
 ><P
 >Effect:</DT
 ><DD
 ><P
->Extend filtering capabilities to the client's headers, which 
-   by default applies only to the document itself.
+>    By default, <SPAN
+CLASS="APPLICATION"
+>Privoxy's</SPAN
+> filters only apply 
+    to the document content itself. This will extend those filters to 
+    include the client's headers as well.
    </P
 ></DD
 ><DT
    </P
 ></DD
 ><DT
@@ -3542,8 +3558,12 @@ CLASS="VARIABLELIST"
 >Effect:</DT
 ><DD
 ><P
 >Effect:</DT
 ><DD
 ><P
->Extend filtering capabilities to the server's headers, which 
-   by default applies only to the document itself.
+>    By default, <SPAN
+CLASS="APPLICATION"
+>Privoxy's</SPAN
+> filters only apply 
+    to the document content itself. This will extend those filters to 
+    include the server's headers as well.
    </P
 ></DD
 ><DT
    </P
 ></DD
 ><DT
@@ -4890,7 +4910,7 @@ CLASS="VARIABLELIST"
 >Effect:</DT
 ><DD
 ><P
 >Effect:</DT
 ><DD
 ><P
->    To protect against a known exploit
+>    Protect against a known exploit
    </P
 ></DD
 ><DT
    </P
 ></DD
 ><DT
@@ -5565,7 +5585,8 @@ CLASS="VARIABLELIST"
 ><DD
 ><P
 >    This action is useful to replace whole documents with your own
 ><DD
 ><P
 >    This action is useful to replace whole documents with your own
-    ones. For that to work, they have to be available on another server.
+    ones. For that to work, they have to be available on another server, 
+    and both should resolve.
    </P
 ><P
 >    You can do the same by combining the actions
    </P
 ><P
 >    You can do the same by combining the actions
@@ -6310,7 +6331,7 @@ CLASS="APPLICATION"
 >Privoxy</SPAN
 > to do the
     request through a SSL tunnel, everything will work. Most likely you haven't
 >Privoxy</SPAN
 > to do the
     request through a SSL tunnel, everything will work. Most likely you haven't
-    and the server will responds with an error message because it is expecting
+    and the server will respond with an error message because it is expecting
     HTTPS.
    </P
 ></DD
     HTTPS.
    </P
 ></DD
@@ -6341,7 +6362,7 @@ CLASS="SECT3"
 ><H3
 CLASS="SECT3"
 ><A
 ><H3
 CLASS="SECT3"
 ><A
-NAME="AEN3633"
+NAME="AEN3640"
 ></A
 >8.5.36. Summary</H3
 ><P
 ></A
 >8.5.36. Summary</H3
 ><P
@@ -6645,7 +6666,7 @@ CLASS="SECT3"
 ><H3
 CLASS="SECT3"
 ><A
 ><H3
 CLASS="SECT3"
 ><A
-NAME="AEN3698"
+NAME="AEN3705"
 ></A
 >8.7.1. default.action</H3
 ><P
 ></A
 >8.7.1. default.action</H3
 ><P
@@ -6838,10 +6859,26 @@ HREF="actions-file.html#ADD-HEADER"
  -<A
 HREF="actions-file.html#BLOCK"
 >block</A
  -<A
 HREF="actions-file.html#BLOCK"
 >block</A
+> \
+ -<A
+HREF="actions-file.html#CONTENT-TYPE-OVERWRITE"
+>content-type-overwrite</A
+> \
+ -<A
+HREF="actions-file.html#CRUNCH-CLIENT-HEADER"
+>crunch-client-header</A
+> \
+ -<A
+HREF="actions-file.html#CRUNCH-IF-NONE-MATCH"
+>crunch-if-none-match</A
 > \
  -<A
 HREF="actions-file.html#CRUNCH-INCOMING-COOKIES"
 >crunch-incoming-cookies</A
 > \
  -<A
 HREF="actions-file.html#CRUNCH-INCOMING-COOKIES"
 >crunch-incoming-cookies</A
+> \
+ -<A
+HREF="actions-file.html#CRUNCH-SERVER-HEADER"
+>crunch-server-header</A
 > \
  -<A
 HREF="actions-file.html#CRUNCH-OUTGOING-COOKIES"
 > \
  -<A
 HREF="actions-file.html#CRUNCH-OUTGOING-COOKIES"
@@ -6857,7 +6894,7 @@ HREF="actions-file.html#DOWNGRADE-HTTP-VERSION"
 > \
  +<A
 HREF="actions-file.html#FAST-REDIRECTS"
 > \
  +<A
 HREF="actions-file.html#FAST-REDIRECTS"
->fast-redirects</A
+>fast-redirects{check-decoded-url}</A
 > \
  +<A
 HREF="actions-file.html#FILTER-JS-ANNOYANCES"
 > \
  +<A
 HREF="actions-file.html#FILTER-JS-ANNOYANCES"
@@ -6940,8 +6977,36 @@ HREF="actions-file.html#FILTER-IE-EXPLOITS"
 >filter{ie-exploits}</A
 > \     
  -<A
 >filter{ie-exploits}</A
 > \     
  -<A
+HREF="actions-file.html#FILTER-CLIENT-HEADERS"
+>filter-client-headers</A
+> \
+ -<A
+HREF="actions-file.html#FILTER-SERVER-HEADERS"
+>filter-server-headers</A
+> \
+ -<A
+HREF="actions-file.html#FORCE-TEXT-MODE"
+>force-text-mode</A
+> \
+ -<A
+HREF="actions-file.html#HANDLE-AS-EMPTY-DOCUMENT"
+>handle-as-empty-document</A
+> \
+ -<A
 HREF="actions-file.html#HANDLE-AS-IMAGE"
 >handle-as-image</A
 HREF="actions-file.html#HANDLE-AS-IMAGE"
 >handle-as-image</A
+> \
+ -<A
+HREF="actions-file.html#HIDE-ACCEPT-LANGUAGE"
+>hide-accept-language</A
+> \
+ -<A
+HREF="actions-file.html#HIDE-CONTENT-DISPOSITION"
+>hide-content-disposition</A
+> \
+ -<A
+HREF="actions-file.html#HIDE-IF-MODIFIED-SINCE"
+>hide-if-modified-since</A
 > \
  +<A
 HREF="actions-file.html#HIDE-FORWARDED-FOR-HEADERS"
 > \
  +<A
 HREF="actions-file.html#HIDE-FORWARDED-FOR-HEADERS"
@@ -6958,6 +7023,10 @@ HREF="actions-file.html#HIDE-REFERER"
  -<A
 HREF="actions-file.html#HIDE-USER-AGENT"
 >hide-user-agent</A
  -<A
 HREF="actions-file.html#HIDE-USER-AGENT"
 >hide-user-agent</A
+> \
+ -<A
+HREF="actions-file.html#INSPECT-JPEGS"
+>inspect-jpegs</A
 > \
  -<A
 HREF="actions-file.html#KILL-POPUPS"
 > \
  -<A
 HREF="actions-file.html#KILL-POPUPS"
@@ -6970,6 +7039,14 @@ HREF="actions-file.html#LIMIT-CONNECT"
  +<A
 HREF="actions-file.html#PREVENT-COMPRESSION"
 >prevent-compression</A
  +<A
 HREF="actions-file.html#PREVENT-COMPRESSION"
 >prevent-compression</A
+> \
+ -<A
+HREF="actions-file.html#OVERWRITE-LAST-MODIFIED"
+>overwrite-last-modified</A
+> \
+ -<A
+HREF="actions-file.html#REDIRECT"
+>redirect</A
 > \
  -<A
 HREF="actions-file.html#SEND-VANILLA-WAFER"
 > \
  -<A
 HREF="actions-file.html#SEND-VANILLA-WAFER"
@@ -6986,6 +7063,10 @@ HREF="actions-file.html#SESSION-COOKIES-ONLY"
  +<A
 HREF="actions-file.html#SET-IMAGE-BLOCKER"
 >set-image-blocker{pattern}</A
  +<A
 HREF="actions-file.html#SET-IMAGE-BLOCKER"
 >set-image-blocker{pattern}</A
+> \
+ -<A
+HREF="actions-file.html#TREAT-FORBIDDEN-CONNECTS-LIKE-BLOCKS"
+>treat-forbidden-connects-like-blocks</A
 > \
  }
  / # forward slash will match *all* potential URL patterns.</PRE
 > \
  }
  / # forward slash will match *all* potential URL patterns.</PRE
@@ -7229,7 +7310,7 @@ bs*.einets.com
 CLASS="APPLICATION"
 >Privoxy</SPAN
 >
 CLASS="APPLICATION"
 >Privoxy</SPAN
 >
- is to block banners. A huge bunch of them are already <SPAN
+ is to block banners. A huge bunch of them can be <SPAN
 CLASS="QUOTE"
 >"blocked"</SPAN
 >
 CLASS="QUOTE"
 >"blocked"</SPAN
 >
@@ -7480,7 +7561,7 @@ HREF="actions-file.html#FILTER"
 > The actual <TT
 CLASS="FILENAME"
 >default.action</TT
 > The actual <TT
 CLASS="FILENAME"
 >default.action</TT
-> is of course more
+> is of course much more
  comprehensive, but we hope this example made clear how it works.</P
 ></DIV
 ><DIV
  comprehensive, but we hope this example made clear how it works.</P
 ></DIV
 ><DIV
@@ -7488,7 +7569,7 @@ CLASS="SECT3"
 ><H3
 CLASS="SECT3"
 ><A
 ><H3
 CLASS="SECT3"
 ><A
-NAME="AEN3864"
+NAME="AEN3886"
 ></A
 >8.7.2. user.action</H3
 ><P
 ></A
 >8.7.2. user.action</H3
 ><P
@@ -7584,13 +7665,27 @@ shop        = -crunch-all-cookies allow-popups
 
 # Allow ads for selected useful free sites:
 #
 
 # Allow ads for selected useful free sites:
 #
-allow-ads   = -block -filter{banners-by-size} -filter{banners-by-link}</PRE
+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
 ></TD
 ></TR
 ></TABLE
->
-
- </P
+>&#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
 ><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
@@ -7880,6 +7975,28 @@ HREF="actions-file.html#FILTER-BANNERS-BY-LINK"
 ></TT
 > above.</P
 ><P
 ></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
 > <TT
 CLASS="FILENAME"
 >user.action</TT
index c4ed673..d9aceac 100644 (file)
@@ -743,7 +743,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN4640"
+NAME="AEN4670"
 ></A
 >14.2. <SPAN
 CLASS="APPLICATION"
 ></A
 >14.2. <SPAN
 CLASS="APPLICATION"
@@ -792,7 +792,7 @@ CLASS="APPLICATION"
    Privoxy main page: 
   </P
 ><A
    Privoxy main page: 
   </P
 ><A
-NAME="AEN4655"
+NAME="AEN4685"
 ></A
 ><BLOCKQUOTE
 CLASS="BLOCKQUOTE"
 ></A
 ><BLOCKQUOTE
 CLASS="BLOCKQUOTE"
@@ -825,7 +825,7 @@ CLASS="APPLICATION"
     editing of actions files:
   </P
 ><A
     editing of actions files:
   </P
 ><A
-NAME="AEN4663"
+NAME="AEN4693"
 ></A
 ><BLOCKQUOTE
 CLASS="BLOCKQUOTE"
 ></A
 ><BLOCKQUOTE
 CLASS="BLOCKQUOTE"
@@ -845,7 +845,7 @@ TARGET="_top"
     Show the source code version numbers:
   </P
 ><A
     Show the source code version numbers:
   </P
 ><A
-NAME="AEN4668"
+NAME="AEN4698"
 ></A
 ><BLOCKQUOTE
 CLASS="BLOCKQUOTE"
 ></A
 ><BLOCKQUOTE
 CLASS="BLOCKQUOTE"
@@ -865,7 +865,7 @@ TARGET="_top"
    Show the browser's request headers:
   </P
 ><A
    Show the browser's request headers:
   </P
 ><A
-NAME="AEN4673"
+NAME="AEN4703"
 ></A
 ><BLOCKQUOTE
 CLASS="BLOCKQUOTE"
 ></A
 ><BLOCKQUOTE
 CLASS="BLOCKQUOTE"
@@ -885,7 +885,7 @@ TARGET="_top"
    Show which actions apply to a URL and why:
   </P
 ><A
    Show which actions apply to a URL and why:
   </P
 ><A
-NAME="AEN4678"
+NAME="AEN4708"
 ></A
 ><BLOCKQUOTE
 CLASS="BLOCKQUOTE"
 ></A
 ><BLOCKQUOTE
 CLASS="BLOCKQUOTE"
@@ -909,7 +909,7 @@ CLASS="QUOTE"
    to run, but only as a pass-through proxy, with no actions taking place:
   </P
 ><A
    to run, but only as a pass-through proxy, with no actions taking place:
   </P
 ><A
-NAME="AEN4684"
+NAME="AEN4714"
 ></A
 ><BLOCKQUOTE
 CLASS="BLOCKQUOTE"
 ></A
 ><BLOCKQUOTE
 CLASS="BLOCKQUOTE"
@@ -926,7 +926,7 @@ TARGET="_top"
 >   Short cuts. Turn off, then on: 
   </P
 ><A
 >   Short cuts. Turn off, then on: 
   </P
 ><A
-NAME="AEN4688"
+NAME="AEN4718"
 ></A
 ><BLOCKQUOTE
 CLASS="BLOCKQUOTE"
 ></A
 ><BLOCKQUOTE
 CLASS="BLOCKQUOTE"
@@ -940,7 +940,7 @@ TARGET="_top"
    </P
 ></BLOCKQUOTE
 ><A
    </P
 ></BLOCKQUOTE
 ><A
-NAME="AEN4691"
+NAME="AEN4721"
 ></A
 ><BLOCKQUOTE
 CLASS="BLOCKQUOTE"
 ></A
 ><BLOCKQUOTE
 CLASS="BLOCKQUOTE"
@@ -1243,10 +1243,10 @@ CLASS="QUOTE"
    <TT
 CLASS="FILENAME"
 >default.filter</TT
    <TT
 CLASS="FILENAME"
 >default.filter</TT
->) 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
+> 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"
    setting.The entire page, which is now filtered, is then sent by
    <SPAN
 CLASS="APPLICATION"
@@ -1390,7 +1390,8 @@ HREF="http://google.com"
 TARGET="_top"
 >google.com</A
 >, 
 TARGET="_top"
 >google.com</A
 >, 
- and look at it one section at a time:</P
+ and look at it one section at a time in a sample configuration (your real 
+ configuration may vary):</P
 ><P
 > <TABLE
 BORDER="0"
 ><P
 > <TABLE
 BORDER="0"
@@ -1410,38 +1411,63 @@ CLASS="GUIBUTTON"
 >[ Edit ]</SPAN
 >
 
 >[ Edit ]</SPAN
 >
 
-{-add-header 
- -block 
- -crunch-outgoing-cookies 
- -crunch-incoming-cookies 
- +deanimate-gifs{last} 
- -downgrade-http-version 
- +fast-redirects 
- -filter{popups} 
- -filter{fun} 
- -filter{shockwave-flash} 
- -filter{crude-parental} 
- +filter{html-annoyances} 
- +filter{js-annoyances} 
- +filter{content-cookies} 
- +filter{webbugs} 
- +filter{refresh-tags} 
- +filter{nimda} 
- +filter{banners-by-size} 
- +hide-forwarded-for-headers 
- +hide-from-header{block} 
- +hide-referer{forge} 
- -hide-user-agent 
- -handle-as-image 
- -kill-popups 
- -limit-connect 
- +prevent-compression 
- -send-vanilla-wafer 
- -send-wafer 
- +session-cookies-only 
- +set-image-blocker{pattern} }
+ {-add-header
+ -block
+ -content-type-overwrite
+ -crunch-client-header
+ -crunch-if-none-match
+ -crunch-incoming-cookies
+ -crunch-outgoing-cookies
+ -crunch-server-header
+ +deanimate-gifs {last}
+ -downgrade-http-version
+ +fast-redirects {check-decoded-url}
+ -filter {js-events}
+ -filter {content-cookies}
+ -filter {all-popups}
+ -filter {banners-by-link}
+ -filter {tiny-textforms}
+ -filter {frameset-borders}
+ -filter {demoronizer}
+ -filter {shockwave-flash}
+ -filter {quicktime-kioskmode}
+ -filter {fun}
+ -filter {crude-parental}
+ -filter {site-specifics}
+ +filter {js-annoyances}
+ +filter {html-annoyances}
+ +filter {refresh-tags}
+ +filter {unsolicited-popups}
+ +filter {img-reorder}
+ +filter {banners-by-size}
+ +filter {webbugs}
+ +filter {jumping-windows}
+ +filter {ie-exploits}
+ -filter-client-headers
+ -filter-server-headers
+ -force-text-mode
+ -handle-as-empty-document
+ -handle-as-image
+ -hide-accept-language
+ -hide-content-disposition
+ +hide-forwarded-for-headers
+ +hide-from-header {block}
+ -hide-if-modified-since
+ +hide-referrer {forge}
+ -hide-user-agent
+ -inspect-jpegs
+ -kill-popups
+ -limit-connect
+ -overwrite-last-modified
+ +prevent-compression
+ -redirect
+ -send-vanilla-wafer
+ -send-wafer
+ +session-cookies-only
+ +set-image-blocker {pattern}
+ -treat-forbidden-connects-like-blocks }
 /
 /
-
  { -session-cookies-only }
  .google.com
 
  { -session-cookies-only }
  .google.com
 
@@ -1461,7 +1487,7 @@ CLASS="GUIBUTTON"
 ></TABLE
 ></P
 ><P
 ></TABLE
 ></P
 ><P
-> This tells us how we have defined our 
+> This is telling us how we have defined our 
  <A
 HREF="actions-file.html#ACTIONS"
 ><SPAN
  <A
 HREF="actions-file.html#ACTIONS"
 ><SPAN
@@ -1469,10 +1495,35 @@ CLASS="QUOTE"
 >"actions"</SPAN
 ></A
 >, and
 >"actions"</SPAN
 ></A
 >, and
- which ones match for our example, <SPAN
+ which ones match for our test case, <SPAN
 CLASS="QUOTE"
 >"google.com"</SPAN
 CLASS="QUOTE"
 >"google.com"</SPAN
->. The first listing
+>. 
+ 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 any matches for the <TT
 CLASS="FILENAME"
 >standard.action</TT
  is any matches for the <TT
 CLASS="FILENAME"
 >standard.action</TT
@@ -1517,8 +1568,9 @@ CLASS="QUOTE"
 >"+session-cookies-only"</SPAN
 ></A
 >
 >"+session-cookies-only"</SPAN
 ></A
 >
- (i.e. not persistent). So we will allow persistent cookies for google. The
- second turns <SPAN
+ (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"
 CLASS="emphasis"
 ><I
 CLASS="EMPHASIS"
@@ -1555,7 +1607,9 @@ CLASS="QUOTE"
 > Then, for our <TT
 CLASS="FILENAME"
 >user.action</TT
 > Then, for our <TT
 CLASS="FILENAME"
 >user.action</TT
-> file, we again have no hits.</P
+> file, we again have no hits.
+ So there is nothing google-specific that we might have added to our own, local
+ configuration.</P
 ><P
 > And finally we pull it all together in the bottom section and summarize how
  <SPAN
 ><P
 > And finally we pull it all together in the bottom section and summarize how
  <SPAN
@@ -1580,36 +1634,49 @@ WIDTH="100%"
 CLASS="SCREEN"
 >&#13; Final results:
  
 CLASS="SCREEN"
 >&#13; Final results:
  
- -add-header 
- -block 
- -crunch-outgoing-cookies 
- -crunch-incoming-cookies 
- +deanimate-gifs{last} 
- -downgrade-http-version 
- -fast-redirects 
- -filter{popups} 
- -filter{fun} 
- -filter{shockwave-flash} 
- -filter{crude-parental} 
- +filter{html-annoyances} 
- +filter{js-annoyances} 
- +filter{content-cookies} 
- +filter{webbugs} 
- +filter{refresh-tags} 
- +filter{nimda} 
- +filter{banners-by-size} 
- +hide-forwarded-for-headers 
- +hide-from-header{block} 
- +hide-referer{forge} 
- -hide-user-agent 
- -handle-as-image 
- -kill-popups 
- -limit-connect 
- +prevent-compression 
- -send-vanilla-wafer 
+ -add-header
+ -block
+ -content-type-overwrite
+ -crunch-client-header
+ -crunch-if-none-match
+ -crunch-incoming-cookies
+ -crunch-outgoing-cookies
+ -crunch-server-header
+ +deanimate-gifs {last}
+ -downgrade-http-version
+ -fast-redirects
+ +filter {js-annoyances}
+ +filter {html-annoyances}
+ +filter {refresh-tags}
+ +filter {unsolicited-popups}
+ +filter {img-reorder}
+ +filter {banners-by-size}
+ +filter {webbugs}
+ +filter {jumping-windows}
+ +filter {ie-exploits}
+ -filter-client-headers
+ -filter-server-headers
+ -force-text-mode
+ -handle-as-empty-document
+ -handle-as-image
+ -hide-accept-language
+ -hide-content-disposition
+ +hide-forwarded-for-headers
+ +hide-from-header {block}
+ -hide-if-modified-since
+ +hide-referrer {forge}
+ -hide-user-agent
+ -inspect-jpegs
+ -kill-popups
+ -limit-connect
+ -overwrite-last-modified
+ +prevent-compression
+ -redirect
+ -send-vanilla-wafer
  -send-wafer
  -send-wafer
- -session-cookies-only 
- +set-image-blocker{pattern} </PRE
+ -session-cookies-only
+ +set-image-blocker {pattern}
+ -treat-forbidden-connects-like-blocks </PRE
 ></TD
 ></TR
 ></TABLE
 ></TD
 ></TR
 ></TABLE
@@ -1623,7 +1690,11 @@ CLASS="QUOTE"
 CLASS="QUOTE"
 >"session-cookies-only"</SPAN
 >,
 CLASS="QUOTE"
 >"session-cookies-only"</SPAN
 >,
- which are actived specifically for this site in our configuration.</P
+ which are actived 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"
 ><P
 > Now another example, <SPAN
 CLASS="QUOTE"
@@ -1730,12 +1801,16 @@ CLASS="GUIBUTTON"
 >
 
  {-add-header 
 >
 
  {-add-header 
-  -block 
-  -crunch-incoming-cookies 
-  -crunch-outgoing-cookies 
+  -block
+  -content-type-overwrite
+  -crunch-client-header
+  -crunch-if-none-match
+  -crunch-incoming-cookies
+  -crunch-outgoing-cookies
+  -crunch-server-header
   +deanimate-gifs 
   -downgrade-http-version 
   +deanimate-gifs 
   -downgrade-http-version 
-  +fast-redirects 
+  +fast-redirects{check-decoded-url}
   +filter{html-annoyances} 
   +filter{js-annoyances} 
   +filter{kill-popups} 
   +filter{html-annoyances} 
   +filter{js-annoyances} 
   +filter{kill-popups} 
@@ -1744,17 +1819,27 @@ CLASS="GUIBUTTON"
   +filter{banners-by-size} 
   +filter{hal} 
   +filter{fun} 
   +filter{banners-by-size} 
   +filter{hal} 
   +filter{fun} 
+  -filter-client-headers
+  -filter-server-headers
+  -force-text-mode
+  -handle-as-empty-document
+  -handle-as-image 
+  -hide-accept-language
+  -hide-content-disposition  
   +hide-forwarded-for-headers 
   +hide-from-header{block} 
   +hide-referer{forge} 
   -hide-user-agent 
   +hide-forwarded-for-headers 
   +hide-from-header{block} 
   +hide-referer{forge} 
   -hide-user-agent 
-  -handle-as-image 
+  -inspect-jpegs
   +kill-popups 
   +kill-popups 
+  -overwrite-last-modified
   +prevent-compression 
   +prevent-compression 
+  -redirect
   -send-vanilla-wafer 
   -send-wafer 
   +session-cookies-only 
   -send-vanilla-wafer 
   -send-wafer 
   +session-cookies-only 
-  +set-image-blocker{blank} }
+  +set-image-blocker{blank} 
+  -treat-forbidden-connects-like-blocks }
    /
 
  { +block +handle-as-image }
    /
 
  { +block +handle-as-image }
@@ -1770,23 +1855,24 @@ CLASS="QUOTE"
 > is matching <SPAN
 CLASS="QUOTE"
 >"/ads"</SPAN
 > is matching <SPAN
 CLASS="QUOTE"
 >"/ads"</SPAN
->! But 
- we did not want this at all! Now we see why we get the blank page. We could
- now add a new action below this that explicitly does <SPAN
+> in our 
+ configuration! But we did not want this at all! Now we see why we get the
+ blank page. We could now add a new action below this that explicitly 
+ <SPAN
 CLASS="emphasis"
 ><I
 CLASS="EMPHASIS"
 CLASS="emphasis"
 ><I
 CLASS="EMPHASIS"
->not</I
+>un</I
 ></SPAN
 ></SPAN
->
- block (<SPAN
+> blocks (<SPAN
 CLASS="QUOTE"
 >"{-block}"</SPAN
 CLASS="QUOTE"
 >"{-block}"</SPAN
->) paths with <SPAN
+>) paths with
+ <SPAN
 CLASS="QUOTE"
 >"adsl"</SPAN
 CLASS="QUOTE"
 >"adsl"</SPAN
->. There are
- various ways to handle such exceptions. Example:</P
+> in them (remember, last match in the configuration wins).
There are various ways to handle such exceptions. Example:</P
 ><P
 > <TABLE
 BORDER="0"
 ><P
 > <TABLE
 BORDER="0"
index c48743b..a25a894 100644 (file)
@@ -465,7 +465,7 @@ CLASS="VARIABLELIST"
 ><P
 >    The <A
 HREF="filter-file.html"
 ><P
 >    The <A
 HREF="filter-file.html"
->filter file</A
+>filter file(s)</A
 > to use
    </P
 ></DD
 > to use
    </P
 ></DD
@@ -514,24 +514,31 @@ CLASS="REPLACEABLE"
 >Notes:</DT
 ><DD
 ><P
 >Notes:</DT
 ><DD
 ><P
+>    Multiple <TT
+CLASS="LITERAL"
+>filterfiles</TT
+> lines are permitted.
+   </P
+><P
 >    The <A
 HREF="filter-file.html"
 >    The <A
 HREF="filter-file.html"
->filter file</A
-> contains content modification
+>filter files</A
+> contain content modification
     rules that use <A
 HREF="appendix.html#REGEX"
 >regular expressions</A
 >. These rules permit
     rules that use <A
 HREF="appendix.html#REGEX"
 >regular expressions</A
 >. These rules permit
-    powerful changes on the content of Web pages, e.g., you could disable your favorite
-    JavaScript annoyances, re-write the actual displayed text, or just have some
-    fun replacing <SPAN
+    powerful changes on the content of Web pages, and optionally the headers
+    as well, e.g., you could disable your favorite JavaScript annoyances,
+    re-write the actual displayed text, or just have some fun replacing
+    <SPAN
 CLASS="QUOTE"
 >"Microsoft"</SPAN
 > with <SPAN
 CLASS="QUOTE"
 >"MicroSuck"</SPAN
 CLASS="QUOTE"
 >"Microsoft"</SPAN
 > with <SPAN
 CLASS="QUOTE"
 >"MicroSuck"</SPAN
-> wherever
-    it appears on a Web page.
+> wherever it appears
+    on a Web page.
    </P
 ><P
 >    The
    </P
 ><P
 >    The
@@ -553,14 +560,14 @@ CLASS="REPLACEABLE"
 >name</I
 ></TT
 >)
 >name</I
 ></TT
 >)
-    to be defined in the filter file!
+    to be defined in a filter file!
    </P
 ><P
 >    A pre-defined filter file called <TT
 CLASS="FILENAME"
 >default.filter</TT
 > that contains
    </P
 ><P
 >    A pre-defined filter file called <TT
 CLASS="FILENAME"
 >default.filter</TT
 > that contains
-    a bunch of handy filters for common problems is included in the distribution.
+    a number of useful filters for common problems is included in the distribution.
     See the section on the <TT
 CLASS="LITERAL"
 ><A
     See the section on the <TT
 CLASS="LITERAL"
 ><A
@@ -570,6 +577,13 @@ HREF="actions-file.html#FILTER"
 >
     action for a list.
    </P
 >
     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
 ></DD
 ></DL
 ></DIV
index b6d00e3..192d197 100644 (file)
@@ -96,7 +96,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN725"
+NAME="AEN724"
 ></A
 >6.1. Controlling <SPAN
 CLASS="APPLICATION"
 ></A
 >6.1. Controlling <SPAN
 CLASS="APPLICATION"
@@ -130,7 +130,7 @@ CLASS="SCREEN"
 > <H2
 CLASS="BRIDGEHEAD"
 ><A
 > <H2
 CLASS="BRIDGEHEAD"
 ><A
-NAME="AEN734"
+NAME="AEN733"
 ></A
 >    Privoxy Menu</H2
 ><P
 ></A
 >    Privoxy Menu</H2
 ><P
index 12cc36a..294d62c 100644 (file)
@@ -100,7 +100,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN4394"
+NAME="AEN4424"
 ></A
 >12.1. License</H2
 ><P
 ></A
 >12.1. License</H2
 ><P
index 6a1b520..4cdd83a 100644 (file)
@@ -303,7 +303,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN3994"
+NAME="AEN4024"
 ></A
 >9.1. Filter File Tutorial</H2
 ><P
 ></A
 >9.1. Filter File Tutorial</H2
 ><P
index d60408c..7f6c942 100644 (file)
@@ -45,7 +45,7 @@ TARGET="_top"
 ><BR></P
 ><P
 CLASS="PUBDATE"
 ><BR></P
 ><P
 CLASS="PUBDATE"
->$Id: user-manual.sgml,v 2.14 2006/08/29 10:59:36 hal9 Exp $<BR></P
+>$Id: user-manual.sgml,v 2.15 2006/08/30 11:15:22 hal9 Exp $<BR></P
 ><DIV
 ><DIV
 CLASS="ABSTRACT"
 ><DIV
 ><DIV
 CLASS="ABSTRACT"
@@ -73,7 +73,7 @@ CLASS="APPLICATION"
 CLASS="APPLICATION"
 >Privoxy</SPAN
 > is a web proxy with advanced filtering
 CLASS="APPLICATION"
 >Privoxy</SPAN
 > is a web proxy with advanced filtering
- capabilities for protecting privacy, modifying web page content, managing
+ capabilities for protecting privacy, modifying web page data, managing
  cookies, controlling access, and removing ads, banners, pop-ups and other
  obnoxious Internet junk. <SPAN
 CLASS="APPLICATION"
  cookies, controlling access, and removing ads, banners, pop-ups and other
  obnoxious Internet junk. <SPAN
 CLASS="APPLICATION"
@@ -308,7 +308,7 @@ CLASS="APPLICATION"
 ><DL
 ><DT
 >6.1. <A
 ><DL
 ><DT
 >6.1. <A
-HREF="configuration.html#AEN725"
+HREF="configuration.html#AEN724"
 >Controlling <SPAN
 CLASS="APPLICATION"
 >Privoxy</SPAN
 >Controlling <SPAN
 CLASS="APPLICATION"
 >Privoxy</SPAN
@@ -499,12 +499,12 @@ HREF="actions-file.html"
 ><DL
 ><DT
 >8.1. <A
 ><DL
 ><DT
 >8.1. <A
-HREF="actions-file.html#AEN1897"
+HREF="actions-file.html#AEN1902"
 >Finding the Right Mix</A
 ></DT
 ><DT
 >8.2. <A
 >Finding the Right Mix</A
 ></DT
 ><DT
 >8.2. <A
-HREF="actions-file.html#AEN1904"
+HREF="actions-file.html#AEN1909"
 >How to Edit</A
 ></DT
 ><DT
 >How to Edit</A
 ></DT
 ><DT
@@ -521,12 +521,12 @@ HREF="actions-file.html#AF-PATTERNS"
 ><DL
 ><DT
 >8.4.1. <A
 ><DL
 ><DT
 >8.4.1. <A
-HREF="actions-file.html#AEN1978"
+HREF="actions-file.html#AEN1983"
 >The Domain Pattern</A
 ></DT
 ><DT
 >8.4.2. <A
 >The Domain Pattern</A
 ></DT
 ><DT
 >8.4.2. <A
-HREF="actions-file.html#AEN2040"
+HREF="actions-file.html#AEN2045"
 >The Path Pattern</A
 ></DT
 ></DL
 >The Path Pattern</A
 ></DT
 ></DL
@@ -718,7 +718,7 @@ HREF="actions-file.html#TREAT-FORBIDDEN-CONNECTS-LIKE-BLOCKS"
 ></DT
 ><DT
 >8.5.36. <A
 ></DT
 ><DT
 >8.5.36. <A
-HREF="actions-file.html#AEN3633"
+HREF="actions-file.html#AEN3640"
 >Summary</A
 ></DT
 ></DL
 >Summary</A
 ></DT
 ></DL
@@ -737,12 +737,12 @@ HREF="actions-file.html#ACT-EXAMPLES"
 ><DL
 ><DT
 >8.7.1. <A
 ><DL
 ><DT
 >8.7.1. <A
-HREF="actions-file.html#AEN3698"
+HREF="actions-file.html#AEN3705"
 >default.action</A
 ></DT
 ><DT
 >8.7.2. <A
 >default.action</A
 ></DT
 ><DT
 >8.7.2. <A
-HREF="actions-file.html#AEN3864"
+HREF="actions-file.html#AEN3886"
 >user.action</A
 ></DT
 ></DL
 >user.action</A
 ></DT
 ></DL
@@ -758,7 +758,7 @@ HREF="filter-file.html"
 ><DL
 ><DT
 >9.1. <A
 ><DL
 ><DT
 >9.1. <A
-HREF="filter-file.html#AEN3994"
+HREF="filter-file.html#AEN4024"
 >Filter File Tutorial</A
 ></DT
 ><DT
 >Filter File Tutorial</A
 ></DT
 ><DT
@@ -829,7 +829,7 @@ CLASS="APPLICATION"
 ><DL
 ><DT
 >12.1. <A
 ><DL
 ><DT
 >12.1. <A
-HREF="copyright.html#AEN4394"
+HREF="copyright.html#AEN4424"
 >License</A
 ></DT
 ><DT
 >License</A
 ></DT
 ><DT
@@ -863,7 +863,7 @@ HREF="appendix.html#REGEX"
 ></DT
 ><DT
 >14.2. <A
 ></DT
 ><DT
 >14.2. <A
-HREF="appendix.html#AEN4640"
+HREF="appendix.html#AEN4670"
 ><SPAN
 CLASS="APPLICATION"
 >Privoxy</SPAN
 ><SPAN
 CLASS="APPLICATION"
 >Privoxy</SPAN
index 9982796..34b4d0a 100644 (file)
@@ -856,8 +856,12 @@ CLASS="EMPHASIS"
 > that you use <TT
 CLASS="LITERAL"
 >user.action</TT
 > that you use <TT
 CLASS="LITERAL"
 >user.action</TT
-> for your
- customization of <SPAN
+> and 
+ <TT
+CLASS="LITERAL"
+>user.filter</TT
+> for your local
+ customizations of <SPAN
 CLASS="APPLICATION"
 >Privoxy</SPAN
 >. See the <A
 CLASS="APPLICATION"
 >Privoxy</SPAN
 >. See the <A
index 842014a..43f0ea3 100644 (file)
@@ -77,22 +77,18 @@ NAME="INTRODUCTION"
 ></A
 >1. Introduction</H1
 ><P
 ></A
 >1. Introduction</H1
 ><P
-> This documentation is included with the current BETA version of
+> This documentation is included with the current beta version of
  <SPAN
 CLASS="APPLICATION"
 >Privoxy</SPAN
 >, v.3.0.4, 
  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
  <SPAN
 CLASS="APPLICATION"
 >Privoxy</SPAN
 >, v.3.0.4, 
  and is mostly complete at this point. The most up to date reference for the
  time being is still the comments in the source files and in the individual
- configuration files. Development of version 3.0 is currently nearing
- completion, and includes many significant changes and enhancements over
- earlier versions. The target release date for
- stable v3.0 is <SPAN
-CLASS="QUOTE"
->"soon"</SPAN
-> ;-).</P
+ configuration files. Development of a new version is currently nearing
+ completion, and includes significant changes and enhancements over
+ earlier versions. .</P
 ><P
 ><P
-> Since this is a BETA version, not all new features are well tested. This
+> Since this is a beta version, not all new features are well tested. This
  documentation may be slightly out of sync as a result (especially with 
  CVS sources). And there <SPAN
 CLASS="emphasis"
  documentation may be slightly out of sync as a result (especially with 
  CVS sources). And there <SPAN
 CLASS="emphasis"
@@ -111,16 +107,14 @@ NAME="FEATURES"
 ></A
 >1.1. Features</H2
 ><P
 ></A
 >1.1. Features</H2
 ><P
-> In addition to <SPAN
-CLASS="APPLICATION"
->Internet Junkbuster's</SPAN
-> traditional
- features of ad and banner blocking and cookie management,
+> In addition to the core 
+ features of ad blocking and cookie management,
  <SPAN
 CLASS="APPLICATION"
 >Privoxy</SPAN
  <SPAN
 CLASS="APPLICATION"
 >Privoxy</SPAN
-> provides new features,
- some of them currently under development:</P
+> 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
 ><P
 > <P
 ></P
index 2799713..afd2f6e 100644 (file)
@@ -632,7 +632,7 @@ CLASS="GUIBUTTON"
 >  <DIV
 CLASS="FIGURE"
 ><A
 >  <DIV
 CLASS="FIGURE"
 ><A
-NAME="AEN521"
+NAME="AEN520"
 ></A
 ><P
 ><B
 ></A
 ><P
 ><B
index ee85acd..99db75c 100644 (file)
@@ -101,7 +101,7 @@ CLASS="APPLICATION"
 >  <DIV
 CLASS="FIGURE"
 ><A
 >  <DIV
 CLASS="FIGURE"
 ><A
-NAME="AEN572"
+NAME="AEN571"
 ></A
 ><P
 ><B
 ></A
 ><P
 ><B