X-Git-Url: http://www.privoxy.org/gitweb/?a=blobdiff_plain;f=doc%2Fsource%2Fp-config.sgml;h=cdea8714eeae424b27909891b355ae72409990d1;hb=3bf566fd8bbc0708430225700fbe9074aaebf117;hp=e1313b2e4584af5596e7b82d2ead50ebffdcf229;hpb=e70110618027c7cb90164df41ae9b5fefb6ef5ac;p=privoxy.git diff --git a/doc/source/p-config.sgml b/doc/source/p-config.sgml index e1313b2e..cdea8714 100644 --- a/doc/source/p-config.sgml +++ b/doc/source/p-config.sgml @@ -3,9 +3,9 @@ Purpose : Used with other docs and files only. - $Id: p-config.sgml,v 1.2 2002/06/03 00:28:17 hal9 Exp $ + $Id: p-config.sgml,v 2.10 2006/09/07 02:02:56 hal9 Exp $ - Copyright (C) 2001, 2002 Privoxy Developers + Copyright (C) 2001-2006 Privoxy Developers See LICENSE. ======================================================================== @@ -95,10 +95,10 @@ Sample Configuration File for Privoxy v&p-version; -Copyright (C) 2001, 2002 Privoxy Developers http://privoxy.org + $Id: p-config.sgml,v 2.10 2006/09/07 02:02:56 hal9 Exp $ -$Id: p-config.sgml,v 1.2 2002/06/03 00:28:17 hal9 Exp $ +Copyright (C) 2001-2006 Privoxy Developers http://privoxy.org @@ -110,8 +110,8 @@ $Id: p-config.sgml,v 1.2 2002/06/03 00:28:17 hal9 Exp $ I. INTRODUCTION # II. FORMAT OF THE CONFIGURATION FILE # # - 1. CONFIGURATION AND LOG FILE LOCATIONS # - 2. LOCAL SET-UP DOCUMENTATION # + 1. LOCAL SET-UP DOCUMENTATION # + 2. CONFIGURATION AND LOG FILE LOCATIONS # 3. DEBUGGING # 4. ACCESS CONTROL AND SECURITY # 5. FORWARDING # @@ -126,7 +126,7 @@ $Id: p-config.sgml,v 1.2 2002/06/03 00:28:17 hal9 Exp $ This file holds the Privoxy configuration. If you modify this - file, you will need to send a couple of requests to the proxy + file, you will need to send a couple of requests (of any kind) to the proxy before any changes take effect. @@ -179,226 +179,271 @@ II. FORMAT OF THE CONFIGURATION FILE - - -Configuration and Log File Locations - - Privoxy can (and normally does) use a number of - other files for additional configuration, help and logging. - This section of the configuration file tells Privoxy - where to find those other files. - + + +Local Set-up Documentation - - The user running Privoxy, must have read - permission for all configuration files, and write permission to any files - that would be modified, such as log files and actions files. - + + If you intend to operate Privoxy for more users + than just yourself, it might be a good idea to let them know how to reach + you, what you block and why you do that, your policies, etc. + -confdir - +user-manual Specifies: - The directory where the other configuration files are located + + Location of the Privoxy User Manual. + Type of value: - Path name + A fully qualified URI Default value: - /etc/privoxy (Unix) or Privoxy installation dir (Windows) + Unset Effect if unset: - Mandatory + + http://www.privoxy.org/version/user-manual/ + will be used, where version is the Privoxy version. + Notes: + + The User Manual URI is the single best source of information on + Privoxy, and is used for help links from some + of the internal CGI pages. The manual itself is normally packaged with the + binary distributions, so you probably want to set this to a locally + installed copy. + - No trailing /, please + Examples: + + + + The best all purpose solution is simply to put the full local + PATH to where the User Manual is + located: + + +   user-manual  /usr/share/doc/privoxy/user-manual + + + The User Manual is then available to anyone with access to the proxy, by + following the built-in URL: http://config.privoxy.org/user-manual/ + (or the shortcut: http://p.p/user-manual/). + + + If the documentation is not on the local system, it can be accessed + from a remote server, as: + + +   user-manual  http://example.com/privoxy/user-manual/ + + + + + 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. + + ]]> + + - When development goes modular and multi-user, the blocker, filter, and - per-user config will be stored in subdirectories of confdir. - For now, the configuration directory structure is flat, except for - confdir/templates, where the HTML templates for CGI - output reside (e.g. Privoxy's 404 error page). + WARNING!!! - +
+ + If set, this option should be the first option in the config + file, because it is used while the config file is being read. + +
+ ]]> + +
-@@confdir .]]> +@@#user-manual http://www.privoxy.org/user-manual/]]>
-logdir +trust-info-url Specifies: - The directory where all logging takes place (i.e. where logfile and - jarfile are located) + A URL to be displayed in the error page that users will see if access to an untrusted page is denied. Type of value: - Path name + URL Default value: - /var/log/privoxy (Unix) or Privoxy installation dir (Windows) + Two example URL are provided Effect if unset: - Mandatory + + No links are displayed on the "untrusted" error page. + Notes: - No trailing /, please + The value of this option only matters if the experimental trust mechanism has been + activated. (See trustfile above.) + + + If you use the trust mechanism, it is a good idea to write up some on-line + documentation about your trust policy and to specify the URL(s) here. + Use multiple times for multiple URLs. + + + The URL(s) should be added to the trustfile as well, so users don't end up + locked out from the information on why they were locked out in the first place! -@@logdir .]]> +@@trust-info-url http://www.example.com/why_we_block.html]]> +@@trust-info-url http://www.example.com/what_we_allow.html]]> - -actionsfile - - - - - +admin-address + Specifies: - The actions file(s) to use + An email address to reach the proxy administrator. Type of value: - File name, relative to confdir, without the .action suffix + Email address - Default values: + Default value: - - - standard # Internal purposes, no editing recommended - - - default # Main actions file - - - user # User customizations - - + Unset Effect if unset: - No actions are taken at all. Simple neutral proxying. + No email address is displayed on error pages and the CGI user interface. Notes: - - Multiple actionsfile lines are permitted, and are in fact recommended! - - - The default values include standard.action, which is used for internal - purposes and should be loaded, default.action, which is the - main actions file maintained by the developers, and - user.action, where you can make your personal additions. - - - Actions files are where all the per site and per URL configuration is done for - ad blocking, cookie management, privacy considerations, etc. - There is no point in using Privoxy without at - least one actions file. - + + If both admin-address and proxy-info-url + are unset, the whole "Local Privoxy Support" box on all generated pages will + not be shown. + - - -@@actionsfile standard # Internal purpose, recommended]]> -@@actionsfile default # Main actions file]]> -@@actionsfile user # User customizations]]> +@@#admin-address privoxy-admin@example.com]]> + -filterfile - +proxy-info-url + Specifies: - The filter file to use + A URL to documentation about the local Privoxy setup, + configuration or policies. Type of value: - File name, relative to confdir + URL Default value: - default.filter (Unix) or default.filter.txt (Windows) + Unset Effect if unset: - No textual content filtering takes place, i.e. all - +filter{name} - actions in the actions files are turned neutral. + No link to local documentation is displayed on error pages and the CGI user interface. @@ -406,176 +451,182 @@ actionsfile Notes: - The filter file contains content modification - rules that use regular expressions. These rules permit - powerful changes on the content of Web pages, e.g., you could disable your favorite - JavaScript annoyances, re-write the actual displayed text, or just have some - fun replacing Microsoft with MicroSuck wherever - it appears on a Web page. - - - The - +filter{name} - actions rely on the relevant filter (name) - to be defined in the filter file! - + If both admin-address and proxy-info-url + are unset, the whole "Local Privoxy Support" box on all generated pages will + not be shown. +
- A pre-defined filter file called default.filter that contains - a bunch of handy filters for common problems is included in the distribution. - See the section on the filter - action for a list. - + This URL shouldn't be blocked ;-) +
-@@filterfile default.filter]]> +@@#proxy-info-url http://www.example.com/proxy-service.html]]> + + + + -logfile + + +Configuration and Log File Locations + + + Privoxy can (and normally does) use a number of + other files for additional configuration, help and logging. + This section of the configuration file tells Privoxy + where to find those other files. + + + + The user running Privoxy, must have read + permission for all configuration files, and write permission to any files + that would be modified, such as log files and actions files. + + + + +confdir Specifies: - - The log file to use - + The directory where the other configuration files are located Type of value: - File name, relative to logdir + Path name Default value: - logfile (Unix) or privoxy.log (Windows) + /etc/privoxy (Unix) or Privoxy installation dir (Windows) Effect if unset: - - No log file is used, all log messages go to the console (STDERR). - + Mandatory Notes: - The windows version will additionally log to the console. - - - The logfile is where all logging and error messages are written. The level - of detail and number of messages are set with the debug - option (see below). The logfile can be useful for tracking down a problem with - Privoxy (e.g., it's not blocking an ad you - think it should block) but in most cases you probably will never look at it. - - - 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, a logrotate - script has been included. - - - On SuSE Linux systems, you can place a line like /var/log/privoxy.* - +1024k 644 nobody.nogroup in /etc/logfiles, with - the effect that cron.daily will automatically archive, gzip, and empty the - log, when it exceeds 1M size. + No trailing /, please - Any log files must be writable by whatever user Privoxy - is being run as (default on UNIX, user id is privoxy). + When development goes modular and multi-user, the blocker, filter, and + per-user config will be stored in subdirectories of confdir. + For now, the configuration directory structure is flat, except for + confdir/templates, where the HTML templates for CGI + output reside (e.g. Privoxy's 404 error page). -@@logfile logfile]]> +@@confdir .]]> -jarfile +logdir Specifies: - The file to store intercepted cookies in + The directory where all logging takes place (i.e. where logfile and + jarfile are located) Type of value: - File name, relative to logdir + Path name Default value: - jarfile (Unix) or privoxy.jar (Windows) + /var/log/privoxy (Unix) or Privoxy installation dir (Windows) Effect if unset: - - Intercepted cookies are not stored at all. - + Mandatory Notes: - The jarfile may grow to ridiculous sizes over time. + No trailing /, please -@@jarfile jarfile]]> +@@logdir .]]> -trustfile + +actionsfile + + + + + Specifies: - The trust file to use + The actions file(s) to use Type of value: - File name, relative to confdir + File name, relative to confdir, without the .action suffix - Default value: + Default values: - Unset (commented out). When activated: trust (Unix) or trust.txt (Windows) + + + standard # Internal purposes, no editing recommended + + + default # Main actions file + + + user # User customizations + + Effect if unset: - The whole trust mechanism is turned off. + No actions are taken at all. Simple neutral proxying. @@ -583,265 +634,255 @@ actionsfile Notes: - 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. + Multiple actionsfile lines are permitted, and are in fact recommended! - - If you specify a trust file, Privoxy will only allow - access to sites that are named in the trustfile. - You can also mark sites as trusted referrers (with +), with - the effect that access to untrusted sites will be granted, if a link from a - trusted referrer was used. - The link target will then be added to the trustfile. - Possible applications include limiting Internet access for children. + + The default values include standard.action, which is used for internal + purposes and should be loaded, default.action, which is the + main actions file maintained by the developers, and + user.action, where you can make your personal additions. - - If you use + operator in the trust file, it may grow considerably over time. + + Actions files are where all the per site and per URL configuration is done for + ad blocking, cookie management, privacy considerations, etc. + There is no point in using Privoxy without at + least one actions file. -@@#trustfile trust]]> + + +@@actionsfile standard # Internal purpose, recommended]]> +@@actionsfile default # Main actions file]]> +@@actionsfile user # User customizations]]> - - - - - -Local Set-up Documentation - - - If you intend to operate Privoxy for more users - than just yourself, it might be a good idea to let them know how to reach - you, what you block and why you do that, your policies, etc. - - - - -user-manual +filterfile + Specifies: - Location of the Privoxy User Manual. + The filter file(s) to use Type of value: - A fully qualified URI + File name, relative to confdir Default value: - Unset + default.filter (Unix) or default.filter.txt (Windows) Effect if unset: - http://www.privoxy.org/version/user-manual/ - will be used, where version is the Privoxy version. + No textual content filtering takes place, i.e. all + +filter{name} + actions in the actions files are turned neutral. Notes: - - The User Manual URI is used for help links from some of the internal CGI pages. - The manual itself is normally packaged with the binary distributions, so you probably want - to set this to a locally installed copy. For multi-user setups, you could provide a copy on - a local webserver for all your users and use the corresponding URL here. + + Multiple filterfile lines are permitted. - Examples: + The filter files contain content modification + rules that use regular expressions. These rules permit + powerful changes on the content of Web pages, and optionally the headers + as well, e.g., you could disable your favorite JavaScript annoyances, + re-write the actual displayed text, or just have some fun + playing buzzword bingo with web pages. - - Unix, in local filesystem: - - - user-manual  file:///usr/share/doc/privoxy-&p-version;/user-manual/ - - - Any platform, on local webserver (called local-webserver): - - - user-manual  http://local-webserver/privoxy-user-manual/ - - - - If set, this option should be the first option in the config - file, because it is used while the config file is being read. + The + +filter{name} + actions rely on the relevant filter (name) + to be defined in a filter file! - - ]]> - - - WARNING!!! + A pre-defined filter file called default.filter that contains + a number of useful filters for common problems is included in the distribution. + See the section on the filter + action for a list. -
- - If set, this option should be the first option in the config - file, because it is used while the config file is being read. - -
- ]]> - -
+ + It is recommended to place any locally adapted filters into a separate + file, such as user.filter. + +
-@@#user-manual http://www.privoxy.org/user-manual/]]> +@@filterfile default.filter]]> +@@#filterfile user.filter # User customizations]]>
-trust-info-url +logfile Specifies: - A URL to be displayed in the error page that users will see if access to an untrusted page is denied. + The log file to use Type of value: - URL + File name, relative to logdir Default value: - Two example URL are provided + logfile (Unix) or privoxy.log (Windows) Effect if unset: - No links are displayed on the "untrusted" error page. + No log file is used, all log messages go to the console (STDERR). Notes: + - If you use the trust mechanism, it is a good idea to write up some on-line - documentation about your trust policy and to specify the URL(s) here. - Use multiple times for multiple URLs. + The logfile is where all logging and error messages are written. The level + of detail and number of messages are set with the debug + option (see below). The logfile can be useful for tracking down a problem with + Privoxy (e.g., it's not blocking an ad you + think it should block) but in most cases you probably will never look at it. - The URL(s) should be added to the trustfile as well, so users don't end up - locked out from the information on why they were locked out in the first place! + 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, a logrotate + script has been included. + + + On SuSE Linux systems, you can place a line like /var/log/privoxy.* + +1024k 644 nobody.nogroup in /etc/logfiles, with + the effect that cron.daily will automatically archive, gzip, and empty the + log, when it exceeds 1M size. + + + Any log files must be writable by whatever user Privoxy + is being run as (default on UNIX, user id is privoxy). -@@trust-info-url http://www.example.com/why_we_block.html]]> -@@trust-info-url http://www.example.com/what_we_allow.html]]> +@@logfile logfile]]> -admin-address +jarfile Specifies: - An email address to reach the proxy administrator. + The file to store intercepted cookies in Type of value: - Email address + File name, relative to logdir Default value: - Unset + Unset (commented out). When activated: jarfile (Unix) or privoxy.jar (Windows) Effect if unset: - No email address is displayed on error pages and the CGI user interface. + Intercepted cookies are not stored in a dedicated log file. Notes: - - If both admin-address and proxy-info-url - are unset, the whole "Local Privoxy Support" box on all generated pages will - not be shown. - + + The jarfile may grow to ridiculous sizes over time. + + + If debug 8 (show header parsing) is enabled, cookies are + written to the logfile with the rest of the headers. + -@@#admin-address privoxy-admin@example.com]]> +@@#jarfile jarfile]]> -proxy-info-url - +trustfile Specifies: - A URL to documentation about the local Privoxy setup, - configuration or policies. + The trust file to use Type of value: - URL + File name, relative to confdir Default value: - Unset + Unset (commented out). When activated: trust (Unix) or trust.txt (Windows) Effect if unset: - No link to local documentation is displayed on error pages and the CGI user interface. + The entire trust mechanism is turned off. @@ -849,21 +890,50 @@ actionsfile Notes: - If both admin-address and proxy-info-url - are unset, the whole "Local Privoxy Support" box on all generated pages will - not be shown. - + 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. + - This URL shouldn't be blocked ;-) - + If you specify a trust file, Privoxy will only allow + access to sites that are specified in the trustfile. Sites can be listed + in one of two ways: + + + Prepending a ~ character limits access to this site + only (and any sub-paths within this site), e.g. + ~www.example.com. + + + 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. 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). + + + If you use the + operator in the trust file, it may grow + considerably over time. + + + It is recommended that Privoxy be compiled with + the --disable-force, --disable-toggle and + --disable-editor options, if this feature is to be + used. + + + Possible applications include limiting Internet access for children. + + -@@#proxy-info-url http://www.example.com/proxy-service.html]]> +@@#trustfile trust]]> -
+ @@ -928,6 +998,7 @@ actionsfile 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 @@ -958,7 +1029,7 @@ actionsfile @@debug 1 # show each GET/POST/CONNECT request]]> @@debug 4096 # Startup banner and warnings]]> -@@debug 8192 # Errors - *we highly recommended enabling this]]> +@@debug 8192 # Errors - *we highly recommended enabling this*]]>
@@ -1225,6 +1296,60 @@ actionsfile + +enable-remote-http-toggle + + + Specifies: + + + Whether or not Privoxy recognizes special HTTP headers to change its behaviour. + + + + + Type of value: + + 0 or 1 + + + + Default value: + + 1 + + + + Effect if unset: + + + Privoxy ignores special HTTP headers. + + + + + Notes: + + + When toggled on, the client can change Privoxy's + behaviour by setting special HTTP headers. Currently the only supported + special header is X-Filter: No, to disable filtering for + the ongoing request, even if it is enabled in one of the action files. + + + If you are using Privoxy in a + multi-user environment or with untrustworthy clients and want to + enforce filtering, you will have to disable this option, + otherwise you can ignore it. + + + + + +@@enable-remote-http-toggle 1]]> + + + enable-edit-actions @@ -1507,17 +1632,17 @@ ACLs: permit-access and deny-access Type of value: - target_domain[:port] - http_parent[/port] + target_pattern + http_parent[:port] - Where target_domain is a domain name pattern (see the - chapter on domain matching in the default.action file), - http_parent is the address of the parent HTTP proxy - as an IP addresses in dotted decimal notation or as a valid DNS name (or . to denote - no forwarding, and the optional - port parameters are TCP ports, i.e. integer - values from 1 to 64535 + 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 forwarded, + optionally followed by its listening port (default: 8080). + Use a single dot (.) to denote no forwarding. @@ -1555,7 +1680,7 @@ ACLs: permit-access and deny-access - forward .* anon-proxy.example.org:8080 + forward / anon-proxy.example.org:8080 forward :443 . @@ -1565,7 +1690,7 @@ ACLs: permit-access and deny-access - forward .*. caching-proxy.example-isp.net:8000 + forward / caching-proxy.example-isp.net:8000 forward .example-isp.net . @@ -1594,13 +1719,14 @@ forward-socks4 and forward-socks4a Type of value: - target_domain[:port] - socks_proxy[/port] - http_parent[/port] + target_pattern + socks_proxy[:port] + http_parent[:port] - Where target_domain is a domain name pattern (see the - chapter on domain matching in the default.action file), + 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 . to denote no HTTP forwarding), and the optional @@ -1651,7 +1777,7 @@ forward-socks4 and forward-socks4a - forward-socks4a .*. socks-gw.example.com:1080 www-cache.example-isp.net:8080 + forward-socks4a / socks-gw.example.com:1080 www-cache.example-isp.net:8080 forward .example.com . @@ -1660,9 +1786,47 @@ forward-socks4 and forward-socks4a - forward-socks4 .*. socks-gw.example.com:1080 . + forward-socks4 / socks-gw.example.com:1080 . + + + + + To chain Privoxy and Tor, both running on the same system, you should use + the rule: + + + + forward-socks4 / 127.0.0.1:9050 . + + + + + The public Tor network can't be used to reach your local network, + therefore it's a good idea to make some exceptions: + + + + forward 192.168.*.*/ . + forward 10.*.*.*/ . + forward 127.*.*.*/ . + + + + Unencrypted connections to systems in these address ranges will + be as (un)secure as the local network is, but the alternative is that you + can't reach the network at all. + + + If you also want to be able to reach servers in your local network by + using their names, you will need additional exceptions that look like + this: + + + + forward localhost/ . + @@ -1691,7 +1855,7 @@ forward-socks4 and forward-socks4a - forward .*. . + forward / . forward .isp-b.net host-b:8118 @@ -1702,7 +1866,7 @@ forward-socks4 and forward-socks4a - forward .*. . + forward / . forward .isp-a.net host-a:8118 @@ -1744,9 +1908,81 @@ forward-socks4 and forward-socks4a Squid normally uses port 3128. If unsure consult http_port in squid.conf. + + You could just as well decide to only forward requests for Windows executables through + a virus-scanning parent proxy, say, on antivir.example.com, port 8010: + + + + + forward / . + forward /.*\.(exe|com|dll|zip)$ antivir.example.com:8010 + + ]]> +forwarded-connect-retries + + + Specifies: + + + How often Privoxy retries if a forwarded connection request fails. + + + + + Type of value: + + + Number of retries. + + + + + Default value: + + 0 + + + + Effect if unset: + + + Forwarded connections 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. + + + Only use this option, if you are getting many 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. + + + + + Examples: + + + forwarded-connect-retries 1 + + + + +@@forwarded-connect-retries 0]]> + + @@ -1978,14 +2214,15 @@ forward-socks4 and forward-socks4a - + + + ]]>