generate correct html - no 
 chars
[privoxy.git] / doc / source / user-manual.sgml
index 3928054..e512472 100644 (file)
@@ -13,8 +13,8 @@
 <!entity p-authors SYSTEM "p-authors.sgml">
 <!entity config SYSTEM "p-config.sgml">
 <!entity changelog SYSTEM "changelog.sgml">
-<!entity p-version "3.0.25">
-<!entity p-status "beta">
+<!entity p-version "3.0.27">
+<!entity p-status "UNRELEASED">
 <!entity % p-authors-formal "INCLUDE"> <!-- include additional text, etc  -->
 <!entity % p-not-stable "INCLUDE">
 <!entity % p-stable "IGNORE">
@@ -36,9 +36,7 @@
                 This file belongs into
                 ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/
 
- $Id: user-manual.sgml,v 2.212 2016/05/25 10:50:55 fabiankeil Exp $
-
- Copyright (C) 2001-2016 Privoxy Developers https://www.privoxy.org/
+ Copyright (C) 2001-2017 Privoxy Developers https://www.privoxy.org/
  See LICENSE.
 
  ========================================================================
  <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-2016 by
+ <link linkend="copyright">Copyright</link> &my-copy; 2001-2017 by
  <ulink url="https://www.privoxy.org/">Privoxy Developers</ulink>
  </subscript>
 </pubdate>
 
-<pubdate>$Id: user-manual.sgml,v 2.212 2016/05/25 10:50:55 fabiankeil Exp $</pubdate>
+<pubdate>$Id: user-manual.sgml,v 2.221 2017/05/20 09:27:54 fabiankeil Exp $</pubdate>
 
 <!--
 
@@ -241,7 +239,6 @@ How to install the binary packages depends on your operating system:
  system. Check that no <application>Junkbuster</application>
  or <application>Privoxy</application> objects are in
  your startup folder.
-
 </para>
 
 <para>
@@ -973,7 +970,6 @@ How to install the binary packages depends on your operating system:
 
 <literallayout>
  <guibutton>Tools</guibutton> -> <guibutton>Options</guibutton> ->  <guibutton>Advanced</guibutton> -> <guibutton>Network</guibutton> -><guibutton>Connection</guibutton> -> <guibutton>Settings</guibutton>
-
 </literallayout>
 
 <para>
@@ -982,7 +978,6 @@ How to install the binary packages depends on your operating system:
 
 <literallayout>
  <guibutton>Edit</guibutton> -> <guibutton>Preferences</guibutton> -> <guibutton>General</guibutton> -> <guibutton>Connection Settings</guibutton> -> <guibutton>Manual Proxy Configuration</guibutton>
-
 </literallayout>
 
 
@@ -996,7 +991,6 @@ How to install the binary packages depends on your operating system:
 <!-- Mix ascii and gui art, something for everybody -->
 <!-- spacing on this is tricky -->
  <guibutton>Edit</guibutton> -> <guibutton>Preferences</guibutton> -> <guibutton>Advanced</guibutton> -> <guibutton>Proxies</guibutton> -> <guibutton>HTTP Proxy</guibutton>
-
 </literallayout>
 
 <para>
@@ -1413,7 +1407,6 @@ for details.
  (shortcut: <ulink url="http://p.p/">http://p.p/</ulink>),
  which is a built-in page and works without Internet access.
  You will see the following section:
-
 </para>
 
 <!-- Needs to be put in a table and colorized  -->
@@ -2278,7 +2271,7 @@ for details.
     This regular expression is conditional so it will match any page
     named <quote>index.html</quote> regardless of path which in this case can
     have one or more <quote>/'s</quote>. And this one must contain exactly
-    <quote>.html</quote> (but does not have to end with that!).
+    <quote>.html</quote> (and end with that!).
    </para>
   </listitem>
  </varlistentry>
@@ -2290,6 +2283,7 @@ for details.
     that contains any of the words <quote>ads</quote>, <quote>banner</quote>,
     <quote>banners</quote> (because of the <quote>?</quote>) or <quote>junk</quote>.
     The path does not have to end in these words, just contain them.
+    The path has to contain at least two slashes (including the one at the beginning).
    </para>
   </listitem>
  </varlistentry>
@@ -2390,6 +2384,7 @@ for details.
  are checked after all server headers are scanned. In both cases all the created
  tags are considered.
 </para>
+</sect3>
 
 <!--   ~~~~~       New section      ~~~~~     -->
 <sect3 id="client-tag-pattern"><title>The Client Tag Pattern</title>
@@ -2448,6 +2443,8 @@ CLIENT-TAG:^circumvent-blocks$
 example.org/blocked-example-page</screen>
 </para>
 
+</sect3>
+
 </sect2>
 
 <!--  ~  End section  ~  -->
@@ -2466,7 +2463,6 @@ example.org/blocked-example-page</screen>
  following patterns</quote>, and <literal>-block</literal> means <quote>don't
  block URLs that match the following patterns, even if <literal>+block</literal>
  previously applied.</quote>
-
 </para>
 
 <para>
@@ -3019,6 +3015,21 @@ TAG:^User-Agent: MPlayer/
 TAG:^RANGE-REQUEST$
     </screen>
     </para>
+    <para>
+     <screen>
+# Tag all requests with the client IP address
+#
+# (Technically the client IP address isn't included in the
+# client headers but client-header taggers can set it anyway.
+# For details see the tagger in default.filter)
+{+client-header-tagger{client-ip-address}}
+/
+
+# Change forwarding settings for requests coming from address 10.0.0.1
+{+forward-override{forward-socks5 127.0.1.2:2222 .}}
+TAG:^IP-ADDRESS: 10\.0\.0\.1$
+     </screen>
+    </para>
   </listitem>
  </varlistentry>
 
@@ -6167,7 +6178,7 @@ for-privoxy-version=3.0.11</screen>
  The first of our specialized sections is concerned with <quote>fragile</quote>
  sites, i.e. sites that require minimum interference, because they are either
  very complex or very keen on tracking you (and have mechanisms in place that
- make them unusable for people who avoid being tracked). We will simply use
+ make them unusable for people who avoid being tracked). We will use
  our pre-defined <literal>fragile</literal> alias instead of stating the list
  of actions explicitly:
 </para>
@@ -6317,7 +6328,7 @@ count*.
 <para>
  It's quite remarkable how many advertisers actually call their banner
  servers ads.<replaceable>company</replaceable>.com, or call the directory
- in which the banners are stored simply <quote>banners</quote>. So the above
+ in which the banners are stored literally <quote>banners</quote>. So the above
  generic patterns are surprisingly effective.
 </para>
 <para>
@@ -6461,7 +6472,6 @@ 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>
@@ -7994,7 +8004,6 @@ Requests</title>
  rules and other configuration options, and even turn
  <application>Privoxy's</application> filtering off, all with
  a web browser.
-
 </para>
 
 <para>
@@ -8379,12 +8388,10 @@ In file: user.action <guibutton>[ View ]</guibutton> <guibutton>[ Edit ]</guibut
  And finally we pull it all together in the bottom section and summarize how
  <application>Privoxy</application> is applying all its <quote>actions</quote>
  to <quote>google.com</quote>:
-
 </para>
 
 <para>
  <screen>
-
  Final results:
 
  -add-header
@@ -8458,7 +8465,6 @@ In file: user.action <guibutton>[ View ]</guibutton> <guibutton>[ Edit ]</guibut
 
 <para>
  <screen>
-
  { +block{Domains starts with "ad"} }
   ad*.
 
@@ -8502,7 +8508,6 @@ In file: user.action <guibutton>[ View ]</guibutton> <guibutton>[ Edit ]</guibut
 
 <para>
  <screen>
-
  Matches for http://www.example.net/adsl/HOWTO/:
 
  In file: default.action <guibutton>[ View ]</guibutton> <guibutton>[ Edit ]</guibutton>
@@ -8584,7 +8589,6 @@ In file: user.action <guibutton>[ View ]</guibutton> <guibutton>[ Edit ]</guibut
 
 <para>
  <screen>
-
  { -block }
   /adsl
 </screen>
@@ -8604,7 +8608,6 @@ In file: user.action <guibutton>[ View ]</guibutton> <guibutton>[ Edit ]</guibut
 
 <para>
  <screen>
-
  { +block{Path starts with "ads".} +handle-as-image }
  /ads
 </screen>
@@ -8624,7 +8627,6 @@ In file: user.action <guibutton>[ View ]</guibutton> <guibutton>[ Edit ]</guibut
 
 <para>
  <screen>
-
  { shop }
  .quietpc.com
  .worldpay.com   # for quietpc.com
@@ -8638,12 +8640,10 @@ In file: user.action <guibutton>[ View ]</guibutton> <guibutton>[ Edit ]</guibut
  <quote><literal>{ shop }</literal></quote> is an <quote>alias</quote> that expands to
  <quote><literal>{ -filter -session-cookies-only }</literal></quote>.
  Or you could do your own exception to negate filtering:
-
 </para>
 
 <para>
  <screen>
-
  { -filter }
  # Disable ALL filter actions for sites in this section
  .forbes.com
@@ -8675,7 +8675,6 @@ In file: user.action <guibutton>[ View ]</guibutton> <guibutton>[ Edit ]</guibut
 </para>
 <para>
  <screen>
-
  { fragile }
  # Handle with care: easy to break
  mail.google.