Remove kill-popups action.
[privoxy.git] / doc / source / privoxy-man-page.sgml
index 4e943f8..3cd29fe 100644 (file)
@@ -5,9 +5,9 @@
                 This file belongs into
                 ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/
                 
- $Id: privoxy-man-page.sgml,v 1.16 2002/06/05 00:31:55 hal9 Exp $
+ $Id: privoxy-man-page.sgml,v 2.17 2008/01/19 15:03:05 hal9 Exp $
 
- Copyright (C) 2001, 2002 Privoxy Developers <developers@privoxy.org>
+ Copyright (C) 2001-2008 Privoxy Developers http://www.privoxy.org/
  See LICENSE.
 
  ========================================================================
 <!entity copyright SYSTEM "copyright.sgml">
 <!entity license SYSTEM "license.sgml">
 <!entity authors SYSTEM "p-authors.sgml">
-<!entity p-version SYSTEM "doc_version.tmp">
-<!entity p-status SYSTEM "doc_status.tmp">
+<!entity p-version "3.0.8">
+<!entity p-status "stable">
 <!entity % p-not-stable "IGNORE">
-<!entity % p-stable "IGNORE">
-<!entity % p-alpha "IGNORE">
-<!entity % p-beta "IGNORE">
+<!entity % p-stable "INCLUDE">
 <!entity % p-text "IGNORE">           <!-- define we are not a text only doc -->
 <!entity % p-authors-formal "IGNORE"> <!-- exclude additional formating      -->
 <!entity my-copy "(C)">               <!-- db2man barfs on copyright symbol  -->
@@ -55,7 +53,7 @@
 
 <refentry id="privoxy">
 <refentryinfo>
- <date>2002-05-14</date>
+ <date>2007-04-12</date>
 </refentryinfo>
 <refmeta>
  <refentrytitle>privoxy</refentrytitle> 
   <arg><option>--no-daemon</option></arg>
   <arg><option>--pidfile </option><replaceable class="parameter">pidfile</replaceable></arg>  
   <arg><option>--user </option><replaceable class="parameter">user[.group]</replaceable></arg> 
+  <arg><option>--chroot</option></arg>
+  <arg><option>--pre-chroot-nslookup </option><replaceable class="parameter">hostname</replaceable></arg> 
   <arg><replaceable class="parameter">configfile</replaceable></arg>        
-  <command>(UNIX)</command>
  </cmdsynopsis>
 
- <cmdsynopsis> 
-  <command>privoxy.exe</command>              
-  <arg><replaceable class="parameter">configfile</replaceable></arg>
-  <command>(Windows)</command>
- </cmdsynopsis>                                      
 </refsynopsisdiv>
 
 
       <para>
         On startup, write the process ID to <replaceable class="parameter">pidfile</replaceable>.
         Delete the <replaceable class="parameter">pidfile</replaceable> on exit.
-        Failiure to create or delete the <replaceable class="parameter">pidfile</replaceable>
+        Failure to create or delete the <replaceable class="parameter">pidfile</replaceable>
         is non-fatal. If no <command>--pidfile</command> option is given, no PID file will be used.
       </para>
     </listitem>
      </para>
     </listitem>
   </varlistentry>
+  <varlistentry>
+    <term>--chroot</term>
+     <listitem>
+      <para>
+       Before changing to the user ID given in the --user option, chroot to
+       that user's home directory, i.e. make the kernel pretend to the
+       <command>Privoxy</command> process that the directory tree starts
+       there. If set up carefully, this can limit the impact of possible
+       vulnerabilities in <command>Privoxy</command> to the files contained in
+       that hierarchy. 
+      </para>
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>--pre-chroot-nslookup <replaceable class="parameter">hostname</replaceable></term>
+     <listitem>
+      <para>
+        Initialize the resolver library using <replaceable class="parameter">hostname</replaceable>
+        before chroot'ing. On some systems this reduces the number of files
+        that must be copied into the chroot tree.
+     </para>
+    </listitem>
+  </varlistentry>
  </variablelist>
+
  <para>
   If the <filename>configfile</filename> is not specified on  the  command  line,
   <command>Privoxy</command>  will  look for a file named
-  <filename>config</filename> in the current directory (except on Win32 where
-  it will try <filename>config.txt</filename>). If no
+  <filename>config</filename> in the current directory . If no
   <filename>configfile</filename> is found, <command>Privoxy</command> will 
   fail to start.
  </para>
 <!--   ~~~~~       New section      ~~~~~     -->
 <refsect1><title>Installation and Usage</title>
 <para>
- Browsers must be individually configured to use <command>Privoxy</command> as
- a HTTP proxy.  The default setting is  for  localhost,  on port  8118
- (configurable in the main config file).  To set the HTTP proxy in Netscape
- and Mozilla, go through:  <command>Edit</command>;
+ Browsers can either be individually configured to use
+ <command>Privoxy</command> as a HTTP proxy (recommended),
+ or <command>Privoxy</command> can be combined with a packet
+ filter to build an intercepting proxy
+ (see <filename>config</filename>).  The default setting is  for
+ localhost,  on port  8118 (configurable in the main config file).  To set the
+ HTTP proxy in Netscape and Mozilla, go through:  <command>Edit</command>;
  <command>Preferences</command>;  <command>Advanced</command>;
  <command>Proxies</command>;  <command>Manual Proxy Configuration</command>;
  <command>View</command>. 
 </para>
+<para>
+ For Firefox, go through: <command>Tools</command>; 
+ <command>Options</command>; <command>General</command>;
+ <command>Connection Settings</command>;
+ <command>Manual Proxy Configuration</command>. 
+</para>
 <para>
  For Internet Explorer, go through: <command>Tools</command>; 
  <command>Internet Properties</command>; <command>Connections</command>;
  The Secure (SSL) Proxy should also be set to the same values, otherwise
  https: URLs will not be proxied. Note: <command>Privoxy</command> can only
  proxy HTTP and HTTPS traffic. Do not try it with FTP or other protocols.
+ HTTPS presents some limitations, and not all features will work with HTTPS 
+ connections.
 </para>
+
 <para>
  For other browsers, check the documentation.
 </para>
  <filename>default.filter</filename>, and
  <filename>default.action</filename>. <filename>user.action</filename> should 
  be used for locally defined exceptions to the default rules of
- <filename>default.action</filename> These are all well commented.  On Unix
+ <filename>default.action</filename>, and <filename>user.filter</filename> for 
+ locally defined filters. These are well commented.  On Unix
  and Unix-like systems, these are located in
- <filename>/etc/privoxy/</filename> by default. On Windows, OS/2 and AmigaOS,
- these files are in the same directory as the <command>Privoxy</command>
- executable.
+ <filename>/etc/privoxy/</filename> by default. 
 </para>
-<para>
- The name and number of configuration files has changed from previous
- versions<![%p-not-stable;[, and is subject to change as development
- progresses]]>. In fact, the configuration itself is changed  and  much more
- sophisticated. See the <ulink
- url="http://www.privoxy.org/user-manual/">user-manual</ulink> for a complete
- explanation of all configuration options and general usage, and notes for 
- upgrading from <command>Junkbuster</command> and earlier <command>Privoxy</command>
- versions.
+<para> 
+ <command>Privoxy</command> uses the concept of <command>actions</command> 
+ in order to manipulate the data stream between the browser and remote sites.
+ There are various actions available with specific functions for such things 
+ as blocking web sites, managing cookies, etc. These actions can be invoked
+ individually or combined, and used against individual URLs, or groups of URLs 
+ that can be defined using wildcards and regular expressions. The result is
+ that the user has greatly enhanced control and freedom.
 </para>
 <para>
  The actions list (ad blocks, etc) can also be configured with your
- web browser at <ulink url="http://config.privoxy.org/">http://config.privoxy.org/</ulink>.
+ web browser at <ulink url="http://config.privoxy.org/">http://config.privoxy.org/</ulink> 
+ (assuming the configuration allows it).
  <command>Privoxy's</command> configuration parameters  can also  be viewed at
  the same page. In addition, <command>Privoxy</command> can be toggled on/off.
  This is an internal page, and does not require Internet access.
 </para>
+<para>
+ See the <ulink
+ url="http://www.privoxy.org/user-manual/"><citetitle>User Manual</citetitle></ulink> for a detailed
+ explanation of installation, general usage, all configuration options, new
+ features and notes on upgrading.
+</para>
 </refsect1>
 
 
  # Define a few useful custom aliases for later use
  {{alias}}
 
- # Useful aliases
+ # Useful aliases that combine more than one action
  +crunch-cookies = +crunch-incoming-cookies +crunch-outgoing-cookies
  -crunch-cookies = -crunch-incoming-cookies -crunch-outgoing-cookies
- +imageblock      = +block +handle-as-image
+ +block-as-image = +block +handle-as-image
 
  # Fragile sites should have the minimum changes
  fragile     = -block -deanimate-gifs -fast-redirects -filter \
-               -hide-referer -prevent-cookies -kill-popups
+               -hide-referer -prevent-cookies
 
  ## Turn some actions on ################################
- { \
- -add-header \
- -block \
- +deanimate-gifs{last} \
- -downgrade-http-version \
- -fast-redirects \
- +filter{html-annoyances} \
- +filter{js-annoyances} \
- +filter{content-cookies} \
- +filter{webbugs} \
- +filter{banners-by-size} \
- +hide-forwarded-for-headers \
- +hide-from-header{block} \
- +hide-referrer{forge} \
- -hide-user-agent \
- -handle-as-image \
- +set-image-blocker{pattern} \
- -limit-connect \
- +prevent-compression \
- +session-cookies-only \
- -crunch-cookies \
- -kill-popups \
- }
- /   # '/' Matches *all* URL patterns
+ ## NOTE: Actions are off by default, unless explictily turned on 
+ ## otherwise with the '+' operator.
+
+{ \
++deanimate-gifs{last} \
++filter{refresh-tags} \
++filter{img-reorder} \
++filter{banners-by-size} \
++filter{webbugs} \
++filter{jumping-windows} \
++filter{ie-exploits} \
++hide-forwarded-for-headers \
++hide-from-header{block} \
++hide-referrer{conditional-block} \
++session-cookies-only \
++set-image-blocker{pattern} \
+}
+/ # '/' Match *all* URL patterns
+
  
+ # Block all URLs that match these patterns
+ { +block }
+  ad.
+  ad[sv].
+  .*ads.
+  banner?.
+  /.*count(er)?\.(pl|cgi|exe|dll|asp|php[34]?)
+  .hitbox.com 
+  media./.*(ads|banner)
+
  # Block, and treat these URL patterns as if they were 'images'.
  # We would expect these to be ads.
- {+imageblock}
+ { +block-as-image }
   .ad.doubleclick.net
   .a[0-9].yimg.com/(?:(?!/i/).)*$
   ad.*.doubleclick.net
 
- # Block any URLs that match these patterns
- {+block}
-  ad*.
-  .*ads.
-  banner?.
-  /.*count(er)?\.(pl|cgi|exe|dll|asp|php[34]?)
-  .hitbox.com 
-
  # Make exceptions for these harmless ones that would be 
  # caught by our +block patterns just above.
- {-block}
+ { -block }
   adsl.
+  adobe.
   advice.
   .*downloads.
-
+  # uploads or downloads
+  /.*loads
 </literallayout>
 
 <para>
  
  # Set personal exceptions to the policies in default.action #######
 
- # Sites where we want persistant cookies, so allow *all* cookies
- {-crunch-cookies -session-cookies-only}
+ # Sites where we want persistent cookies, so allow *all* cookies
+ { -crunch-cookies -session-cookies-only }
   .redhat.com
   .sun.com
   .msdn.microsoft.com
  
- # This site breaks easily.
- {-block -fast-redirects}
+ # These sites break easily. Use our "fragile" alias here.
+ { fragile }
   .forbes.com
+  mybank.example.com
+
+ # Replace example.com's style sheet with one of my choosing
+ { +redirect{http://localhost/css-replacements/example.com.css} }
+  .example.com/stylesheet.css
 
 </literallayout>
 
 <para>
  See the comments in the configuration files themselves, or the 
- <citetitle>user-manual</citetitle>
- for explanations of the above syntax, and other <command>Privoxy</command>
+ <citetitle>User Manual</citetitle>
+ for full explanations of the above syntax, and other <command>Privoxy</command>
  configuration options.
 </para>
 
  <filename>/etc/privoxy/standard.action</filename>
  <filename>/etc/privoxy/user.action</filename>
  <filename>/etc/privoxy/default.filter</filename>
+ <filename>/etc/privoxy/user.filter</filename>
  <filename>/etc/privoxy/trust</filename>
  <filename>/etc/privoxy/templates/*</filename>
  <filename>/var/log/privoxy/logfile</filename>
 
 <para>
  Various other files should be included, but may vary depending on platform
- and build configuration. More documentation should be included in the local
+ and build configuration. Additional documentation should be included in the local
  documentation directory.
 </para>
 
 <refsect1><title>Notes</title>
 <![%p-not-stable;[
 <para>
- This is a &p-status; version of <command>Privoxy</command>. Buyer beware! Do 
- not use in production situations.]]> 
-<![%p-beta;[ Not all features are well tested. </para>]]>
-<![%p-alpha;[ Various features may be partially implemented, and 
-other stages of brokenness may well exist. Documentation may also be out of 
-sync with current code.</para>]]>
+ This is a &p-status; version of <command>Privoxy</command>. Not 
+ all features are well tested.
+</para>]]>
 <para>
  Please see the <citetitle>User Manual</citetitle> on how to contact the
- developers for feature requests, reporting problems, and other questions.
+ developers, for feature requests, reporting problems, and other questions.
 </para>
 
 </refsect1>