Rebuild with recent changes
[privoxy.git] / doc / webserver / faq / configuration.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
2 <HTML
3 ><HEAD
4 ><TITLE
5 >Configuration</TITLE
6 ><META
7 NAME="GENERATOR"
8 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
9 REL="HOME"
10 TITLE="Privoxy Frequently Asked Questions"
11 HREF="index.html"><LINK
12 REL="PREVIOUS"
13 TITLE="Installation"
14 HREF="installation.html"><LINK
15 REL="NEXT"
16 TITLE="Miscellaneous"
17 HREF="misc.html"><LINK
18 REL="STYLESHEET"
19 TYPE="text/css"
20 HREF="../p_doc.css"><META
21 HTTP-EQUIV="Content-Type"
22 CONTENT="text/html;
23 charset=ISO-8859-1"></HEAD
24 ><BODY
25 CLASS="SECT1"
26 BGCOLOR="#EEEEEE"
27 TEXT="#000000"
28 LINK="#0000FF"
29 VLINK="#840084"
30 ALINK="#0000FF"
31 ><DIV
32 CLASS="NAVHEADER"
33 ><TABLE
34 SUMMARY="Header navigation table"
35 WIDTH="100%"
36 BORDER="0"
37 CELLPADDING="0"
38 CELLSPACING="0"
39 ><TR
40 ><TH
41 COLSPAN="3"
42 ALIGN="center"
43 >Privoxy Frequently Asked Questions</TH
44 ></TR
45 ><TR
46 ><TD
47 WIDTH="10%"
48 ALIGN="left"
49 VALIGN="bottom"
50 ><A
51 HREF="installation.html"
52 ACCESSKEY="P"
53 >Prev</A
54 ></TD
55 ><TD
56 WIDTH="80%"
57 ALIGN="center"
58 VALIGN="bottom"
59 ></TD
60 ><TD
61 WIDTH="10%"
62 ALIGN="right"
63 VALIGN="bottom"
64 ><A
65 HREF="misc.html"
66 ACCESSKEY="N"
67 >Next</A
68 ></TD
69 ></TR
70 ></TABLE
71 ><HR
72 ALIGN="LEFT"
73 WIDTH="100%"></DIV
74 ><DIV
75 CLASS="SECT1"
76 ><H1
77 CLASS="SECT1"
78 ><A
79 NAME="CONFIGURATION"
80 >3. Configuration</A
81 ></H1
82 ><DIV
83 CLASS="SECT2"
84 ><H3
85 CLASS="SECT2"
86 ><A
87 NAME="AEN360"
88 >3.1. What exactly is an <SPAN
89 CLASS="QUOTE"
90 >"actions"</SPAN
91 > file?</A
92 ></H3
93 ><P
94 > <SPAN
95 CLASS="APPLICATION"
96 >Privoxy</SPAN
97 > utilizes the concept of <SPAN
98 CLASS="QUOTE"
99 >" <A
100 HREF="../user-manual/actions-file.html#ACTIONS"
101 TARGET="_top"
102 >actions</A
103 >"</SPAN
104
105  that are used to manipulate and control web page data.
106  <A
107 HREF="../user-manual/actions-file.html"
108 TARGET="_top"
109 >Actions files</A
110 >
111  are where these <A
112 HREF="../user-manual/actions-file.html#ACTIONS"
113 TARGET="_top"
114 >actions</A
115 >
116  that <SPAN
117 CLASS="APPLICATION"
118 >Privoxy</SPAN
119 > could take while processing a certain
120  request, are configured. Typically, you would define a set of default actions
121  that apply globally to all URLs, then add exceptions to these defaults where needed.
122  There is a wide array of actions available that give the user a high degree
123  of control and flexibility on how to process each and every web page.</P
124 ><P
125 > Actions can be defined on a <A
126 HREF="../user-manual/actions-file.html#AF-PATTERNS"
127 TARGET="_top"
128 >URL pattern</A
129 > basis, i.e.
130  for single URLs, whole web sites, groups or parts thereof etc. Actions can also be
131  grouped together and then applied to requests matching one or more patterns.
132  There are many possible actions that might apply to any given site. As an example,
133  if you are blocking <A
134 HREF="http://en.wikipedia.org/wiki/Browser_cookie"
135 TARGET="_top"
136 >cookies</A
137 >
138  as one of your default actions, but need to accept cookies from a given site,
139  you would need to define an exception for this site in one of your actions
140  files, preferably in <TT
141 CLASS="FILENAME"
142 >user.action</TT
143 >.</P
144 ></DIV
145 ><DIV
146 CLASS="SECT2"
147 ><H3
148 CLASS="SECT2"
149 ><A
150 NAME="ACTIONSS"
151 >3.2. The <SPAN
152 CLASS="QUOTE"
153 >"actions"</SPAN
154 > concept confuses me. Please list 
155 some of these <SPAN
156 CLASS="QUOTE"
157 >"actions"</SPAN
158 >.</A
159 ></H3
160 ><P
161 > For a comprehensive discussion of the actions concept, please refer
162  to the <A
163 HREF="../user-manual/actions-file.html"
164 TARGET="_top"
165 >actions file
166  chapter</A
167 > in the <A
168 HREF="../user-manual/index.html"
169 TARGET="_top"
170 >User
171  Manual</A
172 >. It includes a <A
173 HREF="../user-manual/actions-file.html#ACTIONS"
174 TARGET="_top"
175 >list of all actions</A
176 >
177  and an <A
178 HREF="../user-manual/actions-file.html#ACT-EXAMPLES"
179 TARGET="_top"
180 >actions
181  file tutorial</A
182 > to get you started.</P
183 ></DIV
184 ><DIV
185 CLASS="SECT2"
186 ><H3
187 CLASS="SECT2"
188 ><A
189 NAME="AEN383"
190 >3.3. How are actions files configured? What is the easiest
191 way to do this?</A
192 ></H3
193 ><P
194 > Actions files are just text files in a special syntax and can be edited
195  with a text editor. But probably the easiest way is to access
196  <SPAN
197 CLASS="APPLICATION"
198 >Privoxy</SPAN
199 >'s user interface with your web browser
200  at <A
201 HREF="http://config.privoxy.org/"
202 TARGET="_top"
203 >http://config.privoxy.org/</A
204 >
205  (Shortcut: <A
206 HREF="http://p.p/"
207 TARGET="_top"
208 >http://p.p/</A
209 >) and then select
210  <SPAN
211 CLASS="QUOTE"
212 >"<A
213 HREF="http://config.privoxy.org/show-status"
214 TARGET="_top"
215 >View &#38;
216  change the current configuration</A
217 >"</SPAN
218 > from the menu. Note 
219  that this feature must be explicitly enabled in the main config file 
220  (see <A
221 HREF="../user-manual/config.html#ENABLE-EDIT-ACTIONS"
222 TARGET="_top"
223 >enable-edit-actions</A
224 >).</P
225 ></DIV
226 ><DIV
227 CLASS="SECT2"
228 ><H3
229 CLASS="SECT2"
230 ><A
231 NAME="AEN392"
232 >3.4. There are several different <SPAN
233 CLASS="QUOTE"
234 >"actions"</SPAN
235 > files. What are
236 the differences?</A
237 ></H3
238 ><P
239 > Please have a look at the <A
240 HREF="../user-manual/actions-file.html"
241 TARGET="_top"
242 >the actions chapter</A
243 >
244  in the <A
245 HREF="../user-manual/index.html"
246 TARGET="_top"
247 >User Manual</A
248 > for a detailed explanation.</P
249 ></DIV
250 ><DIV
251 CLASS="SECT2"
252 ><H3
253 CLASS="SECT2"
254 ><A
255 NAME="GETUPDATES"
256 >3.5. Where can I get updated Actions Files?</A
257 ></H3
258 ><P
259 >  Based on your feedback and the continuing development, updates of 
260   <TT
261 CLASS="FILENAME"
262 >default.action</TT
263 > will be
264   made available from time to time on the <A
265 HREF="http://sourceforge.net/project/showfiles.php?group_id=11118"
266 TARGET="_top"
267 >files section</A
268 > of
269   our <A
270 HREF="http://sf.net/projects/ijbswa/"
271 TARGET="_top"
272 >project page</A
273 >.
274  </P
275 ><P
276 >  If you wish to receive an email notification whenever we release updates of
277   <SPAN
278 CLASS="APPLICATION"
279 >Privoxy</SPAN
280 > or the actions file, <A
281 HREF="http://lists.sourceforge.net/lists/listinfo/ijbswa-announce/"
282 TARGET="_top"
283 >subscribe
284   to our announce mailing list</A
285 >, ijbswa-announce@lists.sourceforge.net.
286  </P
287 ></DIV
288 ><DIV
289 CLASS="SECT2"
290 ><H3
291 CLASS="SECT2"
292 ><A
293 NAME="NEWCONFIG"
294 >3.6. Can I use my old config files?</A
295 ></H3
296 ><P
297 >  The syntax and purpose of configuration files has remained roughly the
298   same throughout the 3.x series, but backwards compatibility is not guaranteed.
299   Also each release contains updated, <SPAN
300 CLASS="QUOTE"
301 >"improved"</SPAN
302 > versions and it is
303   therefore strongly recommended to install the newer configuration files
304   and merge back your modifications.
305  </P
306 ></DIV
307 ><DIV
308 CLASS="SECT2"
309 ><H3
310 CLASS="SECT2"
311 ><A
312 NAME="DIFFICULT"
313 >3.7. Why is the configuration so complicated?</A
314 ></H3
315 ><P
316 >  <SPAN
317 CLASS="QUOTE"
318 >"Complicated"</SPAN
319 > is in the eye of the beholder. Those that are 
320   familiar with some of the underlying concepts, such as regular expression
321   syntax, take to it like a fish takes to water. Also, software that tries
322   hard to be <SPAN
323 CLASS="QUOTE"
324 >"user friendly"</SPAN
325 >, often lacks sophistication and
326   flexibility. There is always that trade-off there between power vs.
327   easy-of-use. Furthermore, anyone is welcome to contribute ideas and
328   implementations to enhance <SPAN
329 CLASS="APPLICATION"
330 >Privoxy</SPAN
331 >. 
332  </P
333 ></DIV
334 ><DIV
335 CLASS="SECT2"
336 ><H3
337 CLASS="SECT2"
338 ><A
339 NAME="YAHOO"
340 >3.8. How can I make my Yahoo/Hotmail/Gmail account work?</A
341 ></H3
342 ><P
343 >  The default configuration shouldn't impact the usability of any of these services.
344   It may, however, make all <A
345 HREF="http://en.wikipedia.org/wiki/Browser_cookie"
346 TARGET="_top"
347 >cookies</A
348
349   temporary, so that your browser will forget your
350   login credentials in between browser sessions. If you would like not to have to log
351   in manually each time you access those websites, simply turn off all cookie handling
352   for them in the <TT
353 CLASS="FILENAME"
354 >user.action</TT
355 > file. An example for yahoo might
356   look like:
357  </P
358 ><P
359 >  <TABLE
360 BORDER="0"
361 BGCOLOR="#E0E0E0"
362 WIDTH="100%"
363 ><TR
364 ><TD
365 ><PRE
366 CLASS="SCREEN"
367 ># Allow all cookies for Yahoo login:
368 #
369 { -<A
370 HREF="../user-manual/actions-file.html#CRUNCH-INCOMING-COOKIES"
371 TARGET="_top"
372 >crunch-incoming-cookies</A
373 > -<A
374 HREF="../user-manual/actions-file.html#CRUNCH-OUTGOING-COOKIES"
375 TARGET="_top"
376 >crunch-outgoing-cookies</A
377 > -<A
378 HREF="../user-manual/actions-file.html#SESSION-COOKIES-ONLY"
379 TARGET="_top"
380 >session-cookies-only</A
381 > }
382 .login.yahoo.com</PRE
383 ></TD
384 ></TR
385 ></TABLE
386 >
387  </P
388 ><P
389 >  These kinds of sites are often quite complex and heavy with 
390   <A
391 HREF="http://en.wikipedia.org/wiki/Javascript"
392 TARGET="_top"
393 >Javascript</A
394 > and 
395   thus <SPAN
396 CLASS="QUOTE"
397 >"fragile"</SPAN
398 >. So if <SPAN
399 CLASS="emphasis"
400 ><I
401 CLASS="EMPHASIS"
402 >still</I
403 ></SPAN
404 > a problem, 
405   we have an <A
406 HREF="../user-manual/actions-file.html#ALIASES"
407 TARGET="_top"
408 >alias</A
409 > just for such
410   sticky situations:
411  </P
412 ><P
413 >  <TABLE
414 BORDER="0"
415 BGCOLOR="#E0E0E0"
416 WIDTH="100%"
417 ><TR
418 ><TD
419 ><PRE
420 CLASS="SCREEN"
421 ># Gmail is a _fragile_ site:
422 #
423 { <TT
424 CLASS="LITERAL"
425 >fragile</TT
426 > }
427  # Gmail is ...
428  mail.google.com</PRE
429 ></TD
430 ></TR
431 ></TABLE
432 >
433  </P
434 ><P
435 >  Be sure to flush your browser's caches whenever making these kinds of
436   changes, just to make sure the changes <SPAN
437 CLASS="QUOTE"
438 >"take"</SPAN
439 >.
440  </P
441 ><P
442 >  Make sure the domain, host and path are appropriate as well. Your browser can
443   tell you where you are specifically and you should use that information for 
444   your configuration settings. Note that above it is not referenced as 
445   <TT
446 CLASS="LITERAL"
447 >gmail.com</TT
448 >, which is a valid domain name.
449  </P
450 ></DIV
451 ><DIV
452 CLASS="SECT2"
453 ><H3
454 CLASS="SECT2"
455 ><A
456 NAME="CONFIGFILES"
457 >3.9. What's the difference between the
458 <SPAN
459 CLASS="QUOTE"
460 >"Cautious"</SPAN
461 >, <SPAN
462 CLASS="QUOTE"
463 >"Medium"</SPAN
464 > and <SPAN
465 CLASS="QUOTE"
466 >"Advanced"</SPAN
467 > defaults?</A
468 ></H3
469 ><P
470 >  Configuring <SPAN
471 CLASS="APPLICATION"
472 >Privoxy</SPAN
473 > is not entirely trivial. To
474   help you get started, we provide you with three different default action
475   <SPAN
476 CLASS="QUOTE"
477 >"profiles"</SPAN
478 > in the web based actions file editor at <A
479 HREF="http://config.privoxy.org/show-status"
480 TARGET="_top"
481 >http://config.privoxy.org/show-status</A
482 >.
483   See the <A
484 HREF="../user-manual/actions-file.html"
485 TARGET="_top"
486 ><I
487 CLASS="CITETITLE"
488 >User
489   Manual</I
490 ></A
491 > for a list of actions, and how the default 
492   profiles are set.
493  </P
494 ><P
495 > Where the defaults are likely to break some sites, exceptions for
496  known popular <SPAN
497 CLASS="QUOTE"
498 >"problem"</SPAN
499 > sites are included, but in
500  general, the more aggressive your default settings are, the more exceptions
501  you will have to make later. New users are best to start off in 
502  <SPAN
503 CLASS="QUOTE"
504 >"Cautious"</SPAN
505 > setting. This is safest and will have the fewest 
506  problems. See the <A
507 HREF="../user-manual/index.html"
508 TARGET="_top"
509 ><I
510 CLASS="CITETITLE"
511 >User Manual</I
512 ></A
513 >
514  for a more detailed discussion.</P
515 ><P
516 > It should be noted that the <SPAN
517 CLASS="QUOTE"
518 >"Advanced"</SPAN
519 > profile (formerly known 
520  as the <SPAN
521 CLASS="QUOTE"
522 >"Adventuresome"</SPAN
523 > profile) is more
524  aggressive, and will make use of some of 
525  <SPAN
526 CLASS="APPLICATION"
527 >Privoxy's</SPAN
528 > advanced features. Use at your own risk!</P
529 ></DIV
530 ><DIV
531 CLASS="SECT2"
532 ><H3
533 CLASS="SECT2"
534 ><A
535 NAME="BROWSECONFIG"
536 >3.10. Why can I change the configuration 
537 with a browser? Does that not raise security issues?</A
538 ></H3
539 ><P
540 >  It may seem strange that regular users can edit the config files with their
541   browsers, although the whole <TT
542 CLASS="FILENAME"
543 >/etc/privoxy</TT
544 > hierarchy
545   belongs to the user <SPAN
546 CLASS="QUOTE"
547 >"privoxy"</SPAN
548 >, with only 644 permissions.
549  </P
550 ><P
551 >  When you use the browser-based editor, <SPAN
552 CLASS="APPLICATION"
553 >Privoxy</SPAN
554 >
555   itself is writing to the config files.  Because
556   <SPAN
557 CLASS="APPLICATION"
558 >Privoxy</SPAN
559 > is running as the user <SPAN
560 CLASS="QUOTE"
561 >"privoxy"</SPAN
562 >,
563   it can update its own config files.
564  </P
565 ><P
566 >  If you run <SPAN
567 CLASS="APPLICATION"
568 >Privoxy</SPAN
569 > for multiple untrusted users (e.g. in
570   a LAN) or aren't entirely in control of your own browser, you will probably want
571   to make sure that the the web-based editor and remote toggle features are
572   <SPAN
573 CLASS="QUOTE"
574 >"off"</SPAN
575 > by setting <SPAN
576 CLASS="QUOTE"
577 >"<TT
578 CLASS="LITERAL"
579 ><A
580 HREF="../user-manual/config.html#ENABLE-EDIT-ACTIONS"
581 TARGET="_top"
582 >enable-edit-actions</A
583 >
584   0</TT
585 >"</SPAN
586 > and <SPAN
587 CLASS="QUOTE"
588 >"<TT
589 CLASS="LITERAL"
590 ><A
591 HREF="../user-manual/config.html#ENABLE-REMOTE-TOGGLE"
592 TARGET="_top"
593 >enable-remote-toggle</A
594 >
595   0</TT
596 >"</SPAN
597 > in the <A
598 HREF="../user-manual/config.html"
599 TARGET="_top"
600 >main configuration file</A
601 >.
602  </P
603 ><P
604 >  As of <SPAN
605 CLASS="APPLICATION"
606 >Privoxy</SPAN
607 > 3.0.7 these options are disabled by default.
608  </P
609 ></DIV
610 ><DIV
611 CLASS="SECT2"
612 ><H3
613 CLASS="SECT2"
614 ><A
615 NAME="AEN480"
616 >3.11. What is the <TT
617 CLASS="FILENAME"
618 >default.filter</TT
619 > file? What is a <SPAN
620 CLASS="QUOTE"
621 >"filter"</SPAN
622 >?</A
623 ></H3
624 ><P
625 > The <A
626 HREF="../user-manual/filter-file.html"
627 TARGET="_top"
628 ><TT
629 CLASS="FILENAME"
630 >default.filter</TT
631 ></A
632 >
633  file is where <SPAN
634 CLASS="emphasis"
635 ><I
636 CLASS="EMPHASIS"
637 >filters</I
638 ></SPAN
639 > as supplied by the developers are defined.
640  Filters are a special subset of actions that can be used to modify or
641  remove web page content or headers on the fly. Content filters can
642  be applied to <SPAN
643 CLASS="emphasis"
644 ><I
645 CLASS="EMPHASIS"
646 >anything</I
647 ></SPAN
648 > in the page source,
649  header filters can be applied to either server or client headers.
650  Regular expressions are used to accomplish this.</P
651 ><P
652 > There are a number of pre-defined filters to deal with common annoyances. The
653  filters are only defined here, to invoke them, you need to use the
654  <A
655 HREF="../user-manual/actions-file.html#FILTER"
656 TARGET="_top"
657 ><TT
658 CLASS="LITERAL"
659 >filter</TT
660 >
661  action</A
662 > in one of the actions files. Content filtering is automatically
663  disabled for inappropriate MIME types, but if you know better than Privoxy
664  what should or should not be filtered you can filter any content you like.</P
665 ><P
666 > Filters should
667  <SPAN
668 CLASS="emphasis"
669 ><I
670 CLASS="EMPHASIS"
671 >not</I
672 ></SPAN
673 > be confused with <A
674 HREF="../user-manual/actions-file.html#BLOCK"
675 TARGET="_top"
676 ><TT
677 CLASS="LITERAL"
678 >blocks</TT
679 ></A
680 >, which
681  is a completely different action, and is more typically used to block ads and
682  unwanted sites.</P
683 ><P
684 > If you are familiar with regular expressions, and HTML, you can look at 
685  the provided <TT
686 CLASS="FILENAME"
687 >default.filter</TT
688 > with a text editor and define
689  your own filters.  This is potentially a very powerful feature, but
690  requires some expertise in both regular expressions and HTML/HTTP. 
691   You should 
692  place any modifications to the default filters, or any new ones you create 
693  in a separate file, such as <TT
694 CLASS="FILENAME"
695 >user.filter</TT
696 >, so they won't 
697  be overwritten during upgrades. 
698  The ability to define multiple filter files 
699  in <TT
700 CLASS="FILENAME"
701 >config</TT
702 > is a new feature as of v. 3.0.5.</P
703 ><P
704 > There is no GUI editor option for this part of the configuration, 
705  but you can disable/enable the various pre-defined filters of the included 
706  <TT
707 CLASS="FILENAME"
708 >default.filter</TT
709 > file with the <A
710 HREF="http://config.privoxy.org/show-status"
711 TARGET="_top"
712 >web-based actions file editor</A
713 >.
714  Note that the custom actions editor must be explicitly enabled in
715  the main config file (see <A
716 HREF="../user-manual/config.html#ENABLE-EDIT-ACTIONS"
717 TARGET="_top"
718 >enable-edit-actions</A
719 >).</P
720 ><P
721 > If you intend to develop your own filters, you might want to have a look at
722  <A
723 HREF="http://www.fabiankeil.de/sourcecode/pft/"
724 TARGET="_top"
725 >Privoxy-Filter-Test</A
726 >.</P
727 ></DIV
728 ><DIV
729 CLASS="SECT2"
730 ><H3
731 CLASS="SECT2"
732 ><A
733 NAME="LANCONFIG"
734 >3.12. How can I set up Privoxy to act as a proxy for my 
735  LAN?</A
736 ></H3
737 ><P
738 > By default, <SPAN
739 CLASS="APPLICATION"
740 >Privoxy</SPAN
741 > only responds to requests 
742  from <TT
743 CLASS="LITERAL"
744 >127.0.0.1</TT
745 > (localhost). To have it act as a server for
746  a network, this needs to be changed in the <A
747 HREF="../user-manual/config.html"
748 TARGET="_top"
749 >main configuration file</A
750 >. Look for
751  the <TT
752 CLASS="LITERAL"
753 ><A
754 HREF="../user-manual/config.html#LISTEN-ADDRESS"
755 TARGET="_top"
756 >listen-address</A
757 ></TT
758 >
759  option, which may be commented out with a <SPAN
760 CLASS="QUOTE"
761 >"#"</SPAN
762 > symbol. Make sure
763  it is uncommented, and assign it the address of the LAN gateway interface,
764  and port number to use. Assuming your LAN address is 192.168.1.1 and you
765  wish to run <SPAN
766 CLASS="APPLICATION"
767 >Privoxy</SPAN
768 > on port 8118, this line
769  should look like:</P
770 ><P
771 > <TABLE
772 BORDER="0"
773 BGCOLOR="#E0E0E0"
774 WIDTH="100%"
775 ><TR
776 ><TD
777 ><PRE
778 CLASS="SCREEN"
779 >  listen-address  192.168.1.1:8118</PRE
780 ></TD
781 ></TR
782 ></TABLE
783 ></P
784 ><P
785 > Save the file, and restart <SPAN
786 CLASS="APPLICATION"
787 >Privoxy</SPAN
788 >. Configure 
789  all browsers on the network then to use this address and port number.</P
790 ><P
791 > Alternately, you can have <SPAN
792 CLASS="APPLICATION"
793 >Privoxy</SPAN
794 > listen on 
795  all available interfaces:</P
796 ><P
797 > <TABLE
798 BORDER="0"
799 BGCOLOR="#E0E0E0"
800 WIDTH="100%"
801 ><TR
802 ><TD
803 ><PRE
804 CLASS="SCREEN"
805 >  listen-address    :8118</PRE
806 ></TD
807 ></TR
808 ></TABLE
809 ></P
810 ><P
811 > And then use <SPAN
812 CLASS="APPLICATION"
813 >Privoxy's</SPAN
814
815  <A
816 HREF="../user-manual/config.html#PERMIT-ACCESS"
817 TARGET="_top"
818 >permit-access</A
819
820  feature to limit connections. A firewall in this situation is recommended 
821  as well.</P
822 ><P
823 > The above steps should be the same for any TCP network, regardless of
824  operating system.</P
825 ><P
826 > If you run <SPAN
827 CLASS="APPLICATION"
828 >Privoxy</SPAN
829 > on a LAN with untrusted users,
830  we recommend that you double-check the <A
831 HREF="../user-manual/config.html#ACCESS-CONTROL"
832 TARGET="_top"
833 >access control and security</A
834 >
835  options!</P
836 ></DIV
837 ><DIV
838 CLASS="SECT2"
839 ><H3
840 CLASS="SECT2"
841 ><A
842 NAME="AEN531"
843 >3.13. Instead of ads, now I get a checkerboard pattern. I don't want to see anything.</A
844 ></H3
845 ><P
846 > The replacement for blocked images can be controlled with the <A
847 HREF="../user-manual/actions-file.html#SET-IMAGE-BLOCKER"
848 TARGET="_top"
849 ><TT
850 CLASS="LITERAL"
851 >set-image-blocker</TT
852 >
853  action</A
854 >. You have the choice of a checkerboard pattern, a transparent 1x1 GIF
855  image (aka <SPAN
856 CLASS="QUOTE"
857 >"blank"</SPAN
858 >), or a redirect to a custom image of your choice.
859  Note that this choice only has effect for images which are blocked as images, i.e.
860  whose URLs match both a <TT
861 CLASS="LITERAL"
862 ><A
863 HREF="../user-manual/actions-file.html#HANDLE-AS-IMAGE"
864 TARGET="_top"
865 >handle-as-image</A
866 ></TT
867 >
868  <SPAN
869 CLASS="emphasis"
870 ><I
871 CLASS="EMPHASIS"
872 >and</I
873 ></SPAN
874 > <TT
875 CLASS="LITERAL"
876 ><A
877 HREF="../user-manual/actions-file.html#BLOCK"
878 TARGET="_top"
879 >block</A
880 ></TT
881 > action.</P
882 ><P
883 > If you want to see nothing, then change the <A
884 HREF="../user-manual/actions-file.html#SET-IMAGE-BLOCKER"
885 TARGET="_top"
886 ><TT
887 CLASS="LITERAL"
888 >set-image-blocker</TT
889 >
890  action</A
891 > to <SPAN
892 CLASS="QUOTE"
893 >"blank"</SPAN
894 >. This can be done by editing the 
895  <TT
896 CLASS="FILENAME"
897 >user.action</TT
898 > file, or through the <A
899 HREF="http://config.privoxy.org/show-status"
900 TARGET="_top"
901 >web-based actions file editor</A
902 >.</P
903 ></DIV
904 ><DIV
905 CLASS="SECT2"
906 ><H3
907 CLASS="SECT2"
908 ><A
909 NAME="AEN548"
910 >3.14. Why would anybody want to see a checkerboard pattern?</A
911 ></H3
912 ><P
913 > Remember that <A
914 HREF="general.html#WHATSANAD"
915 >telling which image is an ad and which
916  isn't</A
917 >, is an educated guess. While we hope that the standard configuration
918  is rather smart, it will make occasional mistakes. The checkerboard image is visually
919  decent, and it shows you where images have been blocked, which can be very
920  helpful in case some navigation aid or otherwise innocent image was
921  erroneously blocked. It is recommended for new users so they can 
922  <SPAN
923 CLASS="QUOTE"
924 >"see"</SPAN
925 > what is happening. Some people might also enjoy seeing how
926  many banners they <SPAN
927 CLASS="emphasis"
928 ><I
929 CLASS="EMPHASIS"
930 >don't</I
931 ></SPAN
932 > have to see.</P
933 ></DIV
934 ><DIV
935 CLASS="SECT2"
936 ><H3
937 CLASS="SECT2"
938 ><A
939 NAME="AEN554"
940 >3.15. I see some images being replaced with text
941 instead of the checkerboard image. Why and how do I get rid of this?</A
942 ></H3
943 ><P
944 > This happens when the banners are not embedded in the HTML code of the
945  page itself, but in separate HTML (sub)documents that are loaded into (i)frames
946  or (i)layers, and these external HTML documents are blocked. Being non-images
947  they get replaced by a substitute HTML page rather than a substitute image,
948  which wouldn't work out technically, since the browser expects and accepts
949  only HTML when it has requested an HTML document. </P
950 ><P
951 > The substitute page adapts to the available space and shows itself as a
952  miniature two-liner if loaded into small frames, or full-blown with a
953  large red "BLOCKED" banner if space allows.</P
954 ><P
955 > If you prefer the banners to be blocked by images, you must see to it that
956  the HTML documents in which they are embedded are not blocked. Clicking
957  the <SPAN
958 CLASS="QUOTE"
959 >"See why"</SPAN
960 > link offered in the substitute page will show
961  you which rule blocked the page. After changing the rule and un-blocking
962  the HTML documents, the browser will try to load the actual banner images
963  and the usual image blocking will (hopefully!) kick in.</P
964 ></DIV
965 ><DIV
966 CLASS="SECT2"
967 ><H3
968 CLASS="SECT2"
969 ><A
970 NAME="SRVANY"
971 >3.16. Can Privoxy run as a service 
972 on Win2K/NT/XP?</A
973 ></H3
974 ><P
975 > Yes. Version 3.0.5 introduces full <SPAN
976 CLASS="APPLICATION"
977 >Windows</SPAN
978 > service
979  functionality. See <A
980 HREF="../user-manual/installation.html#installation-pack-win"
981 TARGET="_top"
982 > the <I
983 CLASS="CITETITLE"
984 >User Manual</I
985 ></A
986 > for details on how to install and configure 
987  <SPAN
988 CLASS="APPLICATION"
989 >Privoxy</SPAN
990 > as a service.</P
991 ><P
992 > Earlier 3.x versions could run as a system service using <B
993 CLASS="COMMAND"
994 >srvany.exe</B
995 >.
996  See the discussion at <A
997 HREF="http://sourceforge.net/tracker/?func=detail&#38;atid=361118&#38;aid=485617&#38;group_id=11118"
998 TARGET="_top"
999 >http://sourceforge.net/tracker/?func=detail&#38;atid=361118&#38;aid=485617&#38;group_id=11118</A
1000 >,
1001  for details, and a sample configuration.</P
1002 ></DIV
1003 ><DIV
1004 CLASS="SECT2"
1005 ><H3
1006 CLASS="SECT2"
1007 ><A
1008 NAME="OTHERPROXY"
1009 >3.17. How can I make Privoxy work with other proxies?</A
1010 ></H3
1011 ><P
1012 > This can be done and is often useful to combine the benefits of
1013  <SPAN
1014 CLASS="APPLICATION"
1015 >Privoxy</SPAN
1016 > with those of a another proxy,
1017  for example to cache content.
1018  See the <A
1019 HREF="../user-manual/config.html#FORWARDING"
1020 TARGET="_top"
1021 >forwarding chapter</A
1022 >
1023  in the <A
1024 HREF="../user-manual/index.html"
1025 TARGET="_top"
1026 >User Manual</A
1027 > which
1028  describes how to do this. If you intend to use Privoxy with Tor,
1029  please also have a look at
1030  <A
1031 HREF="misc.html#TOR"
1032 >How do I use Privoxy together with Tor</A
1033 >.</P
1034 ></DIV
1035 ><DIV
1036 CLASS="SECT2"
1037 ><H3
1038 CLASS="SECT2"
1039 ><A
1040 NAME="PORT-80"
1041 >3.18. Can I just set Privoxy to use port 80
1042 and thus avoid individual browser configuration?</A
1043 ></H3
1044 ><P
1045 > No, its more complicated than that. This only works with special kinds 
1046  of proxies known as <SPAN
1047 CLASS="QUOTE"
1048 >"intercepting"</SPAN
1049 > proxies
1050  (<A
1051 HREF="configuration.html#INTERCEPTING"
1052 >see below</A
1053 >).</P
1054 ></DIV
1055 ><DIV
1056 CLASS="SECT2"
1057 ><H3
1058 CLASS="SECT2"
1059 ><A
1060 NAME="TRANSPARENT"
1061 >3.19. Can Privoxy run as a <SPAN
1062 CLASS="QUOTE"
1063 >"transparent"</SPAN
1064 > proxy?</A
1065 ></H3
1066 ><P
1067 > The whole idea of Privoxy is to modify client requests
1068  and server responses in all sorts of ways and therefore
1069  it's not a transparent proxy as described in
1070  <A
1071 HREF="http://tools.ietf.org/html/rfc2616"
1072 TARGET="_top"
1073 >RFC 2616</A
1074 >.</P
1075 ><P
1076 > However, some people say <SPAN
1077 CLASS="QUOTE"
1078 >"transparent proxy"</SPAN
1079 > when they
1080  mean <SPAN
1081 CLASS="QUOTE"
1082 >"intercepting proxy"</SPAN
1083 >. If you are one of them,
1084  please read the <A
1085 HREF="configuration.html#INTERCEPTING"
1086 >next entry</A
1087 >.</P
1088 ></DIV
1089 ><DIV
1090 CLASS="SECT2"
1091 ><H3
1092 CLASS="SECT2"
1093 ><A
1094 NAME="INTERCEPTING"
1095 >3.20. Can Privoxy run as a <SPAN
1096 CLASS="QUOTE"
1097 >"intercepting"</SPAN
1098 > proxy?</A
1099 ></H3
1100 ><P
1101 > <SPAN
1102 CLASS="APPLICATION"
1103 >Privoxy</SPAN
1104 > can't intercept traffic itself,
1105   but it can handle requests that where intercepted and redirected
1106   with a packet filter (like <SPAN
1107 CLASS="APPLICATION"
1108 >PF</SPAN
1109 > or
1110   <SPAN
1111 CLASS="APPLICATION"
1112 >iptables</SPAN
1113 >), as long as the <TT
1114 CLASS="LITERAL"
1115 >Host</TT
1116 >
1117   header is present. 
1118   </P
1119 ><P
1120 >  As the <TT
1121 CLASS="LITERAL"
1122 >Host</TT
1123 > header is required by HTTP/1.1 and as most
1124   web sites rely on it anyway, this limitation shouldn't be a problem.</P
1125 ><P
1126 >  Please refer to your packet filter's documentation to learn how to
1127   intercept and redirect traffic into <SPAN
1128 CLASS="APPLICATION"
1129 >Privoxy</SPAN
1130 >.
1131   Afterward you just have to configure <SPAN
1132 CLASS="APPLICATION"
1133 >Privoxy</SPAN
1134 > to
1135   <A
1136 HREF="../user-manual/config.html#ACCEPT-INTERCEPTED-REQUESTS"
1137 TARGET="_top"
1138 >accept
1139   intercepted requests</A
1140 >.</P
1141 ></DIV
1142 ><DIV
1143 CLASS="SECT2"
1144 ><H3
1145 CLASS="SECT2"
1146 ><A
1147 NAME="OUTLOOK"
1148 >3.21. How can I configure Privoxy for use with Outlook?</A
1149 ></H3
1150 ><P
1151 > Versions of <SPAN
1152 CLASS="APPLICATION"
1153 >Outlook</SPAN
1154 > prior to Office 2007, use
1155  <SPAN
1156 CLASS="APPLICATION"
1157 >Internet Explorer</SPAN
1158 > components to both render HTML,
1159  and fetch any HTTP requests that may be embedded in an HTML email. So however
1160  you have <SPAN
1161 CLASS="APPLICATION"
1162 >Privoxy</SPAN
1163 > configured to work with IE, this
1164  configuration should automatically be shared, at least with older version of
1165  Internet Explorer.</P
1166 ><P
1167 > Starting with Office 2007, Microsoft is instead using the MS-Word rendering
1168  engine with Outlook. It is unknown whether this can be configured to use a
1169  proxy.
1170  </P
1171 ></DIV
1172 ><DIV
1173 CLASS="SECT2"
1174 ><H3
1175 CLASS="SECT2"
1176 ><A
1177 NAME="OUTLOOK-MORE"
1178 >3.22. How can I have separate rules just for HTML mail?</A
1179 ></H3
1180 ><P
1181 > The short answer is, you can't. <SPAN
1182 CLASS="APPLICATION"
1183 >Privoxy</SPAN
1184 > has no way
1185  of knowing which particular application makes a request, so there is no way to
1186  distinguish between web pages and HTML mail.
1187  <SPAN
1188 CLASS="APPLICATION"
1189 >Privoxy</SPAN
1190 > just blindly proxies all requests. In the
1191  case of <SPAN
1192 CLASS="APPLICATION"
1193 >Outlook Express</SPAN
1194 > (see above), OE uses 
1195  IE anyway, and there is no way for <SPAN
1196 CLASS="APPLICATION"
1197 >Privoxy</SPAN
1198 > to ever 
1199  be able to distinguish between them (nor could any other proxy type application for
1200  that matter).</P
1201 ><P
1202 > For a good discussion of some of the issues involved (including privacy and 
1203  security issues), see 
1204  <A
1205 HREF="http://sourceforge.net/tracker/?func=detail&#38;atid=211118&#38;aid=629518&#38;group_id=11118"
1206 TARGET="_top"
1207 >http://sourceforge.net/tracker/?func=detail&#38;atid=211118&#38;aid=629518&#38;group_id=11118</A
1208 >.</P
1209 ></DIV
1210 ><DIV
1211 CLASS="SECT2"
1212 ><H3
1213 CLASS="SECT2"
1214 ><A
1215 NAME="SNEAKY-COOKIES"
1216 >3.23. I sometimes notice cookies sneaking through. How?</A
1217 ></H3
1218 ><P
1219 > <A
1220 HREF="http://en.wikipedia.org/wiki/Browser_cookie"
1221 TARGET="_top"
1222 >Cookies</A
1223 > can be 
1224  set in several ways. The classic method is via the 
1225  <TT
1226 CLASS="LITERAL"
1227 >Set-Cookie</TT
1228 > HTTP header. This is straightforward, and an
1229  easy one to manipulate, such as the <SPAN
1230 CLASS="APPLICATION"
1231 >Privoxy</SPAN
1232 > concept of 
1233  <A
1234 HREF="../user-manual/actions-file.html#SESSION-COOKIES-ONLY"
1235 TARGET="_top"
1236 >session-cookies-only</A
1237 >.
1238  There is also the possibility of using 
1239   <A
1240 HREF="http://en.wikipedia.org/wiki/Javascript"
1241 TARGET="_top"
1242 >Javascript</A
1243 > to
1244  set cookies (<SPAN
1245 CLASS="APPLICATION"
1246 >Privoxy</SPAN
1247 > calls these <TT
1248 CLASS="LITERAL"
1249 >content-cookies</TT
1250 >). This
1251  is trickier because the syntax can vary widely, and thus requires a certain
1252  amount of guesswork. It is not realistic to catch all of these short of
1253  disabling Javascript, which would break many sites. And lastly, if the
1254  cookies are embedded in a HTTPS/SSL secure session via Javascript, they are beyond
1255  <SPAN
1256 CLASS="APPLICATION"
1257 >Privoxy's</SPAN
1258 > reach.</P
1259 ><P
1260 > All in all, <SPAN
1261 CLASS="APPLICATION"
1262 >Privoxy</SPAN
1263 > can help manage cookies in general, can help minimize
1264  the loss of privacy posed by cookies, but can't realistically stop all
1265  cookies.</P
1266 ></DIV
1267 ><DIV
1268 CLASS="SECT2"
1269 ><H3
1270 CLASS="SECT2"
1271 ><A
1272 NAME="EVIL-COOKIES"
1273 >3.24. Are all cookies bad? Why?</A
1274 ></H3
1275 ><P
1276 > No, in fact there are many beneficial uses of 
1277  <A
1278 HREF="http://en.wikipedia.org/wiki/Browser_cookie"
1279 TARGET="_top"
1280 >cookies</A
1281 >. Cookies are just a
1282  method that browsers can use to store data between pages, or between browser
1283  sessions. Sometimes there is a good reason for this, and the user's life is a
1284  bit easier as a result. But there is a long history of some websites taking
1285  advantage of this layer of trust, and using the data they glean from you and 
1286  your browsing habits for their own purposes, and maybe to your potential
1287  detriment. Such sites are using you and storing their data on your system.
1288  That is why the privacy conscious watch from whom those cookies come, and why
1289  they really <SPAN
1290 CLASS="emphasis"
1291 ><I
1292 CLASS="EMPHASIS"
1293 >need</I
1294 ></SPAN
1295 > to be there.</P
1296 ><P
1297 >  See the 
1298    <A
1299 HREF="http://en.wikipedia.org/wiki/Browser_cookie"
1300 TARGET="_top"
1301 >Wikipedia cookie
1302   definition</A
1303 > for more.</P
1304 ></DIV
1305 ><DIV
1306 CLASS="SECT2"
1307 ><H3
1308 CLASS="SECT2"
1309 ><A
1310 NAME="ALLOW-COOKIES"
1311 >3.25. How can I allow permanent cookies for my trusted sites?</A
1312 ></H3
1313 ><P
1314 >  There are several actions that relate to cookies. The default behavior is to 
1315   allow only <SPAN
1316 CLASS="QUOTE"
1317 >"session cookies"</SPAN
1318 >, which means the cookies only last
1319   for the current browser session. This eliminates most kinds of abuse related 
1320   to cookies. But there may be cases where you want cookies to last.</P
1321 ><P
1322 >  To disable all cookie actions, so that cookies are allowed unrestricted,
1323   both in and out, for <TT
1324 CLASS="LITERAL"
1325 >example.com</TT
1326 >: </P
1327 ><P
1328 > <TABLE
1329 BORDER="0"
1330 BGCOLOR="#E0E0E0"
1331 WIDTH="100%"
1332 ><TR
1333 ><TD
1334 ><PRE
1335 CLASS="SCREEN"
1336 > { -crunch-incoming-cookies -crunch-outgoing-cookies -session-cookies-only -filter{content-cookies} }
1337   .example.com</PRE
1338 ></TD
1339 ></TR
1340 ></TABLE
1341 ></P
1342 ><P
1343 > Place the above in <TT
1344 CLASS="FILENAME"
1345 >user.action</TT
1346 >. Note that some of these may
1347  be off by default anyway, so this might be redundant, but there is no harm
1348  being explicit in what you want to happen. <TT
1349 CLASS="FILENAME"
1350 >user.action</TT
1351 >
1352  includes an alias for this situation, called
1353  <TT
1354 CLASS="LITERAL"
1355 >allow-all-cookies</TT
1356 >.</P
1357 ></DIV
1358 ><DIV
1359 CLASS="SECT2"
1360 ><H3
1361 CLASS="SECT2"
1362 ><A
1363 NAME="MULTIPLES"
1364 >3.26. Can I have separate configurations for different users?</A
1365 ></H3
1366 ><P
1367 > Each instance of <SPAN
1368 CLASS="APPLICATION"
1369 >Privoxy</SPAN
1370 > has its own
1371  configuration, including such attributes as the TCP port that it listens on.
1372  What you can do is run multiple instances of <SPAN
1373 CLASS="APPLICATION"
1374 >Privoxy</SPAN
1375 >, each with 
1376  a unique 
1377  <A
1378 HREF="../user-manual/config.html#LISTEN-ADDRESS"
1379 TARGET="_top"
1380 >listen-address</A
1381 >
1382  configuration setting, and configuration path, and then
1383  each of these can have their own configurations. Think of it as per-port
1384  configuration.</P
1385 ><P
1386
1387  Simple enough for a few users, but for large installations, consider having
1388  groups of users that might share like configurations.</P
1389 ></DIV
1390 ><DIV
1391 CLASS="SECT2"
1392 ><H3
1393 CLASS="SECT2"
1394 ><A
1395 NAME="WHITELISTS"
1396 >3.27. Can I set-up Privoxy as a whitelist of
1397 <SPAN
1398 CLASS="QUOTE"
1399 >"good"</SPAN
1400 > sites?</A
1401 ></H3
1402 ><P
1403 > Sure. There are a couple of things you can do for simple white-listing.
1404  Here's one real easy one:</P
1405 ><TABLE
1406 BORDER="0"
1407 BGCOLOR="#E0E0E0"
1408 WIDTH="100%"
1409 ><TR
1410 ><TD
1411 ><PRE
1412 CLASS="SCREEN"
1413 > ############################################################
1414  # Blacklist
1415  ############################################################
1416  { <A
1417 HREF="../user-manual/actions-file.html#BLOCK"
1418 TARGET="_top"
1419 >+block</A
1420 > }
1421  / # Block *all* URLs
1422  
1423  ############################################################
1424  # Whitelist
1425  ############################################################
1426  { <A
1427 HREF="../user-manual/actions-file.html#BLOCK"
1428 TARGET="_top"
1429 >-block</A
1430 > }
1431   kids.example.com
1432   toys.example.com
1433   games.example.com</PRE
1434 ></TD
1435 ></TR
1436 ></TABLE
1437 ><P
1438 > This allows access to only those three sites by first blocking all URLs, and 
1439  then subsequently allowing three specific exceptions.</P
1440 ><P
1441 > Another approach is <SPAN
1442 CLASS="APPLICATION"
1443 >Privoxy's</SPAN
1444
1445  <TT
1446 CLASS="LITERAL"
1447 >trustfile</TT
1448 > concept, which incorporates the notion of 
1449  <SPAN
1450 CLASS="QUOTE"
1451 >"trusted referrers"</SPAN
1452 >. See the <A
1453 HREF="../user-manual/config.html#TRUSTFILE"
1454 TARGET="_top"
1455 >Trust documentation</A
1456 >
1457  for details.</P
1458 ><P
1459 > These are fairly simple approaches and are not completely foolproof. There
1460  are various other configuration options that should be disabled (described
1461  elsewhere here and in <A
1462 HREF="../user-manual/"
1463 TARGET="_top"
1464 >the User Manual</A
1465 >)
1466  so that users can't modify their own configuration and easily circumvent the
1467  whitelist.</P
1468 ></DIV
1469 ><DIV
1470 CLASS="SECT2"
1471 ><H3
1472 CLASS="SECT2"
1473 ><A
1474 NAME="NO-ADBLOCK"
1475 >3.28. How can I turn off ad-blocking?</A
1476 ></H3
1477 ><P
1478 > Ad blocking is achieved through a complex application of various <SPAN
1479 CLASS="APPLICATION"
1480 >Privoxy</SPAN
1481
1482  <A
1483 HREF="../user-manual/actions-file.html"
1484 TARGET="_top"
1485 >actions</A
1486 >. These 
1487  actions are deployed against simple images, banners, flash animations, 
1488  text pages, JavaScript, pop-ups and pop-unders, etc., so its not as simple as
1489  just turning one or two actions off. The various actions that make up
1490  <SPAN
1491 CLASS="APPLICATION"
1492 >Privoxy</SPAN
1493 > ad blocking are hard-coded into the default configuration files. It
1494  has been assumed that everyone using <SPAN
1495 CLASS="APPLICATION"
1496 >Privoxy</SPAN
1497 > is interested in this
1498  particular feature. 
1499  </P
1500 ><P
1501 > If you want to do without this, there are several approaches you can take:
1502  You can manually undo the many block rules in
1503  <TT
1504 CLASS="FILENAME"
1505 >default.action</TT
1506 >. Or even easier, just create your own
1507  <TT
1508 CLASS="FILENAME"
1509 >default.action</TT
1510 > file from scratch without the many ad
1511  blocking rules, and corresponding exceptions. Or lastly, if you are not
1512  concerned about the additional blocks that are done for privacy reasons, you
1513  can very easily over-ride <SPAN
1514 CLASS="emphasis"
1515 ><I
1516 CLASS="EMPHASIS"
1517 >all</I
1518 ></SPAN
1519 > blocking with the
1520  following very simple rule in your <TT
1521 CLASS="FILENAME"
1522 >user.action</TT
1523 >: 
1524  </P
1525 ><P
1526 > <TABLE
1527 BORDER="0"
1528 BGCOLOR="#E0E0E0"
1529 WIDTH="100%"
1530 ><TR
1531 ><TD
1532 ><PRE
1533 CLASS="SCREEN"
1534 > # Unblock everybody, everywhere
1535  { <A
1536 HREF="../user-manual/actions-file.html#BLOCK"
1537 TARGET="_top"
1538 >-block</A
1539 > }
1540  / # UN-Block *all* URLs</PRE
1541 ></TD
1542 ></TR
1543 ></TABLE
1544 ></P
1545 ><P
1546
1547  Or even a more comprehensive reversing of various ad related actions:</P
1548 ><P
1549 > <TABLE
1550 BORDER="0"
1551 BGCOLOR="#E0E0E0"
1552 WIDTH="100%"
1553 ><TR
1554 ><TD
1555 ><PRE
1556 CLASS="SCREEN"
1557 > # Unblock everybody, everywhere, and turn off appropriate filtering, etc
1558  { <A
1559 HREF="../user-manual/actions-file.html#BLOCK"
1560 TARGET="_top"
1561 >-block</A
1562 > \
1563   <A
1564 HREF="../user-manual/actions-file.html#FILTER-BANNERS-BY-SIZE"
1565 TARGET="_top"
1566 >-filter{banners-by-size}</A
1567 > \
1568   <A
1569 HREF="../user-manual/actions-file.html#FILTER-BANNERS-BY-LINK"
1570 TARGET="_top"
1571 >-filter{banners-by-link}</A
1572 > \
1573   <TT
1574 CLASS="LITERAL"
1575 >allow-popups</TT
1576 > \
1577  }
1578  / # UN-Block *all* URLs and allow ads</PRE
1579 ></TD
1580 ></TR
1581 ></TABLE
1582 ></P
1583 ><P
1584 > This last <SPAN
1585 CLASS="QUOTE"
1586 >"action"</SPAN
1587 > in this compound statement,
1588  <TT
1589 CLASS="LITERAL"
1590 >allow-popups</TT
1591 >, is an <A
1592 HREF="../user-manual/actions-file.html#ALIASES"
1593 TARGET="_top"
1594 >alias</A
1595 > that disables
1596  various pop-up blocking features.</P
1597 ></DIV
1598 ><DIV
1599 CLASS="SECT2"
1600 ><H3
1601 CLASS="SECT2"
1602 ><A
1603 NAME="TEMPLATES"
1604 >3.29. How can I have custom template pages, like the 
1605 <SPAN
1606 CLASS="emphasis"
1607 ><I
1608 CLASS="EMPHASIS"
1609 >BLOCKED</I
1610 ></SPAN
1611 > page?</A
1612 ></H3
1613 ><P
1614 > <SPAN
1615 CLASS="APPLICATION"
1616 >Privoxy</SPAN
1617 > <SPAN
1618 CLASS="QUOTE"
1619 >"templates"</SPAN
1620 > are specialized text files utilized by
1621  <SPAN
1622 CLASS="APPLICATION"
1623 >Privoxy</SPAN
1624 > for various purposes and can easily be modified using any text
1625  editor. All the template pages are installed in a sub-directory appropriately
1626  named: <TT
1627 CLASS="FILENAME"
1628 >templates</TT
1629 >.  Knowing something about HTML syntax
1630  will of course be helpful.</P
1631 ><P
1632 > Be forewarned that the default templates are subject to being overwritten
1633  during upgrades. You can, however, create completely new templates,
1634  place them in another directory and specify the alternate path in the main
1635  <TT
1636 CLASS="FILENAME"
1637 >config</TT
1638 >. For details, have a look at the <A
1639 HREF="../user-manual/config.html#templdir"
1640 TARGET="_top"
1641 >templdir</A
1642 > option. </P
1643 ></DIV
1644 ><DIV
1645 CLASS="SECT2"
1646 ><H3
1647 CLASS="SECT2"
1648 ><A
1649 NAME="BLOCKALL"
1650 >3.30. How can I remove the <SPAN
1651 CLASS="QUOTE"
1652 >"Go There Anyway"</SPAN
1653 > link from 
1654 the <SPAN
1655 CLASS="emphasis"
1656 ><I
1657 CLASS="EMPHASIS"
1658 >BLOCKED</I
1659 ></SPAN
1660 > page?</A
1661 ></H3
1662 ><P
1663 > There is more than one way to do it (although Perl is not involved).</P
1664 ><P
1665 > Editing the BLOCKED template page (see above) may dissuade some users, but
1666  this method is easily circumvented. Where you need this level of control, you
1667  might want to build <SPAN
1668 CLASS="APPLICATION"
1669 >Privoxy</SPAN
1670 > from source, and disable various features that are
1671  available as compile-time options. You should 
1672  <B
1673 CLASS="COMMAND"
1674 >configure</B
1675 > the sources as follows:</P
1676 ><P
1677 > <TABLE
1678 BORDER="0"
1679 BGCOLOR="#E0E0E0"
1680 WIDTH="100%"
1681 ><TR
1682 ><TD
1683 ><PRE
1684 CLASS="SCREEN"
1685 > ./configure  --disable-toggle  --disable-editor  --disable-force</PRE
1686 ></TD
1687 ></TR
1688 ></TABLE
1689 ></P
1690 ><P
1691 > This will create an executable with hard-coded security features so that
1692  <SPAN
1693 CLASS="APPLICATION"
1694 >Privoxy</SPAN
1695 > does not allow easy bypassing of blocked sites, or changing the
1696  current configuration via any connected user's web browser.</P
1697 ><P
1698 > Finally, all of these features can also be toggled on/off via options in
1699  <SPAN
1700 CLASS="APPLICATION"
1701 >Privoxy's</SPAN
1702 > main  <A
1703 HREF="../user-manual/config.html#ACCESS-CONTROL"
1704 TARGET="_top"
1705 >config</A
1706 > file which
1707  means you don't have to recompile anything.</P
1708 ></DIV
1709 ></DIV
1710 ><DIV
1711 CLASS="NAVFOOTER"
1712 ><HR
1713 ALIGN="LEFT"
1714 WIDTH="100%"><TABLE
1715 SUMMARY="Footer navigation table"
1716 WIDTH="100%"
1717 BORDER="0"
1718 CELLPADDING="0"
1719 CELLSPACING="0"
1720 ><TR
1721 ><TD
1722 WIDTH="33%"
1723 ALIGN="left"
1724 VALIGN="top"
1725 ><A
1726 HREF="installation.html"
1727 ACCESSKEY="P"
1728 >Prev</A
1729 ></TD
1730 ><TD
1731 WIDTH="34%"
1732 ALIGN="center"
1733 VALIGN="top"
1734 ><A
1735 HREF="index.html"
1736 ACCESSKEY="H"
1737 >Home</A
1738 ></TD
1739 ><TD
1740 WIDTH="33%"
1741 ALIGN="right"
1742 VALIGN="top"
1743 ><A
1744 HREF="misc.html"
1745 ACCESSKEY="N"
1746 >Next</A
1747 ></TD
1748 ></TR
1749 ><TR
1750 ><TD
1751 WIDTH="33%"
1752 ALIGN="left"
1753 VALIGN="top"
1754 >Installation</TD
1755 ><TD
1756 WIDTH="34%"
1757 ALIGN="center"
1758 VALIGN="top"
1759 >&nbsp;</TD
1760 ><TD
1761 WIDTH="33%"
1762 ALIGN="right"
1763 VALIGN="top"
1764 >Miscellaneous</TD
1765 ></TR
1766 ></TABLE
1767 ></DIV
1768 ></BODY
1769 ></HTML
1770 >