Additional notes on Privoxy patterns, and filtering vs SSL.
[privoxy.git] / doc / source / user-manual.sgml
index 8bc7508..e214f8d 100644 (file)
 <!entity license SYSTEM "license.sgml">
 <!entity p-authors SYSTEM "p-authors.sgml">
 <!entity config SYSTEM "p-config.sgml">
-<!entity p-version "2.9.15">
-<!entity p-status "beta">
+<!entity p-version SYSTEM "doc_version.tmp">
+<!entity p-status SYSTEM "doc_status.tmp">
 <!entity % p-authors-formal "INCLUDE"> <!-- include additional text, etc  -->
-<!entity % p-not-stable "INCLUDE">
+<!entity % p-not-stable "IGNORE">
 <!entity % p-stable "IGNORE">
 <!entity % p-text "IGNORE">        <!-- define we are not a text only doc -->
 <!entity % p-doc "INCLUDE">        <!-- and we are a formal doc           -->
@@ -32,7 +32,7 @@
                 This file belongs into
                 ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/
 
- $Id: user-manual.sgml,v 1.124 2002/05/29 02:01:02 hal9 Exp $
+ $Id: user-manual.sgml,v 2.2 2002/09/05 05:45:30 hal9 Exp $
 
  Copyright (C) 2001, 2002 Privoxy Developers <developers@privoxy.org>
  See LICENSE.
 <article id="index">
 <artheader>
 
-<title>Privoxy User Manual</title>
+<title>Privoxy &p-version; User Manual</title>
 
 <pubdate>
  <subscript>
 <!-- Completely the wrong markup, but very little is allowed  -->
 <!-- in this part of an article. FIXME -->
  <link linkend="copyright">Copyright</link> &my-copy; 2001, 2002 by 
- <ulink url="http://www.privoxy.org">Privoxy Developers</ulink>
+ <ulink url="http://www.privoxy.org/">Privoxy Developers</ulink>
  </subscript>
 </pubdate>
 
-<pubdate>$Id: user-manual.sgml,v 1.124 2002/05/29 02:01:02 hal9 Exp $</pubdate>
+<pubdate>$Id: user-manual.sgml,v 2.2 2002/09/05 05:45:30 hal9 Exp $</pubdate>
 
 <!--
 
@@ -109,7 +109,7 @@ Hal.
  <para>
   You can find the latest version of the <citetitle>User Manual</citetitle> at  <ulink
   url="http://www.privoxy.org/user-manual/">http://www.privoxy.org/user-manual/</ulink>.
-  Please see the <ulink url="contact.html">Contact section</ulink> on how to
+  Please see the <link linkend="contact">Contact section</link> on how to
   contact the developers.
  </para>
 
@@ -277,17 +277,32 @@ automatically start Privoxy in the boot process.
 </sect3>
 
 <!--   ~~~~~       New section      ~~~~~     -->
-<sect3 id="installation-mac"><title>Max OSX</title>
-<para>
- Unzip the downloaded package (you can either double-click on the file
- in the finder, or on the desktop if you downloaded it there).  Then,
- double-click on the package installer icon and follow the installation
- process.
- <application>Privoxy</application> will be installed in the subdirectory
- <literal>/Applications/Privoxy.app</literal>.
- <application>Privoxy</application> will set itself up to start 
- automatically on system bring-up via
- <literal>/System/Library/StartupItems/Privoxy</literal>.
+<sect3 id="installation-mac"><title>Mac OSX</title>
+<para>
+ Unzip the downloaded file (you can either double-click on the file
+ from the finder, or from the desktop if you downloaded it there).
+ Then, double-click on the package installer icon named
+ <literal>Privoxy.pkg</literal>
+ and follow the installation process.
+ <application>Privoxy</application> will be installed in the folder
+ <literal>/Library/Privoxy</literal>.
+ It will start automatically whenever you start up.  To prevent it from
+ starting automatically, remove or rename the folder
+ <literal>/Library/StartupItems/Privoxy</literal>. 
+</para>
+<para>
+ To start Privoxy by hand, double-click on 
+ <literal>StartPrivoxy.command</literal> in the
+ <literal>/Library/Privoxy</literal> folder.
+ Or, type this command in the Terminal:
+</para>
+<para>
+  <screen>
+  /Library/Privoxy/StartPrivoxy.command
+  </screen>
+</para>
+<para>
+ You will be prompted for the administrator password.
 </para>
 </sect3>
 
@@ -300,6 +315,28 @@ automatically start Privoxy in the boot process.
  remove this directory.
 </para>
 </sect3>
+
+<!--   ~~~~~       New section      ~~~~~     -->
+<sect3 id="installattion-gentoo"><title>Gentoo</title>
+<para>
+ Gentoo source packages (Ebuilds) for <application>Privoxy</application> 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 
+ <application>Privoxy</application> Version is added to the  Portage Tree).
+</para>
+<para>
+ Before installing <application>Privoxy</application> under Gentoo just do 
+ first <literal>emerge rsync</literal> to get the latest changes from the 
+ Portage tree. With <literal>emerge privoxy</literal> you install the latest 
+ version.
+</para>
+<para>
+ Configuration files are in <filename>/etc/privoxy</filename>, the 
+ documentation is in <filename>/usr/share/doc/privoxy-&p-version;</filename>
+ and the Log directory is in <filename>/var/log/privoxy</filename>.
+</para>
+</sect3>
+
 </sect2>
 
 <!--   ~~~~~       New section      ~~~~~     -->
@@ -325,6 +362,33 @@ automatically start Privoxy in the boot process.
 <!-- end boilerplate -->
 
 </sect2>
+<!--   ~~~~~       New section      ~~~~~     --> 
+<sect2 id="installation-keepupdated"><title>Keeping your Installation Up-to-Date</title>
+<para>
+ As user feedback comes in and development continues, we will make updated versions
+ of both the main <link linkend="actions-file">actions file</link> (as a <ulink
+ url="http://sourceforge.net/project/showfiles.php?group_id=11118&amp;release_id=103670">separate
+ package</ulink>) and the software itself (including the actions file) available for
+ download.
+</para>
+
+<para>
+ If you wish to receive an email notification whenever we release updates of
+ <application>Privoxy</application> or the actions file, <ulink
+ url="http://lists.sourceforge.net/lists/listinfo/ijbswa-announce/">subscribe
+ to our announce  mailing list</ulink>, ijbswa-announce@lists.sourceforge.net.
+</para>
+
+<para>
+ In order not to loose 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
+ linkend="actions-file">Chapter on actions files</link> for details.
+</para>
+
+</sect2>
+
 
 </sect1>
 
@@ -777,6 +841,10 @@ automatically start Privoxy in the boot process.
  127.0.0.1 (or localhost) for the proxy address, and port 8118 (earlier versions
  used port 8000). This is the one configuration step that must be done!
 </para>
+<para>
+ Please note that <application>Privoxy</application> can only proxy HTTP and 
+ HTTPS traffic. It will not work with FTP or other protocols.
+</para>
 
  <!-- image of Mozilla Proxy configuration -->
  <para>
@@ -924,16 +992,21 @@ Example Unix startup command:
 </sect2>
 
 <sect2 id="start-macosx">
-<title>MAX OSX</title>
+<title>Mac OSX</title>
 <para>
  During installation, <application>Privoxy</application> is configured to
- start automatically when the system restarts. You can start it manually
- through the Terminal with these commands:
+ start automatically when the system restarts.  To start Privoxy by hand,
+ double-click on the <literal>StartPrivoxy.command</literal> icon in the
+ <literal>/Library/Privoxy</literal> folder.  Or, type this command
+ in the Terminal:
 </para>
 <para>
   <screen>
-  cd /Applications/Privoxy.app
-  ./privoxy</screen>
+  /Library/Privoxy/StartPrivoxy.command
+  </screen>
+</para>
+<para>
+ You will be prompted for the administrator password.
 </para>
 </sect2>
 
@@ -951,6 +1024,29 @@ Example Unix startup command:
 </para>
 </sect2>
 
+<sect2 id="start-gentoo">
+<title>Gentoo</title>
+<para>
+ A script is again used. It will use the file <filename>/etc/privoxy/config 
+ </filename> as its main configuration file.
+</para>
+<para>
+ <screen>
+ /etc/init.d/privoxy start
+ </screen>
+</para>
+<para>
+ Note that <application>Privoxy</application> is not automatically started at 
+ boot time by default. You can change this with the <literal>rc-update</literal> 
+ command.
+</para>
+<para> 
+ <screen>
+ rc-update add privoxy default
+ </screen>
+</para>
+</sect2>
+
 <!--
 
 <para>
@@ -1036,17 +1132,17 @@ must find a better place for this paragraph
 </para>
 
 <para>
- If the above paragraph sounds gibberish to you, you might want to <ulink
url="actions-file.html#ACTIONSFILE">read more about the actions concept</ulink>
- or even dive deep into the <ulink url="appendix.html#ACTIONSANAT">Appendix
- on actions</ulink>.
+ If the above paragraph sounds gibberish to you, you might want to <link
linkend="actions-file">read more about the actions concept</link>
+ or even dive deep into the <link linkend="actionsanat">Appendix
+ on actions</link>.
 </para>
 
 <para>
  If you can't get rid of the problem at all, think you've found a bug in
  Privoxy, want to propose a new feature or smarter rules, please see the 
- section <ulink url="contact.html"><quote>Contacting the
- Developers</quote></ulink> below. 
+ section <link linkend="contact"><quote>Contacting the
+ Developers</quote></link> below. 
 </para>
 
 -->
@@ -1178,6 +1274,9 @@ must find a better place for this paragraph
  <member>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&squf;&nbsp;&nbsp;<ulink url="http://config.privoxy.org/toggle">Toggle Privoxy on or off</ulink>
  </member>
+ <member>
+  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&squf;&nbsp;&nbsp;<ulink url="http://www.privoxy.org/&p-version;/user-manual/">Documentation</ulink>
+ </member>
  </simplelist>
  </msgtext>
 </screen>
@@ -1345,9 +1444,9 @@ must find a better place for this paragraph
  <application>Privoxy</application> takes for which URLs, and thus determine
  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> (as of 
- version 2.9.15), with differing purposes:
- </para>
+ are three such files included with <application>Privoxy</application>, with
+ differing purposes: 
+</para>
  
  <para>
   <itemizedlist>
@@ -1358,8 +1457,8 @@ must find a better place for this paragraph
      provide a base level of functionality for
      <application>Privoxy's</application> array of features. So it is 
      a set of broad rules that should work reasonably well for users everywhere.
-     This is the file that the developers are keeping updated, and making 
-     available to users.
+     This is the file that the developers are keeping updated, and <link
+     linkend="installation-keepupdated">making available to users</link>.
     </para>
    </listitem> 
    <listitem>
@@ -1477,9 +1576,9 @@ must find a better place for this paragraph
  the same URL 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 <literal>{ 
- +<ulink url="actions-file.html#HANDLE-AS-IMAGE">handle-as-image</ulink> }</literal>,
+ +<link linkend="handle-as-image">handle-as-image</link> }</literal>,
  then later another one with just <literal>{
- +<ulink url="actions-file.html#BLOCK">block</ulink> }</literal>, resulting
+ +<link linkend="block">block</link> }</literal>, resulting
  in <emphasis>both</emphasis> actions to apply.
 </para>
 
@@ -1497,10 +1596,23 @@ must find a better place for this paragraph
 <!--   ~~~~~       New section      ~~~~~     -->
 <sect2 id="af-patterns">
 <title>Patterns</title>
+<para> 
+ As mentioned, <application>Privoxy</application> uses <quote>patterns</quote>
+ to determine what actions might apply to which sites and pages your browser 
+ attempts to access. These <quote>patterns</quote> use wild card type 
+ <emphasis>pattern</emphasis> matching to achieve a high degree of 
+ flexibility. This allows one expression to be expanded and potentially match
+ against many similar patterns.
+</para>
 <para>
- Generally, a pattern has the form <literal>&lt;domain&gt;/&lt;path&gt;</literal>,
- where both the <literal>&lt;domain&gt;</literal> and <literal>&lt;path&gt;</literal>
- are optional. (This is why the pattern <literal>/</literal> matches all URLs).
+ Generally, a <application>Privoxy</application> pattern has the form
+ <literal>&lt;domain&gt;/&lt;path&gt;</literal>, where both the
+ <literal>&lt;domain&gt;</literal> and <literal>&lt;path&gt;</literal> are
+ optional. (This is why the special <literal>/</literal> pattern matches all
+ URLs). Note that the protocol portion of the URL pattern (e.g.
+ <literal>http://</literal>) should <emphasis>not</emphasis> be included in
+ the pattern. This is assumed already!
 </para>
 
 <variablelist>
@@ -1567,7 +1679,7 @@ must find a better place for this paragraph
   <listitem>
    <para>
     matches any domain that <emphasis>ENDS</emphasis> in
-    <literal>.example.com</literal>
+    <literal>.example.com</literal> (e.g. <literal>www.example.com</literal>)
    </para>
   </listitem>
  </varlistentry>
@@ -2017,7 +2129,8 @@ must find a better place for this paragraph
    <para>
     It makes <emphasis>no sense at all</emphasis> to use this action in conjunction
     with the <literal><link linkend="session-cookies-only">session-cookies-only</link></literal> action,
-    since it would prevent the session cookies from being set.
+    since it would prevent the session cookies from being set. See also 
+    <literal><link linkend="filter-content-cookies">filter-content-cookies</link></literal>.
    </para>
   </listitem>
  </varlistentry>
@@ -2331,8 +2444,9 @@ problem-host.example.com</screen>
   <term>Effect:</term>
   <listitem>
    <para>
-    Text documents, including HTML and JavaScript, to which this action applies, are filtered on-the-fly
-    through the specified regular expression based substitutions.    
+    Text documents, including HTML and JavaScript, to which this action
+    applies, are filtered on-the-fly through the specified regular expression
+    based substitutions.
    </para>
   </listitem>
  </varlistentry>
@@ -2352,7 +2466,8 @@ problem-host.example.com</screen>
     The name of a filter, as defined in the <link linkend="filter-file">filter file</link>
     (typically <filename>default.filter</filename>, set by the
     <literal><link linkend="filterfile">filterfile</link></literal>
-    option in the <link linkend="config">config file</link>)
+    option in the <link linkend="config">config file</link>). Filtering 
+    can be completely disabled without the use of parameters.
    </para>
   </listitem>
  </varlistentry>
@@ -2361,8 +2476,8 @@ problem-host.example.com</screen>
   <term>Notes:</term>
   <listitem>
    <para>
-    For your convenience, there are a bunch of pre-defined filters available 
-    in the distribution filter file that you can use. See the example below for
+    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.
    </para>
    <para>
@@ -2376,6 +2491,18 @@ problem-host.example.com</screen>
     since the page is not incrementally displayed.) This effect will be more
     noticeable on slower connections.
    </para>
+   <para>
+    The amount of data that can be filtered is limited to the 
+    <literal><link linkend="buffer-limit">buffer-limit</link></literal>
+    option in the main <link linkend="config">config file</link>. The 
+    default is 4096 KB (4 Megs). Once this limit is exceeded, the buffered
+    data, and all pending data, is passed through unfiltered. 
+   </para>
+   <para>
+    Inappropriate MIME types, such as zipped files, are not filtered at all.
+    Encrypted SSL data (from HTTPS servers) cannot be filtered either since
+    this would violate the integrity of the secure transaction.
+   </para>
    <para>
     At this time, <application>Privoxy</application> cannot (yet!) uncompress compressed
     documents. If you want filtering to work on all documents, even those that
@@ -2384,13 +2511,16 @@ problem-host.example.com</screen>
     action in conjunction with <literal>filter</literal>.
    </para>
    <para>
-    Filtering can achieve some of the effects as the 
+    Filtering can achieve some of the same effects as the 
     <literal><link linkend="block">block</link></literal>
-    action, i.e. it can be used to block ads and banners. 
+    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.
    </para>
    <para>
-    <link linkend="contact">Feedback</link> with suggestions for new or improved filters is particularly
-    welcome!
+    <link linkend="contact">Feedback</link> with suggestions for new or
+    improved filters is particularly welcome!
    </para>
   </listitem>
  </varlistentry>
@@ -2408,7 +2538,15 @@ problem-host.example.com</screen>
    </para>
    <para>
     <anchor id="filter-banners-by-size">
-    <screen>+filter{banners-by-size}     # Kill banners by size (<emphasis>very</emphasis> efficient!)</screen>
+    <screen>+filter{banners-by-size}     # Kill banners based on their size for this page (<emphasis>very</emphasis> efficient!)</screen>
+   </para>
+   <para>
+    <anchor id="filter-banners-by-link">
+    <screen>+filter{banners-by-link}     # Kill banners based on the link they are contained in (experimental)</screen>
+   </para>
+   <para>
+    <anchor id="filter-img-reorder">
+    <screen>+filter{img-reorder}         # Reorder attributes in &lt;img&gt; tags to make the banners-by-* filters more effective</screen>
    </para>
    <para>
     <anchor id="filter-content-cookies">
@@ -2446,6 +2584,10 @@ problem-host.example.com</screen>
     <anchor id="filter-crude-parental">
     <screen>+filter{crude-parental}      # Kill all web pages that contain the words "sex" or "warez"</screen>
    </para>
+   <para>
+    <anchor id="filter-js-events">
+    <screen>+filter{js-events}           # Kill all JS event bindings (<emphasis>Radically destructive!</emphasis> Only for extra nasty sites) </screen>
+   </para>
   </listitem>
  </varlistentry>
 </variablelist>
@@ -3671,8 +3813,11 @@ shop        = mercy-for-cookies -filter{popups} -kill-popups</screen>
  -<link linkend="FILTER-FUN">filter{fun}</link> \
  +<link linkend="FILTER-NIMDA">filter{nimda}</link> \
  +<link linkend="FILTER-BANNERS-BY-SIZE">filter{banners-by-size}</link> \
+ -<link linkend="FILTER-BANNERS-BY-LINK">filter{banners-by-link}</link> \
+ -<link linkend="FILTER-IMG-REORDER">filter{img-reorder}</link> \
  -<link linkend="FILTER-SHOCKWAVE-FLASH">filter{shockwave-flash}</link> \
  -<link linkend="FILTER-CRUDE-PARENTAL">filter{crude-parental}</link> \
+ -<link linkend="FILTER-JS-EVENTS">filter{js-events}</link> \
  -<link linkend="HANDLE-AS-IMAGE">handle-as-image</link> \
  +<link linkend="HIDE-FORWARDED-FOR-HEADERS">hide-forwarded-for-headers</link> \
  +<link linkend="HIDE-FROM-HEADER">hide-from-header{block}</link> \
@@ -4186,7 +4331,7 @@ another.popular.site.net/more/junk/here/</screen>
  in a syntax that imitates <ulink url="http://www.perl.org/">Perl</ulink>'s
  <literal>s///</literal> operator. If you are familiar with Perl, you
  will find this to be quite intuitive, and may want to look at the
- <ulink url="http://www.oesterhelt.org/pcrs/pcrs.1.html">PCRS man page</ulink>
+ <ulink url="http://www.oesterhelt.org/pcrs/pcrs.3.html">PCRS man page</ulink>
  for the subtle differences to Perl behaviour. Most notably, the non-standard
  option letter <literal>U</literal> is supported, which turns the default
  to ungreedy matching.
@@ -4337,7 +4482,7 @@ s|(&lt;script.*)document\.referrer(.*&lt;/script&gt;)|$1"Not Your Business!"$2|U
  <screen>
 # The status bar is for displaying link targets, not pointless blahblah
 #
-s/window\.status\s*=\s*['"].*?['"]/dUmMy=1/ig</screen>
+s/window\.status\s*=\s*(['"]).*?\1/dUmMy=1/ig</screen>
 </para>
 
 <para>
@@ -4346,7 +4491,10 @@ s/window\.status\s*=\s*['"].*?['"]/dUmMy=1/ig</screen>
  or more whitespace</quote>. The <literal>?</literal> in <literal>.*?</literal>
  makes this matching of arbitrary text ungreedy. (Note that the <literal>U</literal>
  option is not set). The <literal>['"]</literal> construct means: <quote>a single
- <emphasis>or</emphasis> a double quote</quote>.
+ <emphasis>or</emphasis> a double quote</quote>. Finally, <literal>\1</literal> is
+ a backreference to the first parenthesis just like <literal>$1</literal> above,
+ with the difference that in the <emphasis>pattern</emphasis>, a backslash indicates
+ a backreference, whereas in the <emphasis>substitute</emphasis>, it's the dollar.
 </para>
 
 <para>
@@ -4362,7 +4510,7 @@ s/window\.status\s*=\s*['"].*?['"]/dUmMy=1/ig</screen>
  <screen>
 # Kill OnUnload popups. Yummy. Test: http://www.zdnet.com/zdsubs/yahoo/tree/yfs.html
 #
-s/(&lt;body .*)onunload(.*&gt;)/$1never$2/iU</screen>
+s/(&lt;body [^&gt;]*)onunload(.*&gt;)/$1never$2/iU</screen>
 </para>
 
 <para>
@@ -4373,7 +4521,11 @@ s/(&lt;body .*)onunload(.*&gt;)/$1never$2/iU</screen>
  This job replaces the <quote>onunload</quote> attribute in
  <quote>&lt;body&gt</quote> tags with the dummy word <literal>never</literal>.
  Note that the <literal>i</literal> option makes the pattern matching
- case-insensitive.
+ case-insensitive. Also note that ungreedy matching alone doesn't always guarantee
+ a minimal match: In the first parenthesis, we had to use <literal>[^&gt;]*</literal>
+ instead of <literal>.*</literal> to prevent the match from exceeding the 
+ &lt;body&gt tag if it doesn't contain <quote>OnUnload</quote>, but the page's
+ content does.
 </para>
 
 <para>
@@ -4393,7 +4545,7 @@ s/microsoft(?!\.com)/MicroSuck/ig</screen>
  Note the <literal>(?!\.com)</literal> part (a so-called negative lookahead)
  in the job's pattern, which means: Don't match, if the string 
  <quote>.com</quote> appears directly following <quote>microsoft</quote>
- in the page. This prevents links to microsoft.com from being messed, while
+ in the page. This prevents links to microsoft.com from being trashed, while
  still replacing the word everywhere else.
 </para>
 
@@ -4403,6 +4555,8 @@ s/microsoft(?!\.com)/MicroSuck/ig</screen>
 #
 s* industry[ -]leading \
 |  cutting[ -]edge \
+|  customer[ -]focused \
+|  market[ -]driven \
 |  award[ -]winning # Comments are OK, too! \
 |  high[ -]performance \
 |  solutions[ -]based \
@@ -4415,7 +4569,7 @@ s* industry[ -]leading \
 
 <para>
  The <literal>x</literal> option in this job turns on extended syntax, and allows for
- e.g. the liberal use of (non-interpreted!) whitespace for nicer formatting.
+ e.g. the liberal use of (non-interpreted!) whitespace for nicer formatting. 
 </para>
 
 <para>
@@ -4989,7 +5143,7 @@ Requests</title>
 
 <para>
  Credit: The site which gave us the general idea for these bookmarklets is
- <ulink url="http://www.bookmarklets.com">www.bookmarklets.com</ulink>. They
+ <ulink url="http://www.bookmarklets.com/">www.bookmarklets.com</ulink>. They
  have more information about bookmarklets. 
 </para>
 
@@ -5069,7 +5223,7 @@ Requests</title>
   <para>
    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 deterimined by the 
+   filtered as determined by the 
    <link linkend="CRUNCH-INCOMING-COOKIES"><quote>+crunch-incoming-cookies</quote></link>,
    <link linkend="SESSION-COOKIES-ONLY"><quote>+session-cookies-only</quote></link>,
    and <link linkend="DOWNGRADE-HTTP-VERSION"><quote>+downgrade-http-version</quote></link>
@@ -5143,7 +5297,8 @@ Requests</title>
  One quick test to see if <application>Privoxy</application> is causing a problem 
  or not, is to disable it temporarily. This should be the first troubleshooting 
  step. See <link linkend="bookmarklets">the Bookmarklets</link> section on a quick 
- and easy way to do this (be sure to flush caches afterward!).
+ and easy way to do this (be sure to flush caches afterward!). Looking at the 
+ logs is a good idea too.
 </para>
 
 <para>
@@ -5439,8 +5594,9 @@ In file: user.action <guibutton>[ View ]</guibutton> <guibutton>[ Edit ]</guibut
  was. If you don't get this kind of match, then it means one of the default 
  rules in the first section 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 <quote>{+filter}</quote> actions. Try 
- adding the URL for the site to one of aliases that turn off <quote>+filter</quote>:
+ One likely cause would be one of the <quote>{+filter}</quote> actions. These 
+ tend to be harder to troubleshoot. Try adding the URL for the site to one of
+ aliases that turn off <quote>+filter</quote>:
 </para>
 
 <para>
@@ -5471,8 +5627,16 @@ In file: user.action <guibutton>[ View ]</guibutton> <guibutton>[ Edit ]</guibut
 </para>
 
 <para>
- This would probably be most appropriately put in <filename>user.action</filename>, 
- for local site exceptions.
+ This would turn off all filtering for that site. This would probably be most
+ appropriately put in <filename>user.action</filename>, for local site
+ exceptions.
+</para>
+
+<para>
+ Images that are inexplicably being blocked, may well be hitting the 
+ <quote>+filter{banners-by-size}</quote> rule, which assumes 
+ that images of certain sizes are ad banners (works well most of the time 
+ since these tend to be standardized).
 </para>
 
 <para>
@@ -5507,6 +5671,54 @@ In file: user.action <guibutton>[ View ]</guibutton> <guibutton>[ Edit ]</guibut
  Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 
  $Log: user-manual.sgml,v $
+ Revision 2.2  2002/09/05 05:45:30  hal9
+ Syncing with 3.0. This should be it for doc sources. Not all builds tested
+ yet. No new content, just catching up.
+
+ Revision 1.123.2.18  2002/08/22 23:47:58  hal9
+ Add 'Documentation' to Privoxy Menu shot in Configuration section to match
+ CGIs.
+
+ Revision 1.123.2.17  2002/08/18 01:13:05  hal9
+ Spell checked (only one typo this time!).
+
+ Revision 1.123.2.16  2002/08/09 19:20:54  david__schmidt
+ Update to Mac OSX startup script name
+
+ Revision 1.123.2.15  2002/08/07 17:32:11  oes
+ Converted some internal links from ulink to link for PDF creation; no content changed
+
+ Revision 1.123.2.14  2002/08/06 09:16:13  oes
+ Nits re: actions file download
+
+ Revision 1.123.2.13  2002/08/02 18:23:19  g_sauthoff
+ Just 2 small corrections to the Gentoo sections
+
+ Revision 1.123.2.12  2002/08/02 18:17:21  g_sauthoff
+ Added 2 Gentoo sections
+
+ Revision 1.123.2.11  2002/07/26 15:20:31  oes
+ - Added version info to title
+ - Added info on new filters
+ - Revised parts of the filter file tutorial
+ - Added info on where to get updated actions files
+
+ Revision 1.123.2.10  2002/07/25 21:42:29  hal9
+ Add brief notes on not proxying non-HTTP protocols.
+
+ Revision 1.123.2.9  2002/07/11 03:40:28  david__schmidt
+
+ Updated Mac OSX sections due to installation location change
+
+ Revision 1.123.2.8  2002/06/09 16:36:32  hal9
+ Clarifications on filtering and MIME. Hardcode 'latest release' in index.html.
+
+ Revision 1.123.2.7  2002/06/09 00:29:34  hal9
+ Touch ups on filtering, in actions section and Anatomy.
+
+ Revision 1.123.2.6  2002/06/06 23:11:03  hal9
+ Fix broken link. Linkchecked all docs.
+
  Revision 1.123.2.5  2002/05/29 02:01:02  hal9
  This is break out of the entire config section from u-m, so it can
  eventually be used to generate the comments, etc in the main config file