Change references to 3.0.4 to 3.0.5 and minor adjustments.
[privoxy.git] / doc / webserver / faq / configuration.html
1 <HTML
2 ><HEAD
3 ><TITLE
4 >Configuration</TITLE
5 ><META
6 NAME="GENERATOR"
7 CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
8 "><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"></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 SUMMARY="Header navigation table"
32 WIDTH="100%"
33 BORDER="0"
34 CELLPADDING="0"
35 CELLSPACING="0"
36 ><TR
37 ><TH
38 COLSPAN="3"
39 ALIGN="center"
40 >Privoxy Frequently Asked Questions</TH
41 ></TR
42 ><TR
43 ><TD
44 WIDTH="10%"
45 ALIGN="left"
46 VALIGN="bottom"
47 ><A
48 HREF="installation.html"
49 ACCESSKEY="P"
50 >Prev</A
51 ></TD
52 ><TD
53 WIDTH="80%"
54 ALIGN="center"
55 VALIGN="bottom"
56 ></TD
57 ><TD
58 WIDTH="10%"
59 ALIGN="right"
60 VALIGN="bottom"
61 ><A
62 HREF="misc.html"
63 ACCESSKEY="N"
64 >Next</A
65 ></TD
66 ></TR
67 ></TABLE
68 ><HR
69 ALIGN="LEFT"
70 WIDTH="100%"></DIV
71 ><DIV
72 CLASS="SECT1"
73 ><H1
74 CLASS="SECT1"
75 ><A
76 NAME="CONFIGURATION"
77 ></A
78 >3. Configuration</H1
79 ><DIV
80 CLASS="SECT2"
81 ><H3
82 CLASS="SECT2"
83 ><A
84 NAME="GETUPDATES"
85 ></A
86 >3.1. Where can I get updated Actions Files?</H3
87 ><P
88 >   Based on your feedback and the continuing development, updates of 
89    <TT
90 CLASS="FILENAME"
91 >default.action</TT
92 > will be
93    made available from   time to time on the <A
94 HREF="http://sourceforge.net/project/showfiles.php?group_id=11118"
95 TARGET="_top"
96 >files section</A
97 > of
98   our <A
99 HREF="http://sf.net/projects/ijbswa/"
100 TARGET="_top"
101 >project page</A
102 >.
103  </P
104 ><P
105 >  If you wish to receive an email notification whenever we release updates of
106   <SPAN
107 CLASS="APPLICATION"
108 >Privoxy</SPAN
109 > or the actions file, <A
110 HREF="http://lists.sourceforge.net/lists/listinfo/ijbswa-announce/"
111 TARGET="_top"
112 >subscribe
113   to our announce  mailing list</A
114 >, ijbswa-announce@lists.sourceforge.net.
115  </P
116 ></DIV
117 ><DIV
118 CLASS="SECT2"
119 ><H3
120 CLASS="SECT2"
121 ><A
122 NAME="NEWCONFIG"
123 ></A
124 >3.2. Can I use my old config files?</H3
125 ><P
126 >  The syntax and purpose of configuration files has remained the same
127   throughout the 3.x series. Although each release contains updated, 
128   <SPAN
129 CLASS="QUOTE"
130 >"improved"</SPAN
131 > versions and it is recommended to use the newer
132   configuration files.
133   
134    If upgrading from version prior to 3.0.4 the syntax for <TT
135 CLASS="LITERAL"
136 >fast-redirects</TT
137 >
138    has changed. See the <A
139 HREF="../user-manual/whatsnew.html"
140 TARGET="_top"
141 >What's New section</A
142
143    of the <I
144 CLASS="CITETITLE"
145 >User Manual</I
146 > for details.
147  </P
148 ><P
149 >   But all configuration files have substantially
150    changed from the <SPAN
151 CLASS="APPLICATION"
152 >Junkbuster</SPAN
153 > days, and early
154    versions of <SPAN
155 CLASS="APPLICATION"
156 >Privoxy 2.x</SPAN
157 >. The old files, like
158    <TT
159 CLASS="FILENAME"
160 >blocklist</TT
161 > will not work at all. 
162  </P
163 ><P
164 >  Refer to the <A
165 HREF="../user-manual/whatsnew.html"
166 TARGET="_top"
167 >What's New</A
168
169  page for information on configuration changes that may occur from one release to another.
170  </P
171 ></DIV
172 ><DIV
173 CLASS="SECT2"
174 ><H3
175 CLASS="SECT2"
176 ><A
177 NAME="AEN361"
178 ></A
179 >3.3. What exactly is an <SPAN
180 CLASS="QUOTE"
181 >"actions"</SPAN
182 > file?</H3
183 ><P
184 > <A
185 HREF="../user-manual/actions-file.html"
186 TARGET="_top"
187 >Actions files</A
188 >
189  are where various <A
190 HREF="../user-manual/actions-file.html#ACTIONS"
191 TARGET="_top"
192 >actions</A
193 >
194  that <SPAN
195 CLASS="APPLICATION"
196 >Privoxy</SPAN
197 > could take while processing a certain
198  request, are configured. Typically, you would define a set of default actions
199  that apply to all URLs, then add exceptions to these defaults where needed.
200  There is a wide array of actions available that give the user a high degree
201  of control and flexibility on how to process each and every web page.</P
202 ><P
203 > Actions can be defined on a <A
204 HREF="../user-manual/actions-file.html#AF-PATTERNS"
205 TARGET="_top"
206 >URL pattern</A
207 > basis, i.e.
208  for single URLs, whole web sites, groups or parts thereof etc. Actions can also be
209  grouped together and then applied to requests matching one or more patterns.
210  There are many possible actions that might apply to any given site. As an example,
211  if you are blocking <A
212 HREF="http://en.wikipedia.org/wiki/Browser_cookie"
213 TARGET="_top"
214 >cookies</A
215 >
216  as one of your default actions, but need to accept cookies from a given site,
217  you would need to define an exception for this site in one of your actions
218  files, preferably in <TT
219 CLASS="FILENAME"
220 >user.action</TT
221 >.</P
222 ></DIV
223 ><DIV
224 CLASS="SECT2"
225 ><H3
226 CLASS="SECT2"
227 ><A
228 NAME="ACTIONSS"
229 ></A
230 >3.4. The <SPAN
231 CLASS="QUOTE"
232 >"actions"</SPAN
233 > concept confuses me. Please list 
234 some of these <SPAN
235 CLASS="QUOTE"
236 >"actions"</SPAN
237 >.</H3
238 ><P
239 > For a comprehensive discussion of the actions concept, please refer
240  to the <A
241 HREF="../user-manual/actions-file.html"
242 TARGET="_top"
243 >actions file
244  chapter</A
245 > in the <A
246 HREF="../user-manual/index.html"
247 TARGET="_top"
248 >user
249  manual</A
250 >. It includes a <A
251 HREF="../user-manual/actions-file.html#ACTIONS"
252 TARGET="_top"
253 >list of all actions</A
254 >
255  and an <A
256 HREF="../user-manual/actions-file.html#ACT-EXAMPLES"
257 TARGET="_top"
258 >actions
259  file tutorial</A
260 > to get you started.</P
261 ></DIV
262 ><DIV
263 CLASS="SECT2"
264 ><H3
265 CLASS="SECT2"
266 ><A
267 NAME="AEN381"
268 ></A
269 >3.5. How are actions files configured? What is the easiest
270 way to do this?</H3
271 ><P
272 > Actions files are just text files in a special syntax and can be edited
273  with a text editor. But probably the easiest way is to access
274  <SPAN
275 CLASS="APPLICATION"
276 >Privoxy</SPAN
277 >'s user interface with your web browser
278  at <A
279 HREF="http://config.privoxy.org/"
280 TARGET="_top"
281 >http://config.privoxy.org/</A
282 >
283  (Shortcut: <A
284 HREF="http://p.p/"
285 TARGET="_top"
286 >http://p.p/</A
287 >) and then select
288  <SPAN
289 CLASS="QUOTE"
290 >"<A
291 HREF="http://config.privoxy.org/show-status"
292 TARGET="_top"
293 >View &#38;
294  change the current configuration</A
295 >"</SPAN
296 > from the menu.</P
297 ></DIV
298 ><DIV
299 CLASS="SECT2"
300 ><H3
301 CLASS="SECT2"
302 ><A
303 NAME="AEN389"
304 ></A
305 >3.6. There are several different <SPAN
306 CLASS="QUOTE"
307 >"actions"</SPAN
308 > files. What are
309 the differences?</H3
310 ><P
311 > As of <SPAN
312 CLASS="APPLICATION"
313 >Privoxy</SPAN
314 > v2.9.15, three actions files 
315  are being included, to be used for 
316  different purposes: These are 
317  <TT
318 CLASS="FILENAME"
319 >default.action</TT
320 >, the <SPAN
321 CLASS="QUOTE"
322 >"main"</SPAN
323 > actions file
324  which is actively maintained by the <SPAN
325 CLASS="APPLICATION"
326 >Privoxy</SPAN
327 >
328  developers, <TT
329 CLASS="FILENAME"
330 >user.action</TT
331 >, where users are encouraged
332  to make their private customizations, and <TT
333 CLASS="FILENAME"
334 >standard.action</TT
335 >, 
336  which is for internal <SPAN
337 CLASS="APPLICATION"
338 >Privoxy</SPAN
339 > use only.
340  Please see <A
341 HREF="../user-manual/actions-file.html"
342 TARGET="_top"
343 >the actions chapter</A
344 >
345  in the <A
346 HREF="../user-manual/index.html"
347 TARGET="_top"
348 >User Manual</A
349 > for a more
350  detailed explanation.</P
351 ><P
352 > Earlier versions included three different versions of the 
353  <TT
354 CLASS="FILENAME"
355 >default.action</TT
356 > file. The new scheme allows for 
357  greater flexibility of local configuration, and for browser based 
358  selection of pre-defined <SPAN
359 CLASS="QUOTE"
360 >"aggressiveness"</SPAN
361 > levels.</P
362 ></DIV
363 ><DIV
364 CLASS="SECT2"
365 ><H3
366 CLASS="SECT2"
367 ><A
368 NAME="YAHOO"
369 ></A
370 >3.7. How can I make my Yahoo/Hotmail/Gmail account work?</H3
371 ><P
372 >  The default configuration shouldn't impact the usability of any of these services.
373   It will, however, make all <A
374 HREF="http://en.wikipedia.org/wiki/Browser_cookie"
375 TARGET="_top"
376 >cookies</A
377
378   temporary, so that your browser will forget your
379   login credentials in between browser sessions. If you would like not to have to log
380   in manually each time you access those websites, simply turn off all cookie handling
381   for them in the <TT
382 CLASS="FILENAME"
383 >user.action</TT
384 > file. An example for yahoo might
385   look like:
386  </P
387 ><P
388 >  <TABLE
389 BORDER="0"
390 BGCOLOR="#E0E0E0"
391 WIDTH="100%"
392 ><TR
393 ><TD
394 ><PRE
395 CLASS="SCREEN"
396 ># Allow all cookies for Yahoo login:
397 #
398 { -<A
399 HREF="../user-manual/actions-file.html#CRUNCH-INCOMING-COOKIES"
400 TARGET="_top"
401 >crunch-incoming-cookies</A
402 > -<A
403 HREF="../user-manual/actions-file.html#CRUNCH-OUTGOING-COOKIES"
404 TARGET="_top"
405 >crunch-outgoing-cookies</A
406 > -<A
407 HREF="../user-manual/actions-file.html#SESSION-COOKIES-ONLY"
408 TARGET="_top"
409 >session-cookies-only</A
410 > }
411 .login.yahoo.com</PRE
412 ></TD
413 ></TR
414 ></TABLE
415 >
416  </P
417 ><P
418 >  These kinds of sites are often quite complex and heavy with 
419   <A
420 HREF="http://en.wikipedia.org/wiki/Javascript"
421 TARGET="_top"
422 >Javascript</A
423 > and 
424   thus <SPAN
425 CLASS="QUOTE"
426 >"fragile"</SPAN
427 >. So if <SPAN
428 CLASS="emphasis"
429 ><I
430 CLASS="EMPHASIS"
431 >still</I
432 ></SPAN
433 > a problem, 
434   we have an <A
435 HREF="../user-manual/actions-file.html#ALIASES"
436 TARGET="_top"
437 >alias</A
438 > just for such
439   sticky situations:
440  </P
441 ><P
442 >  <TABLE
443 BORDER="0"
444 BGCOLOR="#E0E0E0"
445 WIDTH="100%"
446 ><TR
447 ><TD
448 ><PRE
449 CLASS="SCREEN"
450 ># Gmail is a _fragile_ site:
451 #
452 { <TT
453 CLASS="LITERAL"
454 >fragile</TT
455 > }
456  mail.google.com</PRE
457 ></TD
458 ></TR
459 ></TABLE
460 >
461  </P
462 ><P
463 >  Be sure to flush your browser's caches whenever making these kinds of
464   changes, just to make sure the changes <SPAN
465 CLASS="QUOTE"
466 >"take"</SPAN
467 >.
468  </P
469 ><P
470 >  Make sure the domain, host and path are appropriate as well. Your browser can
471   tell you where you are specifically and you should use that information for 
472   your configuration settings. Note that above it is not referenced as 
473   <TT
474 CLASS="LITERAL"
475 >gmail.com</TT
476 >, which is a valid domain name.
477  </P
478 ></DIV
479 ><DIV
480 CLASS="SECT2"
481 ><H3
482 CLASS="SECT2"
483 ><A
484 NAME="CONFIGFILES"
485 ></A
486 >3.8. What's the difference between the
487 <SPAN
488 CLASS="QUOTE"
489 >"Cautious"</SPAN
490 >, <SPAN
491 CLASS="QUOTE"
492 >"Medium"</SPAN
493 > and <SPAN
494 CLASS="QUOTE"
495 >"Advanced"</SPAN
496 > defaults?</H3
497 ><P
498 >  Configuring <SPAN
499 CLASS="APPLICATION"
500 >Privoxy</SPAN
501 > is not entirely trivial. To
502   help you get started, we provide you with three different default action
503   <SPAN
504 CLASS="QUOTE"
505 >"profiles"</SPAN
506 > in the web based actions file editor at <A
507 HREF="http://config.privoxy.org/show-status"
508 TARGET="_top"
509 >http://config.privoxy.org/show-status</A
510 >.
511   See the <A
512 HREF="../user-manual/actions-file.html"
513 TARGET="_top"
514 ><I
515 CLASS="CITETITLE"
516 >User
517   Manual</I
518 ></A
519 > for a list of actions, and how the default 
520   profiles are set.
521  </P
522 ><P
523 > Where the defaults are likely to break some sites, exceptions for
524  known popular <SPAN
525 CLASS="QUOTE"
526 >"problem"</SPAN
527 > sites are included, but in
528  general, the more aggressive your default settings are, the more exceptions
529  you will have to make later. See the <A
530 HREF="../user-manual/index.html"
531 TARGET="_top"
532 ><I
533 CLASS="CITETITLE"
534 >User Manual</I
535 ></A
536 >
537  for a more detailed discussion.</P
538 ><P
539 > It should be noted that the <SPAN
540 CLASS="QUOTE"
541 >"Advanced"</SPAN
542 > profile (formerly known 
543  as the <SPAN
544 CLASS="QUOTE"
545 >"Adventuresome"</SPAN
546 > profile) is more
547  aggressive, and will make use of some of 
548  <SPAN
549 CLASS="APPLICATION"
550 >Privoxy's</SPAN
551 > advanced features. Use at your own risk!</P
552 ></DIV
553 ><DIV
554 CLASS="SECT2"
555 ><H3
556 CLASS="SECT2"
557 ><A
558 NAME="BROWSECONFIG"
559 ></A
560 >3.9. Why can I change the configuration 
561 with a browser? Does that not raise security issues?</H3
562 ><P
563 >  It may seem strange that regular users can edit the config files with their
564   browsers, although the whole <TT
565 CLASS="FILENAME"
566 >/etc/privoxy</TT
567 > hierarchy
568   belongs to the user <SPAN
569 CLASS="QUOTE"
570 >"privoxy"</SPAN
571 >, with only 644 permissions.
572  </P
573 ><P
574 >  When you use the browser-based editor, <SPAN
575 CLASS="APPLICATION"
576 >Privoxy</SPAN
577 >
578   itself is writing to the config files.  Because
579   <SPAN
580 CLASS="APPLICATION"
581 >Privoxy</SPAN
582 > is running as the user <SPAN
583 CLASS="QUOTE"
584 >"privoxy"</SPAN
585 >,
586   it can update the config files.
587  </P
588 ><P
589 >  If you run <SPAN
590 CLASS="APPLICATION"
591 >Privoxy</SPAN
592 > for multiple untrusted users (e.g. in
593   a LAN), you will probably want to turn the web-based editor and remote toggle
594   features off by setting <SPAN
595 CLASS="QUOTE"
596 >"<TT
597 CLASS="LITERAL"
598 ><A
599 HREF="../user-manual/config.html#ENABLE-EDIT-ACTIONS"
600 TARGET="_top"
601 >enable-edit-actions</A
602 >
603   0</TT
604 >"</SPAN
605 > and <SPAN
606 CLASS="QUOTE"
607 >"<TT
608 CLASS="LITERAL"
609 ><A
610 HREF="../user-manual/config.html#ENABLE-REMOTE-TOGGLE"
611 TARGET="_top"
612 >enable-remote-toggle</A
613 >
614   0</TT
615 >"</SPAN
616 > in the <A
617 HREF="../user-manual/config.html"
618 TARGET="_top"
619 >main configuration file</A
620 >.
621  </P
622 ><P
623 >  Note that in the default configuration, only local users (i.e. those on
624   <SPAN
625 CLASS="QUOTE"
626 >"localhost"</SPAN
627 >) can connect to <SPAN
628 CLASS="APPLICATION"
629 >Privoxy</SPAN
630 >,
631   so this is not (normally) a security problem.
632  </P
633 ></DIV
634 ><DIV
635 CLASS="SECT2"
636 ><H3
637 CLASS="SECT2"
638 ><A
639 NAME="AEN467"
640 ></A
641 >3.10. What is the <TT
642 CLASS="FILENAME"
643 >default.filter</TT
644 > file? What is a <SPAN
645 CLASS="QUOTE"
646 >"filter"</SPAN
647 >?</H3
648 ><P
649 > The <A
650 HREF="../user-manual/filter-file.html"
651 TARGET="_top"
652 ><TT
653 CLASS="FILENAME"
654 >default.filter</TT
655 ></A
656 >
657  file is where <SPAN
658 CLASS="emphasis"
659 ><I
660 CLASS="EMPHASIS"
661 >filters</I
662 ></SPAN
663 > as supplied by the developers are defined. 
664  Filters are a special subset of actions that can be used to modify or
665  remove, web page content on the fly. Filters apply to <SPAN
666 CLASS="emphasis"
667 ><I
668 CLASS="EMPHASIS"
669 >anything</I
670 ></SPAN
671 >
672  in the page source (and optionally both client and server headers), including
673  HTML tags, and JavaScript. Regular expressions are used to accomplish this.
674  There are a number of pre-defined filters to deal with common annoyances. The
675  filters are only defined here, to invoke them, you need to use the
676  <A
677 HREF="../user-manual/actions-file.html#FILTER"
678 TARGET="_top"
679 ><TT
680 CLASS="LITERAL"
681 >filter</TT
682 >
683  action</A
684 > in one of the actions files. Filtering is automatically
685  disabled for inappropriate MIME types.</P
686 ><P
687 > If you are familiar with regular expressions, and HTML, you can look at 
688  the provided <TT
689 CLASS="FILENAME"
690 >default.filter</TT
691 > with a text editor and define
692  your own filters.  This is potentially a very powerful feature, but
693  requires some expertise in both regular expressions and HTML/HTTP. 
694   You should 
695  place any modifications to the default filters, or any new ones you create 
696  in a separate file, such as <TT
697 CLASS="FILENAME"
698 >user.filter</TT
699 >, so they won't 
700  be overwritten during upgrades. 
701  The ability to define multiple filter files 
702  in <TT
703 CLASS="FILENAME"
704 >config</TT
705 > is a new feature as of v. 3.0.5.</P
706 ><P
707 > There is no GUI editor option for this part of the configuration, 
708  but you can disable/enable the various pre-defined filters of the included 
709  <TT
710 CLASS="FILENAME"
711 >default.filter</TT
712 > file with the <A
713 HREF="http://config.privoxy.org/show-status"
714 TARGET="_top"
715 >web-based actions file editor</A
716 >.</P
717 ></DIV
718 ><DIV
719 CLASS="SECT2"
720 ><H3
721 CLASS="SECT2"
722 ><A
723 NAME="AEN485"
724 ></A
725 >3.11. How can I set up Privoxy to act as a proxy for my 
726  LAN?</H3
727 ><P
728 > By default, <SPAN
729 CLASS="APPLICATION"
730 >Privoxy</SPAN
731 > only responds to requests 
732  from <TT
733 CLASS="LITERAL"
734 >127.0.0.1</TT
735 > (localhost). To have it act as a server for
736  a network, this needs to be changed in the <A
737 HREF="../user-manual/config.html"
738 TARGET="_top"
739 >main configuration file</A
740 >. Look for
741  the <TT
742 CLASS="LITERAL"
743 ><A
744 HREF="../user-manual/config.html#LISTEN-ADDRESS"
745 TARGET="_top"
746 >listen-address</A
747 ></TT
748 >
749  option, which may be commented out with a <SPAN
750 CLASS="QUOTE"
751 >"#"</SPAN
752 > symbol. Make sure
753  it is uncommented, and assign it the address of the LAN gateway interface,
754  and port number to use. Assuming your LAN address is 192.168.1.1 and you
755  wish to run <SPAN
756 CLASS="APPLICATION"
757 >Privoxy</SPAN
758 > on port 8118, this line
759  should look like:</P
760 ><P
761 > <TABLE
762 BORDER="0"
763 BGCOLOR="#E0E0E0"
764 WIDTH="100%"
765 ><TR
766 ><TD
767 ><PRE
768 CLASS="SCREEN"
769 >  listen-address  192.168.1.1:8118</PRE
770 ></TD
771 ></TR
772 ></TABLE
773 ></P
774 ><P
775 > Save the file, and restart <SPAN
776 CLASS="APPLICATION"
777 >Privoxy</SPAN
778 >. Configure 
779  all browsers on the network then to use this address and port number.</P
780 ><P
781 > Alternately, you can have <SPAN
782 CLASS="APPLICATION"
783 >Privoxy</SPAN
784 > listen on 
785  all available interfaces:</P
786 ><P
787 > <TABLE
788 BORDER="0"
789 BGCOLOR="#E0E0E0"
790 WIDTH="100%"
791 ><TR
792 ><TD
793 ><PRE
794 CLASS="SCREEN"
795 >  listen-address    :8118</PRE
796 ></TD
797 ></TR
798 ></TABLE
799 ></P
800 ><P
801 > And then use <SPAN
802 CLASS="APPLICATION"
803 >Privoxy's</SPAN
804
805  <A
806 HREF="../user-manual/config.html#PERMIT-ACCESS"
807 TARGET="_top"
808 >permit-access</A
809
810  feature to limit connections. A firewall in this situation is recommended 
811  as well.</P
812 ><P
813 > The above steps should be the same for any TCP network, regardless of
814  operating system.</P
815 ><P
816 > If you run <SPAN
817 CLASS="APPLICATION"
818 >Privoxy</SPAN
819 > on a LAN with untrusted users,
820  we recommend that you double-check the <A
821 HREF="../user-manual/config.html#ACCESS-CONTROL"
822 TARGET="_top"
823 >access control and security</A
824 >
825  options!</P
826 ></DIV
827 ><DIV
828 CLASS="SECT2"
829 ><H3
830 CLASS="SECT2"
831 ><A
832 NAME="AEN510"
833 ></A
834 >3.12. Instead of ads, now I get a checkerboard pattern. I don't want to see anything.</H3
835 ><P
836 > The replacement for blocked images can be controlled with the <A
837 HREF="../user-manual/actions-file.html#SET-IMAGE-BLOCKER"
838 TARGET="_top"
839 ><TT
840 CLASS="LITERAL"
841 >set-image-blocker</TT
842 >
843  action</A
844 >. You have the choice of a checkerboard pattern, a transparent 1x1 GIF
845  image (aka <SPAN
846 CLASS="QUOTE"
847 >"blank"</SPAN
848 >), or a redirect to a custom image of your choice.
849  Note that this choice only has effect for images which are blocked as images, i.e.
850  whose URLs match both a <TT
851 CLASS="LITERAL"
852 ><A
853 HREF="../user-manual/actions-file.html#HANDLE-AS-IMAGE"
854 TARGET="_top"
855 >handle-as-image</A
856 ></TT
857 >
858  <SPAN
859 CLASS="emphasis"
860 ><I
861 CLASS="EMPHASIS"
862 >and</I
863 ></SPAN
864 > <TT
865 CLASS="LITERAL"
866 ><A
867 HREF="../user-manual/actions-file.html#BLOCK"
868 TARGET="_top"
869 >block</A
870 ></TT
871 > action.</P
872 ><P
873 > If you want to see nothing, then change the <A
874 HREF="../user-manual/actions-file.html#SET-IMAGE-BLOCKER"
875 TARGET="_top"
876 ><TT
877 CLASS="LITERAL"
878 >set-image-blocker</TT
879 >
880  action</A
881 > to <SPAN
882 CLASS="QUOTE"
883 >"blank"</SPAN
884 >. This can be done by editing the 
885  <TT
886 CLASS="FILENAME"
887 >default.action</TT
888 > file, or trough the <A
889 HREF="http://config.privoxy.org/show-status"
890 TARGET="_top"
891 >web-based actions file editor</A
892 >.</P
893 ></DIV
894 ><DIV
895 CLASS="SECT2"
896 ><H3
897 CLASS="SECT2"
898 ><A
899 NAME="AEN527"
900 ></A
901 >3.13. Why would anybody want to see a checkerboard pattern?</H3
902 ><P
903 > Remember that <A
904 HREF="general.html#WHATSANAD"
905 >telling which image is an ad and which
906  isn't</A
907 >, is mostly guesswork. While we hope that the standard configuration
908  is rather smart, it can and will make errors. The checkerboard image is visually
909  decent, but it shows you that and where images were blocked, which can be very
910  helpful in case some navigation aid or otherwise innocent image was
911  erroneously blocked. Some people might also enjoy seeing how many banners
912  they <SPAN
913 CLASS="emphasis"
914 ><I
915 CLASS="EMPHASIS"
916 >don't</I
917 ></SPAN
918 > have to see..</P
919 ></DIV
920 ><DIV
921 CLASS="SECT2"
922 ><H3
923 CLASS="SECT2"
924 ><A
925 NAME="AEN532"
926 ></A
927 >3.14. I see some images being replaced by a text
928 instead of the checkerboard image. Why and how do I get rid of this?</H3
929 ><P
930 > This happens when the banners are not embedded in the HTML code of the
931  page itself, but in separate HTML (sub)documents that are loaded into (i)frames
932  or (i)layers, and these external HTML documents are blocked. Being non-images
933  they get replaced by a substitute HTML page rather than a substitute image,
934  which wouldn't work out technically, since the browser expects and accepts
935  only HTML when it has requested an HTML document. </P
936 ><P
937 > The substitute page adapts to the available space and shows itself as a
938  miniature two-liner if loaded into small frames, or full-blown with a
939  large red "BLOCKED" banner if space allows.</P
940 ><P
941 > If you prefer the banners to be blocked by images, you must see to it that
942  the HTML documents in which they are embedded are not blocked. Clicking
943  the <SPAN
944 CLASS="QUOTE"
945 >"See why"</SPAN
946 > link offered in the substitute page will show
947  you which rule blocked the page. After changing the rule and un-blocking
948  the HTML documents, the browser will try to load the actual banner images
949  and the usual image blocking will (hopefully!) kick in.</P
950 ></DIV
951 ><DIV
952 CLASS="SECT2"
953 ><H3
954 CLASS="SECT2"
955 ><A
956 NAME="SRVANY"
957 ></A
958 >3.15. Can Privoxy run as a service 
959 on Win2K/NT/XP?</H3
960 ><P
961 > Yes. Version 3.0.5 introduces full <SPAN
962 CLASS="APPLICATION"
963 >Windows</SPAN
964 > service
965  functionality. See <A
966 HREF="../user-manual/installation.html#installation-pack-win"
967 TARGET="_top"
968 > the User Manual</A
969 > for details on how to install and configure 
970  <SPAN
971 CLASS="APPLICATION"
972 >Privoxy</SPAN
973 > as a service.</P
974 ><P
975 > Earlier 3.x versions could run as a system service using <B
976 CLASS="COMMAND"
977 >srvany.exe</B
978 >.
979  See the discussion at <A
980 HREF="http://sourceforge.net/tracker/?func=detail&atid=361118&aid=485617&group_id=11118"
981 TARGET="_top"
982 >http://sourceforge.net/tracker/?func=detail&#38;atid=361118&#38;aid=485617&#38;group_id=11118</A
983 >,
984  for details, and a sample configuration.</P
985 ></DIV
986 ><DIV
987 CLASS="SECT2"
988 ><H3
989 CLASS="SECT2"
990 ><A
991 NAME="OTHERPROXY"
992 ></A
993 >3.16. How can I make Privoxy work with other 
994 proxies like Squid or Tor?</H3
995 ><P
996 > This can be done and is often useful to combine the benefits of
997  <SPAN
998 CLASS="APPLICATION"
999 >Privoxy</SPAN
1000 > with those of a another proxy.
1001  See the <A
1002 HREF="../user-manual/config.html#FORWARDING"
1003 TARGET="_top"
1004 >forwarding chapter</A
1005 >
1006  in the <A
1007 HREF="../user-manual/index.html"
1008 TARGET="_top"
1009 >User Manual</A
1010 > which
1011  describes how to do this, and the <A
1012 HREF="misc.html#TOR"
1013 > How do I use Privoxy together with 
1014  Tor</A
1015 > section below.</P
1016 ></DIV
1017 ><DIV
1018 CLASS="SECT2"
1019 ><H3
1020 CLASS="SECT2"
1021 ><A
1022 NAME="PORT-80"
1023 ></A
1024 >3.17. Can I just set Privoxy to use port 80
1025 and thus avoid individual browser configuration?</H3
1026 ><P
1027 > No, its more complicated than that. This only works with special kinds 
1028  of proxies known as <SPAN
1029 CLASS="QUOTE"
1030 >"transparent"</SPAN
1031 > proxies (see below).</P
1032 ></DIV
1033 ><DIV
1034 CLASS="SECT2"
1035 ><H3
1036 CLASS="SECT2"
1037 ><A
1038 NAME="TRANSPARENT"
1039 ></A
1040 >3.18. Can Privoxy run as a <SPAN
1041 CLASS="QUOTE"
1042 >"transparent"</SPAN
1043 > proxy?</H3
1044 ><P
1045 > No, <SPAN
1046 CLASS="APPLICATION"
1047 >Privoxy</SPAN
1048 > currently does not have this ability, 
1049  though it may be added in a future release. Transparent proxies require 
1050  special handling of the request headers beyond what
1051  <SPAN
1052 CLASS="APPLICATION"
1053 >Privoxy</SPAN
1054 > is now capable of.</P
1055 ><P
1056 > Chaining <SPAN
1057 CLASS="APPLICATION"
1058 >Privoxy</SPAN
1059 > behind another proxy that has 
1060  this ability should work though. 
1061  See the <A
1062 HREF="../user-manual/config.html#FORWARDING"
1063 TARGET="_top"
1064 >forwarding chapter</A
1065 >
1066  in the <A
1067 HREF="../user-manual/index.html"
1068 TARGET="_top"
1069 >User Manual</A
1070 >. As
1071  a transparent proxy to be used for chaining we recommend Transproxy
1072  (<A
1073 HREF="http://transproxy.sourceforge.net/"
1074 TARGET="_top"
1075 >http://transproxy.sourceforge.net/</A
1076 >).</P
1077 ></DIV
1078 ><DIV
1079 CLASS="SECT2"
1080 ><H3
1081 CLASS="SECT2"
1082 ><A
1083 NAME="OUTLOOK"
1084 ></A
1085 >3.19. How can I configure Privoxy for use with Outlook
1086  Express?</H3
1087 ><P
1088 > <SPAN
1089 CLASS="APPLICATION"
1090 >Outlook Express</SPAN
1091 > uses <SPAN
1092 CLASS="APPLICATION"
1093 >Internet Explorer</SPAN
1094
1095  components to both render HTML, and fetch any HTTP requests that may be embedded in an HTML email.
1096  So however you have <SPAN
1097 CLASS="APPLICATION"
1098 >Privoxy</SPAN
1099 > configured to work
1100  with IE, this configuration should automatically be shared.</P
1101 ></DIV
1102 ><DIV
1103 CLASS="SECT2"
1104 ><H3
1105 CLASS="SECT2"
1106 ><A
1107 NAME="OUTLOOK-MORE"
1108 ></A
1109 >3.20. How can I have separate rules just for HTML mail?</H3
1110 ><P
1111 > The short answer is, you can't. <SPAN
1112 CLASS="APPLICATION"
1113 >Privoxy</SPAN
1114 > has no way
1115  of knowing which particular application makes a request, so there is no way to
1116  distinguish between web pages and HTML mail.
1117  <SPAN
1118 CLASS="APPLICATION"
1119 >Privoxy</SPAN
1120 > just blindly proxies all requests. In the
1121  case of <SPAN
1122 CLASS="APPLICATION"
1123 >Outlook Express</SPAN
1124 > (see above), OE uses 
1125  IE anyway, and there is no way for <SPAN
1126 CLASS="APPLICATION"
1127 >Privoxy</SPAN
1128 > to ever 
1129  be able to distinguish between them (nor could any other proxy type application for
1130  that matter).</P
1131 ><P
1132 > For a good discussion of some of the issues involved (including privacy and 
1133  security issues), see 
1134  <A
1135 HREF="http://sourceforge.net/tracker/?func=detail&atid=211118&aid=629518&group_id=11118"
1136 TARGET="_top"
1137 >http://sourceforge.net/tracker/?func=detail&#38;atid=211118&#38;aid=629518&#38;group_id=11118</A
1138 >.</P
1139 ></DIV
1140 ><DIV
1141 CLASS="SECT2"
1142 ><H3
1143 CLASS="SECT2"
1144 ><A
1145 NAME="SNEAKY-COOKIES"
1146 ></A
1147 >3.21. I sometimes notice cookies sneaking through. How?</H3
1148 ><P
1149 > <A
1150 HREF="http://en.wikipedia.org/wiki/Browser_cookie"
1151 TARGET="_top"
1152 >Cookies</A
1153 > can be 
1154  set in several ways. The classic method is via the 
1155  <TT
1156 CLASS="LITERAL"
1157 >Set-Cookie</TT
1158 > HTTP header. This is straightforward, and an
1159  easy one to manipulate, such as the <SPAN
1160 CLASS="APPLICATION"
1161 >Privoxy</SPAN
1162 > concept of 
1163  <A
1164 HREF="../user-manual/actions-file.html#SESSION-COOKIES-ONLY"
1165 TARGET="_top"
1166 >session-cookies-only</A
1167 >.
1168  There is also the possibility of using 
1169   <A
1170 HREF="http://en.wikipedia.org/wiki/Javascript"
1171 TARGET="_top"
1172 >Javascript</A
1173 > to
1174  set cookies (<SPAN
1175 CLASS="APPLICATION"
1176 >Privoxy</SPAN
1177 > calls these <TT
1178 CLASS="LITERAL"
1179 >content-cookies</TT
1180 >). This
1181  is trickier because the syntax can vary widely, and thus requires a certain
1182  amount of guesswork. It is not realistic to catch all of these short of
1183  disabling Javascript, which would break many sites. And lastly, if the
1184  cookies are embedded in a HTTPS/SSL secure session via Javascript, they are beyond
1185  <SPAN
1186 CLASS="APPLICATION"
1187 >Privoxy's</SPAN
1188 > reach.</P
1189 ><P
1190 > All in all, <SPAN
1191 CLASS="APPLICATION"
1192 >Privoxy</SPAN
1193 > can help manage cookies in general, can help minimize
1194  the loss of privacy posed by cookies, but can't realistically stop all
1195  cookies.</P
1196 ></DIV
1197 ><DIV
1198 CLASS="SECT2"
1199 ><H3
1200 CLASS="SECT2"
1201 ><A
1202 NAME="EVIL-COOKIES"
1203 ></A
1204 >3.22. Are all cookies bad? Why?</H3
1205 ><P
1206 > No, in fact there are many beneficial uses of 
1207  <A
1208 HREF="http://en.wikipedia.org/wiki/Browser_cookie"
1209 TARGET="_top"
1210 >cookies</A
1211 >. Cookies are just a
1212  method that browsers can use to store data between pages, or between browser
1213  sessions. Sometimes there is a good reason for this, and the user's life is a
1214  bit easier as a result. But there is a long history of some websites taking
1215  advantage of this layer of trust, and using the data they glean from you  and 
1216  your browsing habits for their own purposes, and maybe to your potential
1217  detriment. Such sites are using you and storing their data on your system.
1218  That is why the security conscious watch from whom those cookies come, and why
1219  they really <SPAN
1220 CLASS="emphasis"
1221 ><I
1222 CLASS="EMPHASIS"
1223 >need</I
1224 ></SPAN
1225 > to be there.</P
1226 ><P
1227 >  See the 
1228    <A
1229 HREF="http://en.wikipedia.org/wiki/Browser_cookie"
1230 TARGET="_top"
1231 >Wikipedia cookie
1232   definition</A
1233 > for more.</P
1234 ></DIV
1235 ><DIV
1236 CLASS="SECT2"
1237 ><H3
1238 CLASS="SECT2"
1239 ><A
1240 NAME="ALLOW-COOKIES"
1241 ></A
1242 >3.23. How can I allow permanent cookies for my trusted sites?</H3
1243 ><P
1244 >  There are several actions that relate to cookies. The default behavior is to 
1245   allow only <SPAN
1246 CLASS="QUOTE"
1247 >"session cookies"</SPAN
1248 >, which means the cookies only last
1249   for the current browser session. This eliminates most kinds of abuse related 
1250   to cookies. But there may be cases where we want cookies to last.</P
1251 ><P
1252 >  To disable all cookie actions, so that cookies are allowed unrestricted,
1253   both in and out, for <TT
1254 CLASS="LITERAL"
1255 >example.com</TT
1256 >: </P
1257 ><P
1258 > <TABLE
1259 BORDER="0"
1260 BGCOLOR="#E0E0E0"
1261 WIDTH="100%"
1262 ><TR
1263 ><TD
1264 ><PRE
1265 CLASS="SCREEN"
1266 > { -crunch-incoming-cookies -crunch-outgoing-cookies -session-cookies-only -filter{content-cookies} }
1267   .example.com</PRE
1268 ></TD
1269 ></TR
1270 ></TABLE
1271 ></P
1272 ><P
1273 > Place the above in <TT
1274 CLASS="FILENAME"
1275 >user.action</TT
1276 >. Note some of these may
1277  be off by default anyway, so this might be redundant, but there is no harm
1278  being explicit in what you want to happen. <TT
1279 CLASS="FILENAME"
1280 >user.action</TT
1281 >
1282  includes an alias for this situation, called
1283  <TT
1284 CLASS="LITERAL"
1285 >allow-all-cookies</TT
1286 >.</P
1287 ></DIV
1288 ><DIV
1289 CLASS="SECT2"
1290 ><H3
1291 CLASS="SECT2"
1292 ><A
1293 NAME="MULTIPLES"
1294 ></A
1295 >3.24. Can I have separate configurations for different users?</H3
1296 ><P
1297 > Each instance of <SPAN
1298 CLASS="APPLICATION"
1299 >Privoxy</SPAN
1300 > has its own
1301  configuration, including such attributes as the TCP port that it listens on.
1302  What you can do is run multiple instances of <SPAN
1303 CLASS="APPLICATION"
1304 >Privoxy</SPAN
1305 >, each with 
1306  a unique <TT
1307 CLASS="LITERAL"
1308 >listen-address</TT
1309 > and configuration path, and then
1310  each of these can have their own configurations. Think of it as per-port
1311  configuration.</P
1312 ><P
1313
1314  Simple enough for a few users, but for large installations, consider having
1315  groups of users that might share like configurations.</P
1316 ></DIV
1317 ><DIV
1318 CLASS="SECT2"
1319 ><H3
1320 CLASS="SECT2"
1321 ><A
1322 NAME="WHITELISTS"
1323 ></A
1324 >3.25. Can I set-up Privoxy as a whitelist of
1325 <SPAN
1326 CLASS="QUOTE"
1327 >"good"</SPAN
1328 > sites?</H3
1329 ><P
1330 > Sure. There are a couple of things you can do for simple whitelisting.
1331  Here's one real easy one:</P
1332 ><TABLE
1333 BORDER="0"
1334 BGCOLOR="#E0E0E0"
1335 WIDTH="100%"
1336 ><TR
1337 ><TD
1338 ><PRE
1339 CLASS="SCREEN"
1340 > ############################################################
1341  # Blacklist
1342  ############################################################
1343  { <A
1344 HREF="../user-manual/actions-file.html#BLOCK"
1345 TARGET="_top"
1346 >+block</A
1347 > }
1348  / # Block *all* URLs
1349  
1350  ############################################################
1351  # Whitelist
1352  ############################################################
1353  { <A
1354 HREF="../user-manual/actions-file.html#BLOCK"
1355 TARGET="_top"
1356 >-block</A
1357 > }
1358   kids.example.com
1359   toys.example.com
1360   games.example.com</PRE
1361 ></TD
1362 ></TR
1363 ></TABLE
1364 ><P
1365 > This allows access to only those three sites.</P
1366 ><P
1367 > A more interesting approach is <SPAN
1368 CLASS="APPLICATION"
1369 >Privoxy's</SPAN
1370
1371  <TT
1372 CLASS="LITERAL"
1373 >trustfile</TT
1374 > concept, which incorporates the notion of 
1375  <SPAN
1376 CLASS="QUOTE"
1377 >"trusted referrers"</SPAN
1378 >. See the <A
1379 HREF="../user-manual/config.html#TRUSTFILE"
1380 TARGET="_top"
1381 >User Manual Trust</A
1382 >
1383  documentation.</P
1384 ><P
1385 > These are fairly simple approaches and are not completely foolproof. There
1386  are various other configuration options that should be disabled (described
1387  elsewhere here and in <A
1388 HREF="../user-manual/"
1389 TARGET="_top"
1390 >the User Manual</A
1391 >)
1392  so that users can't modify their own configuration and easily circumvent the
1393  whitelist.</P
1394 ></DIV
1395 ></DIV
1396 ><DIV
1397 CLASS="NAVFOOTER"
1398 ><HR
1399 ALIGN="LEFT"
1400 WIDTH="100%"><TABLE
1401 SUMMARY="Footer navigation table"
1402 WIDTH="100%"
1403 BORDER="0"
1404 CELLPADDING="0"
1405 CELLSPACING="0"
1406 ><TR
1407 ><TD
1408 WIDTH="33%"
1409 ALIGN="left"
1410 VALIGN="top"
1411 ><A
1412 HREF="installation.html"
1413 ACCESSKEY="P"
1414 >Prev</A
1415 ></TD
1416 ><TD
1417 WIDTH="34%"
1418 ALIGN="center"
1419 VALIGN="top"
1420 ><A
1421 HREF="index.html"
1422 ACCESSKEY="H"
1423 >Home</A
1424 ></TD
1425 ><TD
1426 WIDTH="33%"
1427 ALIGN="right"
1428 VALIGN="top"
1429 ><A
1430 HREF="misc.html"
1431 ACCESSKEY="N"
1432 >Next</A
1433 ></TD
1434 ></TR
1435 ><TR
1436 ><TD
1437 WIDTH="33%"
1438 ALIGN="left"
1439 VALIGN="top"
1440 >Installation</TD
1441 ><TD
1442 WIDTH="34%"
1443 ALIGN="center"
1444 VALIGN="top"
1445 >&nbsp;</TD
1446 ><TD
1447 WIDTH="33%"
1448 ALIGN="right"
1449 VALIGN="top"
1450 >Miscellaneous</TD
1451 ></TR
1452 ></TABLE
1453 ></DIV
1454 ></BODY
1455 ></HTML
1456 >