X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=doc%2Fwebserver%2Fuser-manual%2Fconfig.html;h=5cad65b767b7b00502457d2d1143b20a64bd0b2f;hp=9c4ba598236b6f83ef864c22b69dbd3ec549b509;hb=42c361793c45b0d5fc0c116707ca12b2f60f4c52;hpb=6d810395712f0337682205c4ea304009c86c128f diff --git a/doc/webserver/user-manual/config.html b/doc/webserver/user-manual/config.html index 9c4ba598..5cad65b7 100644 --- a/doc/webserver/user-manual/config.html +++ b/doc/webserver/user-manual/config.html @@ -2,37 +2,27 @@ Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> - The Main Configuration File - + - - +

@@ -132,8 +122,8 @@ Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">

- http://www.privoxy.org/https://www.privoxy.org/version/user-manual/ will be used, where version is the Privoxy version. @@ -525,7 +515,66 @@ Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">

- 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

@@ -579,7 +628,7 @@ Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">

- 7.2.4. actionsfile + 7.2.5. actionsfile

@@ -658,16 +707,7 @@ Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">

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.

@@ -675,7 +715,7 @@ Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">

- 7.2.5. filterfile + 7.2.6. filterfile

@@ -761,7 +801,7 @@ Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">

- 7.2.6. logfile + 7.2.7. logfile

@@ -817,33 +857,33 @@ Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> 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. trustfile + 7.2.8. trustfile

@@ -1019,6 +1059,7 @@ Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> 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 @@ -1037,12 +1078,6 @@ Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> 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. -

If you are used to the more verbose settings, simply enable the debug lines below again. @@ -1088,7 +1123,8 @@ Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">

- None + 1 or + 0

@@ -1096,7 +1132,7 @@ Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">

- Unset + 0

@@ -1306,11 +1342,11 @@ Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> aware that some GNU/Linux distributions modify that behaviour without updating the documentation. Check for non-standard patches if your Privoxyversion behaves differently. + "APPLICATION">Privoxy version behaves differently.

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

@@ -1323,13 +1359,6 @@ Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> 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: @@ -1425,10 +1454,6 @@ Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> 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. -

@@ -2045,6 +2070,79 @@ Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
+
+

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

+
+
+
+

@@ -2231,8 +2329,8 @@ Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">

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

@@ -2308,6 +2406,15 @@ Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> With forward-socks5 the DNS resolution will happen on the remote server as well.

+

+ forward-socks5t works like vanilla + forward-socks5 but lets Privoxy additionally use + Tor-specific SOCKS extensions. Currently the only supported + SOCKS extension is optimistic data which can reduce the + latency for the first request made on a newly created + connection. +

socks_proxy and http_parent can be a @@ -2377,12 +2484,19 @@ Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">

-  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 @@ -2683,6 +2797,10 @@ Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> 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 @@ -2693,6 +2811,12 @@ Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> by the outside or an attacker has access to the pages you visit.

+

+ If you are running Privoxy as intercepting proxy without + being able to intercept all client requests you may want to + adjust the CGI templates to make sure they don't reference + content from config.privoxy.org. +

Examples: @@ -2927,7 +3051,8 @@ Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> 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. + handle it. If your browser appears to be hanging, it + probably can't.

@@ -2943,7 +3068,84 @@ Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">

- 7.6.5. + 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.6. default-server-timeout

@@ -3034,7 +3236,7 @@ Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">

- 7.6.6. connection-sharing + 7.6.7. connection-sharing

@@ -3148,7 +3350,7 @@ Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">

- 7.6.7. socket-timeout + 7.6.8. socket-timeout

@@ -3208,7 +3410,7 @@ Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">

- 7.6.8. + 7.6.9. max-client-connections

@@ -3234,7 +3436,7 @@ Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">

- None + 128

@@ -3289,6 +3491,16 @@ Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> 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: @@ -3303,7 +3515,7 @@ Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">

- 7.6.9. + 7.6.10. handle-as-empty-doc-returns-ok

@@ -3359,16 +3571,16 @@ Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">

- This is a work-around for Firefox bug 492459: " Websites are no longer rendered if SSL requests - for JavaScripts are blocked by a proxy. " ("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. + "_top">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.

@@ -3376,7 +3588,7 @@ Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">

- 7.6.10. enable-compression + 7.6.11. enable-compression

@@ -3449,7 +3661,7 @@ Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">

- 7.6.11. compression-level + 7.6.12. compression-level

@@ -3517,6 +3729,372 @@ Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> # 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/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/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
+
+
+
+
+
+
+
+
+

+ 7.6.16. 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: +
+
+

+

+ + + @@ -3551,8 +4129,9 @@ Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">

If "log-messages" is set to 1, Privoxy will log messages to the console - window: + class="APPLICATION">Privoxy copies log messages to the + console window. The log detail depends on the debug directive.

@@ -3671,7 +4250,7 @@ Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
+
+      # Allow systems that can reach Privoxy to provide the client
+      # IP address with a X-Forwarded-For header.
+      trust-x-forwarded-for 1
+