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