+#
+# Type of value:
+#
+# Size in Kbytes
+#
+# Default value:
+#
+# 4096
+#
+# Effect if unset:
+#
+# Use a 4MB (4096 KB) limit.
+#
+# Notes:
+#
+# For content filtering, i.e. the +filter and +deanimate-gif
+# actions, it is necessary that Privoxy buffers the entire
+# document body. This can be potentially dangerous, since a
+# server could just keep sending data indefinitely and wait for
+# your RAM to exhaust -- with nasty consequences. Hence this
+# option.
+#
+# When a document buffer size reaches the buffer-limit, it is
+# flushed to the client unfiltered and no further attempt to
+# filter the rest of the document is made. Remember that there
+# may be multiple threads running, which might require up to
+# buffer-limit Kbytes each, unless you have enabled
+# "single-threaded" above.
+#
+buffer-limit 4096
+#
+# 4.9. enable-proxy-authentication-forwarding
+# ============================================
+#
+# Specifies:
+#
+# Whether or not proxy authentication through Privoxy should
+# work.
+#
+# Type of value:
+#
+# 0 or 1
+#
+# Default value:
+#
+# 0
+#
+# Effect if unset:
+#
+# Proxy authentication headers are removed.
+#
+# Notes:
+#
+# Privoxy itself does not support proxy authentication, but can
+# allow clients to authenticate against Privoxy's parent proxy.
+#
+# By default Privoxy (3.0.21 and later) don't do that and remove
+# Proxy-Authorization headers in requests and Proxy-Authenticate
+# headers in responses to make it harder for malicious sites to
+# trick inexperienced users into providing login information.
+#
+# If this option is enabled the headers are forwarded.
+#
+# Enabling this option is not recommended if there is no parent
+# proxy that requires authentication or if the local network
+# between Privoxy and the parent proxy isn't trustworthy. If
+# proxy authentication is only required for some requests, it is
+# recommended to use a client header filter to remove the
+# authentication headers for requests where they aren't needed.
+#
+enable-proxy-authentication-forwarding 0
+#
+# 4.10. trusted-cgi-referer
+# ==========================
+#
+# Specifies:
+#
+# A trusted website or webpage whose links can be followed to
+# reach sensitive CGI pages
+#
+# Type of value:
+#
+# URL or URL prefix
+#
+# Default value:
+#
+# Unset
+#
+# Effect if unset:
+#
+# No external pages are considered trusted referers.
+#
+# Notes:
+#
+# Before Privoxy accepts configuration changes through CGI pages
+# like client-tags or the remote toggle, it checks the Referer
+# header to see if the request comes from a trusted source.
+#
+# By default only the webinterface domains config.privoxy.org
+# and p.p are considered trustworthy. Requests originating from
+# other domains are rejected to prevent third-parties from
+# modifiying Privoxy's state by e.g. embedding images that
+# result in CGI requests.
+#
+# In some environments it may be desirable to embed links to CGI
+# pages on external pages, for example on an Intranet homepage
+# the Privoxy admin controls.
+#
+# The "trusted-cgi-referer" option can be used to add that page,
+# or the whole domain, as trusted source so the resulting
+# requests aren't rejected. Requests are accepted if the
+# specified trusted-cgi-refer is the prefix of the Referer.
+#
+# +-----------------------------------------------------+
+# | Warning |
+# |-----------------------------------------------------|
+# |Declaring pages the admin doesn't control trustworthy|
+# |may allow malicious third parties to modify Privoxy's|
+# |internal state against the user's wishes and without |
+# |the user's knowledge. |
+# +-----------------------------------------------------+
+#
+#trusted-cgi-referer http://www.example.org/
+#
+#
+# 5. FORWARDING
+# ==============
+#
+# This feature allows routing of HTTP requests through a chain of
+# multiple proxies.
+#
+# Forwarding can be used to chain Privoxy with a caching proxy to
+# speed up browsing. Using a parent proxy may also be necessary if
+# the machine that Privoxy runs on has no direct Internet access.
+#
+# Note that parent proxies can severely decrease your privacy level.
+# For example a parent proxy could add your IP address to the
+# request headers and if it's a caching proxy it may add the "Etag"
+# header to revalidation requests again, even though you configured
+# Privoxy to remove it. It may also ignore Privoxy's header time
+# randomization and use the original values which could be used by
+# the server as cookie replacement to track your steps between
+# visits.
+#
+# Also specified here are SOCKS proxies. Privoxy supports the SOCKS
+# 4 and SOCKS 4A protocols.
+#
+#
+# 5.1. forward
+# =============
+#
+# Specifies:
+#
+# To which parent HTTP proxy specific requests should be routed.
+#
+# Type of value:
+#
+# target_pattern http_parent[:port]
+#
+# where target_pattern is a URL pattern that specifies to which
+# requests (i.e. URLs) this forward rule shall apply. Use / 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: 8000). Use a single dot (.) to denote "no
+# forwarding".
+#
+# Default value:
+#
+# Unset
+#
+# Effect if unset:
+#
+# Don't use parent HTTP proxies.
+#
+# Notes:
+#
+# 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.
+#
+# Examples:
+#
+# Everything goes to an example parent proxy, except SSL on port
+# 443 (which it doesn't handle):
+#
+# forward / parent-proxy.example.org:8080
+# forward :443 .
+#
+# Everything goes to our example ISP's caching proxy, except for
+# requests to that ISP's sites:
+#
+# forward / caching-proxy.isp.example.net:8000
+# forward .isp.example.net .
+#
+# Parent proxy specified by an IPv6 address:
+#
+# forward / [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, forward-socks5 and forward-socks5t
+# =========================================================================
+#
+# Specifies:
+#
+# Through which SOCKS proxy (and optionally to which parent HTTP
+# proxy) specific requests should be routed.
+#
+# Type of value:
+#
+# target_pattern socks_proxy[:port] http_parent[:port]
+#
+# where target_pattern is a URL pattern that specifies to which
+# requests (i.e. URLs) this forward rule shall apply. Use / to
+# denote "all URLs". http_parent and socks_proxy are IP
+# addresses in dotted decimal notation or valid DNS names (
+# http_parent may be "." to denote "no HTTP forwarding"), and
+# the optional port parameters are TCP ports, i.e. integer
+# values from 1 to 65535
+#
+# Default value:
+#
+# Unset
+#
+# Effect if unset:
+#
+# Don't use SOCKS proxies.
+#
+# Notes:
+#
+# Multiple lines are OK, they are checked in sequence, and the
+# last match wins.
+#
+# The difference between forward-socks4 and forward-socks4a is
+# that in the SOCKS 4A protocol, the DNS resolution of the
+# target hostname happens on the SOCKS server, while in SOCKS 4
+# it happens locally.
+#
+# With forward-socks5 the DNS resolution will happen on the
+# remote server as well.
+#
+# forward-socks5t works like vanilla forward-socks5 but lets
+# Privoxy additionally use Tor-specific SOCKS extensions.
+# Currently the only supported SOCKS extension is optimistic
+# data which can reduce the latency for the first request made
+# on a newly created connection.
+#
+# 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.
+#
+# Examples:
+#
+# From the company example.com, direct connections are made to
+# all "internal" domains, but everything outbound goes through
+# their ISP's proxy by way of example.com's corporate SOCKS 4A
+# gateway to the Internet.
+#
+# forward-socks4a / socks-gw.example.com:1080 www-cache.isp.example.net:8080
+# forward .example.com .
+#
+# A rule that uses a SOCKS 4 gateway for all destinations but no
+# HTTP parent looks like this:
+#
+# forward-socks4 / socks-gw.example.com:1080 .
+#
+# To chain Privoxy and Tor, both running on the same system, you
+# would use something like:
+#
+# forward-socks5t / 127.0.0.1:9050 .
+#
+# Note that if you got Tor through one of the bundles, you may
+# have to change the port from 9050 to 9150 (or even another
+# one). For details, please check the documentation on the Tor
+# website.
+#
+# The public Tor network can't be used to reach your local
+# network, if you need to access local servers you therefore
+# might want 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 local network through
+# Privoxy at all. Of course this may actually be desired and
+# there is no reason to make these exceptions if you aren't sure
+# you need them.
+#
+# 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:
+#
+# Connections forwarded through other proxies 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.
+#
+# Note that in the context of this option, "forwarded
+# connections" includes all connections that Privoxy forwards
+# through other proxies. This option is not limited to the HTTP
+# CONNECT method.
+#
+# Only use this option, if you are getting lots of
+# 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. MISCELLANEOUS
+# =================
+#
+# 6.1. accept-intercepted-requests
+# =================================
+#
+# Specifies:
+#
+# Whether intercepted requests should be treated as valid.
+#
+# Type of value:
+#
+# 0 or 1
+#
+# Default value:
+#
+# 0
+#
+# Effect if unset:
+#
+# Only proxy requests are accepted, intercepted requests are
+# treated as invalid.
+#
+# Notes:
+#
+# If you don't trust your clients and want to force them to use
+# Privoxy, enable this option and configure your packet filter
+# to redirect outgoing HTTP connections into Privoxy.
+#
+# Note that intercepting encrypted connections (HTTPS) isn't
+# supported.
+#
+# Make sure that Privoxy's own requests aren't redirected as
+# well. Additionally take care that Privoxy can't intentionally
+# connect to itself, otherwise you could run into redirection
+# loops if Privoxy's listening port is reachable by the outside
+# or an attacker has access to the pages you visit.
+#
+# If you are running Privoxy as intercepting proxy without being
+# able to intercept all client requests you may want to adjust
+# the CGI templates to make sure they don't reference content
+# from config.privoxy.org.
+#
+# Examples:
+#
+# accept-intercepted-requests 1
+#
+accept-intercepted-requests 0
+#
+# 6.2. allow-cgi-request-crunching
+# =================================
+#
+# Specifies:
+#
+# Whether requests to Privoxy's CGI pages can be blocked or
+# redirected.
+#
+# Type of value:
+#
+# 0 or 1
+#
+# Default value:
+#
+# 0
+#
+# Effect if unset:
+#
+# Privoxy ignores block and redirect actions for its CGI pages.
+#
+# Notes:
+#
+# By default Privoxy ignores block or redirect actions for its
+# CGI pages. Intercepting these requests can be useful in
+# multi-user setups to implement fine-grained access control,
+# but it can also render the complete web interface useless and
+# make debugging problems painful if done without care.
+#
+# Don't enable this option unless you're sure that you really
+# need it.
+#
+# Examples:
+#
+# allow-cgi-request-crunching 1
+#
+allow-cgi-request-crunching 0
+#
+# 6.3. split-large-forms
+# =======================
+#
+# Specifies:
+#
+# Whether the CGI interface should stay compatible with broken
+# HTTP clients.
+#
+# Type of value:
+#
+# 0 or 1
+#
+# Default value:
+#
+# 0
+#
+# Effect if unset:
+#
+# The CGI form generate long GET URLs.
+#
+# Notes:
+#
+# Privoxy's CGI forms can lead to rather long URLs. This isn't a
+# problem as far as the HTTP standard is concerned, but it can
+# confuse clients with arbitrary URL length limitations.
+#
+# Enabling split-large-forms causes Privoxy to divide big forms
+# into smaller ones to keep the URL length down. It makes
+# editing a lot less convenient and you can no longer submit all
+# changes at once, but at least it works around this browser
+# bug.
+#
+# If you don't notice any editing problems, there is no reason
+# to enable this option, but if one of the submit buttons
+# appears to be broken, you should give it a try.
+#
+# Examples:
+#
+# split-large-forms 1
+#
+split-large-forms 0
+#
+# 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.
+#
+# Note that a timeout of five seconds as used in the default
+# configuration file significantly decreases the number of
+# connections that will be reused. The value is used because
+# some browsers limit the number of connections they open to a
+# single host and apply the same limit to proxies. This can
+# result in a single website "grabbing" all the connections the
+# browser allows, which means connections to other websites
+# can't be opened until the connections currently in use time
+# out.
+#
+# Several users have reported this as a Privoxy bug, so the
+# default value has been reduced. Consider increasing it to 300
+# seconds or even more if you think your browser can handle it.
+# If your browser appears to be hanging, it probably can't.
+#
+# Examples:
+#
+# keep-alive-timeout 300
+#
+keep-alive-timeout 5
+#
+# 6.5. tolerate-pipelining
+# =========================
+#
+# Specifies:
+#
+# Whether or not pipelined requests should be served.
+#
+# Type of value:
+#
+# 0 or 1.
+#
+# Default value:
+#
+# None
+#
+# Effect if unset:
+#
+# If Privoxy receives more than one request at once, it
+# terminates the client connection after serving the first one.
+#
+# Notes:
+#
+# Privoxy currently doesn't pipeline outgoing requests, thus
+# allowing pipelining on the client connection is not guaranteed
+# to improve the performance.
+#
+# By default Privoxy tries to discourage clients from pipelining
+# by discarding aggressively pipelined requests, which forces
+# the client to resend them through a new connection.
+#
+# This option lets Privoxy tolerate pipelining. Whether or not
+# that improves performance mainly depends on the client
+# configuration.
+#
+# If you are seeing problems with pages not properly loading,
+# disabling this option could work around the problem.
+#
+# Examples:
+#
+# tolerate-pipelining 1
+#
+tolerate-pipelining 1
+#
+# 6.6. default-server-timeout
+# ============================
+#
+# Specifies:
+#
+# Assumed server-side keep-alive timeout if not specified by the
+# server.
+#
+# Type of value:
+#
+# Time in seconds.
+#
+# Default value:
+#
+# None
+#
+# Effect if unset:
+#
+# Connections for which the server didn't specify the keep-alive
+# timeout are not reused.
+#
+# Notes:
+#
+# Enabling this option significantly increases the number of
+# connections that are reused, provided the keep-alive-timeout
+# option is also enabled.
+#
+# While it also increases the number of connections problems
+# when Privoxy tries to reuse a connection that already has been
+# closed on the server side, or is closed while Privoxy is
+# trying to reuse it, this should only be a problem if it
+# happens for the first request sent by the client. If it
+# happens for requests on reused client connections, Privoxy
+# will simply close the connection and the client is supposed to
+# retry the request without bothering the user.
+#
+# Enabling this option is therefore only recommended if the
+# connection-sharing option is disabled.
+#
+# It is an error to specify a value larger than the
+# keep-alive-timeout value.
+#
+# This option has no effect if Privoxy has been compiled without
+# keep-alive support.
+#
+# Examples:
+#
+# default-server-timeout 60
+#
+#default-server-timeout 60
+#
+# 6.7. 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.8. 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:
+#
+# The default is quite high and you probably want to reduce it.
+# If you aren't using an occasionally slow proxy like Tor,
+# reducing it to a few seconds should be fine.
+#
+# Examples:
+#
+# socket-timeout 300
+#
+socket-timeout 300
+#
+# 6.9. max-client-connections
+# ============================
+#
+# Specifies:
+#
+# Maximum number of client connections that will be served.
+#
+# Type of value:
+#
+# Positive number.
+#
+# Default value:
+#
+# 128
+#
+# 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.
+#
+# One most POSIX-compliant systems Privoxy can't properly deal
+# with more than FD_SETSIZE file descriptors at the same time
+# and has to reject connections if the limit is reached. This
+# will likely change in a future version, but currently this
+# limit can't be increased without recompiling Privoxy with a
+# different FD_SETSIZE limit.
+#
+# Examples:
+#
+# max-client-connections 256
+#
+#max-client-connections 256
+#
+# 6.10. listen-backlog
+# =====================
+#
+# Specifies:
+#
+# Connection queue length requested from the operating system.
+#
+# Type of value:
+#
+# Number.
+#
+# Default value:
+#
+# 128
+#
+# Effect if unset:
+#
+# A connection queue length of 128 is requested from the
+# operating system.
+#
+# Notes:
+#
+# Under high load incoming connection may queue up before
+# Privoxy gets around to serve them. The queue length is
+# limitted by the operating system. Once the queue is full,
+# additional connections are dropped before Privoxy can accept
+# and serve them.
+#
+# Increasing the queue length allows Privoxy to accept more
+# incomming connections that arrive roughly at the same time.
+#
+# Note that Privoxy can only request a certain queue length,
+# whether or not the requested length is actually used depends
+# on the operating system which may use a different length
+# instead.
+#
+# On many operating systems a limit of -1 can be specified to
+# instruct the operating system to use the maximum queue length
+# allowed. Check the listen man page to see if your platform
+# allows this.
+#
+# On some platforms you can use "netstat -Lan -p tcp" to see the
+# effective queue length.
+#
+# Effectively using a value above 128 usually requires changing
+# the system configuration as well. On FreeBSD-based system the
+# limit is controlled by the kern.ipc.soacceptqueue sysctl.
+#
+# Examples:
+#
+# listen-backlog 4096
+#
+#listen-backlog -1
+#
+# 6.11. enable-accept-filter
+# ===========================
+#
+# Specifies:
+#
+# Whether or not Privoxy should use an accept filter
+#