- Map variables that aren't guaranteed to be
[privoxy.git] / config
diff --git a/config b/config
index de69de6..788fc44 100644 (file)
--- a/config
+++ b/config
@@ -1,8 +1,8 @@
-#        Sample Configuration File for Privoxy v3.1.1
+#        Sample Configuration File for Privoxy v3.0.6
 #
-#  Copyright (C) 2001, 2002 Privoxy Developers http://privoxy.org
+#  $Id: config,v 1.56 2006/11/14 01:54:36 hal9 Exp $
 #
-#  $Id: config,v 1.44 2003/04/20 17:37:28 hal9 Exp $
+#  Copyright (C) 2001-2006 Privoxy Developers http://privoxy.org
 #
 ####################################################################
 #                                                                  #
@@ -11,8 +11,8 @@
 #        I. INTRODUCTION                                           #
 #       II. FORMAT OF THE CONFIGURATION FILE                       #
 #                                                                  #
-#        1. CONFIGURATION AND LOG FILE LOCATIONS                   #
-#        2. LOCAL SET-UP DOCUMENTATION                             #
+#        1. LOCAL SET-UP DOCUMENTATION                             #
+#        2. CONFIGURATION AND LOG FILE LOCATIONS                   #
 #        3. DEBUGGING                                              #
 #        4. ACCESS CONTROL AND SECURITY                            #
 #        5. FORWARDING                                             #
@@ -25,8 +25,8 @@
 #   ===============
 #
 #  This file holds the Privoxy configuration. If you modify this file,
-#  you will need to send a couple of requests to the proxy before any
-#  changes take effect.
+#  you will need to send a couple of requests (of any kind) to the
+#  proxy before any changes take effect.
 #
 #  When starting Privoxy on Unix systems, give the name of this file as
 #  an argument. On Windows systems, Privoxy will look for this file
 #
 
 #
-#  1. CONFIGURATION AND LOG FILE LOCATIONS
+#  1. LOCAL SET-UP DOCUMENTATION
+#  =============================
+#
+#  If you intend to operate Privoxy for more users than just yourself,
+#  it might be a good idea to let them know how to reach you, what
+#  you block and why you do that, your policies, etc.
+#
+
+#
+#  1.1. user-manual
+#  ================
+#
+#  Specifies:
+#
+#      Location of the Privoxy User Manual.
+#
+#  Type of value:
+#
+#      A fully qualified URI
+#
+#  Default value:
+#
+#      Unset
+#
+#  Effect if unset:
+#
+#      http://www.privoxy.org/version/user-manual/ will be used,
+#      where version is the Privoxy version.
+#
+#  Notes:
+#
+#      The User Manual URI is the single best source of information on
+#      Privoxy, and is used for help links from some of the internal
+#      CGI pages. The manual itself is normally packaged with the
+#      binary distributions, so you probably want to set this to
+#      a locally installed copy. For multi-user setups, you could
+#      provide a copy on a local webserver for all your users and use
+#      the corresponding URL here.
+#
+#      Examples:
+#
+#      The best all purpose solution is simply to put the full local
+#      PATH to where the User Manual is located:
+#
+#        user-manual  /usr/share/doc/privoxy/user-manual
+#
+#      The User Manual is then available to anyone with
+#      access to the proxy, by following the built-in URL:
+#      http://config.privoxy.org/user-manual/ (or the shortcut:
+#      http://p.p/user-manual/).
+#
+#      If the documentation is not on the local system, it can be
+#      accessed from a remote server, as:
+#
+#        user-manual  http://example.com/privoxy/user-manual/
+#
+#      WARNING!!!
+#
+#          If set, this option should be the first option in the config
+#          file, because it is used while the config file is being read.
+#
+#user-manual http://www.privoxy.org/user-manual/
+
+#
+#  1.2. trust-info-url
+#  ===================
+#
+#  Specifies:
+#
+#      A URL to be displayed in the error page that users will see if
+#      access to an untrusted page is denied.
+#
+#  Type of value:
+#
+#      URL
+#
+#  Default value:
+#
+#      Two example URL are provided
+#
+#  Effect if unset:
+#
+#      No links are displayed on the "untrusted" error page.
+#
+#  Notes:
+#
+#      The value of this option only matters if the experimental trust
+#      mechanism has been activated. (See trustfile above.)
+#
+#      If you use the trust mechanism, it is a good idea to write
+#      up some on-line documentation about your trust policy and to
+#      specify the URL(s) here. Use multiple times for multiple URLs.
+#
+#      The URL(s) should be added to the trustfile as well, so users
+#      don't end up locked out from the information on why they were
+#      locked out in the first place!
+#
+trust-info-url  http://www.example.com/why_we_block.html
+trust-info-url  http://www.example.com/what_we_allow.html
+
+#
+#  1.3. admin-address
+#  ==================
+#
+#  Specifies:
+#
+#      An email address to reach the proxy administrator.
+#
+#  Type of value:
+#
+#      Email address
+#
+#  Default value:
+#
+#      Unset
+#
+#  Effect if unset:
+#
+#      No email address is displayed on error pages and the CGI user
+#      interface.
+#
+#  Notes:
+#
+#      If both admin-address and proxy-info-url are unset, the whole
+#      "Local Privoxy Support" box on all generated pages will not
+#      be shown.
+#
+#admin-address privoxy-admin@example.com
+
+#
+#  1.4. proxy-info-url
+#  ===================
+#
+#  Specifies:
+#
+#      A URL to documentation about the local Privoxy setup,
+#      configuration or policies.
+#
+#  Type of value:
+#
+#      URL
+#
+#  Default value:
+#
+#      Unset
+#
+#  Effect if unset:
+#
+#      No link to local documentation is displayed on error pages and
+#      the CGI user interface.
+#
+#  Notes:
+#
+#      If both admin-address and proxy-info-url are unset, the whole
+#      "Local Privoxy Support" box on all generated pages will not
+#      be shown.
+#
+#      This URL shouldn't be blocked ;-)
+#
+#proxy-info-url http://www.example.com/proxy-service.html
+
+#
+#  2. CONFIGURATION AND LOG FILE LOCATIONS
 #  =======================================
 #
 #  Privoxy can (and normally does) use a number of other files for
 #
 
 #
-#  1.1. confdir
+#  2.1. confdir
 #  ============
 #
 #  Specifies:
 #      flat, except for confdir/templates, where the HTML templates
 #      for CGI output reside (e.g. Privoxy's 404 error page).
 #
-confdir /home/hal/ptmp/etc
+confdir .
 
 #
-#  1.2. logdir
+#  2.2. logdir
 #  ===========
 #
 #  Specifies:
@@ -131,10 +293,10 @@ confdir /home/hal/ptmp/etc
 #
 #      No trailing "/", please
 #
-logdir /home/hal/ptmp/var/log/privoxy
+logdir .
 
 #
-#  1.3. actionsfile
+#  2.3. actionsfile
 #  ================
 #
 #  Specifies:
@@ -177,12 +339,12 @@ actionsfile default   # Main actions file
 actionsfile user      # User customizations
 
 #
-#  1.4. filterfile
+#  2.4. filterfile
 #  ===============
 #
 #  Specifies:
 #
-#      The filter file to use
+#      The filter file(s) to use
 #
 #  Type of value:
 #
@@ -199,24 +361,30 @@ actionsfile user      # User customizations
 #
 #  Notes:
 #
-#      The filter file contains content modification rules that use
-#      regular expressions. 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 "Microsoft" with "MicroSuck"
-#      wherever it appears on a Web page.
+#      Multiple filterfile lines are permitted.
+#
+#      The filter files contain content modification rules that use
+#      regular expressions. These rules permit 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
+#      playing buzzword bingo with web pages.
 #
 #      The +filter{name} actions rely on the relevant filter (name)
-#      to be defined in the filter file!
+#      to be defined in a filter file!
 #
-#      A pre-defined filter file called default.filter that contains
-#      a bunch of handy filters for common problems is included in the
+#      A pre-defined filter file called default.filter that contains a
+#      number of useful filters for common problems is included in the
 #      distribution. See the section on the filter action for a list.
 #
+#      It is recommended to place any locally adapted filters into a
+#      separate file, such as user.filter.
+#
 filterfile default.filter
+#filterfile user.filter      # User customizations
 
 #
-#  1.5. logfile
+#  2.5. logfile
 #  ============
 #
 #  Specifies:
@@ -260,7 +428,7 @@ filterfile default.filter
 logfile logfile
 
 #
-#  1.6. jarfile
+#  2.6. jarfile
 #  ============
 #
 #  Specifies:
@@ -273,20 +441,24 @@ logfile logfile
 #
 #  Default value:
 #
-#      jarfile (Unix) or privoxy.jar (Windows)
+#      Unset (commented out). When activated: jarfile (Unix) or
+#      privoxy.jar (Windows)
 #
 #  Effect if unset:
 #
-#      Intercepted cookies are not stored at all.
+#      Intercepted cookies are not stored in a dedicated log file.
 #
 #  Notes:
 #
 #      The jarfile may grow to ridiculous sizes over time.
 #
-jarfile jarfile
+#      If debug 8 (show header parsing) is enabled, cookies are written
+#      to the logfile with the rest of the headers.
+#
+#jarfile jarfile
 
 #
-#  1.7. trustfile
+#  2.7. trustfile
 #  ==============
 #
 #  Specifies:
@@ -304,7 +476,7 @@ jarfile jarfile
 #
 #  Effect if unset:
 #
-#      The whole trust mechanism is turned off.
+#      The entire trust mechanism is turned off.
 #
 #  Notes:
 #
@@ -313,202 +485,31 @@ jarfile jarfile
 #      for the casual user.
 #
 #      If you specify a trust file, Privoxy will only allow access to
-#      sites that are named in the trustfile. You can also mark sites
-#      as trusted referrers (with +), with the effect that access
-#      to untrusted sites will be granted, if a link from a trusted
-#      referrer was used. The link target will then be added to the
-#      "trustfile". Possible applications include limiting Internet
-#      access for children.
-#
-#      If you use + operator in the trust file, it may grow considerably
-#      over time.
-#
-#trustfile trust
-
-#
-#  1.8. image-blocker-custom-file
-#  ==============
-#
-#  Specifies:
-#
-#      The custom image to display for blocked images when
-#      +set-image-blocker{custom} is in effect in an action file
-#
-#  Type of value:
-#
-#      File name, relative to confdir; can be a jpeg, png or gif image
-#
-#  Default value:
-#
-#      Unset
-#
-#  Effect if unset:
-#
-#      If a custom image is called for and it is unset, the "pattern"
-#      built-in image will be sent instead.  I.e. it is as if you had
-#      specified "+set-image-blocker{pattern}" instead of
-#      "+set-image-blocker{custom}".
-#
-#  Notes:
-#
-#      If the specified file signature is not found to be jpeg, png
-#      or gif, the the built-in "pattern" image will be sent instead.
-#
-#image-blocker-custom-file my-custom-image.jpg
-
-#
-#  2. LOCAL SET-UP DOCUMENTATION
-#  =============================
-#
-#  If you intend to operate Privoxy for more users than just yourself,
-#  it might be a good idea to let them know how to reach you, what
-#  you block and why you do that, your policies, etc.
-#
-
-#
-#  2.1. user-manual
-#  ================
-#
-#  Specifies:
-#
-#      Location of the Privoxy User Manual.
-#
-#  Type of value:
-#
-#      A fully qualified URI
-#
-#  Default value:
-#
-#      Unset
-#
-#  Effect if unset:
-#
-#      http://www.privoxy.org/version/user-manual/ will be used,
-#      where version is the Privoxy version.
-#
-#  Notes:
-#
-#      The User Manual URI is used for help links from some of the
-#      internal CGI pages. The manual itself is normally packaged
-#      with the binary distributions, so you probably want to set this
-#      to a locally installed copy. For multi-user setups, you could
-#      provide a copy on a local webserver for all your users and use
-#      the corresponding URL here.
-#
-#      Examples:
-#
-#      Unix, in local filesystem:
-#
-#      user-manual  file:///usr/share/doc/privoxy-2.9.18/user-manual/
-#
-#      Any platform, on local webserver (called "local-webserver"):
-#
-#      user-manual  http://local-webserver/privoxy-user-manual/
-#
-#      WARNING!!!
-#
-#          If set, this option should be the first option in the config
-#          file, because it is used while the config file is being read.
-#
-#user-manual http://www.privoxy.org/user-manual/
-
-#
-#  2.2. trust-info-url
-#  ===================
-#
-#  Specifies:
-#
-#      A URL to be displayed in the error page that users will see if
-#      access to an untrusted page is denied.
-#
-#  Type of value:
-#
-#      URL
-#
-#  Default value:
-#
-#      Two example URL are provided
-#
-#  Effect if unset:
-#
-#      No links are displayed on the "untrusted" error page.
-#
-#  Notes:
-#
-#      The value of this option only matters if the experimental trust
-#      mechanism has been activated. (See trustfile above.)
-#
-#      If you use the trust mechanism, it is a good idea to write
-#      up some on-line documentation about your trust policy and to
-#      specify the URL(s) here. Use multiple times for multiple URLs.
-#
-#      The URL(s) should be added to the trustfile as well, so users
-#      don't end up locked out from the information on why they were
-#      locked out in the first place!
-#
-trust-info-url  http://www.example.com/why_we_block.html
-trust-info-url  http://www.example.com/what_we_allow.html
-
-#
-#  2.3. admin-address
-#  ==================
-#
-#  Specifies:
-#
-#      An email address to reach the proxy administrator.
-#
-#  Type of value:
-#
-#      Email address
-#
-#  Default value:
-#
-#      Unset
-#
-#  Effect if unset:
-#
-#      No email address is displayed on error pages and the CGI user
-#      interface.
+#      sites that are specified in the trustfile. Sites can be listed
+#      in one of two ways:
 #
-#  Notes:
-#
-#      If both admin-address and proxy-info-url are unset, the whole
-#      "Local Privoxy Support" box on all generated pages will not
-#      be shown.
+#      Prepending a ~ character limits access to this site only (and
+#      any sub-paths within this site), e.g. ~www.example.com.
 #
-#admin-address privoxy-admin@example.com
-
+#      Or, you can designate sites as trusted referrers, by prepending
+#      the name with a + character. The effect is that access to
+#      untrusted sites will be granted -- but only if a link from this
+#      trusted referrer was used. The link target will then be added
+#      to the "trustfile" so that future, direct accesses will be
+#      granted. Sites added via this mechanism do not become trusted
+#      referrers themselves (i.e. they are added with a ~ designation).
 #
-#  2.4. proxy-info-url
-#  ===================
+#      If you use the + operator in the trust file, it may grow
+#      considerably over time.
 #
-#  Specifies:
+#      It is recommended that Privoxy be compiled with the
+#      --disable-force, --disable-toggle and --disable-editor options,
+#      if this feature is to be used.
 #
-#      A URL to documentation about the local Privoxy setup,
-#      configuration or policies.
+#      Possible applications include limiting Internet access for
+#      children.
 #
-#  Type of value:
-#
-#      URL
-#
-#  Default value:
-#
-#      Unset
-#
-#  Effect if unset:
-#
-#      No link to local documentation is displayed on error pages and
-#      the CGI user interface.
-#
-#  Notes:
-#
-#      If both admin-address and proxy-info-url are unset, the whole
-#      "Local Privoxy Support" box on all generated pages will not
-#      be shown.
-#
-#      This URL shouldn't be blocked ;-)
-#
-#proxy-info-url http://www.example.com/proxy-service.html
+#trustfile trust
 
 #
 #  3. DEBUGGING
@@ -737,7 +738,42 @@ toggle  1
 enable-remote-toggle  1
 
 #
-#  4.4. enable-edit-actions
+#  4.4. enable-remote-http-toggle
+#  ==============================
+#
+#  Specifies:
+#
+#      Whether or not Privoxy recognizes special HTTP headers to change
+#      its behaviour.
+#
+#  Type of value:
+#
+#      0 or 1
+#
+#  Default value:
+#
+#      1
+#
+#  Effect if unset:
+#
+#      Privoxy ignores special HTTP headers.
+#
+#  Notes:
+#
+#      When toggled on, the client can change Privoxy's behaviour by
+#      setting special HTTP headers. Currently the only supported
+#      special header is "X-Filter: No", to disable filtering for
+#      the ongoing request, even if it is enabled in one of the
+#      action files.
+#
+#      If you are using Privoxy in a multi-user environment or with
+#      untrustworthy clients and want to enforce filtering, you will
+#      have to disable this option, otherwise you can ignore it.
+#
+enable-remote-http-toggle  1
+
+#
+#  4.5. enable-edit-actions
 #  ========================
 #
 #  Specifies:
@@ -770,7 +806,7 @@ enable-remote-toggle  1
 enable-edit-actions 1
 
 #
-#  4.5. ACLs: permit-access and deny-access
+#  4.6. ACLs: permit-access and deny-access
 #  ========================================
 #
 #  Specifies:
@@ -842,7 +878,7 @@ enable-edit-actions 1
 #      Allow any host on the same class C subnet as www.privoxy.org
 #      access to nothing but www.example.com:
 #
-#        permit-access  www.privoxy.org/24 www.example.com/32
+#        permit-access  www.privoxy.org/24   www.example.com/32
 #
 #      Allow access from any host on the 26-bit subnet 192.168.45.64
 #      to anywhere, with the exception that 192.168.45.73 may not
@@ -853,7 +889,7 @@ enable-edit-actions 1
 #
 
 #
-#  4.6. buffer-limit
+#  4.7. buffer-limit
 #  =================
 #
 #  Specifies:
@@ -895,11 +931,10 @@ buffer-limit 4096
 #  This feature allows routing of HTTP requests through a chain
 #  of multiple proxies. It can be used to better protect privacy
 #  and confidentiality when accessing specific domains by routing
-#  requests to those domains through an anonymous public proxy (see
-#  e.g. http://www.multiproxy.org/anon_list.htm) Or to use a caching
-#  proxy to speed up browsing. Or chaining to a parent proxy may be
-#  necessary because the machine that Privoxy runs on has no direct
-#  Internet access.
+#  requests to those domains through an anonymous public proxy.
+#  Or to use a caching proxy to speed up browsing. Or chaining to
+#  a parent proxy may be necessary because the machine that Privoxy
+#  runs on has no direct Internet access.
 #
 #  Also specified here are SOCKS proxies. Privoxy supports the SOCKS
 #  4 and SOCKS 4A protocols.
@@ -1012,6 +1047,71 @@ buffer-limit 4096
 #
 #        forward-socks4   /               socks-gw.example.com:1080  .
 #
+#      To chain Privoxy and Tor, both running on the same system,
+#      you should use the rule:
+#
+#        forward-socks4a             /     127.0.0.1:9050 .
+#
+#      The public Tor network can't be used to reach your local network,
+#      therefore it's a good idea to make some exceptions:
+#
+#        forward         192.168.*.*/     .
+#        forward            10.*.*.*/     .
+#        forward           127.*.*.*/     .
+#
+#      Unencrypted connections to systems in these address ranges will
+#      be as (un)secure as the local network is, but the alternative is
+#      that you can't reach the network at all.
+#
+#      If you also want to be able to reach servers in your local
+#      network by using their names, you will need additional
+#      exceptions that look like this:
+#
+#        forward           localhost/     .
+#
+
+#
+#  5.3. forwarded-connect-retries
+#  ==============================
+#
+#  Specifies:
+#
+#      How often Privoxy retries if a forwarded connection request
+#      fails.
+#
+#  Type of value:
+#
+#      Number of retries.
+#
+#  Default value:
+#
+#      0
+#
+#  Effect if unset:
+#
+#      Forwarded connections are treated like direct connections and
+#      no retry attempts are made.
+#
+#  Notes:
+#
+#      forwarded-connect-retries is mainly interesting for socks4a
+#      connections, where Privoxy can't detect why the connections
+#      failed. The connection might have failed because of a DNS timeout
+#      in which case a retry makes sense, but it might also have failed
+#      because the server doesn't exist or isn't reachable. In this
+#      case the retry will just delay the appearance of Privoxy's
+#      error message.
+#
+#      Only use this option, if you are getting many forwarding related
+#      error messages, that go away when you try again manually. Start
+#      with a small value and check Privoxy's logfile from time to time,
+#      to see how many retries are usually needed.
+#
+#  Examples:
+#
+#      forwarded-connect-retries 1
+#
+forwarded-connect-retries  0
 
 #
 #  6. WINDOWS GUI OPTIONS
@@ -1075,16 +1175,4 @@ buffer-limit 4096
 #
 #hide-console
 
-#  The experimental "activity-console-address" option is used to
-#  specify where statistical information should be sent for monitoring
-#  by the activity console.
-#
-#activity-console-address 127.0.0.1:8119
-
-#  The experimental "activity-console-update-freq" option is used to
-#  specify how often (in seconds) statistics should be forwarded to the
-#  activity console.
-#
-#activity-console-update-freq 5
-
 #