X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=doc%2Fwebserver%2Fuser-manual%2Fconfig.html;h=d0cd99a8d254faf05d331d1a8c3729c25123fdba;hp=6626e003777ac97f99d0c3aa79b7bfed3832a59c;hb=40a495e3ffe8605f990003cd4f90390298c383b7;hpb=900ef1d91632a70d1bbb4c3117e9027509b35d7e;ds=sidebyside diff --git a/doc/webserver/user-manual/config.html b/doc/webserver/user-manual/config.html index 6626e003..d0cd99a8 100644 --- a/doc/webserver/user-manual/config.html +++ b/doc/webserver/user-manual/config.html @@ -3,41 +3,25 @@ - - The Main Configuration File - + - - +
@@ -64,7 +48,7 @@ body { (any number of spaces or tabs). For example:

  confdir /etc/privoxy

+ "emphasis">confdir /etc/privoxy

Assigns the value /etc/privoxy to the option confdir and thus indicates that the @@ -113,7 +97,8 @@ body {

Default value:
-

Unset

+

Unset

Effect if unset:
@@ -121,8 +106,8 @@ body {

http://www.privoxy.org/version/user-manual/ will be used, - where version is the + "REPLACEABLE">version/user-manual/ will be + used, where version is the Privoxy version.

@@ -141,7 +126,7 @@ body { local PATH to where the User Manual is located:

- +
@@ -161,7 +146,7 @@ body {
               

If the documentation is not on the local system, it can be accessed from a remote server, as:

- +
@@ -174,15 +159,15 @@ body {
               
- +
WarningWarning

If set, this option should be the first option in the config - file, because it is used while the config file - is being read on start-up.

+ "emphasis">the first option in the + config file, because it is used while the + config file is being read on start-up.

@@ -214,7 +199,8 @@ body {
Default value:
-

Unset

+

Unset

Effect if unset:
@@ -228,8 +214,8 @@ body {

The value of this option only matters if the experimental trust mechanism has been activated. (See trustfile below.)

+ "config.html#TRUSTFILE">trustfile below.)

If you use the trust mechanism, it is a good idea to write up some on-line documentation about your trust policy and to @@ -266,7 +252,8 @@ body {

Default value:
-

Unset

+

Unset

Effect if unset:
@@ -311,7 +298,8 @@ body {
Default value:
-

Unset

+

Unset

Effect if unset:
@@ -372,15 +360,16 @@ body {
Default value:
-

/etc/privoxy (Unix) or /etc/privoxy (Unix) or Privoxy installation dir (Windows)

Effect if unset:
-

Mandatory

+

Mandatory

Notes:
@@ -441,7 +430,55 @@ body {
-

7.2.3. logdir

+

7.2.3. temporary-directory

+ +
+
+
Specifies:
+ +
+

A directory where Privoxy can create temporary files.

+
+ +
Type of value:
+ +
+

Path name

+
+ +
Default value:
+ +
+

unset

+
+ +
Effect if unset:
+ +
+

No temporary files are created, external filters don't + work.

+
+ +
Notes:
+ +
+

To execute external + filters, Privoxy has + to create temporary files. This directive specifies the + directory the temporary files should be written to.

+ +

It should be a directory only Privoxy (and trusted users) can + access.

+
+
+
+
+ +
+

7.2.4. logdir

@@ -461,15 +498,16 @@ body {
Default value:
-

/var/log/privoxy (Unix) or /var/log/privoxy (Unix) or Privoxy installation dir (Windows)

Effect if unset:
-

Mandatory

+

Mandatory

Notes:
@@ -483,7 +521,7 @@ body {
-

7.2.4. +

7.2.5. actionsfile

@@ -554,22 +592,14 @@ body {

Actions files contain all the per site and per URL configuration for ad blocking, cookie management, privacy - considerations, etc. There is no point in using Privoxy without at least one actions - file.

- -

Note that since Privoxy 3.0.7, the complete filename, - including the ".action" extension - has to be specified. The syntax change was necessary to be - consistent with the other file options and to allow previously - forbidden characters.

+ considerations, etc.

-

7.2.5. +

7.2.6. filterfile

@@ -589,9 +619,8 @@ body {
Default value:
-

default.filter (Unix) or default.filter.txt - (Windows)

+

default.filter (Unix) or default.filter.txt (Windows)

Effect if unset:
@@ -600,8 +629,8 @@ body {

No textual content filtering takes place, i.e. all +filter{name} actions in the actions files - are turned neutral.

+ "REPLACEABLE">name} actions in the actions + files are turned neutral.

Notes:
@@ -621,9 +650,9 @@ body {

The +filter{name} actions rely on the relevant - filter (name) to be defined in - a filter file!

+ "REPLACEABLE">name} actions rely on the + relevant filter (name) to + be defined in a filter file!

A pre-defined filter file called default.filter that contains a number of useful @@ -641,7 +670,7 @@ body {

-

7.2.6. +

7.2.7. logfile

@@ -661,9 +690,10 @@ body {
Default value:
-

Unset (commented - out). When activated: logfile (Unix) or privoxy.log (Windows).

+

Unset (commented + out). When activated: logfile (Unix) or privoxy.log + (Windows).

Effect if unset:
@@ -686,28 +716,28 @@ body {

Depending on the debug options below, the logfile may be a privacy risk if third parties can get access to it. As most users will never look at it, Privoxy 3.0.7 and later only log fatal - errors by default.

+ "APPLICATION">Privoxy only logs fatal errors by + default.

For most troubleshooting purposes, you will have to change that, please refer to the debugging section for details.

-

Your logfile will grow indefinitely, and you will probably - want to periodically remove it. On Unix systems, you can do - this with a cron job (see "man - cron"). For Red Hat based Linux distributions, a - logrotate script has been included.

-

Any log files must be writable by whatever user Privoxy is being run as (on Unix, default user id is "privoxy").

+ +

To prevent the logfile from growing indefinitely, it is + recommended to periodically rotate or shorten it. Many + operating systems support log rotation out of the box, some + require additional software to do it. For details, please refer + to the documentation for your operating system.

-

7.2.7. +

7.2.8. trustfile

@@ -727,9 +757,10 @@ body {
Default value:
-

Unset (commented - out). When activated: trust (Unix) or trust.txt (Windows)

+

Unset (commented + out). When activated: trust (Unix) or trust.txt + (Windows)

Effect if unset:
@@ -743,8 +774,8 @@ body {

The trust mechanism is an experimental feature for building white-lists and should be used with care. It is NOT recommended for the casual - user.

+ "emphasis">NOT recommended for + the casual user.

If you specify a trust file, Privoxy will only allow access to sites @@ -758,14 +789,14 @@ body { etc.

Or, you can designate sites as trusted referrers, by prepending - the name with a + character. The - effect is that access to untrusted sites will be granted -- but - only if a link from this trusted referrer was used to get - there. The link target will then be added to the "trustfile" so that future, direct accesses will - be granted. Sites added via this mechanism do not become - trusted referrers themselves (i.e. they are added with a + "emphasis">trusted referrers, by + prepending the name with a + + character. The effect is that access to untrusted sites will be + granted -- but only if a link from this trusted referrer was + used to get there. The link target will then be added to the + "trustfile" so that future, direct + accesses will be granted. Sites added via this mechanism do not + become trusted referrers themselves (i.e. they are added with a ~ designation). There is a limit of 512 such entries, after which new entries will not be made.

@@ -831,7 +862,7 @@ body {

The available debug levels are:

- +
@@ -861,25 +893,20 @@ body { use multiple debug lines.

A debug level of 1 is informative because it will show you - each 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 enabled by default, but due - to privacy concerns 3.0.7 and later are configured to only log - fatal errors.

+ each 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).

If you are used to the more verbose settings, simply enable the debug lines below again.

If you want to use pure CLF (Common Log Format), you should set "debug 512" ONLY and not enable anything - else.

+ "emphasis">ONLY and not enable + anything else.

Privoxy has a hard-coded limit for the length of log messages. If it's reached, messages @@ -910,13 +937,14 @@ body {

Type of value:
-

None

+

1 or + 0

Default value:
-

Unset

+

0

Effect if unset:
@@ -930,8 +958,8 @@ body {

This option is only there for debugging purposes. - It will drastically reduce - performance.

+ It will drastically + reduce performance.

@@ -958,7 +986,8 @@ body {
Default value:
-

Unset

+

Unset

Effect if unset:
@@ -1012,11 +1041,11 @@ body {
Type of value:
-

[IP-Address]:Port

+

[IP-Address]:Port

-

[Hostname]:Port

+

[Hostname]:Port

Default value:
@@ -1088,10 +1117,10 @@ body { Internet and/or the local network. Be aware that some GNU/Linux distributions modify that behaviour without updating the documentation. Check for non-standard patches if your - Privoxyversion behaves + Privoxy version behaves differently.

-

If you configure Privoxyto +

If you configure Privoxy to be reachable from the network, consider using access control lists (ACL's, see below), and/or a firewall.

@@ -1102,12 +1131,6 @@ body { "config.html#ENABLE-EDIT-ACTIONS">enable-edit-actions and enable-remote-toggle

- -

With the exception noted above, listening on multiple - addresses is currently not supported by Privoxy directly. It can be done on most - operating systems by letting a packet filter redirect request - for certain addresses to Privoxy, though.

Example:
@@ -1119,7 +1142,7 @@ body { another outside connection with a different address. You want it to serve requests from inside only:

-
@@ -852,6 +883,7 @@ body {
   debug  4096 # Startup banner and warnings.
   debug  8192 # Non-fatal errors
   debug 32768 # log all data read from the network
+  debug 65536 # Log the applying actions
 
+
@@ -1134,7 +1157,7 @@ body {
               want it to listen on the IPv6 address of the loopback
               device:

- +
@@ -1185,9 +1208,6 @@ body {
               mostly behave like a normal, content-neutral proxy with both ad
               blocking and content filtering disabled. See enable-remote-toggle below.

- -

The windows version will only display the toggle icon in the - system tray if this option is present.

@@ -1233,15 +1253,15 @@ body { block ads or filter content.

Access to the toggle feature can not be controlled separately by - "ACLs" or HTTP authentication, so - that everybody who can access not be controlled + separately by "ACLs" or HTTP + authentication, so that everybody who can access Privoxy (see "ACLs" and listen-address above) can toggle it for all - users. So this option is not - recommended for multi-user environments with untrusted - users.

+ users. So this option is not recommended for multi-user + environments with untrusted users.

Note that malicious client side code (e.g Java) is also capable of using this option.

@@ -1347,8 +1367,8 @@ body {
Notes:
-

Access to the editor can not be controlled separately by +

Access to the editor can not be controlled separately by "ACLs" or HTTP authentication, so that everybody who can access Privoxy (see listen-address above) can modify its configuration for all users.

-

This option is not - recommended for environments with untrusted users and as - a lot of Privoxy users don't - read documentation, this feature is disabled by default.

+

This option is not recommended for environments with + untrusted users and as a lot of Privoxy users don't read documentation, + this feature is disabled by default.

Note that malicious client side code (e.g Java) is also capable of using the actions editor and you shouldn't enable @@ -1390,13 +1411,13 @@ body {

Type of value:
-

0 or 1

+

0 or 1

Default value:
-

0

+

0

Effect if unset:
@@ -1459,43 +1480,44 @@ body {
Type of value:
-

src_addr[:port][/src_masklen] [dst_addr[:port][/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 +

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.

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.

+ 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

+

Unset

-

If no port is specified, any - port will match. If no src_masklen or src_masklen is given, the complete IP +

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).

@@ -1511,14 +1533,14 @@ body {

Access controls are included at the request of ISPs and - systems administrators, and are not usually needed by individual - users. For a typical home user, it will normally suffice - to ensure that Privoxy only - listens on the localhost (127.0.0.1) or internal (home) network - address by means of the listen-address option.

+ systems administrators, and are not usually needed by individual + users. For a typical home user, it will normally + suffice to ensure that Privoxy + only listens on the localhost (127.0.0.1) or internal (home) + network address by means of the listen-address option.

Please see the warnings in the FAQ that Privoxy is not intended to be a substitute @@ -1536,20 +1558,20 @@ body {

If Privoxy is using a forwarder (see forward below) for a particular destination URL, the dst_addr that is examined is the address - of the forwarder and NOT the address of the ultimate - target. This is necessary because it may be impossible for the - local Privoxy to determine the - IP address of the ultimate target (that's often what gateways - are used for).

+ "REPLACEABLE">dst_addr that is examined is the + address of the forwarder and NOT the address of the ultimate target. + This is necessary because it may be impossible for the local + Privoxy to determine the IP + address of the ultimate target (that's often what gateways are + used for).

You should prefer using IP addresses over DNS names, because the address lookups take time. All DNS names must resolve! You - can not use domain - patterns like "*.org" or partial - domain names. If a DNS name resolves to multiple IP addresses, - only the first one is used.

+ can not + use domain patterns like "*.org" or + partial domain names. If a DNS name resolves to multiple IP + addresses, only the first one is used.

Some systems allow IPv4 clients to connect to IPv6 server sockets. Then the client's IPv4 address will be translated by @@ -1569,11 +1591,11 @@ body {

Explicitly define the default behavior if no ACL and listen-address are set: "localhost" is OK. The absence of a dst_addr implies that all destination addresses are - OK:

+ "REPLACEABLE">dst_addr implies that all destination + addresses are OK:

- +
@@ -1587,7 +1609,7 @@ body {
               access to nothing but www.example.com (or other domains hosted
               on the same system):

- +
@@ -1602,7 +1624,7 @@ body {
               192.168.45.73 may not access the IP address behind
               www.dirty-stuff.example.com:

- +
@@ -1617,7 +1639,7 @@ body {
               listening on an IPv6 wild card address (not supported on all
               platforms):

- +
@@ -1630,7 +1652,7 @@ body {
               

This is equivalent to the following line even if listening on an IPv4 address (not supported on all platforms):

- +
@@ -1692,8 +1714,68 @@ body {
               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.

+ "emphasis">each, unless you have + enabled "single-threaded" above.

+ + + + + +
+

7.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.

@@ -1741,18 +1823,18 @@ body {
Type of value:
-

target_pattern http_parent[:port]

+

target_pattern + http_parent[:port]

-

where target_pattern is a - URL pattern that +

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 + "REPLACEABLE">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".

@@ -1761,7 +1843,8 @@ body {
Default value:
-

Unset

+

Unset

Effect if unset:
@@ -1773,17 +1856,17 @@ body {
Notes:
-

If http_parent is +

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 +

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 + hand a target_pattern containing an IPv6 address has to be put into angle brackets (normal brackets are reserved for regular expressions already).

@@ -1798,7 +1881,7 @@ body {

Everything goes to an example parent proxy, except SSL on port 443 (which it doesn't handle):

- +
@@ -1812,7 +1895,7 @@ body {
               

Everything goes to our example ISP's caching proxy, except for requests to that ISP's sites:

- +
@@ -1825,7 +1908,7 @@ body {
 
               

Parent proxy specified by an IPv6 address:

- +
@@ -1837,7 +1920,7 @@ body {
 
               

Suppose your parent proxy doesn't support IPv6:

- +
@@ -1855,9 +1938,9 @@ body {
 
       

7.5.2. forward-socks4, - forward-socks4a and forward-socks5

+ forward-socks4a, forward-socks5 and forward-socks5t
@@ -1871,31 +1954,32 @@ body {
Type of value:
-

target_pattern socks_proxy[:port] http_parent[:port]

+

target_pattern + socks_proxy[:port] http_parent[:port]

-

where target_pattern is a - URL pattern that +

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 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. + "REPLACEABLE">port parameters are TCP ports, i.e. integer values from 1 to 65535

Default value:
-

Unset

+

Unset

Effect if unset:
@@ -1919,17 +2003,25 @@ body {

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 +

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.

@@ -1943,7 +2035,7 @@ body { everything outbound goes through their ISP's proxy by way of example.com's corporate SOCKS 4A gateway to the Internet.

- +
@@ -1957,7 +2049,7 @@ body {
               

A rule that uses a SOCKS 4 gateway for all destinations but no HTTP parent looks like this:

- +
@@ -1970,22 +2062,28 @@ body {
               

To chain Privoxy and Tor, both running on the same system, you would use something like:

- +
-  forward-socks5   /               127.0.0.1:9050 .
+  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:

- +
@@ -2008,7 +2106,7 @@ body {
               network by using their names, you will need additional
               exceptions that look like this:

- +
@@ -2031,8 +2129,8 @@ body {
         content only to their subscribers, you can configure multiple
         Privoxies which have connections to
         the respective ISPs to act as forwarders to each other, so that
-        your users can see the
-        internal content of all ISPs.

+ your users can + see the internal content of all ISPs.

Assume that host-a has a PPP connection to isp-a.example.net. And host-b has a PPP connection to isp-b.example.org. Both run @@ -2041,7 +2139,7 @@ body {

host-a:

- +
@@ -2054,7 +2152,7 @@ body {
 
         

host-b:

- +
@@ -2079,7 +2177,7 @@ body {
         squid configuration could then look
         like this:

- +
@@ -2109,7 +2207,7 @@ body {
         proxy, say, on antivir.example.com, port
         8010:

- +
@@ -2137,13 +2235,13 @@ body {
             
Type of value:
-

Number of retries.

+

Number of retries.

Default value:
-

0

+

0

Effect if unset:
@@ -2156,8 +2254,9 @@ body {
Notes:
-

forwarded-connect-retries is - mainly interesting for socks4a connections, where 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 @@ -2206,13 +2305,13 @@ body {

Type of value:
-

0 or 1

+

0 or 1

Default value:
-

0

+

0

Effect if unset:
@@ -2231,6 +2330,9 @@ body { 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 @@ -2267,13 +2369,13 @@ body {

Type of value:
-

0 or 1

+

0 or 1

Default value:
-

0

+

0

Effect if unset:
@@ -2322,13 +2424,13 @@ body {
Type of value:
-

0 or 1

+

0 or 1

Default value:
-

0

+

0

Effect if unset:
@@ -2381,7 +2483,7 @@ body {
Type of value:
-

Time in seconds.

+

Time in seconds.

Default value:
@@ -2429,7 +2531,7 @@ body {

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 can't.

+ If your browser appears to be hanging, it probably can't.

Examples:
@@ -2441,9 +2543,71 @@ body { +
+

7.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

+
+
+
+
+

7.6.5. default-server-timeout

+ "DEFAULT-SERVER-TIMEOUT">7.6.6. default-server-timeout
@@ -2457,7 +2621,7 @@ body {
Type of value:
-

Time in seconds.

+

Time in seconds.

Default value:
@@ -2516,7 +2680,7 @@ body {

7.6.6. connection-sharing

+ "CONNECTION-SHARING">7.6.7. connection-sharing
@@ -2531,7 +2695,7 @@ body {
Type of value:
-

0 or 1

+

0 or 1

Default value:
@@ -2609,7 +2773,7 @@ body {
-

7.6.7. +

7.6.8. socket-timeout

@@ -2624,7 +2788,7 @@ body {
Type of value:
-

Time in seconds.

+

Time in seconds.

Default value:
@@ -2658,7 +2822,7 @@ body {

7.6.8. max-client-connections

+ "MAX-CLIENT-CONNECTIONS">7.6.9. max-client-connections

@@ -2672,13 +2836,13 @@ body {
Type of value:
-

Positive number.

+

Positive number.

Default value:
-

None

+

128

Effect if unset:
@@ -2724,6 +2888,14 @@ body {

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:
@@ -2737,7 +2909,7 @@ body {

7.6.9. + "HANDLE-AS-EMPTY-DOC-RETURNS-OK">7.6.10. handle-as-empty-doc-returns-ok

@@ -2754,7 +2926,7 @@ body {
Type of value:
-

0 or 1

+

0 or 1

Default value:
@@ -2781,15 +2953,15 @@ body {
Notes:
-

This is 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) - As the bug has been fixed for quite some time this option - should no longer be needed and will be removed in a future - release. Please speak up if you have a reason why the option - should be kept around.

+

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.

@@ -2797,7 +2969,7 @@ body {

7.6.10. enable-compression

+ "ENABLE-COMPRESSION">7.6.11. enable-compression
@@ -2811,7 +2983,7 @@ body {
Type of value:
-

0 or 1

+

0 or 1

Default value:
@@ -2855,7 +3027,7 @@ body {

7.6.11. compression-level

+ "COMPRESSION-LEVEL">7.6.12. compression-level
@@ -2869,8 +3041,8 @@ body {
Type of value:
-

Positive number ranging from 0 to - 9.

+

Positive number ranging from 0 to + 9.

Default value:
@@ -2896,7 +3068,7 @@ body {
Examples:
- +
+ +
@@ -2911,6 +3083,230 @@ body {
     # is likely to be flawed.
     compression-level 0
 
+
+
+
+
+
+
+ +
+

7.6.13. 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.

+
+
+
+
+ +
+

7.6.14. 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/show-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
+
+
+
+
+
+
+
+ +
+

7.6.15. 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/show-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:
+ +
+ + + @@ -2935,16 +3331,17 @@ body { 0.

  activity-animation 1
+ "emphasis">activity-animation 1
   

If "log-messages" is set to 1, - Privoxy will log messages to the - console window:

+ Privoxy copies log messages to the + console window. The log detail depends on the debug directive.

  log-messages 1
+ "emphasis">log-messages 1
   

@@ -2957,7 +3354,7 @@ body { infinitely and eat up all your memory!

  log-buffer-size 1
+ "emphasis">log-buffer-size 1
   

@@ -2965,7 +3362,7 @@ body { of lines held in the log buffer. See above.

  log-max-lines 200
+ "emphasis">log-max-lines 200
   

@@ -2974,21 +3371,22 @@ body { log messages with a bold-faced font:

  log-highlight-messages 1
+ "emphasis">log-highlight-messages 1
   

The font used in the console window:

  log-font-name Comic Sans MS
+ "emphasis">log-font-name Comic Sans + MS
   

Font size used in the console window:

  log-font-size 8
+ "emphasis">log-font-size 8
   

@@ -2997,7 +3395,7 @@ body { the Task bar when minimized:

  show-on-task-bar 0
+ "emphasis">show-on-task-bar 0
   

@@ -3007,7 +3405,7 @@ body { the exit option on the File menu).

  close-button-minimizes 1
+ "emphasis">close-button-minimizes 1
   

@@ -3017,13 +3415,13 @@ body { disconnect from and hide the command console.

  #hide-console
+ "emphasis">hide-console
   

+
+      # Increase the time to life for temporarily enabled tags to 3 minutes
+      client-tag-lifetime 180
+