+# 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.
+#
+# Example:
+#
+# 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.
+#
+# Example:
+#
+# 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.
+#
+# Example:
+#
+# 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.
+#
+# Example:
+#
+# 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.
+#
+# Example:
+#
+# 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.
+#
+# Example:
+#
+# 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.
+#
+# Example:
+#
+# default-server-timeout 60
+#
+#default-server-timeout 5
+#
+# 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.
+#
+# Example:
+#
+# 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.
+#
+# Example:
+#
+# 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.
+#
+# Example:
+#
+# 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 limited
+# 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
+# incoming 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.
+#
+# Example:
+#
+# listen-backlog 4096
+#
+#listen-backlog -1
+#
+# 6.11. enable-accept-filter
+# ===========================
+#
+# Specifies:
+#
+# Whether or not Privoxy should use an accept filter
+#
+# Type of value:
+#
+# 0 or 1
+#
+# Default value:
+#
+# 0
+#
+# Effect if unset:
+#
+# No accept filter is enabled.
+#
+# Notes:
+#
+# Accept filters reduce the number of context switches by not
+# passing sockets for new connections to Privoxy until a
+# complete HTTP request is available.
+#
+# As a result, Privoxy can process the whole request right away
+# without having to wait for additional data first.
+#
+# For this option to work, Privoxy has to be compiled with
+# FEATURE_ACCEPT_FILTER and the operating system has to support
+# it (which may require loading a kernel module).
+#
+# Currently accept filters are only supported on FreeBSD-based
+# systems. Check the accf_http(9) man page to learn how to
+# enable the support in the operating system.
+#
+# Example:
+#
+# enable-accept-filter 1
+#
+#enable-accept-filter 1
+#
+# 6.12. handle-as-empty-doc-returns-ok
+# =====================================
+#
+# Specifies:
+#
+# The status code Privoxy returns for pages blocked with
+# +handle-as-empty-document.
+#
+# Type of value:
+#
+# 0 or 1
+#
+# Default value:
+#
+# 0
+#
+# Effect if unset:
+#
+# Privoxy returns a status 403(forbidden) for all blocked pages.
+#
+# Effect if set:
+#
+# Privoxy returns a status 200(OK) for pages blocked with
+# +handle-as-empty-document and a status 403(Forbidden) for all
+# other blocked pages.
+#
+# Notes:
+#
+# This directive was added as a work-around for Firefox bug
+# 492459: "Websites are no longer rendered if SSL requests for
+# JavaScripts are blocked by a proxy."
+# (https://bugzilla.mozilla.org/show_bug.cgi?id=492459), the bug
+# has been fixed for quite some time, but this directive is also
+# useful to make it harder for websites to detect whether or not
+# resources are being blocked.
+#
+#handle-as-empty-doc-returns-ok 1
+#
+# 6.13. enable-compression
+# =========================
+#
+# Specifies:
+#
+# Whether or not buffered content is compressed before delivery.
+#
+# Type of value:
+#
+# 0 or 1
+#
+# Default value:
+#
+# 0
+#
+# Effect if unset:
+#
+# Privoxy does not compress buffered content.
+#
+# Effect if set:
+#
+# Privoxy compresses buffered content before delivering it to
+# the client, provided the client supports it.
+#
+# Notes:
+#
+# This directive is only supported if Privoxy has been compiled
+# with FEATURE_COMPRESSION, which should not to be confused with
+# FEATURE_ZLIB.
+#
+# Compressing buffered content is mainly useful if Privoxy and
+# the client are running on different systems. If they are
+# running on the same system, enabling compression is likely to
+# slow things down. If you didn't measure otherwise, you should
+# assume that it does and keep this option disabled.
+#
+# Privoxy will not compress buffered content below a certain
+# length.
+#
+#enable-compression 1
+#
+# 6.14. compression-level
+# ========================
+#
+# Specifies:
+#
+# The compression level that is passed to the zlib library when
+# compressing buffered content.
+#
+# Type of value:
+#
+# Positive number ranging from 0 to 9.
+#
+# Default value:
+#
+# 1
+#
+# Notes:
+#
+# Compressing the data more takes usually longer than
+# compressing it less or not compressing it at all. Which level
+# is best depends on the connection between Privoxy and the
+# client. If you can't be bothered to benchmark it for yourself,
+# you should stick with the default and keep compression
+# disabled.
+#
+# If compression is disabled, the compression level is
+# irrelevant.
+#
+# Examples:
+#
+# # Best speed (compared to the other levels)
+# compression-level 1
+#
+# # Best compression
+# compression-level 9
+#
+# # No compression. Only useful for testing as the added header
+# # slightly increases the amount of data that has to be sent.
+# # If your benchmark shows that using this compression level
+# # is superior to using no compression at all, the benchmark
+# # is likely to be flawed.
+# compression-level 0
+#
+#
+#compression-level 1
+#
+# 6.15. client-header-order
+# ==========================
+#
+# Specifies:
+#
+# The order in which client headers are sorted before forwarding
+# them.
+#
+# Type of value:
+#
+# Client header names delimited by spaces or tabs
+#
+# Default value:
+#
+# None
+#
+# Notes:
+#
+# By default Privoxy leaves the client headers in the order they
+# were sent by the client. Headers are modified in-place, new
+# headers are added at the end of the already existing headers.
+#
+# The header order can be used to fingerprint client requests
+# independently of other headers like the User-Agent.
+#
+# This directive allows to sort the headers differently to
+# better mimic a different User-Agent. Client headers will be
+# emitted in the order given, headers whose name isn't
+# explicitly specified are added at the end.
+#
+# Note that sorting headers in an uncommon way will make
+# fingerprinting actually easier. Encrypted headers are not
+# affected by this directive.
+#
+#client-header-order Host \
+# User-Agent \
+# Accept \
+# Accept-Language \
+# Accept-Encoding \
+# Proxy-Connection \
+# Referer \
+# Cookie \
+# DNT \
+# If-Modified-Since \
+# Cache-Control \
+# Content-Length \
+# Content-Type
+#
+#
+# 6.16. client-specific-tag
+# ==========================
+#
+# Specifies:
+#
+# The name of a tag that will always be set for clients that
+# requested it through the webinterface.
+#
+# Type of value:
+#
+# Tag name followed by a description that will be shown in the
+# webinterface
+#
+# Default value:
+#
+# None
+#
+# Notes:
+#
+# Client-specific tags allow Privoxy admins to create different
+# profiles and let the users chose which one they want without
+# impacting other users.
+#
+# One use case is allowing users to circumvent certain blocks
+# without having to allow them to circumvent all blocks. This is
+# not possible with the enable-remote-toggle feature because it
+# would bluntly disable all blocks for all users and also affect
+# other actions like filters. It also is set globally which
+# renders it useless in most multi-user setups.
+#
+# After a client-specific tag has been defined with the
+# client-specific-tag directive, action sections can be
+# activated based on the tag by using a CLIENT-TAG pattern. The
+# CLIENT-TAG pattern is evaluated at the same priority as URL
+# patterns, as a result the last matching pattern wins. Tags
+# that are created based on client or server headers are
+# evaluated later on and can overrule CLIENT-TAG and URL
+# patterns!
+#
+# The tag is set for all requests that come from clients that
+# requested it to be set. Note that "clients" are differentiated
+# by IP address, if the IP address changes the tag has to be
+# requested again.
+#
+# Clients can request tags to be set by using the CGI interface
+# http://config.privoxy.org/client-tags. The specific tag
+# description is only used on the web page and should be phrased
+# in away that the user understands the effect of the tag.
+#
+# Examples:
+#
+# # Define a couple of tags, the described effect requires action sections
+# # that are enabled based on CLIENT-TAG patterns.
+# client-specific-tag circumvent-blocks Overrule blocks but do not affect other actions
+# client-specific-tag disable-content-filters Disable content-filters but do not affect other actions
+# client-specific-tag overrule-redirects Overrule redirect sections
+# client-specific-tag allow-cookies Do not crunch cookies in either direction
+# client-specific-tag change-tor-socks-port Change forward-socks5 settings to use a different Tor socks port (and circuits)
+# client-specific-tag no-https-inspection Disable HTTPS inspection
+# client-specific-tag no-tls-verification Don't verify certificates when http-inspection is enabled
+#
+#
+# 6.17. client-tag-lifetime
+# ==========================
+#
+# Specifies:
+#
+# How long a temporarily enabled tag remains enabled.
+#
+# Type of value:
+#
+# Time in seconds.
+#
+# Default value:
+#
+# 60
+#
+# Notes:
+#
+# In case of some tags users may not want to enable them
+# permanently, but only for a short amount of time, for example
+# to circumvent a block that is the result of an overly-broad
+# URL pattern.
+#
+# The CGI interface http://config.privoxy.org/client-tags
+# therefore provides a "enable this tag temporarily" option. If
+# it is used, the tag will be set until the client-tag-lifetime
+# is over.
+#
+# Example:
+#
+# # Increase the time to life for temporarily enabled tags to 3 minutes
+# client-tag-lifetime 180
+#
+#
+#
+# 6.18. trust-x-forwarded-for
+# ============================
+#
+# Specifies:
+#
+# Whether or not Privoxy should use IP addresses specified with
+# the X-Forwarded-For header
+#
+# Type of value:
+#
+# 0 or one
+#
+# Default value:
+#
+# 0
+#
+# Notes:
+#
+# If clients reach Privoxy through another proxy, for example a
+# load balancer, Privoxy can't tell the client's IP address from
+# the connection. If multiple clients use the same proxy, they
+# will share the same client tag settings which is usually not
+# desired.
+#
+# This option lets Privoxy use the X-Forwarded-For header value
+# as client IP address. If the proxy sets the header, multiple
+# clients using the same proxy do not share the same client tag
+# settings.
+#
+# This option should only be enabled if Privoxy can only be
+# reached through a proxy and if the proxy can be trusted to set
+# the header correctly. It is recommended that ACL are used to
+# make sure only trusted systems can reach Privoxy.
+#
+# If access to Privoxy isn't limited to trusted systems, this
+# option would allow malicious clients to change the client tags
+# for other clients or increase Privoxy's memory requirements by
+# registering lots of client tag settings for clients that don't
+# exist.
+#
+# Example:
+#
+# # Allow systems that can reach Privoxy to provide the client
+# # IP address with a X-Forwarded-For header.
+# trust-x-forwarded-for 1
+#
+#
+#
+# 6.19. receive-buffer-size
+# ==========================
+#
+# Specifies:
+#
+# The size of the buffer Privoxy uses to receive data from the
+# server.
+#
+# Type of value:
+#
+# Size in bytes
+#
+# Default value:
+#
+# 5000
+#
+# Notes:
+#
+# Increasing the receive-buffer-size increases Privoxy's memory
+# usage but can lower the number of context switches and thereby
+# reduce the cpu usage and potentially increase the throughput.
+#
+# This is mostly relevant for fast network connections and large
+# downloads that don't require filtering.
+#
+# Reducing the buffer size reduces the amount of memory Privoxy
+# needs to handle the request but increases the number of
+# systemcalls and may reduce the throughput.
+#
+# A dtrace command like: "sudo dtrace -n 'syscall::read:return /
+# execname == "privoxy"/ { @[execname] = llquantize(arg0, 10, 0,
+# 5, 20); @m = max(arg0)}'" can be used to properly tune the
+# receive-buffer-size. On systems without dtrace, strace or
+# truss may be used as less convenient alternatives.
+#
+# If the buffer is too large it will increase Privoxy's memory
+# footprint without any benefit. As the memory is (currently)
+# cleared before using it, a buffer that is too large can
+# actually reduce the throughput.
+#
+# Example:
+#
+# # Increase the receive buffer size
+# receive-buffer-size 32768
+#
+#
+# 7. HTTPS INSPECTION (EXPERIMENTAL)
+# ===================================
+#
+# HTTPS inspection allows to filter encrypted requests and
+# responses. This is only supported when Privoxy has been built with
+# FEATURE_HTTPS_INSPECTION. If you aren't sure if your version
+# supports it, have a look at http://config.privoxy.org/show-status.
+#
+#
+# 7.1. ca-directory
+# ==================
+#
+# Specifies:
+#
+# Directory with the CA key, the CA certificate and the trusted
+# CAs file.
+#
+# Type of value:
+#
+# Text
+#
+# Default value:
+#
+# Empty string
+#
+# Effect if unset:
+#
+# Default value is used.
+#
+# Notes:
+#
+# This directive specifies the directory where the CA key, the
+# CA certificate and the trusted CAs file are located.
+#
+# The permissions should only let Privoxy and the Privoxy admin
+# access the directory.
+#
+# Example:
+#
+# ca-directory /usr/local/etc/privoxy/CA
+#
+#ca-directory /usr/local/etc/privoxy/CA
+#
+# 7.2. ca-cert-file
+# ==================
+#
+# Specifies:
+#
+# The CA certificate file in ".crt" format.
+#
+# Type of value:
+#
+# Text
+#
+# Default value:
+#
+# cacert.crt
+#
+# Effect if unset:
+#
+# Default value is used.
+#
+# Notes:
+#
+# This directive specifies the name of the CA certificate file
+# in ".crt" format.
+#
+# The file is used by Privoxy to generate website certificates
+# when https inspection is enabled with the https-inspection
+# action.
+#
+# Privoxy clients should import the certificate so that they can
+# validate the generated certificates.
+#
+# The file can be generated with: openssl req -new -x509
+# -extensions v3_ca -keyout cakey.pem -out cacert.crt -days 3650
+#
+# Example:
+#
+# ca-cert-file root.crt
+#
+#ca-cert-file cacert.crt
+#
+# 7.3. ca-key-file
+# =================
+#
+# Specifies:
+#
+# The CA key file in ".pem" format.
+#
+# Type of value:
+#
+# Text
+#
+# Default value:
+#
+# cacert.pem
+#
+# Effect if unset:
+#
+# Default value is used.
+#
+# Notes:
+#
+# This directive specifies the name of the CA key file in ".pem"
+# format. The ca-cert-file section contains a command to
+# generate it.
+#
+# Access to the key should be limited to Privoxy.
+#
+# Example:
+#
+# ca-key-file cakey.pem
+#
+#ca-key-file cakey.pem
+#
+# 7.4. ca-password
+# =================
+#
+# Specifies:
+#
+# The password for the CA keyfile.
+#
+# Type of value:
+#
+# Text
+#
+# Default value:
+#
+# Empty string
+#
+# Effect if unset:
+#
+# Default value is used.
+#
+# Notes:
+#
+# This directive specifies the password for the CA keyfile that
+# is used when Privoxy generates certificates for intercepted
+# requests.
+#
+# Note that the password is shown on the CGI page so don't reuse
+# an important one.
+#
+# Example:
+#
+# ca-password blafasel
+#
+#ca-password swordfish
+#
+# 7.5. certificate-directory
+# ===========================
+#
+# Specifies:
+#
+# Directory to save generated keys and certificates.
+#
+# Type of value:
+#
+# Text
+#
+# Default value:
+#
+# ./certs
+#
+# Effect if unset:
+#
+# Default value is used.
+#
+# Notes:
+#
+# This directive specifies the directory where generated TLS/SSL
+# keys and certificates are saved when https inspection is
+# enabled with the https-inspection action.
+#
+# The keys and certificates currently have to be deleted
+# manually when changing the ca-cert-file and the ca-cert-key.
+#
+# The permissions should only let Privoxy and the Privoxy admin
+# access the directory.
+#
+# +-----------------------------------------------------+
+# | Warning |
+# |-----------------------------------------------------|
+# |Privoxy currently does not garbage-collect obsolete |
+# |keys and certificates and does not keep track of how |
+# |may keys and certificates exist. |
+# | |
+# |Privoxy admins should monitor the size of the |
+# |directory and/or make sure there is sufficient space |
+# |available. A cron job to limit the number of keys and|
+# |certificates to a certain number may be worth |
+# |considering. |
+# +-----------------------------------------------------+
+# Example:
+#
+# certificate-directory /usr/local/var/privoxy/certs
+#
+#certificate-directory /usr/local/var/privoxy/certs
+#
+# 7.6. cipher-list
+# =================
+#
+# Specifies:
+#
+# A list of ciphers to use in TLS handshakes
+#
+# Type of value:
+#
+# Text
+#
+# Default value:
+#
+# None
+#
+# Effect if unset:
+#
+# A default value is inherited from the TLS library.
+#
+# Notes:
+#
+# This directive allows to specify a non-default list of ciphers
+# to use in TLS handshakes with clients and servers.
+#
+# Ciphers are separated by colons. Which ciphers are supported
+# depends on the TLS library. When using OpenSSL, unsupported
+# ciphers are skipped. When using MbedTLS they are rejected.
+#
+# +-----------------------------------------------------+
+# | Warning |
+# |-----------------------------------------------------|
+# |Specifying an unusual cipher list makes |
+# |fingerprinting easier. Note that the default list |
+# |provided by the TLS library may be unusual when |
+# |compared to the one used by modern browsers as well. |
+# +-----------------------------------------------------+
+# Examples:
+#
+# # Explicitly set a couple of ciphers with names used by MbedTLS
+# cipher-list cipher-list TLS-ECDHE-RSA-WITH-CHACHA20-POLY1305-SHA256:\
+# TLS-ECDHE-ECDSA-WITH-CHACHA20-POLY1305-SHA256:\
+# TLS-DHE-RSA-WITH-CHACHA20-POLY1305-SHA256:\
+# TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256:\
+# TLS-ECDHE-ECDSA-WITH-AES-256-GCM-SHA384:\
+# TLS-ECDHE-ECDSA-WITH-AES-256-CCM:\
+# TLS-ECDHE-ECDSA-WITH-AES-256-CCM-8:\
+# TLS-ECDHE-ECDSA-WITH-AES-128-CCM:\
+# TLS-ECDHE-ECDSA-WITH-AES-128-CCM-8:\
+# TLS-ECDHE-ECDSA-WITH-CAMELLIA-128-GCM-SHA256:\
+# TLS-ECDHE-ECDSA-WITH-CAMELLIA-256-GCM-SHA384:\
+# TLS-ECDHE-RSA-WITH-AES-128-GCM-SHA256:\
+# TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384:\
+# TLS-ECDHE-RSA-WITH-CAMELLIA-128-GCM-SHA256:\
+# TLS-ECDHE-RSA-WITH-CAMELLIA-256-GCM-SHA384:\
+# TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:\
+# TLS-DHE-RSA-WITH-AES-128-GCM-SHA256:\
+# TLS-DHE-RSA-WITH-AES-256-CCM:\
+# TLS-DHE-RSA-WITH-AES-256-CCM-8:\
+# TLS-DHE-RSA-WITH-AES-128-CCM:\
+# TLS-DHE-RSA-WITH-AES-128-CCM-8:\
+# TLS-DHE-RSA-WITH-CAMELLIA-128-GCM-SHA256:\
+# TLS-DHE-RSA-WITH-CAMELLIA-256-GCM-SHA384:\
+# TLS-ECDH-RSA-WITH-AES-128-GCM-SHA256:\
+# TLS-ECDH-RSA-WITH-AES-256-GCM-SHA384:\
+# TLS-ECDH-RSA-WITH-CAMELLIA-128-GCM-SHA256:\
+# TLS-ECDH-RSA-WITH-CAMELLIA-256-GCM-SHA384:\
+# TLS-ECDH-ECDSA-WITH-AES-128-GCM-SHA256:\
+# TLS-ECDH-ECDSA-WITH-AES-256-GCM-SHA384:\
+# TLS-ECDH-ECDSA-WITH-CAMELLIA-128-GCM-SHA256:\
+# TLS-ECDH-ECDSA-WITH-CAMELLIA-256-GCM-SHA384
+#
+#
+# # Explicitly set a couple of ciphers with names used by OpenSSL
+# cipher-list ECDHE-RSA-AES256-GCM-SHA384:\
+# ECDHE-ECDSA-AES256-GCM-SHA384:\
+# DH-DSS-AES256-GCM-SHA384:\
+# DHE-DSS-AES256-GCM-SHA384:\
+# DH-RSA-AES256-GCM-SHA384:\
+# DHE-RSA-AES256-GCM-SHA384:\
+# ECDH-RSA-AES256-GCM-SHA384:\
+# ECDH-ECDSA-AES256-GCM-SHA384:\
+# ECDHE-RSA-AES128-GCM-SHA256:\
+# ECDHE-ECDSA-AES128-GCM-SHA256:\
+# DH-DSS-AES128-GCM-SHA256:\
+# DHE-DSS-AES128-GCM-SHA256:\
+# DH-RSA-AES128-GCM-SHA256:\
+# DHE-RSA-AES128-GCM-SHA256:\
+# ECDH-RSA-AES128-GCM-SHA256:\
+# ECDH-ECDSA-AES128-GCM-SHA256:\
+# ECDHE-RSA-AES256-GCM-SHA384:\
+# AES128-SHA
+#
+#
+# # Use keywords instead of explicitly naming the ciphers (Does not work with MbedTLS)
+# cipher-list ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
+#
+#
+#
+# 7.7. trusted-cas-file
+# ======================
+#
+# Specifies:
+#
+# The trusted CAs file in ".pem" format.
+#
+# Type of value:
+#
+# File name relative to ca-directory
+#
+# Default value:
+#
+# trustedCAs.pem
+#
+# Effect if unset:
+#
+# Default value is used.
+#
+# Notes:
+#
+# This directive specifies the trusted CAs file that is used
+# when validating certificates for intercepted TLS/SSL requests.
+#
+# An example file can be downloaded from https://curl.se/ca/cacert.pem.
+# If you want to create the file yourself, please
+# see: https://curl.se/docs/caextract.html.
+#
+# Example:
+#
+# trusted-cas-file trusted_cas_file.pem
+#
+#trusted-cas-file trustedCAs.pem
+#
+# 8. WINDOWS GUI OPTIONS
+# =======================
+#
+# Privoxy has a number of options specific to the Windows GUI
+# interface:
+#
+#
+# If "activity-animation" is set to 1, the Privoxy icon will animate
+# when "Privoxy" is active. To turn off, set to 0.
+#
+#activity-animation 1
+#
+# If "log-messages" is set to 1, Privoxy copies log messages to the
+# console window. The log detail depends on the debug directive.
+#
+#log-messages 1
+#
+# If "log-buffer-size" is set to 1, the size of the log buffer, i.e.
+# the amount of memory used for the log messages displayed in the
+# console window, will be limited to "log-max-lines" (see below).
+#
+# Warning: Setting this to 0 will result in the buffer to grow
+# infinitely and eat up all your memory!
+#
+#log-buffer-size 1
+#
+#
+#
+# log-max-lines is the maximum number of lines held in the log
+# buffer. See above.
+#
+#log-max-lines 200
+#
+#
+#
+# If "log-highlight-messages" is set to 1, Privoxy will highlight
+# portions of the log messages with a bold-faced font:
+#
+#log-highlight-messages 1
+#
+#
+#
+# The font used in the console window:
+#
+#log-font-name Comic Sans MS
+#
+#
+#
+# Font size used in the console window:
+#
+#log-font-size 8
+#
+#
+#
+# "show-on-task-bar" controls whether or not Privoxy will appear as
+# a button on the Task bar when minimized:
+#
+#show-on-task-bar 0
+#
+#
+#
+# If "close-button-minimizes" is set to 1, the Windows close button
+# will minimize Privoxy instead of closing the program (close with
+# the exit option on the File menu).
+#
+#close-button-minimizes 1
+#
+#
+#
+# The "hide-console" option is specific to the MS-Win console
+# version of Privoxy. If this option is used, Privoxy will
+# disconnect from and hide the command console.
+#
+#hide-console