X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=doc%2Fwebserver%2Fuser-manual%2Fconfig.html;h=11221c271e711ecd4b15bea772b8cb5505347661;hp=6e72817e9b684e55851fcbdf1f257cd6f0b93f06;hb=594da2fb0547a6325317ff12476f400622bb6cf5;hpb=c27e23a43e40973e170cf901c729b14da6d3b9e8 diff --git a/doc/webserver/user-manual/config.html b/doc/webserver/user-manual/config.html index 6e72817e..11221c27 100644 --- a/doc/webserver/user-manual/config.html +++ b/doc/webserver/user-manual/config.html @@ -7,7 +7,7 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79">
Two example URLs are provided
UnsetThe directory where all logging takes place - (i.e. where logfile and - jarfile are located). +> is located).
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 fileuser.action # User customizations
user.action # User customizations
- The default values include standard.action, which is used
- for internal purposes and should be loaded, default.action,
- which is the , which is the
+ "main" actions file maintained by the developers, and
@@ -1155,79 +1153,8 @@ CLASS="SECT3"
> The file to store intercepted cookies in
- File name, relative to logdir Unset (commented out). When activated: jarfile (Unix) or privoxy.jar (Windows). Intercepted cookies are not stored in a dedicated log file.
- The jarfile may grow to ridiculous sizes over time.
- If debug 8 (show header parsing) is enabled, cookies are
- also written to the logfile with the rest of the headers.
- Therefore this option isn't very useful and may be removed
- in future releases. Please report to the developers if you
- are still using it.
- The hostname shown on the CGI pages.
+ Text Unset The hostname provided by the operating system is used.
+ On some misconfigured systems resolving the hostname fails or
+ takes too much time and slows Privoxy down. Setting a fixed hostname
+ works around the problem.
+ In other circumstances it might be desirable to show a hostname
+ other than the one returned by the operating system. For example
+ if the system has several different hostnames and you don't want
+ to use the first one.
+ Note that Privoxy does not validate the specified hostname value.
+ Bind to 127.0.0.1 (localhost), port 8118. This is suitable and recommended for
- home users who run 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.
+> on
+ the same machine as their browser.
IPv6 addresses containing colons have to be quoted by brackets.
+ If you leave out the IP address, Privoxy will
- bind to all interfaces (addresses) on your machine and may become reachable
+ 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.
+ 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
+ Suppose you are running Privoxy on an
+ IPv6-capable machine and you want it to listen on the IPv6 address
+ of the loopback device:
+ 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.
+ 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).
+ 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).
@@ -2511,6 +2624,44 @@ CLASS="SCREEN"
>
+ 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):
+ This is equivalent to the following line even if listening on an
+ IPv4 address (not supported on all platforms):
+ Multiple lines are OK, they are checked in sequence, and the last match wins.
- Everything goes to an example parent proxy, except SSL on port 443 (which it doesn't handle):
- 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.
+ Everything goes to an example parent proxy, except SSL on port 443 (which it doesn't handle):
+ Parent proxy specified by an IPv6 address:
+ Suppose your parent proxy doesn't support IPv6:
+ 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 Number of seconds after which an open connection will no longer be reused.
+ Time in seconds.
+ None Connections are not kept alive.
+ 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.
+ keep-alive-timeout 300
+ Whether or not outgoing connections that have been kept alive
+ should be shared between different incoming connections.
+ 0 or 1
+ None Connections are not shared.
+ This option has no effect if Privoxy
+ has been compiled without keep-alive support, or if it's disabled.
+ 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 client 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.
+ This option should only be used by experienced users who
+ understand the risks and can weight them against the benefits.
+ connection-sharing 1
+ Number of seconds after which a socket times out if
+ no data is received.
+ Time in seconds.
+ None A default value of 300 seconds is used.
+ For SOCKS requests the timeout currently doesn't start until
+ the SOCKS server accepted the request. This will be fixed in
+ the next release.
+ socket-timeout 300
+ Maximum number of client connections that will be served.
+ Positive number.
+ None Connections are served until a resource limit is reached.
+ 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.
+ max-client-connections 256
+ 7.2.7. jarfile
7.2.8. trustfile7.2.7. trustfile
1, 4096 and 8192 are recommended1, 1024, 4096 and 8192 are recommended
so that you will notice when things go wrong. The other levels are
@@ -1601,6 +1531,72 @@ CLASS="EMPHASIS"
> debug 1 # log each request destination (and the crunch reason if Privoxy intercepted the request)
- debug 2 # show each connection status
- debug 4 # show I/O status
- debug 8 # show header parsing
- debug 16 # log all data written to the network into the logfile
- debug 32 # debug force feature
- debug 64 # debug regular expression filters
- debug 128 # debug redirects
- debug 256 # debug GIF de-animation
- debug 512 # Common Log Format
- debug 1024 # debug kill pop-ups
- debug 2048 # CGI user interface
- debug 4096 # Startup banner and warnings.
- debug 8192 # Non-fatal errors
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 16 # log all data written to the network into the logfile
+ debug 32 # debug force feature
+ debug 64 # debug regular expression filters
+ debug 128 # debug redirects
+ debug 256 # debug GIF de-animation
+ debug 512 # Common Log Format
+ 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 errors7.3.3. hostname
src_addr[/[:port][/src_masklendst_addr[/[:port][/dst_masklendst_addr are IP addresses in dotted decimal notation or valid
- DNS names, and are IPv4 addresses in dotted decimal notation or valid
+ DNS names, port is a port
+ number, and src_masklen listen-address [::1]:8118
+ permit-access 192.0.2.0/24
]
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).
+ optionally followed by its listening port (default: 8000).
Use a single dot (. permit-access [::ffff:192.0.2.0]/120
+
+ foward / [2001:DB8::1]:8000
forward / parent-proxy.example.org:8000
+ forward ipv6-server.example.org .
+ forward <[2-3][0-9a-f][0-9a-f][0-9a-f]:*> .
forward-socks4a / 127.0.0.1:9050 .
forward-socks5 / 127.0.0.1:9050 .7.6. Miscellaneous
7.5.5. accept-intercepted-requests7.6.1. accept-intercepted-requests
7.5.6. allow-cgi-request-crunching7.6.2. allow-cgi-request-crunching7.5.7. split-large-forms7.6.3. split-large-forms7.6.4. keep-alive-timeout
7.6.5. connection-sharing
7.6.6. socket-timeout
7.6.7. max-client-connections