X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=doc%2Fsource%2Fuser-manual.sgml;h=e0ec372ea09cc071f39ee2435df0b22b34904720;hp=1b6ac81367601b36dbe90d88397d057f0bd9704a;hb=305ebc18d945e01bd76a2ac36529489e9f650414;hpb=ce0952da61bb0c60341ada1627bcde2a05b46d98 diff --git a/doc/source/user-manual.sgml b/doc/source/user-manual.sgml index 1b6ac813..e0ec372e 100644 --- a/doc/source/user-manual.sgml +++ b/doc/source/user-manual.sgml @@ -13,7 +13,7 @@ - + @@ -36,7 +36,7 @@ This file belongs into ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/ - $Id: user-manual.sgml,v 2.194 2014/10/21 15:30:52 fabiankeil Exp $ + $Id: user-manual.sgml,v 2.205 2016/03/17 10:42:54 fabiankeil Exp $ Copyright (C) 2001-2014 Privoxy Developers http://www.privoxy.org/ See LICENSE. @@ -62,7 +62,7 @@ -$Id: user-manual.sgml,v 2.194 2014/10/21 15:30:52 fabiankeil Exp $ +$Id: user-manual.sgml,v 2.205 2016/03/17 10:42:54 fabiankeil Exp $ - + Controlling Privoxy with Your Web Browser Privoxy's user interface can be reached through the special @@ -1855,7 +1873,7 @@ for details. - + Finding the Right Mix Note that some actions, like cookie suppression @@ -1880,7 +1898,7 @@ for details. - + How to Edit The easiest way to edit the actions files is with a browser by @@ -2201,7 +2219,7 @@ for details. -The Path Pattern +The Path Pattern Privoxy uses modern POSIX 1003.2 @@ -2301,18 +2319,18 @@ for details. -The Tag Pattern +The Request Tag Pattern - Tag patterns are used to change the applying actions based on the - request's tags. Tags can be created with either the - client-header-tagger + Request tag patterns are used to change the applying actions based on the + request's tags. Tags can be created based on HTTP headers with either + the client-header-tagger or the server-header-tagger action. - Tag patterns have to start with TAG:, so &my-app; - can tell them apart from URL patterns. Everything after the colon + Request tag patterns have to start with TAG:, so &my-app; + can tell them apart from other patterns. Everything after the colon including white space, is interpreted as a regular expression with path pattern syntax, except that tag patterns aren't left-anchored automatically (&my-app; doesn't silently add a ^, @@ -2328,15 +2346,15 @@ for details. - Sections can contain URL and tag patterns at the same time, - but tag patterns are checked after the URL patterns and thus + Sections can contain URL and request tag patterns at the same time, + but request tag patterns are checked after the URL patterns and thus always overrule them, even if they are located before the URL patterns. - Once a new tag is added, Privoxy checks right away if it's matched by one - of the tag patterns and updates the action settings accordingly. As a result - tags can be used to activate other tagger actions, as long as these other + Once a new request tag is added, Privoxy checks right away if it's matched by one + of the request tag patterns and updates the action settings accordingly. As a result + request tags can be used to activate other tagger actions, as long as these other taggers look for headers that haven't already be parsed. @@ -2361,21 +2379,77 @@ for details. -The Negative Tag Patterns +The Negative Request Tag Patterns - To match requests that do not have a certain tag, specify a negative tag pattern + To match requests that do not have a certain request tag, specify a negative tag pattern by prefixing the tag pattern line with either NO-REQUEST-TAG: or NO-RESPONSE-TAG: instead of TAG:. - Negative tag patterns created with NO-REQUEST-TAG: are checked + Negative request tag patterns created with NO-REQUEST-TAG: are checked after all client headers are scanned, the ones created with NO-RESPONSE-TAG: are checked after all server headers are scanned. In both cases all the created tags are considered. + +The Client Tag Pattern + + + + + + This is an experimental feature. The syntax is likely to change in future versions. + + + + + Client tag patterns are not set based on HTTP headers but based on + the client's IP address. Users can enable them themselves, but the + Privoxy admin controls which tags are available and what their effect + is. + + + + 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. + + + + Example: + + + + +# If the admin defined the client-specific-tag circumvent-blocks, +# and the request comes from a client that previously requested +# the tag to be set, overrule all previous +block actions that +# are enabled based on URL to CLIENT-TAG patterns. +{-block} +CLIENT-TAG:^circumvent-blocks$ + +# This section is not overruled because it's located after +# the previous one. +{+block{Nobody is supposed to request this.}} +example.org/blocked-example-page + @@ -4145,7 +4219,7 @@ new action Type: - Multi-value. + Parameterized. @@ -4178,6 +4252,32 @@ new action for socks5 connections (with remote DNS resolution). + + + forward-webserver 127.0.0.1:80 to use the HTTP + server listening at 127.0.0.1 port 80 without adjusting the + request headers. + + + This makes it more convenient to use Privoxy to make + existing websites available as onion services as well. + + + Many websites serve content with hardcoded URLs and + can't be easily adjusted to change the domain based + on the one used by the client. + + + Putting Privoxy between Tor and the webserver (or an stunnel + that forwards to the webserver) allows to rewrite headers and + content to make client and server happy at the same time. + + + Using Privoxy for webservers that are only reachable through + onion addresses and whose location is supposed to be secret + is not recommended and should not be necessary anyway. + + @@ -5814,7 +5914,7 @@ TAG:^image/ - + Summary Note that many of these actions have the potential to cause a page to @@ -5957,7 +6057,7 @@ hal stop here and user.action file and see how all these pieces come together: - + match-all.action Remember all actions are disabled when matching starts, @@ -6000,7 +6100,7 @@ hal stop here - + default.action @@ -6289,7 +6389,7 @@ wiki. -user.action +user.action So far we are painting with a broad brush by setting general policies, @@ -6703,7 +6803,7 @@ stupid-server.example.com/ -Filter File Tutorial +Filter File Tutorial Now, let's complete our foo content filter. We have already defined the heading, but the jobs are still missing. Since all it does is to replace @@ -7873,7 +7973,7 @@ Requests - + Privoxy's Internal Pages