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