1 ######################################################################
3 # File : $Source: /cvsroot/ijbswa/current/user.action,v $
5 # $Id: user.action,v 1.10 2011/10/26 18:58:37 fabiankeil Exp $
7 # Purpose : User-maintained actions file, see
8 # http://www.privoxy.org/user-manual/actions-file.html
10 ######################################################################
12 # This is the place to add your personal exceptions and additions to
13 # the general policies as defined in default.action. (Here they will be
14 # safe from updates to default.action.) Later defined actions always
15 # take precedence, so anything defined here should have the last word.
17 # See http://www.privoxy.org/user-manual/actions-file.html, or the
18 # comments in default.action, for an explanation of what an "action" is
19 # and what each action does.
21 # The examples included here either use bogus sites, or have the actual
22 # rules commented out (with the '#' character). Useful aliases are
23 # included in the top section as a convenience.
25 #############################################################################
27 #############################################################################
29 #############################################################################
31 # You can define a short form for a list of permissions - e.g., instead
32 # of "-crunch-incoming-cookies -crunch-outgoing-cookies -filter -fast-redirects",
33 # you can just write "shop". This is called an alias.
35 # Currently, an alias can contain any character except space, tab, '=', '{'
37 # But please use only 'a'-'z', '0'-'9', '+', and '-'.
39 # Alias names are not case sensitive.
41 # Aliases beginning with '+' or '-' may be used for system action names
42 # in future releases - so try to avoid alias names like this. (e.g.
43 # "+crunch-all-cookies" below is not a good name)
45 # Aliases must be defined before they are used.
47 # These aliases just save typing later:
49 +crunch-all-cookies = +crunch-incoming-cookies +crunch-outgoing-cookies
50 -crunch-all-cookies = -crunch-incoming-cookies -crunch-outgoing-cookies
51 allow-all-cookies = -crunch-all-cookies -session-cookies-only -filter{content-cookies}
52 allow-popups = -filter{all-popups} -filter{unsolicited-popups}
53 +block-as-image = +block{Blocked image request.} +handle-as-image
54 -block-as-image = -block
56 # These aliases define combinations of actions
57 # that are useful for certain types of sites:
59 fragile = -block -crunch-all-cookies -filter -fast-redirects -hide-referer -prevent-compression
60 shop = -crunch-all-cookies allow-popups
62 # Your favourite blend of filters:
64 myfilters = +filter{html-annoyances} +filter{js-annoyances} +filter{all-popups}\
65 +filter{webbugs} +filter{banners-by-size}
67 # Allow ads for selected useful free sites:
69 allow-ads = -block -filter{banners-by-size} -filter{banners-by-link}
70 #... etc. Customize to your heart's content.
72 ## end aliases ########################################################
73 #######################################################################
75 # Begin examples: #####################################################
77 # Say you have accounts on some sites that you visit regularly, and you
78 # don't want to have to log in manually each time. So you'd like to allow
79 # persistent cookies for these sites. The allow-all-cookies alias defined
80 # above does exactly that, i.e. it disables crunching of cookies in any
81 # direction, and the processing of cookies to make them only temporary.
91 # Say the site where you do your homebanking needs to open popup
92 # windows, but you have chosen to kill popups uncoditionally by default.
93 # This will allow it for your-example-bank.com:
95 { -filter{all-popups} }
98 # Some hosts and some file types you may not want to filter for
103 # Technical documentation is likely to contain strings that might
104 # erroneously get altered by the JavaScript-oriented filters:
109 # And this stupid host sends streaming video with a wrong MIME type,
110 # so that Privoxy thinks it is getting HTML and starts filtering:
112 stupid-server.example.com/
115 # Example of a simple "block" action. Say you've seen an ad on your
116 # favourite page on example.com that you want to get rid of. You have
117 # right-clicked the image, selected "copy image location" and pasted
118 # the URL below while removing the leading http://, into a { +block{reason} }
119 # section. Note that { +handle-as-image } need not be specified, since
120 # all URLs ending in .gif will be tagged as images by the general rules
121 # as set in default.action anyway:
123 { +block{Nasty ads.} }
124 www.example.com/nasty-ads/sponsor.gif
126 # The URLs of dynamically generated banners, especially from large banner
127 # farms, often don't use the well-known image file name extensions, which
128 # makes it impossible for Privoxy to guess the file type just by looking
130 # You can use the +block-as-image alias defined above for these cases.
131 # Note that objects which match this rule but then turn out NOT to be an
132 # image are typically rendered as a "broken image" icon by the browser.
140 # Now you noticed that the default configuration breaks Forbes
141 # Magazine, but you were too lazy to find out which action is the
142 # culprit, and you were again too lazy to give feedback, so you just
143 # used the fragile alias on the site, and -- whoa! -- it worked. The
144 # 'fragile' aliases disables those actions that are most likely to break
145 # a site. Also, good for testing purposes to see if it is Privoxy that
146 # is causing the problem or not.
151 # Here are some sites we wish to support, and we will allow their ads
159 # user.action is generally the best place to define exceptions and
160 # additions to the default policies of default.action. Some actions are
161 # safe to have their default policies set here though. So let's set a
162 # default policy to have a 'blank' image as opposed to the checkerboard
163 # pattern for ALL sites. '/' of course matches all URLs.
166 { +set-image-blocker{blank} }
169 # Enable the following section (not the regression-test directives)
170 # to rewrite and redirect click-tracking URLs on news.google.com.
171 # Disabling JavaScript should work as well and probably works more reliably.
173 # Redirected URL = http://news.google.com/news/url?ct2=us%2F0_0_s_1_1_a&sa=t&usg=AFQjCNHJWPc7ffoSXPSqBRz55jDA0KgxOQ&cid=8797762374160&url=http%3A%2F%2Fonline.wsj.com%2Farticle%2FSB10001424052970204485304576640791304008536.html&ei=YcqeTsymCIjxggf8uQE&rt=HOMEPAGE&vm=STANDARD&bvm=section&did=-6537064229385238098
174 # Redirect Destination = http://online.wsj.com/article/SB10001424052970204485304576640791304008536.html
177 #{+redirect{s@(&url=http[^&]*)&.*$@$1@} +fast-redirects{check-decoded-url}}
178 #news.google.com/news/url.*&url=http.*&