-# Sample Configuration File for Privoxy v3.0.11
+# Sample Configuration File for Privoxy v3.0.14 beta
#
-# $Id: p-config.sgml,v 2.32 2008/08/30 12:03:09 fabiankeil Exp $
+# $Id: config,v 1.80 2009/06/12 14:34:10 fabiankeil Exp $
#
-# Copyright (C) 2001-2008 Privoxy Developers http://www.privoxy.org/
+# Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
#
####################################################################
# #
#
# Default value:
#
-# Two example URLs are provided
+# Unset
#
# Effect if unset:
#
# 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
+#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
#
# Default values:
#
-# standard.action # Internal purposes, no editing recommended
+# match-all.action # Actions that are applied to all sites and maybe overruled later on.
#
-# default.action # Main actions file
+# default.action # Main actions file
#
-# user.action # User customizations
+# user.action # User customizations
#
# Effect if unset:
#
# Multiple actionsfile lines are permitted, and are in fact
# recommended!
#
-# The default values include standard.action, which is used
-# for internal purposes and should be loaded, default.action,
-# which is the "main" actions file maintained by the developers,
-# and user.action, where you can make your personal additions.
+# The default values are default.action, which is the "main"
+# actions file maintained by the developers, and user.action,
+# where you can make your personal additions.
#
# Actions files contain all the per site and per URL configuration
# for ad blocking, cookie management, privacy considerations,
# was necessary to be consistent with the other file options and
# to allow previously forbidden characters.
#
-actionsfile standard.action # Internal purpose, recommended
+actionsfile match-all.action # Actions that are applied to all sites and maybe overruled later on.
actionsfile default.action # Main actions file
actionsfile user.action # User customizations
#
#
# The available debug levels are:
#
-# debug 1 # log each request destination (and the crunch reason if Privoxy intercepted the request)
+# debug 1 # Log the destination for each request Privoxy let through. See also debug 1024.
# debug 2 # show each connection status
# debug 4 # show I/O status
# debug 8 # show header parsing
# debug 128 # debug redirects
# debug 256 # debug GIF de-animation
# debug 512 # Common Log Format
-# debug 1024 # Unused
+# debug 1024 # Log the destination for requests Privoxy didn't let through, and the reason why.
# debug 2048 # CGI user interface
# debug 4096 # Startup banner and warnings.
# debug 8192 # Non-fatal errors
# use multiple debug lines.
#
# A debug level of 1 is informative because it will show you each
-# request as it happens. 1, 4096 and 8192 are recommended so that
-# you will notice when things go wrong. The other levels are
-# probably only of interest if you are hunting down a specific
+# request as it happens. 1, 1024, 4096 and 8192 are recommended
+# so that you will notice when things go wrong. The other levels
+# are probably only of interest if you are hunting down a specific
# problem. They can produce a hell of an output (especially 16).
#
# Privoxy used to ship with the debug levels recommended above
# you read the log messages, you may even be able to solve the
# problem on your own.
#
-#debug 1 # log each request destination (and the crunch reason if Privoxy intercepted the request)
+#debug 1 # Log the destination for each request Privoxy let through.
+#debug 1024 # Log the destination for requests Privoxy didn't let through, and the reason why.
#debug 4096 # Startup banner and warnings
#debug 8192 # Non-fatal errors
#
#
# Effect if unset:
#
-# Bind to 127.0.0.1 (localhost), port 8118. This is suitable and
-# recommended for home users who run Privoxy on the same machine
-# as their browser.
+# Bind to 127.0.0.1 (IPv4 localhost), port 8118. This is suitable
+# and recommended for home users who run Privoxy on the same
+# machine as their browser.
#
# Notes:
#
# if you want to serve requests from other machines (e.g. on your
# local network) as well, you will need to override the default.
#
-# If you leave out the IP address, Privoxy will bind to all
+# IPv6 addresses containing colons have to be quoted by brackets.
+#
+# If you leave out the IP address, Privoxy will bind to all IPv4
# interfaces (addresses) on your machine and may become reachable
# from the Internet. In that case, consider using access control
-# lists (ACL's, see below), and/or a firewall.
+# lists (ACL's, see below), and/or a firewall. If the hostname
+# is localhost, Privoxy will explicitly try to bind to an IPv4
+# address. For other hostnames it depends on the operating system
+# which IP version will be used.
#
# If you open Privoxy to untrusted users, you will also
# want to make sure that the following actions are disabled:
# listen-address 192.168.0.1:8118
#
#
+# Suppose you are running Privoxy on an IPv6-capable machine and
+# you want it to listen on the IPv6 address of the loopback device:
+#
+# listen-address [::1]:8118
+#
+#
listen-address 127.0.0.1:8118
#
#
#
# Type of value:
#
-# src_addr[/src_masklen] [dst_addr[/dst_masklen]]
+# src_addr[:port][/src_masklen] [dst_addr[:port][/dst_masklen]]
+#
+# Where src_addr and dst_addr are IPv4 addresses in dotted
+# decimal notation or valid DNS names, port is a port number, and
+# src_masklen and dst_masklen are subnet masks in CIDR notation,
+# i.e. integer values from 2 to 30 representing the length
+# (in bits) of the network address. The masks and the whole
+# destination part are optional.
#
-# Where src_addr and dst_addr are IP addresses in dotted decimal
-# notation or valid DNS names, and src_masklen and dst_masklen are
-# subnet masks in CIDR notation, i.e. integer values from 2 to 30
-# representing the length (in bits) of the network address. The
-# masks and the whole destination part are optional.
+# If your system implements RFC 3493, then src_addr and dst_addr
+# can be IPv6 addresses delimeted by brackets, port can be a
+# number or a service name, and src_masklen and dst_masklen can
+# be a number from 0 to 128.
#
# Default value:
#
# Unset
#
+# If no port is specified, any port will match. If no src_masklen
+# or src_masklen is given, the complete IP address has to match
+# (i.e. 32 bits for IPv4 and 128 bits for IPv6).
+#
# Effect if unset:
#
# Don't restrict access further than implied by listen-address
# names. If a DNS name resolves to multiple IP addresses, only
# the first one is used.
#
+# Some systems allows IPv4 client to connect to IPv6 server
+# socket. Then the client's IPv4 address will be translated by
+# system into IPv6 address space with special prefix ::ffff:0:0/96
+# (so called IPv4 mapped IPv6 address). Privoxy can handle it
+# and maps such ACL addresses automatically.
+#
# Denying access to particular sites by ACL may have undesired
# side effects if the site in question is hosted on a machine
# which also hosts other sites (most sites are).
# permit-access 192.168.45.64/26
# deny-access 192.168.45.73 www.dirty-stuff.example.com
#
+# Allow access from the IPv4 network 192.0.2.0/24 even if listening
+# on an IPv6 wild card address (not supported on all platforms):
+#
+# permit-access 192.0.2.0/24
+#
+#
+# This is equivalent to the following line even if listening on
+# an IPv4 address (not supported on all platforms):
+#
+# permit-access [::ffff:192.0.2.0]/120
#
#
# 4.8. buffer-limit
# to denote "all URLs". http_parent[:port] is the DNS name or
# IP address of the parent HTTP proxy through which the requests
# should be forwarded, optionally followed by its listening port
-# (default: 8080). Use a single dot (.) to denote "no forwarding".
+# (default: 8000). Use a single dot (.) to denote "no forwarding".
#
# Default value:
#
# If http_parent is ".", then requests are not forwarded to
# another HTTP proxy but are made directly to the web servers.
#
+# http_parent can be a numerical IPv6 address (if RFC 3493 is
+# implemented). To prevent clashes with the port delimiter,
+# the whole IP address has to be put into brackets. On the other
+# hand a target_pattern containing an IPv6 address has to be put
+# into angle brackets (normal brackets are reserved for regular
+# expressions already).
+#
# Multiple lines are OK, they are checked in sequence, and the
# last match wins.
#
# forward .isp.example.net .
#
#
+# Parent proxy specified by an IPv6 address:
+#
+# foward / [2001:DB8::1]:8000
+#
+#
+# Suppose your parent proxy doesn't support IPv6:
+#
+# forward / parent-proxy.example.org:8000
+# forward ipv6-server.example.org .
+# forward <[2-3][0-9a-f][0-9a-f][0-9a-f]:*> .
#
#
# 5.2. forward-socks4, forward-socks4a and forward-socks5
# With forward-socks5 the DNS resolution will happen on the remote
# server as well.
#
+# socks_proxy and http_parent can be a numerical IPv6 address
+# (if RFC 3493 is implemented). To prevent clashes with the port
+# delimiter, the whole IP address has to be put into brackets. On
+# the other hand a target_pattern containing an IPv6 address has
+# to be put into angle brackets (normal brackets are reserved
+# for regular expressions already).
+#
# If http_parent is ".", then requests are not forwarded to another
# HTTP proxy but are made (HTTP-wise) directly to the web servers,
# albeit through a SOCKS proxy.
# To chain Privoxy and Tor, both running on the same system,
# you would use something like:
#
-# forward-socks4a / 127.0.0.1:9050 .
+# forward-socks5 / 127.0.0.1:9050 .
#
#
# The public Tor network can't be used to reach your local network,
forwarded-connect-retries 0
#
#
-# 5.4. accept-intercepted-requests
+# 6. MISCELLANEOUS
+# =================
+#
+# 6.1. accept-intercepted-requests
# =================================
#
# Specifies:
accept-intercepted-requests 0
#
#
-# 5.5. allow-cgi-request-crunching
+# 6.2. allow-cgi-request-crunching
# =================================
#
# Specifies:
allow-cgi-request-crunching 0
#
#
-# 5.6. split-large-forms
+# 6.3. split-large-forms
# =======================
#
# Specifies:
split-large-forms 0
#
#
-# 6. WINDOWS GUI OPTIONS
+# 6.4. keep-alive-timeout
+# ========================
+#
+# Specifies:
+#
+# Number of seconds after which an open connection will no longer
+# be reused.
+#
+# Type of value:
+#
+# Time in seconds.
+#
+# Default value:
+#
+# None
+#
+# Effect if unset:
+#
+# Connections are not kept alive.
+#
+# Notes:
+#
+# This option allows clients to keep the connection to Privoxy
+# alive. If the server supports it, Privoxy will keep the
+# connection to the server alive as well. Under certain
+# circumstances this may result in speed-ups.
+#
+# By default, Privoxy will close the connection to the server if
+# the client connection gets closed, or if the specified timeout
+# has been reached without a new request coming in. This behaviour
+# can be changed with the connection-sharing option.
+#
+# This option has no effect if Privoxy has been compiled without
+# keep-alive support.
+#
+# Examples:
+#
+# keep-alive-timeout 300
+#
+keep-alive-timeout 300
+#
+#
+# 6.5. connection-sharing
+# ========================
+#
+# Specifies:
+#
+# Whether or not outgoing connections that have been kept alive
+# should be shared between different incoming connections.
+#
+# Type of value:
+#
+# 0 or 1
+#
+# Default value:
+#
+# None
+#
+# Effect if unset:
+#
+# Connections are not shared.
+#
+# Notes:
+#
+# This option has no effect if Privoxy has been compiled without
+# keep-alive support, or if it's disabled.
+#
+# Notes:
+#
+# Note that reusing connections doesn't necessary cause
+# speedups. There are also a few privacy implications you should
+# be aware of.
+#
+# If this option is effective, outgoing connections are shared
+# between clients (if there are more than one) and closing the
+# browser that initiated the outgoing connection does no longer
+# affect the connection between Privoxy and the server unless
+# the client's request hasn't been completed yet.
+#
+# If the outgoing connection is idle, it will not be closed until
+# either Privoxy's or the server's timeout is reached. While
+# it's open, the server knows that the system running Privoxy is
+# still there.
+#
+# If there are more than one client (maybe even belonging to
+# multiple users), they will be able to reuse each others
+# connections. This is potentially dangerous in case of
+# authentication schemes like NTLM where only the connection
+# is authenticated, instead of requiring authentication for
+# each request.
+#
+# If there is only a single client, and if said client can keep
+# connections alive on its own, enabling this option has next to
+# no effect. If the client doesn't support connection keep-alive,
+# enabling this option may make sense as it allows Privoxy to keep
+# outgoing connections alive even if the client itself doesn't
+# support it.
+#
+# You should also be aware that enabling this option increases
+# the likelihood of getting the "No server or forwarder data"
+# error message, especially if you are using a slow connection
+# to the Internet.
+#
+# This option should only be used by experienced users who
+# understand the risks and can weight them against the benefits.
+#
+# Examples:
+#
+# connection-sharing 1
+#
+#connection-sharing 1
+#
+#
+# 6.6. socket-timeout
+# ====================
+#
+# Specifies:
+#
+# Number of seconds after which a socket times out if no data
+# is received.
+#
+# Type of value:
+#
+# Time in seconds.
+#
+# Default value:
+#
+# None
+#
+# Effect if unset:
+#
+# A default value of 300 seconds is used.
+#
+# Notes:
+#
+# For SOCKS requests the timeout currently doesn't start until
+# the SOCKS server accepted the request. This will be fixed in
+# the next release.
+#
+# Examples:
+#
+# socket-timeout 300
+#
+socket-timeout 300
+#
+#
+# 6.7. max-client-connections
+# ============================
+#
+# Specifies:
+#
+# Maximum number of client connections that will be served.
+#
+# Type of value:
+#
+# Positive number.
+#
+# Default value:
+#
+# None
+#
+# Effect if unset:
+#
+# Connections are served until a resource limit is reached.
+#
+# Notes:
+#
+# Privoxy creates one thread (or process) for every incoming
+# client connection that isn't rejected based on the access
+# control settings.
+#
+# If the system is powerful enough, Privoxy can theoretically deal
+# with several hundred (or thousand) connections at the same time,
+# but some operating systems enforce resource limits by shutting
+# down offending processes and their default limits may be below
+# the ones Privoxy would require under heavy load.
+#
+# Configuring Privoxy to enforce a connection limit below the
+# thread or process limit used by the operating system makes
+# sure this doesn't happen. Simply increasing the operating
+# system's limit would work too, but if Privoxy isn't the only
+# application running on the system, you may actually want to
+# limit the resources used by Privoxy.
+#
+# If Privoxy is only used by a single trusted user, limiting the
+# number of client connections is probably unnecessary. If there
+# are multiple possibly untrusted users you probably still want
+# to additionally use a packet filter to limit the maximal number
+# of incoming connections per client. Otherwise a malicious user
+# could intentionally create a high number of connections to
+# prevent other users from using Privoxy.
+#
+# Obviously using this option only makes sense if you choose a
+# limit below the one enforced by the operating system.
+#
+# Examples:
+#
+# max-client-connections 256
+#
+#max-client-connections 256
+#
+#
+# 7. WINDOWS GUI OPTIONS
# =======================
#
# Privoxy has a number of options specific to the Windows GUI