946bc2ff0521cf24b835cfb0f1c2caf02ca2e7c8
[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 
1010 proxies like Squid or Tor?</A
1011 ></H3
1012 ><P
1013 > This can be done and is often useful to combine the benefits of
1014  <SPAN
1015 CLASS="APPLICATION"
1016 >Privoxy</SPAN
1017 > with those of a another proxy.
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, and the <A
1029 HREF="misc.html#TOR"
1030 > How do I use Privoxy together with 
1031  Tor</A
1032 > section below.</P
1033 ></DIV
1034 ><DIV
1035 CLASS="SECT2"
1036 ><H3
1037 CLASS="SECT2"
1038 ><A
1039 NAME="PORT-80"
1040 >3.18. Can I just set Privoxy to use port 80
1041 and thus avoid individual browser configuration?</A
1042 ></H3
1043 ><P
1044 > No, its more complicated than that. This only works with special kinds 
1045  of proxies known as <SPAN
1046 CLASS="QUOTE"
1047 >"intercepting"</SPAN
1048 > proxies (see below).</P
1049 ></DIV
1050 ><DIV
1051 CLASS="SECT2"
1052 ><H3
1053 CLASS="SECT2"
1054 ><A
1055 NAME="TRANSPARENT"
1056 >3.19. Can Privoxy run as a <SPAN
1057 CLASS="QUOTE"
1058 >"transparent"</SPAN
1059 > proxy?</A
1060 ></H3
1061 ><P
1062 > The whole idea of Privoxy is to modify client requests
1063  and server responses in all sorts of ways and therefore
1064  it's not a transparent proxy as described in
1065  <A
1066 HREF="http://tools.ietf.org/html/rfc2616"
1067 TARGET="_top"
1068 >RFC 2616</A
1069 >.</P
1070 ><P
1071 > However, some people say <SPAN
1072 CLASS="QUOTE"
1073 >"transparent proxy"</SPAN
1074 > when they
1075  mean <SPAN
1076 CLASS="QUOTE"
1077 >"intercepting proxy"</SPAN
1078 >. If you are one of them,
1079  please read the <A
1080 HREF="#intercepting"
1081 TARGET="_top"
1082 >next entry</A
1083 >.</P
1084 ></DIV
1085 ><DIV
1086 CLASS="SECT2"
1087 ><H3
1088 CLASS="SECT2"
1089 ><A
1090 NAME="INTERCEPTING"
1091 >3.20. Can Privoxy run as a <SPAN
1092 CLASS="QUOTE"
1093 >"intercepting"</SPAN
1094 > proxy?</A
1095 ></H3
1096 ><P
1097 > <SPAN
1098 CLASS="APPLICATION"
1099 >Privoxy</SPAN
1100 > can't intercept traffic itself,
1101   but it can handle requests that where intercepted and redirected
1102   with a packet filter (like <SPAN
1103 CLASS="APPLICATION"
1104 >PF</SPAN
1105 > or
1106   <SPAN
1107 CLASS="APPLICATION"
1108 >iptables</SPAN
1109 >), as long as the <TT
1110 CLASS="LITERAL"
1111 >Host</TT
1112 >
1113   header is present. 
1114   </P
1115 ><P
1116 >  As the <TT
1117 CLASS="LITERAL"
1118 >Host</TT
1119 > header is required by HTTP/1.1 and as most
1120   web sites rely on it anyway, this limitation shouldn't be a problem.</P
1121 ><P
1122 >  Please refer to your packet filter's documentation to learn how to
1123   intercept and redirect traffic into <SPAN
1124 CLASS="APPLICATION"
1125 >Privoxy</SPAN
1126 >.
1127   Afterward you just have to configure <SPAN
1128 CLASS="APPLICATION"
1129 >Privoxy</SPAN
1130 > to
1131   <A
1132 HREF="../user-manual/config.html#ACCEPT-INTERCEPTED-REQUESTS"
1133 TARGET="_top"
1134 >accept
1135   intercepted requests</A
1136 >.</P
1137 ></DIV
1138 ><DIV
1139 CLASS="SECT2"
1140 ><H3
1141 CLASS="SECT2"
1142 ><A
1143 NAME="OUTLOOK"
1144 >3.21. How can I configure Privoxy for use with Outlook?</A
1145 ></H3
1146 ><P
1147 > Versions of <SPAN
1148 CLASS="APPLICATION"
1149 >Outlook</SPAN
1150 > prior to Office 2007, use
1151  <SPAN
1152 CLASS="APPLICATION"
1153 >Internet Explorer</SPAN
1154 > components to both render HTML,
1155  and fetch any HTTP requests that may be embedded in an HTML email. So however
1156  you have <SPAN
1157 CLASS="APPLICATION"
1158 >Privoxy</SPAN
1159 > configured to work with IE, this
1160  configuration should automatically be shared, at least with older version of
1161  Internet Explorer.</P
1162 ><P
1163 > Starting with Office 2007, Microsoft is instead using the MS-Word rendering
1164  engine with Outlook. It is unknown whether this can be configured to use a
1165  proxy.
1166  </P
1167 ></DIV
1168 ><DIV
1169 CLASS="SECT2"
1170 ><H3
1171 CLASS="SECT2"
1172 ><A
1173 NAME="OUTLOOK-MORE"
1174 >3.22. How can I have separate rules just for HTML mail?</A
1175 ></H3
1176 ><P
1177 > The short answer is, you can't. <SPAN
1178 CLASS="APPLICATION"
1179 >Privoxy</SPAN
1180 > has no way
1181  of knowing which particular application makes a request, so there is no way to
1182  distinguish between web pages and HTML mail.
1183  <SPAN
1184 CLASS="APPLICATION"
1185 >Privoxy</SPAN
1186 > just blindly proxies all requests. In the
1187  case of <SPAN
1188 CLASS="APPLICATION"
1189 >Outlook Express</SPAN
1190 > (see above), OE uses 
1191  IE anyway, and there is no way for <SPAN
1192 CLASS="APPLICATION"
1193 >Privoxy</SPAN
1194 > to ever 
1195  be able to distinguish between them (nor could any other proxy type application for
1196  that matter).</P
1197 ><P
1198 > For a good discussion of some of the issues involved (including privacy and 
1199  security issues), see 
1200  <A
1201 HREF="http://sourceforge.net/tracker/?func=detail&#38;atid=211118&#38;aid=629518&#38;group_id=11118"
1202 TARGET="_top"
1203 >http://sourceforge.net/tracker/?func=detail&#38;atid=211118&#38;aid=629518&#38;group_id=11118</A
1204 >.</P
1205 ></DIV
1206 ><DIV
1207 CLASS="SECT2"
1208 ><H3
1209 CLASS="SECT2"
1210 ><A
1211 NAME="SNEAKY-COOKIES"
1212 >3.23. I sometimes notice cookies sneaking through. How?</A
1213 ></H3
1214 ><P
1215 > <A
1216 HREF="http://en.wikipedia.org/wiki/Browser_cookie"
1217 TARGET="_top"
1218 >Cookies</A
1219 > can be 
1220  set in several ways. The classic method is via the 
1221  <TT
1222 CLASS="LITERAL"
1223 >Set-Cookie</TT
1224 > HTTP header. This is straightforward, and an
1225  easy one to manipulate, such as the <SPAN
1226 CLASS="APPLICATION"
1227 >Privoxy</SPAN
1228 > concept of 
1229  <A
1230 HREF="../user-manual/actions-file.html#SESSION-COOKIES-ONLY"
1231 TARGET="_top"
1232 >session-cookies-only</A
1233 >.
1234  There is also the possibility of using 
1235   <A
1236 HREF="http://en.wikipedia.org/wiki/Javascript"
1237 TARGET="_top"
1238 >Javascript</A
1239 > to
1240  set cookies (<SPAN
1241 CLASS="APPLICATION"
1242 >Privoxy</SPAN
1243 > calls these <TT
1244 CLASS="LITERAL"
1245 >content-cookies</TT
1246 >). This
1247  is trickier because the syntax can vary widely, and thus requires a certain
1248  amount of guesswork. It is not realistic to catch all of these short of
1249  disabling Javascript, which would break many sites. And lastly, if the
1250  cookies are embedded in a HTTPS/SSL secure session via Javascript, they are beyond
1251  <SPAN
1252 CLASS="APPLICATION"
1253 >Privoxy's</SPAN
1254 > reach.</P
1255 ><P
1256 > All in all, <SPAN
1257 CLASS="APPLICATION"
1258 >Privoxy</SPAN
1259 > can help manage cookies in general, can help minimize
1260  the loss of privacy posed by cookies, but can't realistically stop all
1261  cookies.</P
1262 ></DIV
1263 ><DIV
1264 CLASS="SECT2"
1265 ><H3
1266 CLASS="SECT2"
1267 ><A
1268 NAME="EVIL-COOKIES"
1269 >3.24. Are all cookies bad? Why?</A
1270 ></H3
1271 ><P
1272 > No, in fact there are many beneficial uses of 
1273  <A
1274 HREF="http://en.wikipedia.org/wiki/Browser_cookie"
1275 TARGET="_top"
1276 >cookies</A
1277 >. Cookies are just a
1278  method that browsers can use to store data between pages, or between browser
1279  sessions. Sometimes there is a good reason for this, and the user's life is a
1280  bit easier as a result. But there is a long history of some websites taking
1281  advantage of this layer of trust, and using the data they glean from you and 
1282  your browsing habits for their own purposes, and maybe to your potential
1283  detriment. Such sites are using you and storing their data on your system.
1284  That is why the privacy conscious watch from whom those cookies come, and why
1285  they really <SPAN
1286 CLASS="emphasis"
1287 ><I
1288 CLASS="EMPHASIS"
1289 >need</I
1290 ></SPAN
1291 > to be there.</P
1292 ><P
1293 >  See the 
1294    <A
1295 HREF="http://en.wikipedia.org/wiki/Browser_cookie"
1296 TARGET="_top"
1297 >Wikipedia cookie
1298   definition</A
1299 > for more.</P
1300 ></DIV
1301 ><DIV
1302 CLASS="SECT2"
1303 ><H3
1304 CLASS="SECT2"
1305 ><A
1306 NAME="ALLOW-COOKIES"
1307 >3.25. How can I allow permanent cookies for my trusted sites?</A
1308 ></H3
1309 ><P
1310 >  There are several actions that relate to cookies. The default behavior is to 
1311   allow only <SPAN
1312 CLASS="QUOTE"
1313 >"session cookies"</SPAN
1314 >, which means the cookies only last
1315   for the current browser session. This eliminates most kinds of abuse related 
1316   to cookies. But there may be cases where you want cookies to last.</P
1317 ><P
1318 >  To disable all cookie actions, so that cookies are allowed unrestricted,
1319   both in and out, for <TT
1320 CLASS="LITERAL"
1321 >example.com</TT
1322 >: </P
1323 ><P
1324 > <TABLE
1325 BORDER="0"
1326 BGCOLOR="#E0E0E0"
1327 WIDTH="100%"
1328 ><TR
1329 ><TD
1330 ><PRE
1331 CLASS="SCREEN"
1332 > { -crunch-incoming-cookies -crunch-outgoing-cookies -session-cookies-only -filter{content-cookies} }
1333   .example.com</PRE
1334 ></TD
1335 ></TR
1336 ></TABLE
1337 ></P
1338 ><P
1339 > Place the above in <TT
1340 CLASS="FILENAME"
1341 >user.action</TT
1342 >. Note that some of these may
1343  be off by default anyway, so this might be redundant, but there is no harm
1344  being explicit in what you want to happen. <TT
1345 CLASS="FILENAME"
1346 >user.action</TT
1347 >
1348  includes an alias for this situation, called
1349  <TT
1350 CLASS="LITERAL"
1351 >allow-all-cookies</TT
1352 >.</P
1353 ></DIV
1354 ><DIV
1355 CLASS="SECT2"
1356 ><H3
1357 CLASS="SECT2"
1358 ><A
1359 NAME="MULTIPLES"
1360 >3.26. Can I have separate configurations for different users?</A
1361 ></H3
1362 ><P
1363 > Each instance of <SPAN
1364 CLASS="APPLICATION"
1365 >Privoxy</SPAN
1366 > has its own
1367  configuration, including such attributes as the TCP port that it listens on.
1368  What you can do is run multiple instances of <SPAN
1369 CLASS="APPLICATION"
1370 >Privoxy</SPAN
1371 >, each with 
1372  a unique 
1373  <A
1374 HREF="../user-manual/config.html#LISTEN-ADDRESS"
1375 TARGET="_top"
1376 >listen-address</A
1377 >
1378  configuration setting, and configuration path, and then
1379  each of these can have their own configurations. Think of it as per-port
1380  configuration.</P
1381 ><P
1382
1383  Simple enough for a few users, but for large installations, consider having
1384  groups of users that might share like configurations.</P
1385 ></DIV
1386 ><DIV
1387 CLASS="SECT2"
1388 ><H3
1389 CLASS="SECT2"
1390 ><A
1391 NAME="WHITELISTS"
1392 >3.27. Can I set-up Privoxy as a whitelist of
1393 <SPAN
1394 CLASS="QUOTE"
1395 >"good"</SPAN
1396 > sites?</A
1397 ></H3
1398 ><P
1399 > Sure. There are a couple of things you can do for simple white-listing.
1400  Here's one real easy one:</P
1401 ><TABLE
1402 BORDER="0"
1403 BGCOLOR="#E0E0E0"
1404 WIDTH="100%"
1405 ><TR
1406 ><TD
1407 ><PRE
1408 CLASS="SCREEN"
1409 > ############################################################
1410  # Blacklist
1411  ############################################################
1412  { <A
1413 HREF="../user-manual/actions-file.html#BLOCK"
1414 TARGET="_top"
1415 >+block</A
1416 > }
1417  / # Block *all* URLs
1418  
1419  ############################################################
1420  # Whitelist
1421  ############################################################
1422  { <A
1423 HREF="../user-manual/actions-file.html#BLOCK"
1424 TARGET="_top"
1425 >-block</A
1426 > }
1427   kids.example.com
1428   toys.example.com
1429   games.example.com</PRE
1430 ></TD
1431 ></TR
1432 ></TABLE
1433 ><P
1434 > This allows access to only those three sites by first blocking all URLs, and 
1435  then subsequently allowing three specific exceptions.</P
1436 ><P
1437 > Another approach is <SPAN
1438 CLASS="APPLICATION"
1439 >Privoxy's</SPAN
1440
1441  <TT
1442 CLASS="LITERAL"
1443 >trustfile</TT
1444 > concept, which incorporates the notion of 
1445  <SPAN
1446 CLASS="QUOTE"
1447 >"trusted referrers"</SPAN
1448 >. See the <A
1449 HREF="../user-manual/config.html#TRUSTFILE"
1450 TARGET="_top"
1451 >Trust documentation</A
1452 >
1453  for details.</P
1454 ><P
1455 > These are fairly simple approaches and are not completely foolproof. There
1456  are various other configuration options that should be disabled (described
1457  elsewhere here and in <A
1458 HREF="../user-manual/"
1459 TARGET="_top"
1460 >the User Manual</A
1461 >)
1462  so that users can't modify their own configuration and easily circumvent the
1463  whitelist.</P
1464 ></DIV
1465 ><DIV
1466 CLASS="SECT2"
1467 ><H3
1468 CLASS="SECT2"
1469 ><A
1470 NAME="NO-ADBLOCK"
1471 >3.28. How can I turn off ad-blocking?</A
1472 ></H3
1473 ><P
1474 > Ad blocking is achieved through a complex application of various <SPAN
1475 CLASS="APPLICATION"
1476 >Privoxy</SPAN
1477
1478  <A
1479 HREF="../user-manual/actions-file.html"
1480 TARGET="_top"
1481 >actions</A
1482 >. These 
1483  actions are deployed against simple images, banners, flash animations, 
1484  text pages, JavaScript, pop-ups and pop-unders, etc., so its not as simple as
1485  just turning one or two actions off. The various actions that make up
1486  <SPAN
1487 CLASS="APPLICATION"
1488 >Privoxy</SPAN
1489 > ad blocking are hard-coded into the default configuration files. It
1490  has been assumed that everyone using <SPAN
1491 CLASS="APPLICATION"
1492 >Privoxy</SPAN
1493 > is interested in this
1494  particular feature. 
1495  </P
1496 ><P
1497 > If you want to do without this, there are several approaches you can take:
1498  You can manually undo the many block rules in
1499  <TT
1500 CLASS="FILENAME"
1501 >default.action</TT
1502 >. Or even easier, just create your own
1503  <TT
1504 CLASS="FILENAME"
1505 >default.action</TT
1506 > file from scratch without the many ad
1507  blocking rules, and corresponding exceptions. Or lastly, if you are not
1508  concerned about the additional blocks that are done for privacy reasons, you
1509  can very easily over-ride <SPAN
1510 CLASS="emphasis"
1511 ><I
1512 CLASS="EMPHASIS"
1513 >all</I
1514 ></SPAN
1515 > blocking with the
1516  following very simple rule in your <TT
1517 CLASS="FILENAME"
1518 >user.action</TT
1519 >: 
1520  </P
1521 ><P
1522 > <TABLE
1523 BORDER="0"
1524 BGCOLOR="#E0E0E0"
1525 WIDTH="100%"
1526 ><TR
1527 ><TD
1528 ><PRE
1529 CLASS="SCREEN"
1530 > # Unblock everybody, everywhere
1531  { <A
1532 HREF="../user-manual/actions-file.html#BLOCK"
1533 TARGET="_top"
1534 >-block</A
1535 > }
1536  / # UN-Block *all* URLs</PRE
1537 ></TD
1538 ></TR
1539 ></TABLE
1540 ></P
1541 ><P
1542
1543  Or even a more comprehensive reversing of various ad related actions:</P
1544 ><P
1545 > <TABLE
1546 BORDER="0"
1547 BGCOLOR="#E0E0E0"
1548 WIDTH="100%"
1549 ><TR
1550 ><TD
1551 ><PRE
1552 CLASS="SCREEN"
1553 > # Unblock everybody, everywhere, and turn off appropriate filtering, etc
1554  { <A
1555 HREF="../user-manual/actions-file.html#BLOCK"
1556 TARGET="_top"
1557 >-block</A
1558 > \
1559   <A
1560 HREF="../user-manual/actions-file.html#FILTER-BANNERS-BY-SIZE"
1561 TARGET="_top"
1562 >-filter{banners-by-size}</A
1563 > \
1564   <A
1565 HREF="../user-manual/actions-file.html#FILTER-BANNERS-BY-LINK"
1566 TARGET="_top"
1567 >-filter{banners-by-link}</A
1568 > \
1569   <TT
1570 CLASS="LITERAL"
1571 >allow-popups</TT
1572 > \
1573  }
1574  / # UN-Block *all* URLs and allow ads</PRE
1575 ></TD
1576 ></TR
1577 ></TABLE
1578 ></P
1579 ><P
1580 > This last <SPAN
1581 CLASS="QUOTE"
1582 >"action"</SPAN
1583 > in this compound statement,
1584  <TT
1585 CLASS="LITERAL"
1586 >allow-popups</TT
1587 >, is an <A
1588 HREF="../user-manual/actions-file.html#ALIASES"
1589 TARGET="_top"
1590 >alias</A
1591 > that disables
1592  various pop-up blocking features.</P
1593 ></DIV
1594 ><DIV
1595 CLASS="SECT2"
1596 ><H3
1597 CLASS="SECT2"
1598 ><A
1599 NAME="TEMPLATES"
1600 >3.29. How can I have custom template pages, like the 
1601 <SPAN
1602 CLASS="emphasis"
1603 ><I
1604 CLASS="EMPHASIS"
1605 >BLOCKED</I
1606 ></SPAN
1607 > page?</A
1608 ></H3
1609 ><P
1610 > <SPAN
1611 CLASS="APPLICATION"
1612 >Privoxy</SPAN
1613 > <SPAN
1614 CLASS="QUOTE"
1615 >"templates"</SPAN
1616 > are specialized text files utilized by
1617  <SPAN
1618 CLASS="APPLICATION"
1619 >Privoxy</SPAN
1620 > for various purposes and can easily be modified using any text
1621  editor. All the template pages are installed in a sub-directory appropriately
1622  named: <TT
1623 CLASS="FILENAME"
1624 >templates</TT
1625 >.  Knowing something about HTML syntax
1626  will of course be helpful.</P
1627 ><P
1628 > Be forewarned that the default templates are subject to being overwritten
1629  during upgrades. You can, however, create completely new templates,
1630  place them in another directory and specify the alternate path in the main
1631  <TT
1632 CLASS="FILENAME"
1633 >config</TT
1634 >. For details, have a look at the <A
1635 HREF="../user-manual/config.html#templdir"
1636 TARGET="_top"
1637 >templdir</A
1638 > option. </P
1639 ></DIV
1640 ><DIV
1641 CLASS="SECT2"
1642 ><H3
1643 CLASS="SECT2"
1644 ><A
1645 NAME="BLOCKALL"
1646 >3.30. How can I remove the <SPAN
1647 CLASS="QUOTE"
1648 >"Go There Anyway"</SPAN
1649 > link from 
1650 the <SPAN
1651 CLASS="emphasis"
1652 ><I
1653 CLASS="EMPHASIS"
1654 >BLOCKED</I
1655 ></SPAN
1656 > page?</A
1657 ></H3
1658 ><P
1659 > There is more than one way to do it (although Perl is not involved).</P
1660 ><P
1661 > Editing the BLOCKED template page (see above) may dissuade some users, but
1662  this method is easily circumvented. Where you need this level of control, you
1663  might want to build <SPAN
1664 CLASS="APPLICATION"
1665 >Privoxy</SPAN
1666 > from source, and disable various features that are
1667  available as compile-time options. You should 
1668  <B
1669 CLASS="COMMAND"
1670 >configure</B
1671 > the sources as follows:</P
1672 ><P
1673 > <TABLE
1674 BORDER="0"
1675 BGCOLOR="#E0E0E0"
1676 WIDTH="100%"
1677 ><TR
1678 ><TD
1679 ><PRE
1680 CLASS="SCREEN"
1681 > ./configure  --disable-toggle  --disable-editor  --disable-force</PRE
1682 ></TD
1683 ></TR
1684 ></TABLE
1685 ></P
1686 ><P
1687 > This will create an executable with hard-coded security features so that
1688  <SPAN
1689 CLASS="APPLICATION"
1690 >Privoxy</SPAN
1691 > does not allow easy bypassing of blocked sites, or changing the
1692  current configuration via any connected user's web browser.</P
1693 ><P
1694 > Finally, all of these features can also be toggled on/off via options in
1695  <SPAN
1696 CLASS="APPLICATION"
1697 >Privoxy's</SPAN
1698 > main  <A
1699 HREF="../user-manual/config.html#ACCESS-CONTROL"
1700 TARGET="_top"
1701 >config</A
1702 > file which
1703  means you don't have to recompile anything.</P
1704 ></DIV
1705 ></DIV
1706 ><DIV
1707 CLASS="NAVFOOTER"
1708 ><HR
1709 ALIGN="LEFT"
1710 WIDTH="100%"><TABLE
1711 SUMMARY="Footer navigation table"
1712 WIDTH="100%"
1713 BORDER="0"
1714 CELLPADDING="0"
1715 CELLSPACING="0"
1716 ><TR
1717 ><TD
1718 WIDTH="33%"
1719 ALIGN="left"
1720 VALIGN="top"
1721 ><A
1722 HREF="installation.html"
1723 ACCESSKEY="P"
1724 >Prev</A
1725 ></TD
1726 ><TD
1727 WIDTH="34%"
1728 ALIGN="center"
1729 VALIGN="top"
1730 ><A
1731 HREF="index.html"
1732 ACCESSKEY="H"
1733 >Home</A
1734 ></TD
1735 ><TD
1736 WIDTH="33%"
1737 ALIGN="right"
1738 VALIGN="top"
1739 ><A
1740 HREF="misc.html"
1741 ACCESSKEY="N"
1742 >Next</A
1743 ></TD
1744 ></TR
1745 ><TR
1746 ><TD
1747 WIDTH="33%"
1748 ALIGN="left"
1749 VALIGN="top"
1750 >Installation</TD
1751 ><TD
1752 WIDTH="34%"
1753 ALIGN="center"
1754 VALIGN="top"
1755 >&nbsp;</TD
1756 ><TD
1757 WIDTH="33%"
1758 ALIGN="right"
1759 VALIGN="top"
1760 >Miscellaneous</TD
1761 ></TR
1762 ></TABLE
1763 ></DIV
1764 ></BODY
1765 ></HTML
1766 >