Sync with source.
[privoxy.git] / doc / webserver / user-manual / actions-file.html
1 <HTML
2 ><HEAD
3 ><TITLE
4 >Actions Files</TITLE
5 ><META
6 NAME="GENERATOR"
7 CONTENT="Modular DocBook HTML Stylesheet Version 1.64
8 "><LINK
9 REL="HOME"
10 TITLE="Privoxy User Manual"
11 HREF="index.html"><LINK
12 REL="PREVIOUS"
13 TITLE="The Main Configuration File"
14 HREF="config.html"><LINK
15 REL="NEXT"
16 TITLE="The Filter File"
17 HREF="filter-file.html"><LINK
18 REL="STYLESHEET"
19 TYPE="text/css"
20 HREF="../p_doc.css"></HEAD
21 ><BODY
22 CLASS="SECT1"
23 BGCOLOR="#EEEEEE"
24 TEXT="#000000"
25 LINK="#0000FF"
26 VLINK="#840084"
27 ALINK="#0000FF"
28 ><DIV
29 CLASS="NAVHEADER"
30 ><TABLE
31 WIDTH="100%"
32 BORDER="0"
33 CELLPADDING="0"
34 CELLSPACING="0"
35 ><TR
36 ><TH
37 COLSPAN="3"
38 ALIGN="center"
39 >Privoxy User Manual</TH
40 ></TR
41 ><TR
42 ><TD
43 WIDTH="10%"
44 ALIGN="left"
45 VALIGN="bottom"
46 ><A
47 HREF="config.html"
48 >Prev</A
49 ></TD
50 ><TD
51 WIDTH="80%"
52 ALIGN="center"
53 VALIGN="bottom"
54 ></TD
55 ><TD
56 WIDTH="10%"
57 ALIGN="right"
58 VALIGN="bottom"
59 ><A
60 HREF="filter-file.html"
61 >Next</A
62 ></TD
63 ></TR
64 ></TABLE
65 ><HR
66 ALIGN="LEFT"
67 WIDTH="100%"></DIV
68 ><DIV
69 CLASS="SECT1"
70 ><H1
71 CLASS="SECT1"
72 ><A
73 NAME="ACTIONS-FILE"
74 >9. Actions Files</A
75 ></H1
76 ><P
77 > The actions files are used to define what actions
78  <SPAN
79 CLASS="APPLICATION"
80 >Privoxy</SPAN
81 > takes for which URLs, and thus determines
82  how ad images, cookies and various other aspects of HTTP content and
83  transactions are handled, and on which sites (or even parts thereof). There 
84  are three such files included with <SPAN
85 CLASS="APPLICATION"
86 >Privoxy</SPAN
87 > (as of 
88  version 2.9.15), with differing purposes:
89  </P
90 ><P
91 >  <P
92 ></P
93 ><UL
94 ><LI
95 ><P
96 >      <TT
97 CLASS="FILENAME"
98 >standard.action</TT
99 > - is used by the web based editor, 
100       to set various pre-defined sets of rules for the default actions section
101       in <TT
102 CLASS="FILENAME"
103 >default.action</TT
104 >. These have increasing levels of
105       aggressiveness. It is not recommend to edit this file.
106     </P
107 ></LI
108 ><LI
109 ><P
110 >     <TT
111 CLASS="FILENAME"
112 >default.action</TT
113 > - is the primary action file 
114      that sets the initial values for all actions. It is intended to 
115      provide a base level of functionality for
116      <SPAN
117 CLASS="APPLICATION"
118 >Privoxy's</SPAN
119 > array of features. So it is 
120      a set of broad rules that should work reasonably well for users everywhere.
121      This is the file that the developers are keeping updated, and making 
122      available to users.
123     </P
124 ></LI
125 ><LI
126 ><P
127 >     <TT
128 CLASS="FILENAME"
129 >user.action</TT
130 > - is intended to be for local site 
131      preferences and exceptions. As an example, if your ISP or your bank
132      has specific requirements, and need special handling, this kind of 
133      thing should go here. This file will not be upgraded.
134     </P
135 ></LI
136 ></UL
137 >
138  </P
139 ><P
140 > The list of actions files to be used are defined in the main configuration 
141  file, and are processed in the order they are defined. The content of these
142  can all be viewed and edited from <A
143 HREF="http://config.privoxy.org/show-status"
144 TARGET="_top"
145 >http://config.privoxy.org/show-status</A
146 >.</P
147 ><P
148 > An actions file typically has sections. Near the top, <SPAN
149 CLASS="QUOTE"
150 >"aliases"</SPAN
151 > are 
152  optionally defined (discussed <A
153 HREF="actions-file.html#ALIASES"
154 TARGET="_top"
155 >below</A
156 >), then the default set of rules
157  which will apply universally to all sites and pages. And then below that,
158  exceptions to the defined universal policies. </P
159 ><P
160
161  Actions can be used to block anything you want, including ads, banners, or
162  just some obnoxious URL that you would rather not see. Cookies can be accepted
163  or rejected, or accepted only during the current browser session (i.e. not
164  written to disk), content can be modified, JavaScripts tamed, user-tracking
165  fooled, and much more. See below for a complete list of actions.</P
166 ><DIV
167 CLASS="SECT2"
168 ><H2
169 CLASS="SECT2"
170 ><A
171 NAME="AEN1309"
172 >9.1. Finding the Right Mix</A
173 ></H2
174 ><P
175 > Note that some <A
176 HREF="actions-file.html#ACTIONS"
177 >actions</A
178 >, like cookie suppression
179  or script disabling, may render some sites unusable that rely on these
180  techniques to work properly. Finding the right mix of actions is not always easy and
181  certainly a matter of personal taste. In general, it can be said that the more
182  <SPAN
183 CLASS="QUOTE"
184 >"aggressive"</SPAN
185 > your default settings (in the top section of the
186  actions file) are, the more exceptions for <SPAN
187 CLASS="QUOTE"
188 >"trusted"</SPAN
189 > sites you
190  will have to make later. If, for example, you want to kill popup windows per
191  default, you'll have to make exceptions from that rule for sites that you
192  regularly use and that require popups for actually useful content, like maybe
193  your bank, favorite shop, or newspaper.</P
194 ><P
195 > We have tried to provide you with reasonable rules to start from in the
196  distribution actions files. But there is no general rule of thumb on these
197  things. There just are too many variables, and sites are constantly changing.
198  Sooner or later you will want to change the rules (and read this chapter again :).</P
199 ></DIV
200 ><DIV
201 CLASS="SECT2"
202 ><H2
203 CLASS="SECT2"
204 ><A
205 NAME="AEN1316"
206 >9.2. How to Edit</A
207 ></H2
208 ><P
209 > The easiest way to edit the <SPAN
210 CLASS="QUOTE"
211 >"actions"</SPAN
212 > files is with a browser by
213  using our browser-based editor, which can be reached from <A
214 HREF="http://config.privoxy.org/show-status"
215 TARGET="_top"
216 >http://config.privoxy.org/show-status</A
217 >.</P
218 ><P
219 > If you prefer plain text editing to GUIs, you can of course also directly edit the
220  the actions files.</P
221 ></DIV
222 ><DIV
223 CLASS="SECT2"
224 ><H2
225 CLASS="SECT2"
226 ><A
227 NAME="AEN1322"
228 >9.3. How Actions are Applied to URLs</A
229 ></H2
230 ><P
231 > Actions files are divided into sections. There are special sections,
232  like the <SPAN
233 CLASS="QUOTE"
234 >"<A
235 HREF="actions-file.html#ALIASES"
236 >alias</A
237 >"</SPAN
238 > sections which will be discussed later. For now
239  let's concentrate on regular sections: They have a heading line (often split
240  up to multiple lines for readability) which consist of a list of actions,
241  separated by whitespace and enclosed in curly braces. Below that, there
242  is a list of URL patterns, each on a separate line.</P
243 ><P
244 > To determine which actions apply to a request, the URL of the request is
245  compared to all patterns in this file. Every time it matches, the list of
246  applicable actions for the URL is incrementally updated, using the heading
247  of the section in which the pattern is located. If multiple matches for
248  the same URL set the same action differently, the last match wins. If not, 
249  the effects are aggregated (e.g. a URL might match both the 
250  <A
251 HREF="actions-file.html#HANDLE-AS-IMAGE"
252 TARGET="_top"
253 ><SPAN
254 CLASS="QUOTE"
255 >"+handle-as-image"</SPAN
256 ></A
257 >
258  and <A
259 HREF="actions-file.html#BLOCK"
260 TARGET="_top"
261 ><SPAN
262 CLASS="QUOTE"
263 >"+block"</SPAN
264 ></A
265 > actions).
266  </P
267 ><P
268 > You can trace this process by visiting <A
269 HREF="http://config.privoxy.org/show-url-info"
270 TARGET="_top"
271 >http://config.privoxy.org/show-url-info</A
272 >.</P
273 ><P
274 > More detail on this is provided in the Appendix, <A
275 HREF="appendix.html#ACTIONSANAT"
276 > Anatomy of an Action</A
277 >.</P
278 ></DIV
279 ><DIV
280 CLASS="SECT2"
281 ><H2
282 CLASS="SECT2"
283 ><A
284 NAME="AEN1336"
285 >9.4. Patterns</A
286 ></H2
287 ><P
288 > Generally, a pattern has the form <TT
289 CLASS="LITERAL"
290 >&#60;domain&#62;/&#60;path&#62;</TT
291 >,
292  where both the <TT
293 CLASS="LITERAL"
294 >&#60;domain&#62;</TT
295 > and <TT
296 CLASS="LITERAL"
297 >&#60;path&#62;</TT
298 >
299  are optional. (This is why the pattern <TT
300 CLASS="LITERAL"
301 >/</TT
302 > matches all URLs).</P
303 ><P
304 ></P
305 ><DIV
306 CLASS="VARIABLELIST"
307 ><DL
308 ><DT
309 ><TT
310 CLASS="LITERAL"
311 >www.example.com/</TT
312 ></DT
313 ><DD
314 ><P
315 >    is a domain-only pattern and will match any request to <TT
316 CLASS="LITERAL"
317 >www.example.com</TT
318 >,
319     regardless of which document on that server is requested.
320    </P
321 ></DD
322 ><DT
323 ><TT
324 CLASS="LITERAL"
325 >www.example.com</TT
326 ></DT
327 ><DD
328 ><P
329 >    means exactly the same. For domain-only patterns, the trailing <TT
330 CLASS="LITERAL"
331 >/</TT
332 > may
333     be omitted.
334    </P
335 ></DD
336 ><DT
337 ><TT
338 CLASS="LITERAL"
339 >www.example.com/index.html</TT
340 ></DT
341 ><DD
342 ><P
343 >    matches only the single document <TT
344 CLASS="LITERAL"
345 >/index.html</TT
346 >
347     on <TT
348 CLASS="LITERAL"
349 >www.example.com</TT
350 >.
351    </P
352 ></DD
353 ><DT
354 ><TT
355 CLASS="LITERAL"
356 >/index.html</TT
357 ></DT
358 ><DD
359 ><P
360 >    matches the document <TT
361 CLASS="LITERAL"
362 >/index.html</TT
363 >, regardless of the domain,
364     i.e. on <I
365 CLASS="EMPHASIS"
366 >any</I
367 > web server.
368    </P
369 ></DD
370 ><DT
371 ><TT
372 CLASS="LITERAL"
373 >index.html</TT
374 ></DT
375 ><DD
376 ><P
377 >    matches nothing, since it would be  interpreted as a domain name and
378     there is no top-level domain called <TT
379 CLASS="LITERAL"
380 >.html</TT
381 >.
382    </P
383 ></DD
384 ></DL
385 ></DIV
386 ><DIV
387 CLASS="SECT3"
388 ><H3
389 CLASS="SECT3"
390 ><A
391 NAME="AEN1376"
392 >9.4.1. The Domain Pattern</A
393 ></H3
394 ><P
395 > The matching of the domain part offers some flexible options: if the
396  domain starts or ends with a dot, it becomes unanchored at that end. 
397  For example:</P
398 ><P
399 ></P
400 ><DIV
401 CLASS="VARIABLELIST"
402 ><DL
403 ><DT
404 ><TT
405 CLASS="LITERAL"
406 >.example.com</TT
407 ></DT
408 ><DD
409 ><P
410 >    matches any domain that <I
411 CLASS="EMPHASIS"
412 >ENDS</I
413 > in
414     <TT
415 CLASS="LITERAL"
416 >.example.com</TT
417 >
418    </P
419 ></DD
420 ><DT
421 ><TT
422 CLASS="LITERAL"
423 >www.</TT
424 ></DT
425 ><DD
426 ><P
427 >    matches any domain that <I
428 CLASS="EMPHASIS"
429 >STARTS</I
430 > with
431     <TT
432 CLASS="LITERAL"
433 >www.</TT
434 >
435    </P
436 ></DD
437 ><DT
438 ><TT
439 CLASS="LITERAL"
440 >.example.</TT
441 ></DT
442 ><DD
443 ><P
444 >    matches any domain that <I
445 CLASS="EMPHASIS"
446 >CONTAINS</I
447 > <TT
448 CLASS="LITERAL"
449 >.example.</TT
450 >
451     (Correctly speaking: It matches any FQDN that contains <TT
452 CLASS="LITERAL"
453 >example</TT
454 > as a domain.)
455    </P
456 ></DD
457 ></DL
458 ></DIV
459 ><P
460 > Additionally, there are wild-cards that you can use in the domain names
461  themselves. They work pretty similar to shell wild-cards: <SPAN
462 CLASS="QUOTE"
463 >"*"</SPAN
464 >
465  stands for zero or more arbitrary characters, <SPAN
466 CLASS="QUOTE"
467 >"?"</SPAN
468 > stands for
469  any single character, you can define character classes in square
470  brackets and all of that can be freely mixed:</P
471 ><P
472 ></P
473 ><DIV
474 CLASS="VARIABLELIST"
475 ><DL
476 ><DT
477 ><TT
478 CLASS="LITERAL"
479 >ad*.example.com</TT
480 ></DT
481 ><DD
482 ><P
483 >    matches <SPAN
484 CLASS="QUOTE"
485 >"adserver.example.com"</SPAN
486 >, 
487     <SPAN
488 CLASS="QUOTE"
489 >"ads.example.com"</SPAN
490 >, etc but not <SPAN
491 CLASS="QUOTE"
492 >"sfads.example.com"</SPAN
493 >
494    </P
495 ></DD
496 ><DT
497 ><TT
498 CLASS="LITERAL"
499 >*ad*.example.com</TT
500 ></DT
501 ><DD
502 ><P
503 >    matches all of the above, and then some.
504    </P
505 ></DD
506 ><DT
507 ><TT
508 CLASS="LITERAL"
509 >.?pix.com</TT
510 ></DT
511 ><DD
512 ><P
513 >    matches <TT
514 CLASS="LITERAL"
515 >www.ipix.com</TT
516 >,
517     <TT
518 CLASS="LITERAL"
519 >pictures.epix.com</TT
520 >, <TT
521 CLASS="LITERAL"
522 >a.b.c.d.e.upix.com</TT
523 > etc. 
524    </P
525 ></DD
526 ><DT
527 ><TT
528 CLASS="LITERAL"
529 >www[1-9a-ez].example.c*</TT
530 ></DT
531 ><DD
532 ><P
533 >     matches <TT
534 CLASS="LITERAL"
535 >www1.example.com</TT
536 >, 
537      <TT
538 CLASS="LITERAL"
539 >www4.example.cc</TT
540 >, <TT
541 CLASS="LITERAL"
542 >wwwd.example.cy</TT
543 >, 
544      <TT
545 CLASS="LITERAL"
546 >wwwz.example.com</TT
547 > etc., but <I
548 CLASS="EMPHASIS"
549 >not</I
550
551      <TT
552 CLASS="LITERAL"
553 >wwww.example.com</TT
554 >.
555    </P
556 ></DD
557 ></DL
558 ></DIV
559 ></DIV
560 ><DIV
561 CLASS="SECT3"
562 ><H3
563 CLASS="SECT3"
564 ><A
565 NAME="AEN1438"
566 >9.4.2. The Path Pattern</A
567 ></H3
568 ><P
569 > <SPAN
570 CLASS="APPLICATION"
571 >Privoxy</SPAN
572 > uses Perl compatible regular expressions
573  (through the <A
574 HREF="http://www.pcre.org/"
575 TARGET="_top"
576 >PCRE</A
577 > library) for
578  matching the path.</P
579 ><P
580 > There is an <A
581 HREF="appendix.html#REGEX"
582 >Appendix</A
583 > with a brief quick-start into regular
584  expressions, and full (very technical) documentation on PCRE regex syntax is available on-line
585  at <A
586 HREF="http://www.pcre.org/man.txt"
587 TARGET="_top"
588 >http://www.pcre.org/man.txt</A
589 >.
590  You might also find the Perl man page on regular expressions (<TT
591 CLASS="LITERAL"
592 >man perlre</TT
593 >)
594  useful, which is available on-line at <A
595 HREF="http://www.perldoc.com/perl5.6/pod/perlre.html"
596 TARGET="_top"
597 >http://www.perldoc.com/perl5.6/pod/perlre.html</A
598 >.</P
599 ><P
600 > Note that the path pattern is automatically left-anchored at the <SPAN
601 CLASS="QUOTE"
602 >"/"</SPAN
603 >,
604  i.e. it matches as if it would start with a <SPAN
605 CLASS="QUOTE"
606 >"^"</SPAN
607 > (regular expression speak 
608  for the beginning of a line).</P
609 ><P
610 > Please also note that matching in the path is case
611  <I
612 CLASS="EMPHASIS"
613 >INSENSITIVE</I
614 > by default, but you can switch to case
615  sensitive at any point in the pattern by using the 
616  <SPAN
617 CLASS="QUOTE"
618 >"(?-i)"</SPAN
619 > switch:
620  <TT
621 CLASS="LITERAL"
622 >www.example.com/(?-i)PaTtErN.*</TT
623 > will match only
624  documents whose path starts with <TT
625 CLASS="LITERAL"
626 >PaTtErN</TT
627 > in
628  <I
629 CLASS="EMPHASIS"
630 >exactly</I
631 > this capitalization.</P
632 ></DIV
633 ></DIV
634 ><DIV
635 CLASS="SECT2"
636 ><H2
637 CLASS="SECT2"
638 ><A
639 NAME="ACTIONS"
640 >9.5. Actions</A
641 ></H2
642 ><P
643 > All actions are disabled by default, until they are explicitly enabled
644  somewhere in an actions file. Actions are turned on if preceded with a
645  <SPAN
646 CLASS="QUOTE"
647 >"+"</SPAN
648 >, and turned off if preceded with a <SPAN
649 CLASS="QUOTE"
650 >"-"</SPAN
651 >. So a
652  <SPAN
653 CLASS="QUOTE"
654 >"+action"</SPAN
655 > means <SPAN
656 CLASS="QUOTE"
657 >"do that action"</SPAN
658 >, e.g.
659  <SPAN
660 CLASS="QUOTE"
661 >"+block"</SPAN
662 > means please <SPAN
663 CLASS="QUOTE"
664 >"block the following URL
665  patterns"</SPAN
666 >. </P
667 ><P
668
669  Actions are invoked by enclosing the action name in curly braces (e.g.
670  {+some_action}), followed by a list of URLs (or patterns that match URLs) to
671  which the action applies. There are three classes of actions: </P
672 ><P
673 > <P
674 ></P
675 ><UL
676 ><LI
677 ><P
678 >  
679    Boolean, i.e the action can only be <SPAN
680 CLASS="QUOTE"
681 >"on"</SPAN
682 > or
683    <SPAN
684 CLASS="QUOTE"
685 >"off"</SPAN
686 >. Examples: 
687  </P
688 ><P
689 >   <TT
690 CLASS="LITERAL"
691 >    <P
692 CLASS="LITERALLAYOUT"
693 >&nbsp;&nbsp;<I
694 CLASS="EMPHASIS"
695 >{+name}</I
696 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;enable&nbsp;this&nbsp;action<br>
697 &nbsp;&nbsp;<I
698 CLASS="EMPHASIS"
699 >{-name}</I
700 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;disable&nbsp;this&nbsp;action<br>
701 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
702
703    </TT
704 >
705   </P
706 ></LI
707 ><LI
708 ><P
709 >  
710    Parameterized, e.g. <SPAN
711 CLASS="QUOTE"
712 >"+/-hide-user-agent{ Mozilla 1.0 }"</SPAN
713 >, 
714    where some value is required in order to enable this type of action.
715    Examples:
716   </P
717 ><P
718 >   <TT
719 CLASS="LITERAL"
720 >    <P
721 CLASS="LITERALLAYOUT"
722 >&nbsp;&nbsp;<I
723 CLASS="EMPHASIS"
724 >{+name{param}}</I
725 >&nbsp;&nbsp;#&nbsp;enable&nbsp;action&nbsp;and&nbsp;set&nbsp;parameter&nbsp;to&nbsp;<SPAN
726 CLASS="QUOTE"
727 >"param"</SPAN
728 ><br>
729 &nbsp;&nbsp;<I
730 CLASS="EMPHASIS"
731 >{-name}</I
732 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;disable&nbsp;action&nbsp;(<SPAN
733 CLASS="QUOTE"
734 >"parameter"</SPAN
735 >)&nbsp;can&nbsp;be&nbsp;omitted<br>
736 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
737
738    </TT
739 >
740   </P
741 ></LI
742 ><LI
743 ><P
744 >  
745   
746    Multi-value, e.g. <SPAN
747 CLASS="QUOTE"
748 >"{+/-add-header{Name: value}}"</SPAN
749 > or
750    <SPAN
751 CLASS="QUOTE"
752 >"{+/-send-wafer{name=value}}"</SPAN
753 >), where some value needs to be defined
754    in addition to simply enabling the action. Examples:
755   </P
756 ><P
757 >   <TT
758 CLASS="LITERAL"
759 >    <P
760 CLASS="LITERALLAYOUT"
761 >&nbsp;&nbsp;<I
762 CLASS="EMPHASIS"
763 >{+name{param=value}}</I
764 >&nbsp;&nbsp;&nbsp;#&nbsp;enable&nbsp;action&nbsp;and&nbsp;set&nbsp;<SPAN
765 CLASS="QUOTE"
766 >"param"</SPAN
767 >&nbsp;to&nbsp;<SPAN
768 CLASS="QUOTE"
769 >"value"</SPAN
770 ><br>
771 &nbsp;&nbsp;<I
772 CLASS="EMPHASIS"
773 >{-name{param=value}}</I
774 >&nbsp;&nbsp;&nbsp;#&nbsp;remove&nbsp;the&nbsp;parameter&nbsp;<SPAN
775 CLASS="QUOTE"
776 >"param"</SPAN
777 >&nbsp;completely<br>
778 &nbsp;&nbsp;<I
779 CLASS="EMPHASIS"
780 >{-name}</I
781 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;disable&nbsp;this&nbsp;action&nbsp;totally&nbsp;and&nbsp;remove&nbsp;<SPAN
782 CLASS="APPLICATION"
783 >param</SPAN
784 >&nbsp;too<br>
785 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
786
787    </TT
788 >
789   </P
790 ></LI
791 ></UL
792 ></P
793 ><P
794 > If nothing is specified in any actions file, no <SPAN
795 CLASS="QUOTE"
796 >"actions"</SPAN
797 > are
798  taken. So in this case <SPAN
799 CLASS="APPLICATION"
800 >Privoxy</SPAN
801 > would just be a
802  normal, non-blocking, non-anonymizing proxy. You must specifically enable the
803  privacy and blocking features you need (although the provided default actions
804  files will give a good starting point).</P
805 ><P
806 > Later defined actions always over-ride earlier ones.  So exceptions 
807  to any rules you make, should come in the latter part of the file (or 
808  in a file that is processed later when using multiple actions files). For
809  multi-valued actions, the actions are applied in the order they are specified.
810  Actions files are processed in the order they are defined in
811  <TT
812 CLASS="FILENAME"
813 >config</TT
814 > (the default installation has three actions
815  files). It also quite possible for any given URL pattern to match more than
816  one action!</P
817 ><P
818 > The list of valid <SPAN
819 CLASS="APPLICATION"
820 >Privoxy</SPAN
821 > <SPAN
822 CLASS="QUOTE"
823 >"actions"</SPAN
824 > are:</P
825 ><DIV
826 CLASS="SECT3"
827 ><H4
828 CLASS="SECT3"
829 ><A
830 NAME="ADD-HEADER"
831 >9.5.1. <I
832 CLASS="EMPHASIS"
833 >+add-header</I
834 ></A
835 ></H4
836 ><P
837 ></P
838 ><DIV
839 CLASS="VARIABLELIST"
840 ><DL
841 ><DT
842 >Type:</DT
843 ><DD
844 ><P
845 >Multi-value.</P
846 ></DD
847 ><DT
848 >Typical uses:</DT
849 ><DD
850 ><P
851 >    Send a user defined HTTP header to the web server.
852    </P
853 ></DD
854 ><DT
855 >Possible values:</DT
856 ><DD
857 ><P
858 >    Any value is possible. Validity of the defined HTTP headers is not checked.
859    </P
860 ></DD
861 ><DT
862 >Example usage:</DT
863 ><DD
864 ><P
865 CLASS="LITERALLAYOUT"
866 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I
867 CLASS="EMPHASIS"
868 >{+add-header{X-User-Tracking: sucks}}</I
869 ><br>
870 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I
871 CLASS="EMPHASIS"
872 >.example.com</I
873 ><br>
874 &nbsp;&nbsp;&nbsp;&nbsp;</P
875 ></DD
876 ><DT
877 >Notes:</DT
878 ><DD
879 ><P
880 >    This action may be specified multiple times, in order to define multiple 
881     headers. This is rarely needed for the typical user. If you don't know what 
882     <SPAN
883 CLASS="QUOTE"
884 >"HTTP headers"</SPAN
885 > are, you definitely don't need to worry about this 
886     one.
887    </P
888 ></DD
889 ></DL
890 ></DIV
891 ></DIV
892 ><DIV
893 CLASS="SECT3"
894 ><H4
895 CLASS="SECT3"
896 ><A
897 NAME="BLOCK"
898 >9.5.2. <I
899 CLASS="EMPHASIS"
900 >+block</I
901 ></A
902 ></H4
903 ><P
904 ></P
905 ><DIV
906 CLASS="VARIABLELIST"
907 ><DL
908 ><DT
909 >Type:</DT
910 ><DD
911 ><P
912 >Boolean.</P
913 ></DD
914 ><DT
915 >Typical uses:</DT
916 ><DD
917 ><P
918 >    Used to block a URL from reaching your browser. The URL may be 
919     anything, but is typically used to block ads or other obnoxious 
920     content.    
921    </P
922 ></DD
923 ><DT
924 >Possible values:</DT
925 ><DD
926 ><P
927 >N/A</P
928 ></DD
929 ><DT
930 >Example usage:</DT
931 ><DD
932 ><P
933 CLASS="LITERALLAYOUT"
934 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I
935 CLASS="EMPHASIS"
936 >{+block}</I
937 ><br>
938 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I
939 CLASS="EMPHASIS"
940 >.banners.example.com</I
941 ><br>
942 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I
943 CLASS="EMPHASIS"
944 >.ads.r.us</I
945 ><br>
946 &nbsp;&nbsp;&nbsp;&nbsp;</P
947 ></DD
948 ><DT
949 >Notes:</DT
950 ><DD
951 ><P
952 >    If a URL matches one of the blocked patterns, <SPAN
953 CLASS="APPLICATION"
954 >Privoxy</SPAN
955 >
956     will intercept the URL and display its special <SPAN
957 CLASS="QUOTE"
958 >"BLOCKED"</SPAN
959 > page
960     instead. If there is sufficient space, a large red banner will appear with
961     a friendly message about why the page was blocked, and a way to go there
962     anyway. If there is insufficient space a smaller <SPAN
963 CLASS="QUOTE"
964 >"BLOCKED"</SPAN
965 >
966     page will appear without the red banner. 
967     <A
968 HREF="http://ads.bannerserver.example.com/nasty-ads/sponsor.html"
969 TARGET="_top"
970 >Click here</A
971 >
972     to view the default blocked HTML page (<SPAN
973 CLASS="APPLICATION"
974 >Privoxy</SPAN
975 > must be running 
976     for this to work as intended!).
977    </P
978 ><P
979
980     A very important exception is if the URL <I
981 CLASS="EMPHASIS"
982 >matches both</I
983 >
984     <SPAN
985 CLASS="QUOTE"
986 >"+block"</SPAN
987 > and <A
988 HREF="actions-file.html#HANDLE-AS-IMAGE"
989 TARGET="_top"
990 ><SPAN
991 CLASS="QUOTE"
992 >"+handle-as-image"</SPAN
993 ></A
994 >,
995     then it will be handled by 
996     <A
997 HREF="actions-file.html#SET-IMAGE-BLOCKER"
998 TARGET="_top"
999 ><SPAN
1000 CLASS="QUOTE"
1001 >"+set-image-blocker"</SPAN
1002 ></A
1003 >
1004     (see below). It is important to understand this process, in order 
1005     to understand how <SPAN
1006 CLASS="APPLICATION"
1007 >Privoxy</SPAN
1008 > is able to deal with 
1009     ads and other objectionable content.
1010    </P
1011 ><P
1012 >    The <A
1013 HREF="actions-file.html#FILTER"
1014 TARGET="_top"
1015 ><SPAN
1016 CLASS="QUOTE"
1017 >"+filter"</SPAN
1018 ></A
1019 >
1020     action can also perform some of the 
1021     same functionality as <SPAN
1022 CLASS="QUOTE"
1023 >"+block"</SPAN
1024 >, but by virtue of very 
1025     different programming techniques, and is most often used for different 
1026     reasons.
1027    </P
1028 ></DD
1029 ></DL
1030 ></DIV
1031 ></DIV
1032 ><DIV
1033 CLASS="SECT3"
1034 ><H4
1035 CLASS="SECT3"
1036 ><A
1037 NAME="DEANIMATE-GIFS"
1038 >9.5.3. <I
1039 CLASS="EMPHASIS"
1040 >+deanimate-gifs</I
1041 ></A
1042 ></H4
1043 ><P
1044 ></P
1045 ><DIV
1046 CLASS="VARIABLELIST"
1047 ><DL
1048 ><DT
1049 >Type:</DT
1050 ><DD
1051 ><P
1052 >Parameterized.</P
1053 ></DD
1054 ><DT
1055 >Typical uses:</DT
1056 ><DD
1057 ><P
1058 >    To stop those annoying, distracting animated GIF images.
1059    </P
1060 ></DD
1061 ><DT
1062 >Possible values:</DT
1063 ><DD
1064 ><P
1065 >    <SPAN
1066 CLASS="QUOTE"
1067 >"last"</SPAN
1068 > or <SPAN
1069 CLASS="QUOTE"
1070 >"first"</SPAN
1071 >
1072    </P
1073 ></DD
1074 ><DT
1075 >Example usage:</DT
1076 ><DD
1077 ><P
1078 CLASS="LITERALLAYOUT"
1079 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I
1080 CLASS="EMPHASIS"
1081 >{+deanimate-gifs{last}}</I
1082 ><br>
1083 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I
1084 CLASS="EMPHASIS"
1085 >.example.com</I
1086 ><br>
1087 &nbsp;&nbsp;&nbsp;&nbsp;</P
1088 ></DD
1089 ><DT
1090 >Notes:</DT
1091 ><DD
1092 ><P
1093 >    De-animate all animated GIF images, i.e. reduce them to their last frame.
1094     This will also shrink the images considerably (in bytes, not pixels!). If
1095     the option <SPAN
1096 CLASS="QUOTE"
1097 >"first"</SPAN
1098 > is given, the first frame of the animation
1099     is used as the replacement. If <SPAN
1100 CLASS="QUOTE"
1101 >"last"</SPAN
1102 > is given, the last
1103     frame of the animation is used instead, which probably makes more sense for
1104     most banner animations, but also has the risk of not showing the entire
1105     last frame (if it is only a delta to an earlier frame).
1106    </P
1107 ></DD
1108 ></DL
1109 ></DIV
1110 ></DIV
1111 ><DIV
1112 CLASS="SECT3"
1113 ><H4
1114 CLASS="SECT3"
1115 ><A
1116 NAME="DOWNGRADE-HTTP-VERSION"
1117 >9.5.4. <I
1118 CLASS="EMPHASIS"
1119 >+downgrade-http-version</I
1120 ></A
1121 ></H4
1122 ><P
1123 ></P
1124 ><DIV
1125 CLASS="VARIABLELIST"
1126 ><DL
1127 ><DT
1128 >Type:</DT
1129 ><DD
1130 ><P
1131 >Boolean.</P
1132 ></DD
1133 ><DT
1134 >Typical uses:</DT
1135 ><DD
1136 ><P
1137 >    <SPAN
1138 CLASS="QUOTE"
1139 >"+downgrade-http-version"</SPAN
1140 > will downgrade HTTP/1.1 client requests to
1141     HTTP/1.0 and downgrade the responses as well.
1142    </P
1143 ></DD
1144 ><DT
1145 >Possible values:</DT
1146 ><DD
1147 ><P
1148 >    N/A
1149    </P
1150 ></DD
1151 ><DT
1152 >Example usage:</DT
1153 ><DD
1154 ><P
1155 CLASS="LITERALLAYOUT"
1156 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I
1157 CLASS="EMPHASIS"
1158 >{+downgrade-http-version}</I
1159 ><br>
1160 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I
1161 CLASS="EMPHASIS"
1162 >.example.com</I
1163 ><br>
1164 &nbsp;&nbsp;&nbsp;&nbsp;</P
1165 ></DD
1166 ><DT
1167 >Notes:</DT
1168 ><DD
1169 ><P
1170 >    Use this action for servers that use HTTP/1.1 protocol features that
1171     <SPAN
1172 CLASS="APPLICATION"
1173 >Privoxy</SPAN
1174 > doesn't handle well yet. HTTP/1.1 is
1175     only partially implemented. Default is not to downgrade requests. This is
1176     an infrequently needed action, and is used to help with rare problem sites only.
1177    </P
1178 ></DD
1179 ></DL
1180 ></DIV
1181 ></DIV
1182 ><DIV
1183 CLASS="SECT3"
1184 ><H4
1185 CLASS="SECT3"
1186 ><A
1187 NAME="FAST-REDIRECTS"
1188 >9.5.5. <I
1189 CLASS="EMPHASIS"
1190 >+fast-redirects</I
1191 ></A
1192 ></H4
1193 ><P
1194 ></P
1195 ><DIV
1196 CLASS="VARIABLELIST"
1197 ><DL
1198 ><DT
1199 >Type:</DT
1200 ><DD
1201 ><P
1202 >Boolean.</P
1203 ></DD
1204 ><DT
1205 >Typical uses:</DT
1206 ><DD
1207 ><P
1208 >    The <SPAN
1209 CLASS="QUOTE"
1210 >"+fast-redirects"</SPAN
1211 > action enables interception of 
1212     <SPAN
1213 CLASS="QUOTE"
1214 >"redirect"</SPAN
1215 > requests from one server to another, which 
1216     are used to track users.<SPAN
1217 CLASS="APPLICATION"
1218 >Privoxy</SPAN
1219 > can cut off
1220     all but the last valid URL in a redirect request and send a local redirect
1221     back to your browser without contacting the intermediate site(s).
1222    </P
1223 ></DD
1224 ><DT
1225 >Possible values:</DT
1226 ><DD
1227 ><P
1228 >    N/A
1229    </P
1230 ></DD
1231 ><DT
1232 >Example usage:</DT
1233 ><DD
1234 ><P
1235 CLASS="LITERALLAYOUT"
1236 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I
1237 CLASS="EMPHASIS"
1238 >{+fast-redirects}</I
1239 ><br>
1240 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I
1241 CLASS="EMPHASIS"
1242 >.example.com</I
1243 ><br>
1244 &nbsp;&nbsp;&nbsp;&nbsp;</P
1245 ></DD
1246 ><DT
1247 >Notes:</DT
1248 ><DD
1249 ><P
1250 >  
1251     Many sites, like yahoo.com, don't just link to other sites. Instead, they
1252     will link to some script on their own server, giving the destination as a
1253     parameter, which will then redirect you to the final target. URLs
1254     resulting from this scheme typically look like:
1255     <I
1256 CLASS="EMPHASIS"
1257 >http://some.place/some_script?http://some.where-else</I
1258 >.
1259   </P
1260 ><P
1261 >    Sometimes, there are even multiple consecutive redirects encoded in the
1262     URL. These redirections via scripts make your web browsing more traceable,
1263     since the server from which you follow such a link can see where you go
1264     to. Apart from that, valuable bandwidth and time is wasted, while your
1265     browser ask the server for one redirect after the other. Plus, it feeds
1266     the advertisers.
1267    </P
1268 ><P
1269 >    This is a normally <SPAN
1270 CLASS="QUOTE"
1271 >"on"</SPAN
1272 > feature, and often requires exceptions
1273     for sites that are sensitive to defeating this mechanism.
1274    </P
1275 ></DD
1276 ></DL
1277 ></DIV
1278 ></DIV
1279 ><DIV
1280 CLASS="SECT3"
1281 ><H4
1282 CLASS="SECT3"
1283 ><A
1284 NAME="FILTER"
1285 >9.5.6. <I
1286 CLASS="EMPHASIS"
1287 >+filter</I
1288 ></A
1289 ></H4
1290 ><P
1291 ></P
1292 ><DIV
1293 CLASS="VARIABLELIST"
1294 ><DL
1295 ><DT
1296 >Type:</DT
1297 ><DD
1298 ><P
1299 >Parameterized.</P
1300 ></DD
1301 ><DT
1302 >Typical uses:</DT
1303 ><DD
1304 ><P
1305 >    Apply page filtering as defined by named sections of the
1306     <TT
1307 CLASS="FILENAME"
1308 >default.filter</TT
1309 > file to the specified site(s). 
1310     <SPAN
1311 CLASS="QUOTE"
1312 >"Filtering"</SPAN
1313 > can be any modification of the raw 
1314     page content, including re-writing or deletion of content.
1315    </P
1316 ></DD
1317 ><DT
1318 >Possible values:</DT
1319 ><DD
1320 ><P
1321 >    <SPAN
1322 CLASS="QUOTE"
1323 >"+filter"</SPAN
1324 > must include the name of one of the section identifiers
1325     from <TT
1326 CLASS="FILENAME"
1327 >default.filter</TT
1328 > (or whatever
1329     <I
1330 CLASS="EMPHASIS"
1331 >filterfile</I
1332 > is specified in <TT
1333 CLASS="FILENAME"
1334 >config</TT
1335 >).
1336    </P
1337 ></DD
1338 ><DT
1339 >Example usage (from the current <TT
1340 CLASS="FILENAME"
1341 >default.filter</TT
1342 >):</DT
1343 ><DD
1344 ><P
1345 ></P
1346 ><TABLE
1347 BORDER="0"
1348 ><TBODY
1349 ><TR
1350 ><TD
1351 >    <A
1352 NAME="FILTER-HTML-ANNOYANCES"
1353 ></A
1354 >
1355     <I
1356 CLASS="EMPHASIS"
1357 >+filter{html-annoyances}</I
1358 >:  Get rid of particularly annoying HTML abuse.
1359    </TD
1360 ></TR
1361 ></TBODY
1362 ></TABLE
1363 ><P
1364 ></P
1365 ><P
1366 ></P
1367 ><TABLE
1368 BORDER="0"
1369 ><TBODY
1370 ><TR
1371 ><TD
1372 >    <A
1373 NAME="FILTER-JS-ANNOYANCES"
1374 ></A
1375 >
1376     <I
1377 CLASS="EMPHASIS"
1378 >+filter{js-annoyances}</I
1379 >:    Get rid of particularly annoying JavaScript abuse
1380    </TD
1381 ></TR
1382 ></TBODY
1383 ></TABLE
1384 ><P
1385 ></P
1386 ><P
1387 ></P
1388 ><TABLE
1389 BORDER="0"
1390 ><TBODY
1391 ><TR
1392 ><TD
1393 >    <A
1394 NAME="FILTER-CONTENT-COOKIES"
1395 ></A
1396 >
1397     <I
1398 CLASS="EMPHASIS"
1399 >+filter{content-cookies}</I
1400 >:   Kill cookies that come in the HTML or JS content 
1401    </TD
1402 ></TR
1403 ></TBODY
1404 ></TABLE
1405 ><P
1406 ></P
1407 ><P
1408 ></P
1409 ><TABLE
1410 BORDER="0"
1411 ><TBODY
1412 ><TR
1413 ><TD
1414 >    <A
1415 NAME="FILTER-POPUPS"
1416 ></A
1417 >
1418     <I
1419 CLASS="EMPHASIS"
1420 >+filter{popups}</I
1421 >:         Kill all popups in JS and HTML
1422    </TD
1423 ></TR
1424 ></TBODY
1425 ></TABLE
1426 ><P
1427 ></P
1428 ><P
1429 ></P
1430 ><TABLE
1431 BORDER="0"
1432 ><TBODY
1433 ><TR
1434 ><TD
1435 >    <A
1436 NAME="FILTER-FRAMESET-BORDERS"
1437 ></A
1438 >
1439     <I
1440 CLASS="EMPHASIS"
1441 >+filter{frameset-borders}</I
1442 >: Give frames a border and make them resizable 
1443    </TD
1444 ></TR
1445 ></TBODY
1446 ></TABLE
1447 ><P
1448 ></P
1449 ><P
1450 ></P
1451 ><TABLE
1452 BORDER="0"
1453 ><TBODY
1454 ><TR
1455 ><TD
1456 >    <A
1457 NAME="FILTER-WEBBUGS"
1458 ></A
1459 >
1460     <I
1461 CLASS="EMPHASIS"
1462 >+filter{webbugs}</I
1463 >:          Squish WebBugs (1x1 invisible GIFs used for user tracking)
1464    </TD
1465 ></TR
1466 ></TBODY
1467 ></TABLE
1468 ><P
1469 ></P
1470 ><P
1471 ></P
1472 ><TABLE
1473 BORDER="0"
1474 ><TBODY
1475 ><TR
1476 ><TD
1477 >    <A
1478 NAME="FILTER-REFRESH-TAGS"
1479 ></A
1480 >
1481     <I
1482 CLASS="EMPHASIS"
1483 >+filter{refresh-tags}</I
1484 >:     Kill automatic refresh tags (for dial-on-demand setups) 
1485    </TD
1486 ></TR
1487 ></TBODY
1488 ></TABLE
1489 ><P
1490 ></P
1491 ><P
1492 ></P
1493 ><TABLE
1494 BORDER="0"
1495 ><TBODY
1496 ><TR
1497 ><TD
1498 >    <A
1499 NAME="FILTER-FUN"
1500 ></A
1501 >
1502     <I
1503 CLASS="EMPHASIS"
1504 >+filter{fun}</I
1505 >:              Text replacements  for subversive browsing fun!
1506    </TD
1507 ></TR
1508 ></TBODY
1509 ></TABLE
1510 ><P
1511 ></P
1512 ><P
1513 ></P
1514 ><TABLE
1515 BORDER="0"
1516 ><TBODY
1517 ><TR
1518 ><TD
1519 >    <A
1520 NAME="FILTER-NIMDA"
1521 ></A
1522 >
1523     <I
1524 CLASS="EMPHASIS"
1525 >+filter{nimda}</I
1526 >:            Remove Nimda (virus) code.
1527    </TD
1528 ></TR
1529 ></TBODY
1530 ></TABLE
1531 ><P
1532 ></P
1533 ><P
1534 ></P
1535 ><TABLE
1536 BORDER="0"
1537 ><TBODY
1538 ><TR
1539 ><TD
1540 >    <A
1541 NAME="FILTER-BANNERS-BY-SIZE"
1542 ></A
1543 >
1544     <I
1545 CLASS="EMPHASIS"
1546 >+filter{banners-by-size}</I
1547 >:  Kill banners by size (<I
1548 CLASS="EMPHASIS"
1549 >very</I
1550 > efficient!)
1551    </TD
1552 ></TR
1553 ></TBODY
1554 ></TABLE
1555 ><P
1556 ></P
1557 ><P
1558 ></P
1559 ><TABLE
1560 BORDER="0"
1561 ><TBODY
1562 ><TR
1563 ><TD
1564 >    <A
1565 NAME="FILTER-SHOCKWAVE-FLASH"
1566 ></A
1567 >
1568     <I
1569 CLASS="EMPHASIS"
1570 >+filter{shockwave-flash}</I
1571 >:   Kill embedded Shockwave Flash objects
1572    </TD
1573 ></TR
1574 ></TBODY
1575 ></TABLE
1576 ><P
1577 ></P
1578 ><P
1579 ></P
1580 ><TABLE
1581 BORDER="0"
1582 ><TBODY
1583 ><TR
1584 ><TD
1585 >    <A
1586 NAME="FILTER-CRUDE-PARENTAL"
1587 ></A
1588 >
1589     <I
1590 CLASS="EMPHASIS"
1591 >+filter{crude-parental}</I
1592 >:   Kill all web pages that contain the words "sex" or "warez"
1593    </TD
1594 ></TR
1595 ></TBODY
1596 ></TABLE
1597 ><P
1598 ></P
1599 ></DD
1600 ><DT
1601 >Notes:</DT
1602 ><DD
1603 ><P
1604 >    This is potentially a very powerful feature! And requires a knowledge 
1605     of regular expressions if you want to <SPAN
1606 CLASS="QUOTE"
1607 >"roll your own"</SPAN
1608 >.
1609     Filtering operates on a line by line basis throughout the entire page.
1610    </P
1611 ><P
1612 >    Filtering requires buffering the page content, which may appear to
1613     slow down page rendering since nothing is displayed until all content has
1614     passed the filters. (It does not really take longer, but seems that way
1615     since the page is not incrementally displayed.) This effect will be more
1616     noticeable on slower connections.
1617    </P
1618 ><P
1619 >    Filtering can achieve some of the effects as the 
1620     <A
1621 HREF="actions-file#BLOCK"
1622 TARGET="_top"
1623 ><SPAN
1624 CLASS="QUOTE"
1625 >"+block"</SPAN
1626 ></A
1627 >
1628     action, i.e. it can be used to block ads and banners. In the overall 
1629     scheme of things, filtering is one of the first things <SPAN
1630 CLASS="QUOTE"
1631 >"Privoxy"</SPAN
1632
1633     does with a web page. So other most other actions are applied to the 
1634     already <SPAN
1635 CLASS="QUOTE"
1636 >"filtered"</SPAN
1637 > page.
1638    </P
1639 ></DD
1640 ></DL
1641 ></DIV
1642 ></DIV
1643 ><DIV
1644 CLASS="SECT3"
1645 ><H4
1646 CLASS="SECT3"
1647 ><A
1648 NAME="HIDE-FORWARDED-FOR-HEADERS"
1649 >9.5.7. <I
1650 CLASS="EMPHASIS"
1651 >+hide-forwarded-for-headers</I
1652 ></A
1653 ></H4
1654 ><P
1655 ></P
1656 ><DIV
1657 CLASS="VARIABLELIST"
1658 ><DL
1659 ><DT
1660 >Type:</DT
1661 ><DD
1662 ><P
1663 >Boolean.</P
1664 ></DD
1665 ><DT
1666 >Typical uses:</DT
1667 ><DD
1668 ><P
1669 >    Block any existing X-Forwarded-for HTTP header, and do not add a new one.
1670    </P
1671 ></DD
1672 ><DT
1673 >Possible values:</DT
1674 ><DD
1675 ><P
1676 >    N/A
1677    </P
1678 ></DD
1679 ><DT
1680 >Example usage:</DT
1681 ><DD
1682 ><P
1683 CLASS="LITERALLAYOUT"
1684 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I
1685 CLASS="EMPHASIS"
1686 >{+hide-forwarded-for-headers}</I
1687 ><br>
1688 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I
1689 CLASS="EMPHASIS"
1690 >.example.com</I
1691 ><br>
1692 &nbsp;&nbsp;&nbsp;&nbsp;</P
1693 ></DD
1694 ><DT
1695 >Notes:</DT
1696 ><DD
1697 ><P
1698 >    It is fairly safe to leave this on. It does not seem to break many sites.
1699    </P
1700 ></DD
1701 ></DL
1702 ></DIV
1703 ></DIV
1704 ><DIV
1705 CLASS="SECT3"
1706 ><H4
1707 CLASS="SECT3"
1708 ><A
1709 NAME="HIDE-FROM-HEADER"
1710 >9.5.8. <I
1711 CLASS="EMPHASIS"
1712 >+hide-from-header</I
1713 ></A
1714 ></H4
1715 ><P
1716 ></P
1717 ><DIV
1718 CLASS="VARIABLELIST"
1719 ><DL
1720 ><DT
1721 >Type:</DT
1722 ><DD
1723 ><P
1724 >Parameterized.</P
1725 ></DD
1726 ><DT
1727 >Typical uses:</DT
1728 ><DD
1729 ><P
1730 >    To block the browser from sending your email address in a <SPAN
1731 CLASS="QUOTE"
1732 >"From:"</SPAN
1733 >
1734     header.
1735    </P
1736 ></DD
1737 ><DT
1738 >Possible values:</DT
1739 ><DD
1740 ><P
1741 >    Keyword: <SPAN
1742 CLASS="QUOTE"
1743 >"block"</SPAN
1744 >, or any user defined value.
1745    </P
1746 ></DD
1747 ><DT
1748 >Example usage:</DT
1749 ><DD
1750 ><P
1751 CLASS="LITERALLAYOUT"
1752 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I
1753 CLASS="EMPHASIS"
1754 >{+hide-from-header{block}}</I
1755 ><br>
1756 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I
1757 CLASS="EMPHASIS"
1758 >.example.com</I
1759 ><br>
1760 &nbsp;&nbsp;&nbsp;&nbsp;</P
1761 ></DD
1762 ><DT
1763 >Notes:</DT
1764 ><DD
1765 ><P
1766 >    The keyword <SPAN
1767 CLASS="QUOTE"
1768 >"block"</SPAN
1769 > will completely remove the header 
1770     (not to be confused with the <A
1771 HREF="actions-file.html#BLOCK"
1772 TARGET="_top"
1773 ><SPAN
1774 CLASS="QUOTE"
1775 >"+block"</SPAN
1776 ></A
1777 > action).
1778     Alternately, you can specify any value you prefer to send to the web
1779     server.
1780    </P
1781 ></DD
1782 ></DL
1783 ></DIV
1784 ></DIV
1785 ><DIV
1786 CLASS="SECT3"
1787 ><H4
1788 CLASS="SECT3"
1789 ><A
1790 NAME="HIDE-REFERER"
1791 >9.5.9. <I
1792 CLASS="EMPHASIS"
1793 >+hide-referer</I
1794 ></A
1795 ></H4
1796 ><A
1797 NAME="HIDE-REFERRER"
1798 ></A
1799 ><P
1800 ></P
1801 ><DIV
1802 CLASS="VARIABLELIST"
1803 ><DL
1804 ><DT
1805 >Type:</DT
1806 ><DD
1807 ><P
1808 >Parameterized.</P
1809 ></DD
1810 ><DT
1811 >Typical uses:</DT
1812 ><DD
1813 ><P
1814 >     Don't send the <SPAN
1815 CLASS="QUOTE"
1816 >"Referer:"</SPAN
1817 > (sic) HTTP header to the web site.
1818      Or, alternately send a forged header instead.
1819    </P
1820 ></DD
1821 ><DT
1822 >Possible values:</DT
1823 ><DD
1824 ><P
1825 >     Prevent the header from being sent with the keyword, <SPAN
1826 CLASS="QUOTE"
1827 >"block"</SPAN
1828 >.
1829      Or, <SPAN
1830 CLASS="QUOTE"
1831 >"forge"</SPAN
1832 > a URL to one from the same server as the request.
1833      Or, set to user defined value of your choice.
1834    </P
1835 ></DD
1836 ><DT
1837 >Example usage:</DT
1838 ><DD
1839 ><P
1840 CLASS="LITERALLAYOUT"
1841 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I
1842 CLASS="EMPHASIS"
1843 >{+hide-referer{forge}}</I
1844 ><br>
1845 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I
1846 CLASS="EMPHASIS"
1847 >.example.com</I
1848 ><br>
1849 &nbsp;&nbsp;&nbsp;&nbsp;</P
1850 ></DD
1851 ><DT
1852 >Notes:</DT
1853 ><DD
1854 ><P
1855 >    <SPAN
1856 CLASS="QUOTE"
1857 >"forge"</SPAN
1858 > is the preferred option here, since some servers will
1859     not send images back otherwise.
1860    </P
1861 ><P
1862 >  
1863    <SPAN
1864 CLASS="QUOTE"
1865 >"+hide-referrer"</SPAN
1866 > is an alternate spelling of
1867    <SPAN
1868 CLASS="QUOTE"
1869 >"+hide-referer"</SPAN
1870 >. It has the exact same parameters, and can be freely
1871    mixed with, <SPAN
1872 CLASS="QUOTE"
1873 >"+hide-referer"</SPAN
1874 >. (<SPAN
1875 CLASS="QUOTE"
1876 >"referrer"</SPAN
1877 > is the
1878    correct English spelling, however the HTTP specification has a bug - it
1879    requires it to be spelled as <SPAN
1880 CLASS="QUOTE"
1881 >"referer"</SPAN
1882 >.) 
1883   </P
1884 ></DD
1885 ></DL
1886 ></DIV
1887 ></DIV
1888 ><DIV
1889 CLASS="SECT3"
1890 ><H4
1891 CLASS="SECT3"
1892 ><A
1893 NAME="HIDE-USER-AGENT"
1894 >9.5.10. <I
1895 CLASS="EMPHASIS"
1896 >+hide-user-agent</I
1897 ></A
1898 ></H4
1899 ><P
1900 ></P
1901 ><DIV
1902 CLASS="VARIABLELIST"
1903 ><DL
1904 ><DT
1905 >Type:</DT
1906 ><DD
1907 ><P
1908 >Parameterized.</P
1909 ></DD
1910 ><DT
1911 >Typical uses:</DT
1912 ><DD
1913 ><P
1914 >    To change the <SPAN
1915 CLASS="QUOTE"
1916 >"User-Agent:"</SPAN
1917 > header so web servers can't tell
1918     your browser type. Who's business is it anyway?
1919    </P
1920 ></DD
1921 ><DT
1922 >Possible values:</DT
1923 ><DD
1924 ><P
1925 >    Any user defined string.
1926    </P
1927 ></DD
1928 ><DT
1929 >Example usage:</DT
1930 ><DD
1931 ><P
1932 CLASS="LITERALLAYOUT"
1933 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I
1934 CLASS="EMPHASIS"
1935 >{+hide-user-agent{Netscape 6.1 (X11; I; Linux 2.4.18 i686)}}</I
1936 ><br>
1937 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I
1938 CLASS="EMPHASIS"
1939 >.msn.com</I
1940 ><br>
1941 &nbsp;&nbsp;&nbsp;&nbsp;</P
1942 ></DD
1943 ><DT
1944 >Notes:</DT
1945 ><DD
1946 ><P
1947 >     Warning! This breaks many web sites that depend on this in order 
1948      to determine how the target browser will respond to various 
1949      requests. Use with caution.
1950    </P
1951 ></DD
1952 ></DL
1953 ></DIV
1954 ></DIV
1955 ><DIV
1956 CLASS="SECT3"
1957 ><H4
1958 CLASS="SECT3"
1959 ><A
1960 NAME="HANDLE-AS-IMAGE"
1961 >9.5.11. <I
1962 CLASS="EMPHASIS"
1963 >+handle-as-image</I
1964 ></A
1965 ></H4
1966 ><P
1967 ></P
1968 ><DIV
1969 CLASS="VARIABLELIST"
1970 ><DL
1971 ><DT
1972 >Type:</DT
1973 ><DD
1974 ><P
1975 >Boolean.</P
1976 ></DD
1977 ><DT
1978 >Typical uses:</DT
1979 ><DD
1980 ><P
1981 >    To define what <SPAN
1982 CLASS="APPLICATION"
1983 >Privoxy</SPAN
1984 > should treat 
1985     automatically as an image, and is an important ingredient of how 
1986     ads are handled.
1987    </P
1988 ></DD
1989 ><DT
1990 >Possible values:</DT
1991 ><DD
1992 ><P
1993 >    N/A
1994    </P
1995 ></DD
1996 ><DT
1997 >Example usage:</DT
1998 ><DD
1999 ><P
2000 CLASS="LITERALLAYOUT"
2001 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I
2002 CLASS="EMPHASIS"
2003 >{+handle-as-image}</I
2004 ><br>
2005 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I
2006 CLASS="EMPHASIS"
2007 >/.*\.(gif|jpg|jpeg|png|bmp|ico)</I
2008 ><br>
2009 &nbsp;&nbsp;&nbsp;&nbsp;</P
2010 ></DD
2011 ><DT
2012 >Notes:</DT
2013 ><DD
2014 ><P
2015 >    This only has meaning if the URL (or pattern) also is
2016     <SPAN
2017 CLASS="QUOTE"
2018 >"+block"</SPAN
2019 >ed, in which case a user definable image can
2020     be sent rather than a HTML page. This is integral to the whole concept of
2021     ad blocking: the URL must match <I
2022 CLASS="EMPHASIS"
2023 >both</I
2024 > a <A
2025 HREF="actions-file.html#BLOCK"
2026 TARGET="_top"
2027 ><SPAN
2028 CLASS="QUOTE"
2029 >"+block"</SPAN
2030 ></A
2031 > rule,
2032     <I
2033 CLASS="EMPHASIS"
2034 >and</I
2035 > <SPAN
2036 CLASS="QUOTE"
2037 >"+handle-as-image"</SPAN
2038 >.
2039     (See <A
2040 HREF="actions-file.html#SET-IMAGE-BLOCKER"
2041 TARGET="_top"
2042 ><SPAN
2043 CLASS="QUOTE"
2044 >"+set-image-blocker"</SPAN
2045 ></A
2046 >
2047     below for control over what will actually be displayed by the browser.)
2048    </P
2049 ><P
2050 >    There is little reason to change the default definition for this action.
2051    </P
2052 ></DD
2053 ></DL
2054 ></DIV
2055 ></DIV
2056 ><DIV
2057 CLASS="SECT3"
2058 ><H4
2059 CLASS="SECT3"
2060 ><A
2061 NAME="SET-IMAGE-BLOCKER"
2062 >9.5.12. <I
2063 CLASS="EMPHASIS"
2064 >+set-image-blocker</I
2065 ></A
2066 ></H4
2067 ><P
2068 ></P
2069 ><DIV
2070 CLASS="VARIABLELIST"
2071 ><DL
2072 ><DT
2073 >Type:</DT
2074 ><DD
2075 ><P
2076 >Parameterized.</P
2077 ></DD
2078 ><DT
2079 >Typical uses:</DT
2080 ><DD
2081 ><P
2082 >    Decide what to do with URLs that end up tagged with <I
2083 CLASS="EMPHASIS"
2084 >both</I
2085
2086     <A
2087 HREF="actions-file.html#BLOCK"
2088 TARGET="_top"
2089 ><SPAN
2090 CLASS="QUOTE"
2091 >"+block"</SPAN
2092 ></A
2093 >
2094     and <A
2095 HREF="actions-file.html#HANDLE-AS-IMAGE"
2096 TARGET="_top"
2097 ><SPAN
2098 CLASS="QUOTE"
2099 >"+handle-as-image"</SPAN
2100 ></A
2101 >,
2102     e.g an advertisement.
2103    </P
2104 ></DD
2105 ><DT
2106 >Possible values:</DT
2107 ><DD
2108 ><P
2109 >    There are four available options: <SPAN
2110 CLASS="QUOTE"
2111 >"-set-image-blocker"</SPAN
2112 > will send a HTML
2113     <SPAN
2114 CLASS="QUOTE"
2115 >"blocked"</SPAN
2116 > page, usually resulting in a <SPAN
2117 CLASS="QUOTE"
2118 >"broken
2119     image"</SPAN
2120 > icon.
2121     <SPAN
2122 CLASS="QUOTE"
2123 >"+set-image-blocker{<I
2124 CLASS="EMPHASIS"
2125 >blank</I
2126 >}"</SPAN
2127 > will send a
2128     1x1 transparent GIF image.
2129     <SPAN
2130 CLASS="QUOTE"
2131 >"+set-image-blocker{<I
2132 CLASS="EMPHASIS"
2133 >pattern</I
2134 >}"</SPAN
2135 > will send a
2136     checkerboard type pattern (the default). And finally,
2137     <SPAN
2138 CLASS="QUOTE"
2139 >"+set-image-blocker{<I
2140 CLASS="EMPHASIS"
2141 >http://xyz.com</I
2142 >}"</SPAN
2143 > will
2144     send a HTTP temporary redirect to the specified image. This has the
2145     advantage of the icon being being cached by the browser, which will speed
2146     up the display.
2147    </P
2148 ></DD
2149 ><DT
2150 >Example usage:</DT
2151 ><DD
2152 ><P
2153 CLASS="LITERALLAYOUT"
2154 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I
2155 CLASS="EMPHASIS"
2156 >{+set-image-blocker{blank}}</I
2157 ><br>
2158 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I
2159 CLASS="EMPHASIS"
2160 >.example.com</I
2161 ><br>
2162 &nbsp;&nbsp;&nbsp;&nbsp;</P
2163 ></DD
2164 ><DT
2165 >Notes:</DT
2166 ><DD
2167 ><P
2168 >    If you want <I
2169 CLASS="EMPHASIS"
2170 >invisible</I
2171 > ads, they need to meet 
2172     criteria as matching both <I
2173 CLASS="EMPHASIS"
2174 >images</I
2175 > and <I
2176 CLASS="EMPHASIS"
2177 >blocked</I
2178 >
2179     actions. And then, <SPAN
2180 CLASS="QUOTE"
2181 >"image-blocker"</SPAN
2182 > should be set to
2183     <SPAN
2184 CLASS="QUOTE"
2185 >"blank"</SPAN
2186 > for invisibility. Note you cannot treat HTML pages as
2187     images in most cases. For instance, frames require an HTML page to
2188     display. So a frame that is an ad, typically cannot be treated as an image.
2189     Forcing an <SPAN
2190 CLASS="QUOTE"
2191 >"image"</SPAN
2192 > in this situation just will not work
2193     reliably. 
2194    </P
2195 ></DD
2196 ></DL
2197 ></DIV
2198 ></DIV
2199 ><DIV
2200 CLASS="SECT3"
2201 ><H4
2202 CLASS="SECT3"
2203 ><A
2204 NAME="LIMIT-CONNECT"
2205 >9.5.13. <I
2206 CLASS="EMPHASIS"
2207 >+limit-connect</I
2208 ></A
2209 ></H4
2210 ><P
2211 ></P
2212 ><DIV
2213 CLASS="VARIABLELIST"
2214 ><DL
2215 ><DT
2216 >Type:</DT
2217 ><DD
2218 ><P
2219 >Parameterized.</P
2220 ></DD
2221 ><DT
2222 >Typical uses:</DT
2223 ><DD
2224 ><P
2225 >    By default, <SPAN
2226 CLASS="APPLICATION"
2227 >Privoxy</SPAN
2228 > only allows HTTP CONNECT
2229     requests to port 443 (the standard, secure HTTPS port). Use 
2230     <SPAN
2231 CLASS="QUOTE"
2232 >"+limit-connect"</SPAN
2233 > to disable this altogether, or to allow 
2234     more ports.
2235    </P
2236 ></DD
2237 ><DT
2238 >Possible values:</DT
2239 ><DD
2240 ><P
2241 >    Any valid port number, or port number range.
2242    </P
2243 ></DD
2244 ><DT
2245 >Example usages:</DT
2246 ><DD
2247 ><P
2248 CLASS="LITERALLAYOUT"
2249 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I
2250 CLASS="EMPHASIS"
2251 >+limit-connect{443}</I
2252 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;This&nbsp;is&nbsp;the&nbsp;default&nbsp;and&nbsp;need&nbsp;not&nbsp;be&nbsp;specified.<br>
2253 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I
2254 CLASS="EMPHASIS"
2255 >+limit-connect{80,443}</I
2256 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;Ports&nbsp;80&nbsp;and&nbsp;443&nbsp;are&nbsp;OK.<br>
2257 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I
2258 CLASS="EMPHASIS"
2259 >+limit-connect{-3, 7, 20-100, 500-}</I
2260 >&nbsp;&nbsp;&nbsp;#&nbsp;Port&nbsp;less&nbsp;than&nbsp;3,&nbsp;7,&nbsp;20&nbsp;to&nbsp;100&nbsp;and&nbsp;above&nbsp;500&nbsp;are&nbsp;OK.<br>
2261 &nbsp;&nbsp;&nbsp;&nbsp;</P
2262 ></DD
2263 ><DT
2264 >Notes:</DT
2265 ><DD
2266 ><P
2267 >    The CONNECT methods exists in HTTP to allow access to secure websites
2268     (https:// URLs) through proxies. It works very simply: the proxy connects
2269     to the server on the specified port, and then short-circuits its
2270     connections to the client <I
2271 CLASS="EMPHASIS"
2272 >and</I
2273 > to the remote proxy.
2274     This can be a big security hole, since CONNECT-enabled proxies can be
2275     abused as TCP relays very easily.
2276   </P
2277 ><P
2278
2279    If you want to allow CONNECT for more ports than this, or want to forbid
2280    CONNECT altogether, you can specify a comma separated list of ports and
2281    port ranges (the latter using dashes, with the minimum defaulting to 0 and
2282    max to 65K).
2283   </P
2284 ><P
2285 >   If you don't know what any of this means, there probably is no reason to 
2286    change this one.
2287   </P
2288 ></DD
2289 ></DL
2290 ></DIV
2291 ></DIV
2292 ><DIV
2293 CLASS="SECT3"
2294 ><H4
2295 CLASS="SECT3"
2296 ><A
2297 NAME="PREVENT-COMPRESSION"
2298 >9.5.14. <I
2299 CLASS="EMPHASIS"
2300 >+prevent-compression</I
2301 ></A
2302 ></H4
2303 ><P
2304 ></P
2305 ><DIV
2306 CLASS="VARIABLELIST"
2307 ><DL
2308 ><DT
2309 >Type:</DT
2310 ><DD
2311 ><P
2312 >Boolean.</P
2313 ></DD
2314 ><DT
2315 >Typical uses:</DT
2316 ><DD
2317 ><P
2318 >    Prevent the specified websites from compressing HTTP data.
2319    </P
2320 ></DD
2321 ><DT
2322 >Possible values:</DT
2323 ><DD
2324 ><P
2325 >    N/A
2326    </P
2327 ></DD
2328 ><DT
2329 >Example usage:</DT
2330 ><DD
2331 ><P
2332 CLASS="LITERALLAYOUT"
2333 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I
2334 CLASS="EMPHASIS"
2335 >{+prevent-compression}</I
2336 ><br>
2337 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I
2338 CLASS="EMPHASIS"
2339 >.example.com</I
2340 ><br>
2341 &nbsp;&nbsp;&nbsp;&nbsp;</P
2342 ></DD
2343 ><DT
2344 >Notes:</DT
2345 ><DD
2346 ><P
2347 >    Some websites do this, which can be a problem for
2348     <SPAN
2349 CLASS="APPLICATION"
2350 >Privoxy</SPAN
2351 >, since 
2352     <A
2353 HREF="actions-file.html#FILTER"
2354 TARGET="_top"
2355 ><SPAN
2356 CLASS="QUOTE"
2357 >"+filter"</SPAN
2358 ></A
2359 >,
2360     <A
2361 HREF="actions-file.html#KILL-POPUPS"
2362 TARGET="_top"
2363 ><SPAN
2364 CLASS="QUOTE"
2365 >"+kill-popups"</SPAN
2366 ></A
2367 >
2368     and <A
2369 HREF="actions-file.html#GIF-DEANIMATE"
2370 TARGET="_top"
2371 ><SPAN
2372 CLASS="QUOTE"
2373 >"+gif-deanimate"</SPAN
2374 ></A
2375 >
2376     will not work on compressed data. This will slow down connections to those
2377     websites, though. Default typically is to turn
2378     <SPAN
2379 CLASS="QUOTE"
2380 >"prevent-compression"</SPAN
2381 > on.
2382    </P
2383 ></DD
2384 ></DL
2385 ></DIV
2386 ></DIV
2387 ><DIV
2388 CLASS="SECT3"
2389 ><H4
2390 CLASS="SECT3"
2391 ><A
2392 NAME="SESSION-COOKIES-ONLY"
2393 >9.5.15. <I
2394 CLASS="EMPHASIS"
2395 >+session-cookies-only</I
2396 ></A
2397 ></H4
2398 ><P
2399 ></P
2400 ><DIV
2401 CLASS="VARIABLELIST"
2402 ><DL
2403 ><DT
2404 >Type:</DT
2405 ><DD
2406 ><P
2407 >Boolean.</P
2408 ></DD
2409 ><DT
2410 >Typical uses:</DT
2411 ><DD
2412 ><P
2413 >    Allow cookies for the current browser session <I
2414 CLASS="EMPHASIS"
2415 >only</I
2416 >.
2417    </P
2418 ></DD
2419 ><DT
2420 >Possible values:</DT
2421 ><DD
2422 ><P
2423 >    N/A
2424    </P
2425 ></DD
2426 ><DT
2427 >Example usage (disabling):</DT
2428 ><DD
2429 ><P
2430 CLASS="LITERALLAYOUT"
2431 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I
2432 CLASS="EMPHASIS"
2433 >{-session-cookies-only}</I
2434 ><br>
2435 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I
2436 CLASS="EMPHASIS"
2437 >.example.com</I
2438 ><br>
2439 &nbsp;&nbsp;&nbsp;&nbsp;</P
2440 ></DD
2441 ><DT
2442 >Notes:</DT
2443 ><DD
2444 ><P
2445 >    If websites set cookies, <SPAN
2446 CLASS="QUOTE"
2447 >"+session-cookies-only"</SPAN
2448 > will make sure
2449     they are erased when you exit and restart your web browser. This makes
2450     profiling cookies useless, but won't break sites which require cookies so
2451     that you can log in for transactions. This is generally turned on for all 
2452     sites, and is the recommended setting.
2453    </P
2454 ><P
2455 >    <SPAN
2456 CLASS="QUOTE"
2457 >"+prevent-*-cookies"</SPAN
2458 > actions should be turned off as well (see
2459     below), for <SPAN
2460 CLASS="QUOTE"
2461 >"+session-cookies-only"</SPAN
2462 > to work. Or, else no cookies 
2463     will get through at all. For, <SPAN
2464 CLASS="QUOTE"
2465 >"persistent"</SPAN
2466 > cookies that survive 
2467     across browser sessions, see below as well.
2468    </P
2469 ></DD
2470 ></DL
2471 ></DIV
2472 ></DIV
2473 ><DIV
2474 CLASS="SECT3"
2475 ><H4
2476 CLASS="SECT3"
2477 ><A
2478 NAME="PREVENT-READING-COOKIES"
2479 >9.5.16. <I
2480 CLASS="EMPHASIS"
2481 >+prevent-reading-cookies</I
2482 ></A
2483 ></H4
2484 ><P
2485 ></P
2486 ><DIV
2487 CLASS="VARIABLELIST"
2488 ><DL
2489 ><DT
2490 >Type:</DT
2491 ><DD
2492 ><P
2493 >Boolean.</P
2494 ></DD
2495 ><DT
2496 >Typical uses:</DT
2497 ><DD
2498 ><P
2499 >    Explicitly prevent the web server from reading any cookies on your 
2500     system.
2501    </P
2502 ></DD
2503 ><DT
2504 >Possible values:</DT
2505 ><DD
2506 ><P
2507 >    N/A
2508    </P
2509 ></DD
2510 ><DT
2511 >Example usage:</DT
2512 ><DD
2513 ><P
2514 CLASS="LITERALLAYOUT"
2515 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I
2516 CLASS="EMPHASIS"
2517 >{+prevent-reading-cookies}</I
2518 ><br>
2519 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I
2520 CLASS="EMPHASIS"
2521 >.example.com</I
2522 ><br>
2523 &nbsp;&nbsp;&nbsp;&nbsp;</P
2524 ></DD
2525 ><DT
2526 >Notes:</DT
2527 ><DD
2528 ><P
2529 >    Often used in conjunction with <SPAN
2530 CLASS="QUOTE"
2531 >"+prevent-setting-cookies"</SPAN
2532 > to 
2533     disable cookies completely. Note that 
2534     <A
2535 HREF="actions-file.html#SESSION-COOKIES-ONLY"
2536 TARGET="_top"
2537 ><SPAN
2538 CLASS="QUOTE"
2539 >"+session-cookies-only"</SPAN
2540 ></A
2541 >
2542     requires these to both be disabled (or else it never gets any cookies to cache).
2543    </P
2544 ><P
2545 >    For <SPAN
2546 CLASS="QUOTE"
2547 >"persistent"</SPAN
2548 > cookies to work (i.e. they survive across browser 
2549     sessions and reboots), all three cookie settings should be <SPAN
2550 CLASS="QUOTE"
2551 >"off"</SPAN
2552
2553     for the specified sites.
2554    </P
2555 ></DD
2556 ></DL
2557 ></DIV
2558 ></DIV
2559 ><DIV
2560 CLASS="SECT3"
2561 ><H4
2562 CLASS="SECT3"
2563 ><A
2564 NAME="PREVENT-SETTING-COOKIES"
2565 >9.5.17. <I
2566 CLASS="EMPHASIS"
2567 >+prevent-setting-cookies</I
2568 ></A
2569 ></H4
2570 ><P
2571 ></P
2572 ><DIV
2573 CLASS="VARIABLELIST"
2574 ><DL
2575 ><DT
2576 >Type:</DT
2577 ><DD
2578 ><P
2579 >Boolean.</P
2580 ></DD
2581 ><DT
2582 >Typical uses:</DT
2583 ><DD
2584 ><P
2585 >    Explicitly block the web server from storing cookies on your 
2586     system.
2587    </P
2588 ></DD
2589 ><DT
2590 >Possible values:</DT
2591 ><DD
2592 ><P
2593 >    N/A
2594    </P
2595 ></DD
2596 ><DT
2597 >Example usage:</DT
2598 ><DD
2599 ><P
2600 CLASS="LITERALLAYOUT"
2601 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I
2602 CLASS="EMPHASIS"
2603 >{+prevent-setting-cookies}</I
2604 ><br>
2605 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I
2606 CLASS="EMPHASIS"
2607 >.example.com</I
2608 ><br>
2609 &nbsp;&nbsp;&nbsp;&nbsp;</P
2610 ></DD
2611 ><DT
2612 >Notes:</DT
2613 ><DD
2614 ><P
2615 >    Often used in conjunction with <SPAN
2616 CLASS="QUOTE"
2617 >"+prevent-reading-cookies"</SPAN
2618 > to 
2619     disable cookies completely (see above).
2620    </P
2621 ></DD
2622 ></DL
2623 ></DIV
2624 ></DIV
2625 ><DIV
2626 CLASS="SECT3"
2627 ><H4
2628 CLASS="SECT3"
2629 ><A
2630 NAME="KILL-POPUP"
2631 >9.5.18. <I
2632 CLASS="EMPHASIS"
2633 >+kill-popups<A
2634 NAME="KILL-POPUPS"
2635 ></A
2636 ></I
2637 ></A
2638 ></H4
2639 ><P
2640 ></P
2641 ><DIV
2642 CLASS="VARIABLELIST"
2643 ><DL
2644 ><DT
2645 >Type:</DT
2646 ><DD
2647 ><P
2648 >Boolean.</P
2649 ></DD
2650 ><DT
2651 >Typical uses:</DT
2652 ><DD
2653 ><P
2654 >    Stop those annoying JavaScript pop-up windows! 
2655    </P
2656 ></DD
2657 ><DT
2658 >Possible values:</DT
2659 ><DD
2660 ><P
2661 >    N/A
2662    </P
2663 ></DD
2664 ><DT
2665 >Example usage:</DT
2666 ><DD
2667 ><P
2668 CLASS="LITERALLAYOUT"
2669 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I
2670 CLASS="EMPHASIS"
2671 >{+kill-popups}</I
2672 ><br>
2673 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I
2674 CLASS="EMPHASIS"
2675 >.example.com</I
2676 ><br>
2677 &nbsp;&nbsp;&nbsp;&nbsp;</P
2678 ></DD
2679 ><DT
2680 >Notes:</DT
2681 ><DD
2682 ><P
2683 >    <SPAN
2684 CLASS="QUOTE"
2685 >"+kill-popups"</SPAN
2686 > uses a built in filter to disable pop-ups
2687     that use the <TT
2688 CLASS="LITERAL"
2689 >window.open()</TT
2690 > function, etc. This is 
2691     one of the first actions processed by <SPAN
2692 CLASS="APPLICATION"
2693 >Privoxy</SPAN
2694 >
2695     as it contacts the remote web server. This action is not always 100% reliable, 
2696     and is supplemented by <SPAN
2697 CLASS="QUOTE"
2698 >"+filter{<I
2699 CLASS="EMPHASIS"
2700 >popups</I
2701 >}"</SPAN
2702 >.
2703     </P
2704 ></DD
2705 ></DL
2706 ></DIV
2707 ></DIV
2708 ><DIV
2709 CLASS="SECT3"
2710 ><H4
2711 CLASS="SECT3"
2712 ><A
2713 NAME="SEND-VANILLA-WAFER"
2714 >9.5.19. <I
2715 CLASS="EMPHASIS"
2716 >+send-vanilla-wafer</I
2717 ></A
2718 ></H4
2719 ><P
2720 ></P
2721 ><DIV
2722 CLASS="VARIABLELIST"
2723 ><DL
2724 ><DT
2725 >Type:</DT
2726 ><DD
2727 ><P
2728 >Boolean.</P
2729 ></DD
2730 ><DT
2731 >Typical uses:</DT
2732 ><DD
2733 ><P
2734 >    Sends a cookie for every site stating that you do not accept any copyright
2735     on cookies sent to you, and asking them not to track you.
2736    </P
2737 ></DD
2738 ><DT
2739 >Possible values:</DT
2740 ><DD
2741 ><P
2742 >    N/A
2743    </P
2744 ></DD
2745 ><DT
2746 >Example usage:</DT
2747 ><DD
2748 ><P
2749 CLASS="LITERALLAYOUT"
2750 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I
2751 CLASS="EMPHASIS"
2752 >{+send-vanilla-wafer}</I
2753 ><br>
2754 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I
2755 CLASS="EMPHASIS"
2756 >.example.com</I
2757 ><br>
2758 &nbsp;&nbsp;&nbsp;&nbsp;</P
2759 ></DD
2760 ><DT
2761 >Notes:</DT
2762 ><DD
2763 ><P
2764 >    This action only applies if you are using a <TT
2765 CLASS="FILENAME"
2766 >jarfile</TT
2767 >
2768     for saving cookies. Of course, this is a (relatively) unique header and 
2769     could conceivably be used to track you.
2770    </P
2771 ></DD
2772 ></DL
2773 ></DIV
2774 ></DIV
2775 ><DIV
2776 CLASS="SECT3"
2777 ><H4
2778 CLASS="SECT3"
2779 ><A
2780 NAME="SEND-WAFER"
2781 >9.5.20. <I
2782 CLASS="EMPHASIS"
2783 >+send-wafer</I
2784 ></A
2785 ></H4
2786 ><P
2787 ></P
2788 ><DIV
2789 CLASS="VARIABLELIST"
2790 ><DL
2791 ><DT
2792 >Type:</DT
2793 ><DD
2794 ><P
2795 >Multi-value.</P
2796 ></DD
2797 ><DT
2798 >Typical uses:</DT
2799 ><DD
2800 ><P
2801 >    This allows you to send an arbitrary, user definable cookie.
2802    </P
2803 ></DD
2804 ><DT
2805 >Possible values:</DT
2806 ><DD
2807 ><P
2808 >    User specified cookie name and corresponding value.
2809    </P
2810 ></DD
2811 ><DT
2812 >Example usage:</DT
2813 ><DD
2814 ><P
2815 CLASS="LITERALLAYOUT"
2816 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I
2817 CLASS="EMPHASIS"
2818 >{+send-wafer{name=value}}</I
2819 ><br>
2820 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I
2821 CLASS="EMPHASIS"
2822 >.example.com</I
2823 ><br>
2824 &nbsp;&nbsp;&nbsp;&nbsp;</P
2825 ></DD
2826 ><DT
2827 >Notes:</DT
2828 ><DD
2829 ><P
2830 >    This can be specified multiple times in order to add as many cookies as you
2831     like.
2832    </P
2833 ></DD
2834 ></DL
2835 ></DIV
2836 ></DIV
2837 ><DIV
2838 CLASS="SECT3"
2839 ><H3
2840 CLASS="SECT3"
2841 ><A
2842 NAME="AEN2206"
2843 >9.5.21. Summary</A
2844 ></H3
2845 ><P
2846 > Note that many of these actions have the potential to cause a page to
2847  misbehave, possibly even not to display at all. There are many ways 
2848  a site designer may choose to design his site, and what HTTP header 
2849  content, and other criteria, he may depend on. There is no way to have hard
2850  and fast rules for all sites. See the <A
2851 HREF="appendix.html#ACTIONSANAT"
2852 >Appendix</A
2853 > for a brief example on troubleshooting
2854  actions.</P
2855 ></DIV
2856 ><DIV
2857 CLASS="SECT3"
2858 ><H2
2859 CLASS="SECT3"
2860 ><A
2861 NAME="ACT-EXAMPLES"
2862 >9.5.22. Sample Actions Files</A
2863 ></H2
2864 ><P
2865 > Remember that the meaning of any of the above references is reversed by preceding
2866  the action with a <SPAN
2867 CLASS="QUOTE"
2868 >"-"</SPAN
2869 >, in place of the <SPAN
2870 CLASS="QUOTE"
2871 >"+"</SPAN
2872 >. Also, 
2873  that some actions are turned on in the default section of the actions file, 
2874  and require little to no additional configuration. These are just <SPAN
2875 CLASS="QUOTE"
2876 >"on"</SPAN
2877 >.</P
2878 ><P
2879 > But, other actions that are turned on in the default section <I
2880 CLASS="EMPHASIS"
2881 >do
2882  typically require</I
2883 > exceptions to be listed in the latter sections of 
2884  one of our actions file. For instance, by default no URLs are
2885  <SPAN
2886 CLASS="QUOTE"
2887 >"blocked"</SPAN
2888 > (i.e. in the default definitions of
2889  <TT
2890 CLASS="FILENAME"
2891 >default.action</TT
2892 >). We need exceptions to this in order to
2893  <I
2894 CLASS="EMPHASIS"
2895 >enable</I
2896 > ad blocking in the lower sections. But we need to
2897  be very selective about what we do block. Thus, the default is <SPAN
2898 CLASS="QUOTE"
2899 >"off"</SPAN
2900 >
2901  for blocking.</P
2902 ><P
2903 > Below is a liberally commented sample <TT
2904 CLASS="FILENAME"
2905 >default.action</TT
2906 > file
2907  to demonstrate how all the pieces come together. And to show how exceptions
2908  to the default policies can be handled. This is followed by a brief 
2909  <TT
2910 CLASS="FILENAME"
2911 >user.action</TT
2912 > with similar examples.</P
2913 ><P
2914 > <TT
2915 CLASS="LITERAL"
2916 >  <P
2917 CLASS="LITERALLAYOUT"
2918 >#&nbsp;Sample&nbsp;default.action&nbsp;file&nbsp;&#60;developers@privoxy.org&#62;<br>
2919 <br>
2920 #&nbsp;Settings&nbsp;--&nbsp;Don't&nbsp;change!&nbsp;For&nbsp;internal&nbsp;Privoxy&nbsp;use&nbsp;ONLY.<br>
2921 {{settings}}<br>
2922 for-privoxy-version=3.0<br>
2923 <br>
2924 <br>
2925 ##########################################################################<br>
2926 #&nbsp;<A
2927 HREF="actions-file.html#ALIASES"
2928 TARGET="_top"
2929 >Aliases</A
2930 >&nbsp;must&nbsp;be&nbsp;defined&nbsp;*before*&nbsp;they&nbsp;are&nbsp;used.&nbsp;These&nbsp;are<br>
2931 #&nbsp;easier&nbsp;to&nbsp;remember,&nbsp;and&nbsp;can&nbsp;combine&nbsp;several&nbsp;actions&nbsp;into&nbsp;one.&nbsp;Once&nbsp;<br>
2932 #&nbsp;defined&nbsp;they&nbsp;can&nbsp;be&nbsp;used&nbsp;just&nbsp;like&nbsp;any&nbsp;built-in&nbsp;action&nbsp;--&nbsp;but&nbsp;within&nbsp;<br>
2933 #&nbsp;this&nbsp;file&nbsp;only!&nbsp;Aliases&nbsp;do&nbsp;not&nbsp;require&nbsp;a&nbsp;+&nbsp;or&nbsp;-&nbsp;sign.<br>
2934 ##########################################################################<br>
2935 <br>
2936 #&nbsp;Some&nbsp;useful&nbsp;aliases.<br>
2937 #&nbsp;Alias&nbsp;to&nbsp;turn&nbsp;off&nbsp;cookie&nbsp;handling,&nbsp;ie&nbsp;allow&nbsp;all&nbsp;cookies&nbsp;unmolested.<br>
2938 &nbsp;-prevent-cookies&nbsp;=&nbsp;-prevent-setting-cookies&nbsp;-prevent-reading-cookies&nbsp;\<br>
2939 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-session-cookies-only<br>
2940 <br>
2941 #&nbsp;Alias&nbsp;to&nbsp;both&nbsp;block&nbsp;and&nbsp;treat&nbsp;as&nbsp;if&nbsp;an&nbsp;image&nbsp;for&nbsp;ad&nbsp;blocking<br>
2942 #&nbsp;purposes.<br>
2943 &nbsp;+imageblock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;+block&nbsp;+handle-as-image<br>
2944 <br>
2945 #&nbsp;Fragile&nbsp;sites&nbsp;should&nbsp;have&nbsp;the&nbsp;minimum&nbsp;changes:<br>
2946 &nbsp;fragile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;-block&nbsp;-deanimate-gifs&nbsp;-fast-redirects&nbsp;-filter&nbsp;-hide-referer&nbsp;\<br>
2947 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-prevent-cookies&nbsp;-kill-popups<br>
2948 <br>
2949 #&nbsp;Shops&nbsp;should&nbsp;be&nbsp;allowed&nbsp;to&nbsp;set&nbsp;persistent&nbsp;cookies<br>
2950 &nbsp;shop&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;-filter&nbsp;-prevent-cookies&nbsp;-session-cookies-only<br>
2951 <br>
2952 <br>
2953 ##########################################################################<br>
2954 #&nbsp;Begin&nbsp;default&nbsp;action&nbsp;settings.&nbsp;Anything&nbsp;in&nbsp;this&nbsp;section&nbsp;will&nbsp;match&nbsp;<br>
2955 #&nbsp;all&nbsp;URLs&nbsp;--&nbsp;UNLESS&nbsp;we&nbsp;have&nbsp;exceptions&nbsp;that&nbsp;also&nbsp;match,&nbsp;defined&nbsp;below&nbsp;this&nbsp;<br>
2956 #&nbsp;section.&nbsp;We&nbsp;will&nbsp;show&nbsp;all&nbsp;potential&nbsp;actions&nbsp;here&nbsp;whether&nbsp;they&nbsp;are&nbsp;on&nbsp;<br>
2957 #&nbsp;or&nbsp;off.&nbsp;We&nbsp;could&nbsp;omit&nbsp;any&nbsp;disabled&nbsp;action&nbsp;if&nbsp;we&nbsp;wanted,&nbsp;since&nbsp;all&nbsp;<br>
2958 #&nbsp;actions&nbsp;are&nbsp;'off'&nbsp;by&nbsp;default&nbsp;anyway.&nbsp;Shown&nbsp;for&nbsp;completeness&nbsp;only.<br>
2959 #&nbsp;Actions&nbsp;are&nbsp;enabled&nbsp;if&nbsp;preceded&nbsp;by&nbsp;a&nbsp;'+',&nbsp;otherwise&nbsp;they&nbsp;are&nbsp;disabled&nbsp;<br>
2960 #&nbsp;(unless&nbsp;an&nbsp;alias&nbsp;has&nbsp;been&nbsp;defined&nbsp;without&nbsp;this).<br>
2961 ##########################################################################<br>
2962 &nbsp;{&nbsp;\<br>
2963 &nbsp;<A
2964 HREF="actions-file.html#ADD-HEADER"
2965 TARGET="_top"
2966 >-add-header</A
2967 >&nbsp;\<br>
2968 &nbsp;<A
2969 HREF="actions-file.html#BLOCK"
2970 TARGET="_top"
2971 >-block</A
2972 >&nbsp;\<br>
2973 &nbsp;<A
2974 HREF="actions-file.html#DEANIMATE-GIFS"
2975 TARGET="_top"
2976 >-deanimate-gifs</A
2977 >&nbsp;\<br>
2978 &nbsp;<A
2979 HREF="actions-file.html#DOWNGRADE-HTTP-VERSION"
2980 TARGET="_top"
2981 >-downgrade-http-version</A
2982 >&nbsp;\<br>
2983 &nbsp;<A
2984 HREF="actions-file.html#FAST-REDIRECTS"
2985 TARGET="_top"
2986 >+fast-redirects</A
2987 >&nbsp;\<br>
2988 &nbsp;<A
2989 HREF="actions-file.html#FILTER-HTML-ANNOYANCES"
2990 TARGET="_top"
2991 >+filter{html-annoyances}</A
2992 >&nbsp;\<br>
2993 &nbsp;<A
2994 HREF="actions-file.html#FILTER-JS-ANNOYANCES"
2995 TARGET="_top"
2996 >+filter{js-annoyances}</A
2997 >&nbsp;\<br>
2998 &nbsp;<A
2999 HREF="actions-file.html#FILTER-CONTENT-COOKIES"
3000 TARGET="_top"
3001 >-filter{content-cookies}</A
3002 >&nbsp;\<br>
3003 &nbsp;<A
3004 HREF="actions-file.html#FILTER-POPUPS"
3005 TARGET="_top"
3006 >-filter{popups}</A
3007 >&nbsp;\<br>
3008 &nbsp;<A
3009 HREF="actions-file.html#FILTER-WEBBUGS"
3010 TARGET="_top"
3011 >+filter{webbugs}</A
3012 >&nbsp;\<br>
3013 &nbsp;<A
3014 HREF="actions-file.html#FILTER-REFRESH-TAGS"
3015 TARGET="_top"
3016 >-filter{refresh-tags}</A
3017 >&nbsp;\<br>
3018 &nbsp;<A
3019 HREF="actions-file.html#FILTER-FUN"
3020 TARGET="_top"
3021 >-filter{fun}</A
3022 >&nbsp;\<br>
3023 &nbsp;<A
3024 HREF="actions-file.html#FILTER-NIMDA"
3025 TARGET="_top"
3026 >+filter{nimda}</A
3027 >&nbsp;\<br>
3028 &nbsp;<A
3029 HREF="actions-file.html#FILTER-BANNERS-BY-SIZE"
3030 TARGET="_top"
3031 >+filter{banners-by-size}</A
3032 >&nbsp;\<br>
3033 &nbsp;<A
3034 HREF="actions-file.html#FILTER-SHOCKWAVE-FLASH"
3035 TARGET="_top"
3036 >-filter{shockwave-flash}</A
3037 >&nbsp;\<br>
3038 &nbsp;<A
3039 HREF="actions-file.html#FILTER-CRUDE-PARENTAL"
3040 TARGET="_top"
3041 >-filter{crude-prental}</A
3042 >&nbsp;\<br>
3043 &nbsp;<A
3044 HREF="actions-file.html#HIDE-FORWARDED-FOR-HEADERS"
3045 TARGET="_top"
3046 >+hide-forwarded-for-headers</A
3047 >&nbsp;\<br>
3048 &nbsp;<A
3049 HREF="actions-file.html#HIDE-FROM-HEADER"
3050 TARGET="_top"
3051 >+hide-from-header{block}</A
3052 >&nbsp;\<br>
3053 &nbsp;<A
3054 HREF="actions-file.html#HIDE-REFERER"
3055 TARGET="_top"
3056 >-hide-referrer</A
3057 >&nbsp;\<br>
3058 &nbsp;<A
3059 HREF="actions-file.html#HIDE-USER-AGENT"
3060 TARGET="_top"
3061 >-hide-user-agent</A
3062 >&nbsp;\<br>
3063 &nbsp;<A
3064 HREF="actions-file.html#HANDLE-AS-IMAGE"
3065 TARGET="_top"
3066 >-handle-as-image</A
3067 >&nbsp;\<br>
3068 &nbsp;<A
3069 HREF="actions-file.html#SET-IMAGE-BLOCKER"
3070 TARGET="_top"
3071 >+set-image-blocker{pattern}</A
3072 >&nbsp;\<br>
3073 &nbsp;<A
3074 HREF="actions-file.html#LIMIT-CONNECT"
3075 TARGET="_top"
3076 >-limit-connect</A
3077 >&nbsp;\<br>
3078 &nbsp;<A
3079 HREF="actions-file.html#PREVENT-COMPRESSION"
3080 TARGET="_top"
3081 >+prevent-compression</A
3082 >&nbsp;\<br>
3083 &nbsp;<A
3084 HREF="actions-file.html#SESSION-COOKIES-ONLY"
3085 TARGET="_top"
3086 >-session-cookies-only</A
3087 >&nbsp;\<br>
3088 &nbsp;<A
3089 HREF="actions-file.html#PREVENT-READING-COOKIES"
3090 TARGET="_top"
3091 >-prevent-reading-cookies</A
3092 >&nbsp;\<br>
3093 &nbsp;<A
3094 HREF="actions-file.html#PREVENT-SETTING-COOKIES"
3095 TARGET="_top"
3096 >-prevent-setting-cookies</A
3097 >&nbsp;\<br>
3098 &nbsp;<A
3099 HREF="actions-file.html#KILL-POPUPS"
3100 TARGET="_top"
3101 >-kill-popups</A
3102 >&nbsp;\<br>
3103 &nbsp;<A
3104 HREF="actions-file.html#SEND-VANILLA-WAFER"
3105 TARGET="_top"
3106 >-send-vanilla-wafer</A
3107 >&nbsp;\<br>
3108 &nbsp;<A
3109 HREF="actions-file.html#SEND-WAFER"
3110 TARGET="_top"
3111 >-send-wafer</A
3112 >&nbsp;\<br>
3113 &nbsp;}<br>
3114 &nbsp;/&nbsp;#&nbsp;forward&nbsp;slash&nbsp;will&nbsp;match&nbsp;*all*&nbsp;potential&nbsp;URL&nbsp;patterns.&nbsp;<br>
3115 <br>
3116 ##########################################################################<br>
3117 #&nbsp;Default&nbsp;behavior&nbsp;is&nbsp;now&nbsp;set.&nbsp;Now&nbsp;we&nbsp;will&nbsp;define&nbsp;some&nbsp;exceptions&nbsp;to&nbsp;our&nbsp;<br>
3118 #&nbsp;default&nbsp;action&nbsp;policies.<br>
3119 ##########################################################################<br>
3120 <br>
3121 #&nbsp;These&nbsp;sites&nbsp;are&nbsp;very&nbsp;complex&nbsp;and&nbsp;require&nbsp;very&nbsp;minimal&nbsp;interference.<br>
3122 #&nbsp;We'll&nbsp;disable&nbsp;most&nbsp;actions&nbsp;with&nbsp;our&nbsp;'fragile'&nbsp;alias:<br>
3123 &nbsp;{&nbsp;fragile&nbsp;}<br>
3124 &nbsp;.office.microsoft.com&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;surprise,&nbsp;surprise!<br>
3125 &nbsp;.windowsupdate.microsoft.com<br>
3126 <br>
3127 <br>
3128 #&nbsp;Shopping&nbsp;sites&nbsp;-&nbsp;not&nbsp;as&nbsp;fragile&nbsp;but&nbsp;require&nbsp;some&nbsp;special&nbsp;<br>
3129 #&nbsp;handling.&nbsp;We&nbsp;still&nbsp;want&nbsp;to&nbsp;block&nbsp;ads,&nbsp;and&nbsp;we&nbsp;will&nbsp;allow&nbsp;<br>
3130 #&nbsp;persistant&nbsp;cookies&nbsp;via&nbsp;the&nbsp;'shop'&nbsp;alias:<br>
3131 &nbsp;{&nbsp;shop&nbsp;}<br>
3132 &nbsp;.quietpc.com&nbsp;<br>
3133 &nbsp;.worldpay.com&nbsp;&nbsp;&nbsp;#&nbsp;for&nbsp;quietpc.com<br>
3134 &nbsp;.jungle.com<br>
3135 &nbsp;.scan.co.uk<br>
3136 <br>
3137 <br>
3138 #&nbsp;These&nbsp;sites&nbsp;require&nbsp;pop-ups&nbsp;too&nbsp;:(&nbsp;&nbsp;We'll&nbsp;combine&nbsp;our&nbsp;'shop'&nbsp;<br>
3139 #&nbsp;alias&nbsp;with&nbsp;two&nbsp;other&nbsp;actions&nbsp;into&nbsp;one&nbsp;rule&nbsp;to&nbsp;allow&nbsp;all&nbsp;popups.<br>
3140 &nbsp;{&nbsp;shop&nbsp;<A
3141 HREF="actions-file.html#KILL-POPUPS"
3142 TARGET="_top"
3143 >-kill-popups</A
3144 >&nbsp;<A
3145 HREF="actions-file.html#FILTER-POPUPS"
3146 TARGET="_top"
3147 >-filter{popups}</A
3148 >&nbsp;}<br>
3149 &nbsp;.dabs.com<br>
3150 &nbsp;.overclockers.co.uk<br>
3151 <br>
3152 <br>
3153 #&nbsp;The&nbsp;'Fast-redirects'&nbsp;action&nbsp;breaks&nbsp;some&nbsp;sites.&nbsp;Disable&nbsp;this&nbsp;action<br>
3154 #&nbsp;for&nbsp;these&nbsp;known&nbsp;sensitive&nbsp;sites:<br>
3155 &nbsp;{&nbsp;<A
3156 HREF="actions-file.html#FAST-REDIRECTS"
3157 TARGET="_top"
3158 >-fast-redirects</A
3159 >&nbsp;}<br>
3160 &nbsp;login.yahoo.com<br>
3161 &nbsp;edit.europe.yahoo.com<br>
3162 &nbsp;.google.com<br>
3163 &nbsp;.altavista.com/.*(like|url|link):http<br>
3164 &nbsp;.altavista.com/trans.*urltext=http<br>
3165 &nbsp;.nytimes.com<br>
3166 <br>
3167 <br>
3168 #&nbsp;Define&nbsp;which&nbsp;file&nbsp;types&nbsp;will&nbsp;be&nbsp;treated&nbsp;as&nbsp;images.&nbsp;Important<br>
3169 #&nbsp;for&nbsp;ad&nbsp;blocking.<br>
3170 &nbsp;{&nbsp;<A
3171 HREF="actions-file.html#HANDLE-AS-IMAGE"
3172 TARGET="_top"
3173 >+handle-as-image</A
3174 >&nbsp;}<br>
3175 &nbsp;/.*\.(gif|jpe?g|png|bmp|ico)<br>
3176 <br>
3177 <br>
3178 #&nbsp;Now&nbsp;lets&nbsp;list&nbsp;some&nbsp;domains&nbsp;that&nbsp;are&nbsp;known&nbsp;ad&nbsp;generators.&nbsp;And<br>
3179 #&nbsp;our&nbsp;alias&nbsp;that&nbsp;we&nbsp;use&nbsp;here&nbsp;will&nbsp;block&nbsp;these&nbsp;as&nbsp;well&nbsp;as&nbsp;force&nbsp;<br>
3180 #&nbsp;them&nbsp;to&nbsp;be&nbsp;treated&nbsp;as&nbsp;images.&nbsp;This&nbsp;combination&nbsp;of&nbsp;actions&nbsp;is&nbsp;<br>
3181 #&nbsp;important&nbsp;for&nbsp;ad&nbsp;blocking.&nbsp;What&nbsp;the&nbsp;browser&nbsp;will&nbsp;show&nbsp;instead&nbsp;is&nbsp;<br>
3182 #&nbsp;determined&nbsp;by&nbsp;the&nbsp;setting&nbsp;of&nbsp;<A
3183 HREF="actions-file.html#SET-IMAGE-BLOCKER"
3184 TARGET="_top"
3185 ><SPAN
3186 CLASS="QUOTE"
3187 >"+set-image-blocker"</SPAN
3188 ></A
3189 ><br>
3190 &nbsp;{&nbsp;+imageblock&nbsp;}<br>
3191 &nbsp;ar.atwola.com&nbsp;<br>
3192 &nbsp;.ad.doubleclick.net<br>
3193 &nbsp;.a.yimg.com/(?:(?!/i/).)*$<br>
3194 &nbsp;.a[0-9].yimg.com/(?:(?!/i/).)*$<br>
3195 &nbsp;bs*.gsanet.com<br>
3196 &nbsp;bs*.einets.com<br>
3197 &nbsp;.qkimg.net<br>
3198 &nbsp;ad.*.doubleclick.net<br>
3199 <br>
3200 <br>
3201 #&nbsp;These&nbsp;will&nbsp;just&nbsp;simply&nbsp;be&nbsp;blocked.&nbsp;They&nbsp;will&nbsp;generate&nbsp;the&nbsp;BLOCKED<br>
3202 #&nbsp;banner&nbsp;page,&nbsp;if&nbsp;matched.&nbsp;Heavy&nbsp;use&nbsp;of&nbsp;wildcards&nbsp;and&nbsp;regular&nbsp;<br>
3203 #&nbsp;expressions&nbsp;in&nbsp;this&nbsp;example.&nbsp;Enable&nbsp;block&nbsp;action:<br>
3204 &nbsp;{&nbsp;<A
3205 HREF="actions-file.html#BLOCK"
3206 TARGET="_top"
3207 >+block</A
3208 >&nbsp;}<br>
3209 &nbsp;ad*.<br>
3210 &nbsp;.*ads.<br>
3211 &nbsp;banner?.<br>
3212 &nbsp;count*.<br>
3213 &nbsp;/.*count(er)?\.(pl|cgi|exe|dll|asp|php[34]?)<br>
3214 &nbsp;/(?:.*/)?(publicite|werbung|rekla(ma|me|am)|annonse|maino(kset|nta|s)?)/<br>
3215 &nbsp;.hitbox.com&nbsp;<br>
3216 <br>
3217 <br>
3218 #&nbsp;The&nbsp;above&nbsp;block&nbsp;section&nbsp;will&nbsp;probably&nbsp;inadvertantly&nbsp;catch&nbsp;some&nbsp;<br>
3219 #&nbsp;sites&nbsp;we&nbsp;DO&nbsp;NOT&nbsp;want&nbsp;blocked&nbsp;via&nbsp;the&nbsp;wildcards&nbsp;and&nbsp;regular&nbsp;expressions.&nbsp;<br>
3220 #&nbsp;Now&nbsp;let's&nbsp;set&nbsp;exceptions&nbsp;to&nbsp;the&nbsp;exceptions&nbsp;so&nbsp;the&nbsp;good&nbsp;guys&nbsp;get&nbsp;better&nbsp;<br>
3221 #&nbsp;treatment.&nbsp;Disable&nbsp;block&nbsp;action:<br>
3222 &nbsp;{&nbsp;<A
3223 HREF="actions-file.html#BLOCK"
3224 TARGET="_top"
3225 >-block</A
3226 >&nbsp;}<br>
3227 &nbsp;advogato.org<br>
3228 &nbsp;adsl.<br>
3229 &nbsp;ad[ud]*.<br>
3230 &nbsp;advice.<br>
3231 #&nbsp;Let's&nbsp;just&nbsp;trust&nbsp;all&nbsp;.edu&nbsp;top&nbsp;level&nbsp;domains.<br>
3232 &nbsp;.edu<br>
3233 &nbsp;www.ugu.com/sui/ugu/adv<br>
3234 #&nbsp;We'll&nbsp;need&nbsp;to&nbsp;access&nbsp;to&nbsp;path&nbsp;names&nbsp;containing&nbsp;'download'&nbsp;<br>
3235 &nbsp;.*downloads.<br>
3236 &nbsp;/downloads/<br>
3237 #&nbsp;'adv'&nbsp;is&nbsp;for&nbsp;globalintersec&nbsp;and&nbsp;means&nbsp;advanced,&nbsp;not&nbsp;advertisement<br>
3238 &nbsp;www.globalintersec.com/adv<br>
3239 <br>
3240 <br>
3241 #&nbsp;Don't&nbsp;filter&nbsp;*anything*&nbsp;from&nbsp;our&nbsp;friends&nbsp;at&nbsp;sourceforge.<br>
3242 #&nbsp;Notice&nbsp;we&nbsp;don't&nbsp;have&nbsp;to&nbsp;name&nbsp;the&nbsp;individual&nbsp;filter&nbsp;<br>
3243 #&nbsp;identifiers&nbsp;--&nbsp;we&nbsp;just&nbsp;turn&nbsp;them&nbsp;all&nbsp;off&nbsp;in&nbsp;one&nbsp;fell&nbsp;swoop.<br>
3244 #&nbsp;Disable&nbsp;all&nbsp;filters&nbsp;for&nbsp;this&nbsp;one&nbsp;site:<br>
3245 &nbsp;{&nbsp;<A
3246 HREF="actions-file.html#FILTER"
3247 TARGET="_top"
3248 >-filter</A
3249 >&nbsp;}<br>
3250 &nbsp;.sourceforge.net<br>
3251 &nbsp;&nbsp;&nbsp;</P
3252
3253  </TT
3254 ></P
3255 ><P
3256 > So far we are painting with a broad brush by setting general policies. 
3257  The above would be a reasonable starting point for many situations. Now, 
3258  we want to be more specific and have customized rules that are more suitable
3259  to our personal habits and preferences. These would be for narrowly defined 
3260  situations like your ISP or your bank, and should be placed in 
3261  <TT
3262 CLASS="FILENAME"
3263 >user.action</TT
3264 >, which is parsed after all other 
3265  actions files and should not be clobbered by upgrades. So any settings here,
3266  will have the last word and over-ride any previously defined actions.</P
3267 ><P
3268 > Now a few examples of some things that one might do with a
3269  <TT
3270 CLASS="FILENAME"
3271 >user.action</TT
3272 > file. </P
3273 ><P
3274 > <TT
3275 CLASS="LITERAL"
3276 >  <P
3277 CLASS="LITERALLAYOUT"
3278 >#&nbsp;Sample&nbsp;user.action&nbsp;file.<br>
3279 <br>
3280 #&nbsp;Any&nbsp;aliases&nbsp;you&nbsp;want&nbsp;to&nbsp;use&nbsp;need&nbsp;to&nbsp;be&nbsp;re-defined&nbsp;here.<br>
3281 #&nbsp;Alias&nbsp;to&nbsp;turn&nbsp;off&nbsp;cookie&nbsp;handling,&nbsp;ie&nbsp;allow&nbsp;all&nbsp;cookies&nbsp;unmolested.<br>
3282 &nbsp;-prevent-cookies&nbsp;=&nbsp;-prevent-setting-cookies&nbsp;-prevent-reading-cookies&nbsp;\<br>
3283 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-session-cookies-only<br>
3284 <br>
3285 #&nbsp;Fragile&nbsp;sites&nbsp;should&nbsp;have&nbsp;the&nbsp;minimum&nbsp;changes:<br>
3286 &nbsp;fragile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;-block&nbsp;-deanimate-gifs&nbsp;-fast-redirects&nbsp;-filter&nbsp;-hide-referer&nbsp;\<br>
3287 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-prevent-cookies&nbsp;-kill-popups<br>
3288 <br>
3289 #&nbsp;Allow&nbsp;persistent&nbsp;cookies&nbsp;for&nbsp;a&nbsp;few&nbsp;regular&nbsp;sites&nbsp;that&nbsp;we&nbsp;<br>
3290 #&nbsp;trust&nbsp;via&nbsp;our&nbsp;above&nbsp;alias.&nbsp;These&nbsp;will&nbsp;be&nbsp;saved&nbsp;from&nbsp;one&nbsp;browser&nbsp;session&nbsp;<br>
3291 #&nbsp;to&nbsp;the&nbsp;next.&nbsp;We&nbsp;are&nbsp;explicity&nbsp;turning&nbsp;off&nbsp;any&nbsp;and&nbsp;all&nbsp;cookie&nbsp;handling,&nbsp;<br>
3292 #&nbsp;even&nbsp;though&nbsp;the&nbsp;prevent-*-cookie&nbsp;settings&nbsp;were&nbsp;disabled&nbsp;in&nbsp;our&nbsp;above&nbsp;<br>
3293 #&nbsp;default.action&nbsp;anyway.&nbsp;So&nbsp;cookies&nbsp;from&nbsp;these&nbsp;domains&nbsp;will&nbsp;come&nbsp;through&nbsp;<br>
3294 #&nbsp;unmolested.<br>
3295 &nbsp;{&nbsp;-prevent-cookies&nbsp;}<br>
3296 &nbsp;.sun.com<br>
3297 &nbsp;.yahoo.com<br>
3298 &nbsp;.msdn.microsoft.com<br>
3299 &nbsp;.redhat.com<br>
3300 <br>
3301 <br>
3302 #&nbsp;My&nbsp;ISP&nbsp;uses&nbsp;obnoxious&nbsp;self&nbsp;promoting&nbsp;images&nbsp;on&nbsp;many&nbsp;pages.<br>
3303 #&nbsp;Nuke&nbsp;them&nbsp;:)&nbsp;Note&nbsp;that&nbsp;<A
3304 HREF="actions-file.html#HANDLE-AS-IMAGE"
3305 TARGET="_top"
3306 ><SPAN
3307 CLASS="QUOTE"
3308 >"+handle-as-image"</SPAN
3309 ></A
3310 >&nbsp;need&nbsp;not&nbsp;be&nbsp;specified,<br>
3311 #&nbsp;since&nbsp;all&nbsp;URLs&nbsp;ending&nbsp;in&nbsp;.gif&nbsp;will&nbsp;be&nbsp;tagged&nbsp;as&nbsp;images&nbsp;by&nbsp;the<br>
3312 #&nbsp;general&nbsp;rules&nbsp;in&nbsp;default.action&nbsp;anyway.<br>
3313 &nbsp;{&nbsp;<A
3314 HREF="actions-file.html#BLOCK"
3315 TARGET="_top"
3316 >+block</A
3317 >&nbsp;}<br>
3318 &nbsp;www.my-isp-example.com/logo[0-9].gif<br>
3319 <br>
3320 <br>
3321 #&nbsp;Say&nbsp;the&nbsp;site&nbsp;where&nbsp;you&nbsp;do&nbsp;your&nbsp;homebanking&nbsp;needs&nbsp;to&nbsp;open<br>
3322 #&nbsp;popup&nbsp;windows,&nbsp;but&nbsp;you&nbsp;have&nbsp;chosen&nbsp;to&nbsp;kill&nbsp;popups&nbsp;by<br>
3323 #&nbsp;default.&nbsp;This&nbsp;will&nbsp;allow&nbsp;it&nbsp;for&nbsp;your-example-bank.com:<br>
3324 #<br>
3325 &nbsp;{&nbsp;<A
3326 HREF="actions-file.html#FILTER-POPUPS"
3327 TARGET="_top"
3328 >-filter{popups}</A
3329 >&nbsp;<A
3330 HREF="actions-file.html#KILL-POPUPS"
3331 TARGET="_top"
3332 >-kill-popups</A
3333 >&nbsp;}<br>
3334 &nbsp;.my-example-bank.com<br>
3335 <br>
3336 <br>
3337 #&nbsp;This&nbsp;site&nbsp;is&nbsp;delicate,&nbsp;and&nbsp;requires&nbsp;kid-glove&nbsp;<br>
3338 #&nbsp;treatment.<br>
3339 &nbsp;{&nbsp;fragile&nbsp;}<br>
3340 &nbsp;.forbes.com<br>
3341 &nbsp;&nbsp;&nbsp;</P
3342
3343  </TT
3344 ></P
3345 ></DIV
3346 ></DIV
3347 ><DIV
3348 CLASS="SECT2"
3349 ><H2
3350 CLASS="SECT2"
3351 ><A
3352 NAME="ALIASES"
3353 >9.6. Aliases</A
3354 ></H2
3355 ><P
3356 > Custom <SPAN
3357 CLASS="QUOTE"
3358 >"actions"</SPAN
3359 >, known to <SPAN
3360 CLASS="APPLICATION"
3361 >Privoxy</SPAN
3362 >
3363  as <SPAN
3364 CLASS="QUOTE"
3365 >"aliases"</SPAN
3366 >, can be defined by combining other <SPAN
3367 CLASS="QUOTE"
3368 >"actions"</SPAN
3369 >.
3370  These can in turn be invoked just like the built-in <SPAN
3371 CLASS="QUOTE"
3372 >"actions"</SPAN
3373 >.
3374  Currently, an alias can contain any character except space, tab, <SPAN
3375 CLASS="QUOTE"
3376 >"="</SPAN
3377 >,
3378  <SPAN
3379 CLASS="QUOTE"
3380 >"{"</SPAN
3381 > or <SPAN
3382 CLASS="QUOTE"
3383 >"}"</SPAN
3384 >. But please use only <SPAN
3385 CLASS="QUOTE"
3386 >"a"</SPAN
3387 >-
3388  <SPAN
3389 CLASS="QUOTE"
3390 >"z"</SPAN
3391 >, <SPAN
3392 CLASS="QUOTE"
3393 >"0"</SPAN
3394 >-<SPAN
3395 CLASS="QUOTE"
3396 >"9"</SPAN
3397 >, <SPAN
3398 CLASS="QUOTE"
3399 >"+"</SPAN
3400 >, and
3401  <SPAN
3402 CLASS="QUOTE"
3403 >"-"</SPAN
3404 >. Alias names are not case sensitive, and 
3405  <I
3406 CLASS="EMPHASIS"
3407 >must be defined before other actions</I
3408 > in the
3409  actions file! And there can only be one set of <SPAN
3410 CLASS="QUOTE"
3411 >"aliases"</SPAN
3412 >
3413  defined per file. Each actions file may have its own aliases, but they are 
3414  only visible within that file. Aliases do not requir a <SPAN
3415 CLASS="QUOTE"
3416 >"+"</SPAN
3417 > or 
3418  <SPAN
3419 CLASS="QUOTE"
3420 >"-"</SPAN
3421 > sign in front, since they are merely expanded.</P
3422 ><P
3423 > Now let's define a few aliases:</P
3424 ><P
3425 > <TT
3426 CLASS="LITERAL"
3427 >  <P
3428 CLASS="LITERALLAYOUT"
3429 >&nbsp;#&nbsp;Useful&nbsp;custom&nbsp;aliases&nbsp;we&nbsp;can&nbsp;use&nbsp;later.&nbsp;These&nbsp;must&nbsp;come&nbsp;first!<br>
3430 &nbsp;{{alias}}<br>
3431 &nbsp;+prevent-cookies&nbsp;=&nbsp;+prevent-setting-cookies&nbsp;+prevent-reading-cookies<br>
3432 &nbsp;-prevent-cookies&nbsp;=&nbsp;-prevent-setting-cookies&nbsp;-prevent-reading-cookies<br>
3433 &nbsp;fragile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;-block&nbsp;-prevent-cookies&nbsp;-filter&nbsp;-fast-redirects&nbsp;-hide-referer&nbsp;-kill-popups<br>
3434 &nbsp;shop&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;-prevent-cookies&nbsp;-filter&nbsp;-fast-redirects<br>
3435 &nbsp;+imageblock&nbsp;=&nbsp;+block&nbsp;+handle-as-image<br>
3436 <br>
3437 &nbsp;#&nbsp;Aliases&nbsp;defined&nbsp;from&nbsp;other&nbsp;aliases,&nbsp;for&nbsp;people&nbsp;who&nbsp;don't&nbsp;like&nbsp;to&nbsp;type&nbsp;<br>
3438 &nbsp;#&nbsp;too&nbsp;much:&nbsp;&nbsp;;-)<br>
3439 &nbsp;c0&nbsp;=&nbsp;+prevent-cookies<br>
3440 &nbsp;c1&nbsp;=&nbsp;-prevent-cookies<br>
3441 &nbsp;#...&nbsp;etc.&nbsp;&nbsp;Customize&nbsp;to&nbsp;your&nbsp;heart's&nbsp;content.<br>
3442 &nbsp;&nbsp;&nbsp;</P
3443
3444  </TT
3445 ></P
3446 ><P
3447 > Some examples using our <SPAN
3448 CLASS="QUOTE"
3449 >"shop"</SPAN
3450 > and <SPAN
3451 CLASS="QUOTE"
3452 >"fragile"</SPAN
3453 >
3454  aliases from above. These would appear in the lower sections of an 
3455  actions file as exceptions to the default actions (as defined in the 
3456  upper section):</P
3457 ><P
3458 > <TT
3459 CLASS="LITERAL"
3460 >  <P
3461 CLASS="LITERALLAYOUT"
3462 >&nbsp;#&nbsp;These&nbsp;sites&nbsp;are&nbsp;very&nbsp;complex&nbsp;and&nbsp;require<br>
3463 &nbsp;#&nbsp;minimal&nbsp;interference.<br>
3464 &nbsp;{fragile}<br>
3465 &nbsp;&nbsp;.office.microsoft.com<br>
3466 &nbsp;&nbsp;.windowsupdate.microsoft.com<br>
3467 &nbsp;&nbsp;.nytimes.com<br>
3468 <br>
3469 &nbsp;#&nbsp;Shopping&nbsp;sites&nbsp;-&nbsp;but&nbsp;we&nbsp;still&nbsp;want&nbsp;to&nbsp;block&nbsp;ads.<br>
3470 &nbsp;{shop}<br>
3471 &nbsp;&nbsp;.quietpc.com<br>
3472 &nbsp;&nbsp;.worldpay.com&nbsp;&nbsp;&nbsp;#&nbsp;for&nbsp;quietpc.com<br>
3473 &nbsp;&nbsp;.scan.co.uk<br>
3474 <br>
3475 &nbsp;#&nbsp;These&nbsp;shops&nbsp;require&nbsp;pop-ups&nbsp;also&nbsp;<br>
3476 &nbsp;{shop&nbsp;-kill-popups}<br>
3477 &nbsp;&nbsp;.dabs.com<br>
3478 &nbsp;&nbsp;.overclockers.co.uk<br>
3479 &nbsp;&nbsp;&nbsp;</P
3480
3481  </TT
3482 ></P
3483 ><P
3484 > The <SPAN
3485 CLASS="QUOTE"
3486 >"shop"</SPAN
3487 > and <SPAN
3488 CLASS="QUOTE"
3489 >"fragile"</SPAN
3490 > aliases are often used for 
3491  <SPAN
3492 CLASS="QUOTE"
3493 >"problem"</SPAN
3494 > sites that require most actions to be disabled 
3495  in order to function properly.&#13;</P
3496 ></DIV
3497 ></DIV
3498 ><DIV
3499 CLASS="NAVFOOTER"
3500 ><HR
3501 ALIGN="LEFT"
3502 WIDTH="100%"><TABLE
3503 WIDTH="100%"
3504 BORDER="0"
3505 CELLPADDING="0"
3506 CELLSPACING="0"
3507 ><TR
3508 ><TD
3509 WIDTH="33%"
3510 ALIGN="left"
3511 VALIGN="top"
3512 ><A
3513 HREF="config.html"
3514 >Prev</A
3515 ></TD
3516 ><TD
3517 WIDTH="34%"
3518 ALIGN="center"
3519 VALIGN="top"
3520 ><A
3521 HREF="index.html"
3522 >Home</A
3523 ></TD
3524 ><TD
3525 WIDTH="33%"
3526 ALIGN="right"
3527 VALIGN="top"
3528 ><A
3529 HREF="filter-file.html"
3530 >Next</A
3531 ></TD
3532 ></TR
3533 ><TR
3534 ><TD
3535 WIDTH="33%"
3536 ALIGN="left"
3537 VALIGN="top"
3538 >The Main Configuration File</TD
3539 ><TD
3540 WIDTH="34%"
3541 ALIGN="center"
3542 VALIGN="top"
3543 >&nbsp;</TD
3544 ><TD
3545 WIDTH="33%"
3546 ALIGN="right"
3547 VALIGN="top"
3548 >The Filter File</TD
3549 ></TR
3550 ></TABLE
3551 ></DIV
3552 ></BODY
3553 ></HTML
3554 >