make_path: Use malloc_or_die()
[privoxy.git] / user.action
1 ######################################################################
2
3 #  File        :  user.action
4
5 #  Purpose     :  User-maintained actions file, see
6 #                 https://www.privoxy.org/user-manual/actions-file.html
7 #
8 #  Copyright   :  Written by and Copyright (C) 2002-2022 the
9 #                 Privoxy team. https://www.privoxy.org/
10 #
11 ######################################################################
12
13 # This is the place to add your personal exceptions and additions to
14 # the general policies as defined in default.action. (Here they will be
15 # safe from updates to default.action.) Later defined actions always
16 # take precedence, so anything defined here should have the last word.
17
18 # See https://www.privoxy.org/user-manual/actions-file.html, or the
19 # comments in default.action, for an explanation of what an "action" is
20 # and what each action does.
21
22 # The examples included here either use bogus sites, or have the actual
23 # rules commented out (with the '#' character). Useful aliases are
24 # included in the top section as a convenience.
25
26 #############################################################################
27 # Aliases
28 #############################################################################
29 {{alias}}
30 #############################################################################
31 #
32 # You can define a short form for a list of permissions - e.g., instead
33 # of "-crunch-incoming-cookies -crunch-outgoing-cookies -filter -fast-redirects",
34 # you can just write "shop". This is called an alias.
35 #
36 # Currently, an alias can contain any character except space, tab, '=', '{'
37 # or '}'.
38 # But please use only 'a'-'z', '0'-'9', '+', and '-'.
39 #
40 # Alias names are not case sensitive.
41 #
42 # Aliases beginning with '+' or '-' may be used for system action names 
43 # in future releases - so try to avoid alias names like this.  (e.g. 
44 # "+crunch-all-cookies" below is not a good name)
45 #
46 # Aliases must be defined before they are used.
47
48 # These aliases just save typing later:
49 #
50 +crunch-all-cookies = +crunch-incoming-cookies +crunch-outgoing-cookies
51 -crunch-all-cookies = -crunch-incoming-cookies -crunch-outgoing-cookies
52  allow-all-cookies  = -crunch-all-cookies -session-cookies-only -filter{content-cookies}
53  allow-popups       = -filter{all-popups} -filter{unsolicited-popups}
54 +block-as-image     = +block{Blocked image request.} +handle-as-image
55 -block-as-image     = -block
56
57 # These aliases define combinations of actions
58 # that are useful for certain types of sites:
59 #
60 fragile     = -block -crunch-all-cookies -filter -fast-redirects -hide-referer -prevent-compression
61 shop        = -crunch-all-cookies allow-popups
62
63 # Your favourite blend of filters:
64 #
65 myfilters   = +filter{html-annoyances} +filter{js-annoyances} +filter{all-popups}\
66               +filter{webbugs} +filter{banners-by-size}
67
68 # Allow ads for selected useful free sites:
69 #
70 allow-ads   = -block -filter{banners-by-size} -filter{banners-by-link}
71 #... etc.  Customize to your heart's content.
72
73 ## end aliases ########################################################
74 #######################################################################
75
76 # Begin examples: #####################################################
77
78 # Say you have accounts on some sites that you visit regularly, and you
79 # don't want to have to log in manually each time. So you'd like to allow
80 # persistent cookies for these sites. The allow-all-cookies alias defined
81 # above does exactly that, i.e. it disables crunching of cookies in any
82 # direction, and the processing of cookies to make them only temporary.
83 #
84 { allow-all-cookies }
85 #.sourceforge.net
86 #sunsolve.sun.com
87 #slashdot.org
88 #.yahoo.com
89 #.msdn.microsoft.com
90 #.redhat.com
91
92 # Say the site where you do your homebanking needs to open popup
93 # windows, but you have chosen to kill popups uncoditionally by default.
94 # This will allow it for your-example-bank.com:
95 #
96 { -filter{all-popups} }
97 .banking.example.com
98
99 # Some hosts and some file types you may not want to filter for
100 # various reasons:
101 #
102 { -filter }
103
104 # Technical documentation is likely to contain strings that might
105 # erroneously get altered by the JavaScript-oriented filters:
106 #
107 #.tldp.org
108 #/(.*/)?selfhtml/
109
110 # And this stupid host sends streaming video with a wrong MIME type,
111 # so that Privoxy thinks it is getting HTML and starts filtering:
112 #
113 stupid-server.example.com/
114
115
116 # Example of a simple "block" action. Say you've seen an ad on your
117 # favourite page on example.com that you want to get rid of. You have
118 # right-clicked the image, selected "copy image location" and pasted
119 # the URL below while removing the leading http://, into a { +block{reason} }
120 # section. Note that { +handle-as-image } need not be specified, since
121 # all URLs ending in .gif will be tagged as images by the general rules
122 # as set in default.action anyway:
123 #
124 { +block{Nasty ads.} }
125 www.example.com/nasty-ads/sponsor.gif
126
127 # The URLs of dynamically generated banners, especially from large banner
128 # farms, often don't use the well-known image file name extensions, which
129 # makes it impossible for Privoxy to guess the file type just by looking
130 # at the URL. 
131 # You can use the +block-as-image alias defined above for these cases.
132 # Note that objects which match this rule but then turn out NOT to be an
133 # image are typically rendered as a "broken image" icon by the browser.
134 # Use cautiously.
135 #
136 { +block-as-image }
137 #.doubleclick.net
138 #/Realmedia/ads/
139 #ar.atwola.com/
140
141 # Now you noticed that the default configuration breaks Forbes
142 # Magazine, but you were too lazy to find out which action is the
143 # culprit, and you were again too lazy to give feedback, so you just
144 # used the fragile alias on the site, and -- whoa! -- it worked. The
145 # 'fragile' aliases disables those actions that are most likely to break
146 # a site. Also, good for testing purposes to see if it is Privoxy that
147 # is causing the problem or not.
148
149 { fragile }
150 #.forbes.com
151
152 # Here are some sites we wish to support, and we will allow their ads
153 # through.
154 #
155 { allow-ads }
156 #.sourceforge.net
157 #.slashdot.org
158 #.osdn.net
159
160 # user.action is generally the best place to define exceptions and
161 # additions to the default policies of default.action. Some actions are
162 # safe to have their default policies set here though. So let's set a
163 # default policy to have a 'blank' image as opposed to the checkerboard
164 # pattern for ALL sites. '/' of course matches all URLs.
165 # patterns:
166 #
167 { +set-image-blocker{blank} }
168 #/
169
170 # Enable the following section (not the regression-test directives)
171 # to rewrite and redirect click-tracking URLs on news.google.com.
172 # Disabling JavaScript should work as well and probably works more reliably.
173 #
174 # 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
175 # Redirect Destination = http://online.wsj.com/article/SB10001424052970204485304576640791304008536.html
176 # Ignore = Yes
177 #
178 #{+fast-redirects{check-decoded-url}}
179 #news.google.com/news/url.*&url=http.*&
180
181 # Enable the following section (not the regression-test directives)
182 # to block various Facebook "like" and similar tracking URLs.  At the
183 # time this section was added it was reported to not break Facebook
184 # itself but this may have changed by the time you read this. This URL
185 # list is probably incomplete and if you don't have an account anyway,
186 # you may prefer to block the whole domain.
187 #
188 # Blocked URL = http://www.facebook.com/plugins/likebox.php?href=http%3A%2F%2Ffacebook.com%2Farstechnica&width=300&colorscheme=light&show_faces=false&stream=false&header=false&height=62&border_color=%23FFFFFF
189 # Ignore = Yes
190 # Blocked URL = http://www.facebook.com/plugins/activity.php?site=arstechnica.com&width=300&height=370&header=false&colorscheme=light&recommendations=false&border_color=%23FFFFFF
191 # Ignore = Yes
192 # Blocked URL = http://www.facebook.com/plugins/fan.php?api_key=368513495882&connections=10&height=250&id=8304333127&locale=en_US&sdk=joey&stream=false&width=377
193 # Ignore = Yes
194 # Blocked URL = http://www.facebook.com/plugins/like.php?api_key=368513495882&channel_url=http%3A%2F%2Fstatic.ak.fbcdn.net%2Fconnect%2Fxd_proxy.php%3Fversion%3D3%23cb%3Df13997452c%26origin%3Dhttp%253A%252F%252Fonline.wsj.com%252Ff1b037e354%26relation%3Dparent.parent%26transport%3Dpostmessage&extended_social_context=false&href=http%3A%2F%2Fonline.wsj.com%2Farticle%2FSB10001424052970204485304576640791304008536.html&layout=button_count&locale=en_US&node_type=link&ref=wsj_share_FB&sdk=joey&send=false&show_faces=false&width=90
195 # Ignore = Yes
196 #
197 #{+block{Facebook "like" and similar tracking URLs.}}
198 #www.facebook.com/(extern|plugins)/(login_status|like(box)?|activity|fan)\.php
199
200 # Hide cookie and privacy information banner on the Bundeswehr website.
201 # The relevant parts seem to work without accepting cookies.
202 # {+filter{bundeswehr.de}}
203 # .bundeswehr.de/
204
205 ######### Examples for SSL actions #########
206 # Following section enables TLS/SSL filtering for all sites defined by pattern and requested by HTTPS.
207 # {+https-inspection}
208 # privoxy.org
209
210 # Following section turns off certificate verification for all sites defined by pattern.
211 # {+ignore-certificate-errors}
212 # privoxy.org