+# 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 \
+# 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:
+#
+# +-----------------------------------------------------+
+# | Warning |
+# |-----------------------------------------------------|
+# |This is an experimental feature. The syntax is likely|
+# |to change in future versions. |
+# +-----------------------------------------------------+
+#
+# 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 understand 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
+# disable-content-filters Disable content-filters but do not affect other actions
+#
+#
+#
+# 6.17. client-tag-lifetime
+# ==========================
+#
+# Specifies:
+#
+# How long a temporarily enabled tag remains enabled.
+#
+# Type of value:
+#
+# Time in seconds.
+#
+# Default value:
+#
+# 60
+#
+# Notes:
+#
+# +-----------------------------------------------------+
+# | Warning |
+# |-----------------------------------------------------|
+# |This is an experimental feature. The syntax is likely|
+# |to change in future versions. |
+# +-----------------------------------------------------+
+#
+# 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.
+#
+# Examples:
+#
+# # 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:
+#
+# +-----------------------------------------------------+
+# | Warning |
+# |-----------------------------------------------------|
+# |This is an experimental feature. The syntax is likely|
+# |to change in future versions. |
+# +-----------------------------------------------------+
+#
+# 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.
+#
+# Examples:
+#
+# # 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.
+#
+# Examples:
+#
+# # Increase the receive buffer size
+# receive-buffer-size 32768
+#
+#