Added default-server-timeout description.
[privoxy.git] / doc / webserver / user-manual / config.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 >The Main Configuration File</TITLE
6 ><META
7 NAME="GENERATOR"
8 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
9 REL="HOME"
10 TITLE="Privoxy 3.0.16 User Manual"
11 HREF="index.html"><LINK
12 REL="PREVIOUS"
13 TITLE="Privoxy Configuration"
14 HREF="configuration.html"><LINK
15 REL="NEXT"
16 TITLE="Actions Files"
17 HREF="actions-file.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">
24 <LINK REL="STYLESHEET" TYPE="text/css" HREF="p_doc.css">
25 </head
26 ><BODY
27 CLASS="SECT1"
28 BGCOLOR="#EEEEEE"
29 TEXT="#000000"
30 LINK="#0000FF"
31 VLINK="#840084"
32 ALINK="#0000FF"
33 ><DIV
34 CLASS="NAVHEADER"
35 ><TABLE
36 SUMMARY="Header navigation table"
37 WIDTH="100%"
38 BORDER="0"
39 CELLPADDING="0"
40 CELLSPACING="0"
41 ><TR
42 ><TH
43 COLSPAN="3"
44 ALIGN="center"
45 >Privoxy 3.0.16 User Manual</TH
46 ></TR
47 ><TR
48 ><TD
49 WIDTH="10%"
50 ALIGN="left"
51 VALIGN="bottom"
52 ><A
53 HREF="configuration.html"
54 ACCESSKEY="P"
55 >Prev</A
56 ></TD
57 ><TD
58 WIDTH="80%"
59 ALIGN="center"
60 VALIGN="bottom"
61 ></TD
62 ><TD
63 WIDTH="10%"
64 ALIGN="right"
65 VALIGN="bottom"
66 ><A
67 HREF="actions-file.html"
68 ACCESSKEY="N"
69 >Next</A
70 ></TD
71 ></TR
72 ></TABLE
73 ><HR
74 ALIGN="LEFT"
75 WIDTH="100%"></DIV
76 ><DIV
77 CLASS="SECT1"
78 ><H1
79 CLASS="SECT1"
80 ><A
81 NAME="CONFIG"
82 >7. The Main Configuration File</A
83 ></H1
84 ><P
85 > Again, the main configuration file is named <TT
86 CLASS="FILENAME"
87 >config</TT
88 > on
89  Linux/Unix/BSD and OS/2, and <TT
90 CLASS="FILENAME"
91 >config.txt</TT
92 > on Windows.
93  Configuration lines consist of an initial keyword followed by a list of
94  values, all separated by whitespace (any number of spaces or tabs). For
95  example:</P
96 ><P
97 > <TT
98 CLASS="LITERAL"
99 >  <P
100 CLASS="LITERALLAYOUT"
101 >&nbsp;&nbsp;<SPAN
102 CLASS="emphasis"
103 ><I
104 CLASS="EMPHASIS"
105 >confdir /etc/privoxy</I
106 ></SPAN
107 ></P
108 >
109  </TT
110 > </P
111 ><P
112 > Assigns the value <TT
113 CLASS="LITERAL"
114 >/etc/privoxy</TT
115 > to the option
116  <TT
117 CLASS="LITERAL"
118 >confdir</TT
119 > and thus indicates that the configuration
120  directory is named <SPAN
121 CLASS="QUOTE"
122 >"/etc/privoxy/"</SPAN
123 >.</P
124 ><P
125 > All options in the config file except for <TT
126 CLASS="LITERAL"
127 >confdir</TT
128 > and
129  <TT
130 CLASS="LITERAL"
131 >logdir</TT
132 > are optional. Watch out in the below description
133  for what happens if you leave them unset.</P
134 ><P
135 > The main config file controls all aspects of <SPAN
136 CLASS="APPLICATION"
137 >Privoxy</SPAN
138 >'s
139  operation that are not location dependent (i.e. they apply universally, no matter
140  where you may be surfing). Like the filter and action files, the config file is
141  a plain text file and can be modified with a text editor like emacs, vim or
142  notepad.exe.</P
143 ><DIV
144 CLASS="SECT2"
145 ><H2
146 CLASS="SECT2"
147 ><A
148 NAME="LOCAL-SET-UP"
149 >7.1. Local Set-up Documentation</A
150 ></H2
151 ><P
152 >    If you intend to operate <SPAN
153 CLASS="APPLICATION"
154 >Privoxy</SPAN
155 > for more users
156     than just yourself, it might be a good idea to let them know how to reach
157     you, what you block and why you do that, your policies, etc.
158    </P
159 ><DIV
160 CLASS="SECT3"
161 ><H4
162 CLASS="SECT3"
163 ><A
164 NAME="USER-MANUAL"
165 >7.1.1. user-manual</A
166 ></H4
167 ><P
168 ></P
169 ><DIV
170 CLASS="VARIABLELIST"
171 ><DL
172 ><DT
173 >Specifies:</DT
174 ><DD
175 ><P
176 >    Location of the <SPAN
177 CLASS="APPLICATION"
178 >Privoxy</SPAN
179 > User Manual.
180    </P
181 ></DD
182 ><DT
183 >Type of value:</DT
184 ><DD
185 ><P
186 >A fully qualified URI</P
187 ></DD
188 ><DT
189 >Default value:</DT
190 ><DD
191 ><P
192 ><SPAN
193 CLASS="emphasis"
194 ><I
195 CLASS="EMPHASIS"
196 >Unset</I
197 ></SPAN
198 ></P
199 ></DD
200 ><DT
201 >Effect if unset:</DT
202 ><DD
203 ><P
204 >    <A
205 HREF="http://www.privoxy.org/user-manual/"
206 TARGET="_top"
207 >http://www.privoxy.org/<TT
208 CLASS="REPLACEABLE"
209 ><I
210 >version</I
211 ></TT
212 >/user-manual/</A
213 >
214     will be used, where <TT
215 CLASS="REPLACEABLE"
216 ><I
217 >version</I
218 ></TT
219 > is the <SPAN
220 CLASS="APPLICATION"
221 >Privoxy</SPAN
222 > version.
223    </P
224 ></DD
225 ><DT
226 >Notes:</DT
227 ><DD
228 ><P
229 >    The User Manual URI is the single best source of information on 
230     <SPAN
231 CLASS="APPLICATION"
232 >Privoxy</SPAN
233 >, and is used for help links from some
234     of the internal CGI pages. The manual itself is normally packaged with the
235     binary distributions, so you probably want to set this to a locally
236     installed copy. 
237    </P
238 ><P
239 >    Examples:
240    </P
241 ><P
242 >   The best all purpose solution is simply to put the full local
243    <TT
244 CLASS="LITERAL"
245 >PATH</TT
246 > to where the <I
247 CLASS="CITETITLE"
248 >User Manual</I
249 > is
250    located:
251   </P
252 ><P
253 >   <TABLE
254 BORDER="0"
255 BGCOLOR="#E0E0E0"
256 WIDTH="90%"
257 ><TR
258 ><TD
259 ><PRE
260 CLASS="SCREEN"
261 >  user-manual  /usr/share/doc/privoxy/user-manual</PRE
262 ></TD
263 ></TR
264 ></TABLE
265 >
266   </P
267 ><P
268 >   The User Manual is then available to anyone with access to
269    <SPAN
270 CLASS="APPLICATION"
271 >Privoxy</SPAN
272 >, by following the built-in URL:
273    <TT
274 CLASS="LITERAL"
275 >http://config.privoxy.org/user-manual/</TT
276 >
277    (or the shortcut: <TT
278 CLASS="LITERAL"
279 >http://p.p/user-manual/</TT
280 >).
281   </P
282 ><P
283 >   If the documentation is not on the local system, it can be accessed 
284    from a remote server, as:
285   </P
286 ><P
287 >   <TABLE
288 BORDER="0"
289 BGCOLOR="#E0E0E0"
290 WIDTH="90%"
291 ><TR
292 ><TD
293 ><PRE
294 CLASS="SCREEN"
295 >  user-manual  http://example.com/privoxy/user-manual/</PRE
296 ></TD
297 ></TR
298 ></TABLE
299 >
300   </P
301 ><DIV
302 CLASS="WARNING"
303 ><P
304 ></P
305 ><TABLE
306 CLASS="WARNING"
307 BORDER="1"
308 WIDTH="90%"
309 ><TR
310 ><TD
311 ALIGN="CENTER"
312 ><B
313 >Warning</B
314 ></TD
315 ></TR
316 ><TR
317 ><TD
318 ALIGN="LEFT"
319 ><P
320 >     If set, this option should be <SPAN
321 CLASS="emphasis"
322 ><I
323 CLASS="EMPHASIS"
324 >the first option in the config
325      file</I
326 ></SPAN
327 >, because it is used while the config file is being read
328      on start-up.
329    </P
330 ></TD
331 ></TR
332 ></TABLE
333 ></DIV
334 ></DD
335 ></DL
336 ></DIV
337 ></DIV
338 ><DIV
339 CLASS="SECT3"
340 ><H4
341 CLASS="SECT3"
342 ><A
343 NAME="TRUST-INFO-URL"
344 >7.1.2. trust-info-url</A
345 ></H4
346 ><P
347 ></P
348 ><DIV
349 CLASS="VARIABLELIST"
350 ><DL
351 ><DT
352 >Specifies:</DT
353 ><DD
354 ><P
355 >    A URL to be displayed in the error page that users will see if access to an untrusted page is denied.    
356    </P
357 ></DD
358 ><DT
359 >Type of value:</DT
360 ><DD
361 ><P
362 >URL</P
363 ></DD
364 ><DT
365 >Default value:</DT
366 ><DD
367 ><P
368 ><SPAN
369 CLASS="emphasis"
370 ><I
371 CLASS="EMPHASIS"
372 >Unset</I
373 ></SPAN
374 ></P
375 ></DD
376 ><DT
377 >Effect if unset:</DT
378 ><DD
379 ><P
380 >    No links are displayed on the "untrusted" error page.
381    </P
382 ></DD
383 ><DT
384 >Notes:</DT
385 ><DD
386 ><P
387 >    The value of this option only matters if the experimental trust mechanism has been
388     activated. (See <A
389 HREF="config.html#TRUSTFILE"
390 ><SPAN
391 CLASS="emphasis"
392 ><I
393 CLASS="EMPHASIS"
394 >trustfile</I
395 ></SPAN
396 ></A
397 > below.)
398    </P
399 ><P
400 >    If you use the trust mechanism, it is a good idea to write up some on-line
401     documentation about your trust policy and to specify the URL(s) here.
402     Use multiple times for multiple URLs.
403    </P
404 ><P
405 >    The URL(s) should be added to the trustfile as well, so users don't end up
406     locked out from the information on why they were locked out in the first place!
407    </P
408 ></DD
409 ></DL
410 ></DIV
411 ></DIV
412 ><DIV
413 CLASS="SECT3"
414 ><H4
415 CLASS="SECT3"
416 ><A
417 NAME="ADMIN-ADDRESS"
418 >7.1.3. admin-address</A
419 ></H4
420 ><P
421 ></P
422 ><DIV
423 CLASS="VARIABLELIST"
424 ><DL
425 ><DT
426 >Specifies:</DT
427 ><DD
428 ><P
429 >    An email address to reach the <SPAN
430 CLASS="APPLICATION"
431 >Privoxy</SPAN
432 > administrator.
433    </P
434 ></DD
435 ><DT
436 >Type of value:</DT
437 ><DD
438 ><P
439 >Email address</P
440 ></DD
441 ><DT
442 >Default value:</DT
443 ><DD
444 ><P
445 ><SPAN
446 CLASS="emphasis"
447 ><I
448 CLASS="EMPHASIS"
449 >Unset</I
450 ></SPAN
451 ></P
452 ></DD
453 ><DT
454 >Effect if unset:</DT
455 ><DD
456 ><P
457 >    No email address is displayed on error pages and the CGI user interface.
458    </P
459 ></DD
460 ><DT
461 >Notes:</DT
462 ><DD
463 ><P
464 >    If both <TT
465 CLASS="LITERAL"
466 >admin-address</TT
467 > and <TT
468 CLASS="LITERAL"
469 >proxy-info-url</TT
470 >
471     are unset, the whole "Local Privoxy Support" box on all generated pages will
472     not be shown.
473    </P
474 ></DD
475 ></DL
476 ></DIV
477 ></DIV
478 ><DIV
479 CLASS="SECT3"
480 ><H4
481 CLASS="SECT3"
482 ><A
483 NAME="PROXY-INFO-URL"
484 >7.1.4. proxy-info-url</A
485 ></H4
486 ><P
487 ></P
488 ><DIV
489 CLASS="VARIABLELIST"
490 ><DL
491 ><DT
492 >Specifies:</DT
493 ><DD
494 ><P
495 >    A URL to documentation about the local <SPAN
496 CLASS="APPLICATION"
497 >Privoxy</SPAN
498 > setup,
499     configuration or policies.
500    </P
501 ></DD
502 ><DT
503 >Type of value:</DT
504 ><DD
505 ><P
506 >URL</P
507 ></DD
508 ><DT
509 >Default value:</DT
510 ><DD
511 ><P
512 ><SPAN
513 CLASS="emphasis"
514 ><I
515 CLASS="EMPHASIS"
516 >Unset</I
517 ></SPAN
518 ></P
519 ></DD
520 ><DT
521 >Effect if unset:</DT
522 ><DD
523 ><P
524 >    No link to local documentation is displayed on error pages and the CGI user interface.
525    </P
526 ></DD
527 ><DT
528 >Notes:</DT
529 ><DD
530 ><P
531 >    If both <TT
532 CLASS="LITERAL"
533 >admin-address</TT
534 > and <TT
535 CLASS="LITERAL"
536 >proxy-info-url</TT
537 >
538     are unset, the whole "Local Privoxy Support" box on all generated pages will
539     not be shown.
540    </P
541 ><P
542 >    This URL shouldn't be blocked ;-)
543    </P
544 ></DD
545 ></DL
546 ></DIV
547 ></DIV
548 ></DIV
549 ><DIV
550 CLASS="SECT2"
551 ><H2
552 CLASS="SECT2"
553 ><A
554 NAME="CONF-LOG-LOC"
555 >7.2. Configuration and Log File Locations</A
556 ></H2
557 ><P
558 > <SPAN
559 CLASS="APPLICATION"
560 >Privoxy</SPAN
561 > can (and normally does) use a number of
562  other files for additional configuration, help and logging.
563  This section of the configuration file tells <SPAN
564 CLASS="APPLICATION"
565 >Privoxy</SPAN
566 >
567  where to find those other files. </P
568 ><P
569 > The user running <SPAN
570 CLASS="APPLICATION"
571 >Privoxy</SPAN
572 >, must have read
573  permission for all configuration files, and write permission to any files
574  that would be modified, such as log files and actions files.</P
575 ><DIV
576 CLASS="SECT3"
577 ><H4
578 CLASS="SECT3"
579 ><A
580 NAME="CONFDIR"
581 >7.2.1. confdir</A
582 ></H4
583 ><P
584 ></P
585 ><DIV
586 CLASS="VARIABLELIST"
587 ><DL
588 ><DT
589 >Specifies:</DT
590 ><DD
591 ><P
592 >The directory where the other configuration files are located.</P
593 ></DD
594 ><DT
595 >Type of value:</DT
596 ><DD
597 ><P
598 >Path name</P
599 ></DD
600 ><DT
601 >Default value:</DT
602 ><DD
603 ><P
604 >/etc/privoxy (Unix) <SPAN
605 CLASS="emphasis"
606 ><I
607 CLASS="EMPHASIS"
608 >or</I
609 ></SPAN
610 > <SPAN
611 CLASS="APPLICATION"
612 >Privoxy</SPAN
613 > installation dir (Windows) </P
614 ></DD
615 ><DT
616 >Effect if unset:</DT
617 ><DD
618 ><P
619 ><SPAN
620 CLASS="emphasis"
621 ><I
622 CLASS="EMPHASIS"
623 >Mandatory</I
624 ></SPAN
625 ></P
626 ></DD
627 ><DT
628 >Notes:</DT
629 ><DD
630 ><P
631 >    No trailing <SPAN
632 CLASS="QUOTE"
633 >"<TT
634 CLASS="LITERAL"
635 >/</TT
636 >"</SPAN
637 >, please.
638    </P
639 ></DD
640 ></DL
641 ></DIV
642 ></DIV
643 ><DIV
644 CLASS="SECT3"
645 ><H4
646 CLASS="SECT3"
647 ><A
648 NAME="TEMPLDIR"
649 >7.2.2. templdir</A
650 ></H4
651 ><P
652 ></P
653 ><DIV
654 CLASS="VARIABLELIST"
655 ><DL
656 ><DT
657 >Specifies:</DT
658 ><DD
659 ><P
660 >An alternative directory where the templates are loaded from.</P
661 ></DD
662 ><DT
663 >Type of value:</DT
664 ><DD
665 ><P
666 >Path name</P
667 ></DD
668 ><DT
669 >Default value:</DT
670 ><DD
671 ><P
672 >unset</P
673 ></DD
674 ><DT
675 >Effect if unset:</DT
676 ><DD
677 ><P
678 >The templates are assumed to be located in confdir/template.</P
679 ></DD
680 ><DT
681 >Notes:</DT
682 ><DD
683 ><P
684 >    <SPAN
685 CLASS="APPLICATION"
686 >Privoxy's</SPAN
687 > original templates are usually
688     overwritten with each update. Use this option to relocate customized
689     templates that should be kept. As template variables might change
690     between updates, you shouldn't expect templates to work with
691     <SPAN
692 CLASS="APPLICATION"
693 >Privoxy</SPAN
694 > releases other than the one
695     they were part of, though.
696    </P
697 ></DD
698 ></DL
699 ></DIV
700 ></DIV
701 ><DIV
702 CLASS="SECT3"
703 ><H4
704 CLASS="SECT3"
705 ><A
706 NAME="LOGDIR"
707 >7.2.3. logdir</A
708 ></H4
709 ><P
710 ></P
711 ><DIV
712 CLASS="VARIABLELIST"
713 ><DL
714 ><DT
715 >Specifies:</DT
716 ><DD
717 ><P
718 >    The directory where all logging takes place
719     (i.e. where the <TT
720 CLASS="FILENAME"
721 >logfile</TT
722 > is located).
723    </P
724 ></DD
725 ><DT
726 >Type of value:</DT
727 ><DD
728 ><P
729 >Path name</P
730 ></DD
731 ><DT
732 >Default value:</DT
733 ><DD
734 ><P
735 >/var/log/privoxy (Unix) <SPAN
736 CLASS="emphasis"
737 ><I
738 CLASS="EMPHASIS"
739 >or</I
740 ></SPAN
741 > <SPAN
742 CLASS="APPLICATION"
743 >Privoxy</SPAN
744 > installation dir (Windows) </P
745 ></DD
746 ><DT
747 >Effect if unset:</DT
748 ><DD
749 ><P
750 ><SPAN
751 CLASS="emphasis"
752 ><I
753 CLASS="EMPHASIS"
754 >Mandatory</I
755 ></SPAN
756 ></P
757 ></DD
758 ><DT
759 >Notes:</DT
760 ><DD
761 ><P
762 >    No trailing <SPAN
763 CLASS="QUOTE"
764 >"<TT
765 CLASS="LITERAL"
766 >/</TT
767 >"</SPAN
768 >, please.
769    </P
770 ></DD
771 ></DL
772 ></DIV
773 ></DIV
774 ><DIV
775 CLASS="SECT3"
776 ><H4
777 CLASS="SECT3"
778 ><A
779 NAME="ACTIONSFILE"
780 >7.2.4. actionsfile</A
781 ></H4
782 ><A
783 NAME="DEFAULT.ACTION"
784 ></A
785 ><A
786 NAME="STANDARD.ACTION"
787 ></A
788 ><A
789 NAME="USER.ACTION"
790 ></A
791 ><P
792 ></P
793 ><DIV
794 CLASS="VARIABLELIST"
795 ><DL
796 ><DT
797 >Specifies:</DT
798 ><DD
799 ><P
800 >    The <A
801 HREF="actions-file.html"
802 >actions file(s)</A
803 > to use
804    </P
805 ></DD
806 ><DT
807 >Type of value:</DT
808 ><DD
809 ><P
810 >Complete file name, relative to <TT
811 CLASS="LITERAL"
812 >confdir</TT
813 ></P
814 ></DD
815 ><DT
816 >Default values:</DT
817 ><DD
818 ><P
819 ></P
820 ><TABLE
821 BORDER="0"
822 ><TBODY
823 ><TR
824 ><TD
825 >     <P
826 CLASS="LITERALLAYOUT"
827 >&nbsp;&nbsp;match-all.action&nbsp;#&nbsp;Actions&nbsp;that&nbsp;are&nbsp;applied&nbsp;to&nbsp;all&nbsp;sites&nbsp;and&nbsp;maybe&nbsp;overruled&nbsp;later&nbsp;on.</P
828 >
829     </TD
830 ></TR
831 ><TR
832 ><TD
833 >     <P
834 CLASS="LITERALLAYOUT"
835 >&nbsp;&nbsp;default.action&nbsp;&nbsp;&nbsp;#&nbsp;Main&nbsp;actions&nbsp;file</P
836 >
837     </TD
838 ></TR
839 ><TR
840 ><TD
841 >     <P
842 CLASS="LITERALLAYOUT"
843 >&nbsp;&nbsp;user.action&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;User&nbsp;customizations</P
844 >
845     </TD
846 ></TR
847 ></TBODY
848 ></TABLE
849 ><P
850 ></P
851 ></DD
852 ><DT
853 >Effect if unset:</DT
854 ><DD
855 ><P
856 >    No actions are taken at all. More or less neutral proxying. 
857    </P
858 ></DD
859 ><DT
860 >Notes:</DT
861 ><DD
862 ><P
863 >    Multiple <TT
864 CLASS="LITERAL"
865 >actionsfile</TT
866 > lines are permitted, and are in fact recommended!
867    </P
868 ><P
869
870     The default values are <TT
871 CLASS="FILENAME"
872 >default.action</TT
873 >, which is the
874     <SPAN
875 CLASS="QUOTE"
876 >"main"</SPAN
877 > actions file maintained by the developers, and
878     <TT
879 CLASS="FILENAME"
880 >user.action</TT
881 >, where you can make your personal additions.
882    </P
883 ><P
884
885     Actions files contain all the per site and per URL configuration for 
886     ad blocking, cookie management, privacy considerations, etc.
887     There is no point in using <SPAN
888 CLASS="APPLICATION"
889 >Privoxy</SPAN
890 > without at 
891     least one actions file.
892    </P
893 ><P
894 >    Note that since Privoxy 3.0.7, the complete filename, including the <SPAN
895 CLASS="QUOTE"
896 >".action"</SPAN
897 >
898     extension has to be specified.  The syntax change was necessary to be consistent
899     with the other file options and to allow previously forbidden characters.
900    </P
901 ></DD
902 ></DL
903 ></DIV
904 ></DIV
905 ><DIV
906 CLASS="SECT3"
907 ><H4
908 CLASS="SECT3"
909 ><A
910 NAME="FILTERFILE"
911 >7.2.5. filterfile</A
912 ></H4
913 ><A
914 NAME="DEFAULT.FILTER"
915 ></A
916 ><P
917 ></P
918 ><DIV
919 CLASS="VARIABLELIST"
920 ><DL
921 ><DT
922 >Specifies:</DT
923 ><DD
924 ><P
925 >    The <A
926 HREF="filter-file.html"
927 >filter file(s)</A
928 > to use
929    </P
930 ></DD
931 ><DT
932 >Type of value:</DT
933 ><DD
934 ><P
935 >File name, relative to <TT
936 CLASS="LITERAL"
937 >confdir</TT
938 ></P
939 ></DD
940 ><DT
941 >Default value:</DT
942 ><DD
943 ><P
944 >default.filter (Unix) <SPAN
945 CLASS="emphasis"
946 ><I
947 CLASS="EMPHASIS"
948 >or</I
949 ></SPAN
950 > default.filter.txt (Windows)</P
951 ></DD
952 ><DT
953 >Effect if unset:</DT
954 ><DD
955 ><P
956 >    No textual content filtering takes place, i.e. all
957     <TT
958 CLASS="LITERAL"
959 >+<A
960 HREF="actions-file.html#FILTER"
961 >filter</A
962 >{<TT
963 CLASS="REPLACEABLE"
964 ><I
965 >name</I
966 ></TT
967 >}</TT
968 >
969     actions in the actions files are turned neutral.
970    </P
971 ></DD
972 ><DT
973 >Notes:</DT
974 ><DD
975 ><P
976 >    Multiple <TT
977 CLASS="LITERAL"
978 >filterfile</TT
979 > lines are permitted.
980    </P
981 ><P
982 >    The <A
983 HREF="filter-file.html"
984 >filter files</A
985 > contain content modification
986     rules that use <A
987 HREF="appendix.html#REGEX"
988 >regular expressions</A
989 >. These rules permit
990     powerful changes on the content of Web pages, and optionally the headers
991     as well, e.g., you could try to disable your favorite JavaScript annoyances,
992     re-write the actual displayed text, or just have some fun 
993     playing buzzword bingo with web pages.
994    </P
995 ><P
996 >    The
997     <TT
998 CLASS="LITERAL"
999 >+<A
1000 HREF="actions-file.html#FILTER"
1001 >filter</A
1002 >{<TT
1003 CLASS="REPLACEABLE"
1004 ><I
1005 >name</I
1006 ></TT
1007 >}</TT
1008 >
1009     actions rely on the relevant filter (<TT
1010 CLASS="REPLACEABLE"
1011 ><I
1012 >name</I
1013 ></TT
1014 >)
1015     to be defined in a filter file!
1016    </P
1017 ><P
1018 >    A pre-defined filter file called <TT
1019 CLASS="FILENAME"
1020 >default.filter</TT
1021 > that contains
1022     a number of useful filters for common problems is included in the distribution.
1023     See the section on the <TT
1024 CLASS="LITERAL"
1025 ><A
1026 HREF="actions-file.html#FILTER"
1027 >filter</A
1028 ></TT
1029 >
1030     action for a list.
1031    </P
1032 ><P
1033 >    It is recommended to place any locally adapted filters into a separate
1034     file, such as <TT
1035 CLASS="FILENAME"
1036 >user.filter</TT
1037 >.
1038    </P
1039 ></DD
1040 ></DL
1041 ></DIV
1042 ></DIV
1043 ><DIV
1044 CLASS="SECT3"
1045 ><H4
1046 CLASS="SECT3"
1047 ><A
1048 NAME="LOGFILE"
1049 >7.2.6. logfile</A
1050 ></H4
1051 ><P
1052 ></P
1053 ><DIV
1054 CLASS="VARIABLELIST"
1055 ><DL
1056 ><DT
1057 >Specifies:</DT
1058 ><DD
1059 ><P
1060 >    The log file to use
1061    </P
1062 ></DD
1063 ><DT
1064 >Type of value:</DT
1065 ><DD
1066 ><P
1067 >File name, relative to <TT
1068 CLASS="LITERAL"
1069 >logdir</TT
1070 ></P
1071 ></DD
1072 ><DT
1073 >Default value:</DT
1074 ><DD
1075 ><P
1076 ><SPAN
1077 CLASS="emphasis"
1078 ><I
1079 CLASS="EMPHASIS"
1080 >Unset (commented out)</I
1081 ></SPAN
1082 >. When activated: logfile (Unix) <SPAN
1083 CLASS="emphasis"
1084 ><I
1085 CLASS="EMPHASIS"
1086 >or</I
1087 ></SPAN
1088 > privoxy.log (Windows).</P
1089 ></DD
1090 ><DT
1091 >Effect if unset:</DT
1092 ><DD
1093 ><P
1094 >    No logfile is written.
1095    </P
1096 ></DD
1097 ><DT
1098 >Notes:</DT
1099 ><DD
1100 ><P
1101 >    The logfile is where all logging and error messages are written. The level
1102     of detail and number of messages are set with the <TT
1103 CLASS="LITERAL"
1104 >debug</TT
1105 >
1106     option (see below). The logfile can be useful for tracking down a problem with
1107     <SPAN
1108 CLASS="APPLICATION"
1109 >Privoxy</SPAN
1110 > (e.g., it's not blocking an ad you
1111     think it should block) and it can help you to monitor what your browser
1112     is doing.
1113    </P
1114 ><P
1115 >    Depending on the debug options below, the logfile may be a privacy risk
1116     if third parties can get access to it. As most users will never look
1117     at it, <SPAN
1118 CLASS="APPLICATION"
1119 >Privoxy</SPAN
1120 > 3.0.7 and later only log fatal
1121     errors by default.
1122    </P
1123 ><P
1124 >    For most troubleshooting purposes, you will have to change that,
1125     please refer to the debugging section for details.
1126    </P
1127 ><P
1128 >    Your logfile will grow indefinitely, and you will probably want to
1129     periodically remove it.  On Unix systems, you can do this with a cron job
1130     (see <SPAN
1131 CLASS="QUOTE"
1132 >"man cron"</SPAN
1133 >). For Red Hat based Linux distributions, a
1134     <B
1135 CLASS="COMMAND"
1136 >logrotate</B
1137 > script has been included.
1138    </P
1139 ><P
1140 >    Any log files must be writable by whatever user <SPAN
1141 CLASS="APPLICATION"
1142 >Privoxy</SPAN
1143 >
1144     is being run as (on Unix, default user id is <SPAN
1145 CLASS="QUOTE"
1146 >"privoxy"</SPAN
1147 >).
1148    </P
1149 ></DD
1150 ></DL
1151 ></DIV
1152 ></DIV
1153 ><DIV
1154 CLASS="SECT3"
1155 ><H4
1156 CLASS="SECT3"
1157 ><A
1158 NAME="TRUSTFILE"
1159 >7.2.7. trustfile</A
1160 ></H4
1161 ><P
1162 ></P
1163 ><DIV
1164 CLASS="VARIABLELIST"
1165 ><DL
1166 ><DT
1167 >Specifies:</DT
1168 ><DD
1169 ><P
1170 >    The name of the trust file to use
1171    </P
1172 ></DD
1173 ><DT
1174 >Type of value:</DT
1175 ><DD
1176 ><P
1177 >File name, relative to <TT
1178 CLASS="LITERAL"
1179 >confdir</TT
1180 ></P
1181 ></DD
1182 ><DT
1183 >Default value:</DT
1184 ><DD
1185 ><P
1186 ><SPAN
1187 CLASS="emphasis"
1188 ><I
1189 CLASS="EMPHASIS"
1190 >Unset (commented out)</I
1191 ></SPAN
1192 >. When activated: trust (Unix) <SPAN
1193 CLASS="emphasis"
1194 ><I
1195 CLASS="EMPHASIS"
1196 >or</I
1197 ></SPAN
1198 > trust.txt (Windows)</P
1199 ></DD
1200 ><DT
1201 >Effect if unset:</DT
1202 ><DD
1203 ><P
1204 >    The entire trust mechanism is disabled.
1205    </P
1206 ></DD
1207 ><DT
1208 >Notes:</DT
1209 ><DD
1210 ><P
1211 >    The trust mechanism is an experimental feature for building white-lists and should
1212     be used with care. It is <SPAN
1213 CLASS="emphasis"
1214 ><I
1215 CLASS="EMPHASIS"
1216 >NOT</I
1217 ></SPAN
1218 > recommended for the casual user.
1219    </P
1220 ><P
1221 >    If you specify a trust file, <SPAN
1222 CLASS="APPLICATION"
1223 >Privoxy</SPAN
1224 > will only allow
1225     access to sites that are specified in the trustfile. Sites can be listed 
1226     in one of two ways:
1227    </P
1228 ><P
1229 >    Prepending a <TT
1230 CLASS="LITERAL"
1231 >~</TT
1232 > character limits access to this site 
1233     only (and any sub-paths within this site), e.g. 
1234     <TT
1235 CLASS="LITERAL"
1236 >~www.example.com</TT
1237 > allows access to
1238     <TT
1239 CLASS="LITERAL"
1240 >~www.example.com/features/news.html</TT
1241 >, etc. 
1242    </P
1243 ><P
1244 >    Or, you can designate sites as <SPAN
1245 CLASS="emphasis"
1246 ><I
1247 CLASS="EMPHASIS"
1248 >trusted referrers</I
1249 ></SPAN
1250 >, by
1251     prepending the name with a <TT
1252 CLASS="LITERAL"
1253 >+</TT
1254 > character. The effect is that
1255     access to untrusted sites will be granted -- but only if a link from this
1256     trusted referrer was used to get there. The link target will then be added
1257     to the <SPAN
1258 CLASS="QUOTE"
1259 >"trustfile"</SPAN
1260 > so that future, direct accesses will be
1261     granted. Sites added via this mechanism do not become trusted referrers
1262     themselves (i.e. they are added with a <TT
1263 CLASS="LITERAL"
1264 >~</TT
1265 > designation).
1266     There is a limit of 512 such entries, after which new entries will not be
1267     made.
1268    </P
1269 ><P
1270 >    If you use the <TT
1271 CLASS="LITERAL"
1272 >+</TT
1273 > operator in the trust file, it may grow 
1274     considerably over time.
1275    </P
1276 ><P
1277 >    It is recommended that <SPAN
1278 CLASS="APPLICATION"
1279 >Privoxy</SPAN
1280 > be compiled with
1281     the <TT
1282 CLASS="LITERAL"
1283 >--disable-force</TT
1284 >, <TT
1285 CLASS="LITERAL"
1286 >--disable-toggle</TT
1287 > and
1288     <TT
1289 CLASS="LITERAL"
1290 > --disable-editor</TT
1291 > options, if this feature is to be
1292     used.
1293    </P
1294 ><P
1295 >    Possible applications include limiting Internet access for children.
1296    </P
1297 ></DD
1298 ></DL
1299 ></DIV
1300 ></DIV
1301 ></DIV
1302 ><DIV
1303 CLASS="SECT2"
1304 ><H2
1305 CLASS="SECT2"
1306 ><A
1307 NAME="DEBUGGING"
1308 >7.3. Debugging</A
1309 ></H2
1310 ><P
1311 >  These options are mainly useful when tracing a problem.
1312   Note that you might also want to invoke
1313   <SPAN
1314 CLASS="APPLICATION"
1315 >Privoxy</SPAN
1316 > with the <TT
1317 CLASS="LITERAL"
1318 >--no-daemon</TT
1319 >
1320   command line option when debugging.
1321  </P
1322 ><DIV
1323 CLASS="SECT3"
1324 ><H4
1325 CLASS="SECT3"
1326 ><A
1327 NAME="DEBUG"
1328 >7.3.1. debug</A
1329 ></H4
1330 ><P
1331 ></P
1332 ><DIV
1333 CLASS="VARIABLELIST"
1334 ><DL
1335 ><DT
1336 >Specifies:</DT
1337 ><DD
1338 ><P
1339 >    Key values that determine what information gets logged.
1340    </P
1341 ></DD
1342 ><DT
1343 >Type of value:</DT
1344 ><DD
1345 ><P
1346 >Integer values</P
1347 ></DD
1348 ><DT
1349 >Default value:</DT
1350 ><DD
1351 ><P
1352 >0 (i.e.: only fatal errors (that cause Privoxy to exit) are logged)</P
1353 ></DD
1354 ><DT
1355 >Effect if unset:</DT
1356 ><DD
1357 ><P
1358 >    Default value is used (see above).
1359    </P
1360 ></DD
1361 ><DT
1362 >Notes:</DT
1363 ><DD
1364 ><P
1365 >    The available debug levels are:
1366    </P
1367 ><P
1368 >    <TABLE
1369 BORDER="0"
1370 BGCOLOR="#E0E0E0"
1371 WIDTH="90%"
1372 ><TR
1373 ><TD
1374 ><PRE
1375 CLASS="PROGRAMLISTING"
1376 >  debug     1 # Log the destination for each request <SPAN
1377 CLASS="APPLICATION"
1378 >Privoxy</SPAN
1379 > let through. See also debug 1024.
1380   debug     2 # show each connection status
1381   debug     4 # show I/O status
1382   debug     8 # show header parsing
1383   debug    16 # log all data written to the network into the logfile
1384   debug    32 # debug force feature
1385   debug    64 # debug regular expression filters
1386   debug   128 # debug redirects
1387   debug   256 # debug GIF de-animation
1388   debug   512 # Common Log Format
1389   debug  1024 # Log the destination for requests <SPAN
1390 CLASS="APPLICATION"
1391 >Privoxy</SPAN
1392 > didn't let through, and the reason why.
1393   debug  2048 # CGI user interface
1394   debug  4096 # Startup banner and warnings.
1395   debug  8192 # Non-fatal errors</PRE
1396 ></TD
1397 ></TR
1398 ></TABLE
1399 >
1400    </P
1401 ><P
1402 >    To select multiple debug levels, you can either add them or use
1403     multiple <TT
1404 CLASS="LITERAL"
1405 >debug</TT
1406 > lines.
1407    </P
1408 ><P
1409 >    A debug level of 1 is informative because it will show you each request
1410     as it happens. <SPAN
1411 CLASS="emphasis"
1412 ><I
1413 CLASS="EMPHASIS"
1414 >1, 1024, 4096 and 8192 are recommended</I
1415 ></SPAN
1416 >
1417     so that you will notice when things go wrong. The other levels are
1418     probably only of interest if you are hunting down a specific problem.
1419     They can produce a hell of an output (especially 16).
1420     
1421    </P
1422 ><P
1423 >    <SPAN
1424 CLASS="APPLICATION"
1425 >Privoxy</SPAN
1426 > used to ship with the debug levels recommended above enabled by
1427     default, but due to privacy concerns 3.0.7 and later are configured to
1428     only log fatal errors.
1429    </P
1430 ><P
1431 >    If you are used to the more verbose settings, simply enable the debug lines
1432     below again.
1433    </P
1434 ><P
1435 >    If you want to use pure CLF (Common Log Format), you should set <SPAN
1436 CLASS="QUOTE"
1437 >"debug
1438     512"</SPAN
1439 > <SPAN
1440 CLASS="emphasis"
1441 ><I
1442 CLASS="EMPHASIS"
1443 >ONLY</I
1444 ></SPAN
1445 > and not enable anything else.
1446    </P
1447 ><P
1448 >    <SPAN
1449 CLASS="APPLICATION"
1450 >Privoxy</SPAN
1451 > has a hard-coded limit for the
1452     length of log messages. If it's reached, messages are logged truncated
1453     and marked with <SPAN
1454 CLASS="QUOTE"
1455 >"... [too long, truncated]"</SPAN
1456 >.
1457    </P
1458 ><P
1459 >    Please don't file any support requests without trying to reproduce
1460     the problem with increased debug level first. Once you read the log
1461     messages, you may even be able to solve the problem on your own.
1462    </P
1463 ></DD
1464 ></DL
1465 ></DIV
1466 ></DIV
1467 ><DIV
1468 CLASS="SECT3"
1469 ><H4
1470 CLASS="SECT3"
1471 ><A
1472 NAME="SINGLE-THREADED"
1473 >7.3.2. single-threaded</A
1474 ></H4
1475 ><P
1476 ></P
1477 ><DIV
1478 CLASS="VARIABLELIST"
1479 ><DL
1480 ><DT
1481 >Specifies:</DT
1482 ><DD
1483 ><P
1484 >    Whether to run only one server thread.
1485    </P
1486 ></DD
1487 ><DT
1488 >Type of value:</DT
1489 ><DD
1490 ><P
1491 ><SPAN
1492 CLASS="emphasis"
1493 ><I
1494 CLASS="EMPHASIS"
1495 >None</I
1496 ></SPAN
1497 ></P
1498 ></DD
1499 ><DT
1500 >Default value:</DT
1501 ><DD
1502 ><P
1503 ><SPAN
1504 CLASS="emphasis"
1505 ><I
1506 CLASS="EMPHASIS"
1507 >Unset</I
1508 ></SPAN
1509 ></P
1510 ></DD
1511 ><DT
1512 >Effect if unset:</DT
1513 ><DD
1514 ><P
1515 >    Multi-threaded (or, where unavailable: forked) operation, i.e. the ability to
1516     serve multiple requests simultaneously.
1517    </P
1518 ></DD
1519 ><DT
1520 >Notes:</DT
1521 ><DD
1522 ><P
1523 >    This option is only there for debugging purposes.
1524     <SPAN
1525 CLASS="emphasis"
1526 ><I
1527 CLASS="EMPHASIS"
1528 >It will drastically reduce performance.</I
1529 ></SPAN
1530 >
1531    </P
1532 ></DD
1533 ></DL
1534 ></DIV
1535 ></DIV
1536 ><DIV
1537 CLASS="SECT3"
1538 ><H4
1539 CLASS="SECT3"
1540 ><A
1541 NAME="HOSTNAME"
1542 >7.3.3. hostname</A
1543 ></H4
1544 ><P
1545 ></P
1546 ><DIV
1547 CLASS="VARIABLELIST"
1548 ><DL
1549 ><DT
1550 >Specifies:</DT
1551 ><DD
1552 ><P
1553 >    The hostname shown on the CGI pages.
1554    </P
1555 ></DD
1556 ><DT
1557 >Type of value:</DT
1558 ><DD
1559 ><P
1560 >Text</P
1561 ></DD
1562 ><DT
1563 >Default value:</DT
1564 ><DD
1565 ><P
1566 ><SPAN
1567 CLASS="emphasis"
1568 ><I
1569 CLASS="EMPHASIS"
1570 >Unset</I
1571 ></SPAN
1572 ></P
1573 ></DD
1574 ><DT
1575 >Effect if unset:</DT
1576 ><DD
1577 ><P
1578 >    The hostname provided by the operating system is used.
1579    </P
1580 ></DD
1581 ><DT
1582 >Notes:</DT
1583 ><DD
1584 ><P
1585 >    On some misconfigured systems resolving the hostname fails or
1586     takes too much time and slows Privoxy down. Setting a fixed hostname
1587     works around the problem.
1588    </P
1589 ><P
1590 >    In other circumstances it might be desirable to show a hostname
1591     other than the one returned by the operating system. For example
1592     if the system has several different hostnames and you don't want
1593     to use the first one.
1594    </P
1595 ><P
1596 >    Note that Privoxy does not validate the specified hostname value.
1597    </P
1598 ></DD
1599 ></DL
1600 ></DIV
1601 ></DIV
1602 ></DIV
1603 ><DIV
1604 CLASS="SECT2"
1605 ><H2
1606 CLASS="SECT2"
1607 ><A
1608 NAME="ACCESS-CONTROL"
1609 >7.4. Access Control and Security</A
1610 ></H2
1611 ><P
1612 >  This section of the config file controls the security-relevant aspects
1613   of <SPAN
1614 CLASS="APPLICATION"
1615 >Privoxy</SPAN
1616 >'s configuration.
1617  </P
1618 ><DIV
1619 CLASS="SECT3"
1620 ><H4
1621 CLASS="SECT3"
1622 ><A
1623 NAME="LISTEN-ADDRESS"
1624 >7.4.1. listen-address</A
1625 ></H4
1626 ><P
1627 ></P
1628 ><DIV
1629 CLASS="VARIABLELIST"
1630 ><DL
1631 ><DT
1632 >Specifies:</DT
1633 ><DD
1634 ><P
1635 >    The IP address and TCP port on which <SPAN
1636 CLASS="APPLICATION"
1637 >Privoxy</SPAN
1638 > will
1639     listen for client requests.
1640    </P
1641 ></DD
1642 ><DT
1643 >Type of value:</DT
1644 ><DD
1645 ><P
1646 >[<TT
1647 CLASS="REPLACEABLE"
1648 ><I
1649 >IP-Address</I
1650 ></TT
1651 >]:<TT
1652 CLASS="REPLACEABLE"
1653 ><I
1654 >Port</I
1655 ></TT
1656 ></P
1657 ></DD
1658 ><DT
1659 >Default value:</DT
1660 ><DD
1661 ><P
1662 >127.0.0.1:8118</P
1663 ></DD
1664 ><DT
1665 >Effect if unset:</DT
1666 ><DD
1667 ><P
1668 >    Bind to 127.0.0.1 (IPv4 localhost), port 8118. This is suitable and
1669     recommended for home users who run <SPAN
1670 CLASS="APPLICATION"
1671 >Privoxy</SPAN
1672 > on
1673     the same machine as their browser.
1674    </P
1675 ></DD
1676 ><DT
1677 >Notes:</DT
1678 ><DD
1679 ><P
1680 >    You will need to configure your browser(s) to this proxy address and port.
1681    </P
1682 ><P
1683 >    If you already have another service running on port 8118, or if you want to
1684     serve requests from other machines (e.g. on your local network) as well, you
1685     will need to override the default.
1686    </P
1687 ><P
1688 >    IPv6 addresses containing colons have to be quoted by brackets.
1689    </P
1690 ><P
1691 >    If you leave out the IP address, <SPAN
1692 CLASS="APPLICATION"
1693 >Privoxy</SPAN
1694 > will
1695     bind to all IPv4 interfaces (addresses) on your machine and may become reachable
1696     from the Internet. In that case, consider using <A
1697 HREF="config.html#ACLS"
1698 >access control lists</A
1699 > (ACL's, see below), and/or
1700     a firewall. If the hostname is localhost, <SPAN
1701 CLASS="APPLICATION"
1702 >Privoxy</SPAN
1703 >
1704     will explicitly try to bind to an IPv4 address. For other hostnames it depends
1705     on the operating system which IP version will be used.
1706    </P
1707 ><P
1708 >    If you open <SPAN
1709 CLASS="APPLICATION"
1710 >Privoxy</SPAN
1711 > to untrusted users, you will
1712     also want to make sure that the following actions are disabled:  <TT
1713 CLASS="LITERAL"
1714 ><A
1715 HREF="config.html#ENABLE-EDIT-ACTIONS"
1716 >enable-edit-actions</A
1717 ></TT
1718 > and
1719     <TT
1720 CLASS="LITERAL"
1721 ><A
1722 HREF="config.html#ENABLE-REMOTE-TOGGLE"
1723 >enable-remote-toggle</A
1724 ></TT
1725 >
1726    </P
1727 ></DD
1728 ><DT
1729 >Example:</DT
1730 ><DD
1731 ><P
1732 >     Suppose you are running <SPAN
1733 CLASS="APPLICATION"
1734 >Privoxy</SPAN
1735 > on
1736      a machine which has the address 192.168.0.1 on your local private network
1737      (192.168.0.0) and has another outside connection with a different address.
1738      You want it to serve requests from inside only:
1739    </P
1740 ><P
1741 >    <TABLE
1742 BORDER="0"
1743 BGCOLOR="#E0E0E0"
1744 WIDTH="90%"
1745 ><TR
1746 ><TD
1747 ><PRE
1748 CLASS="PROGRAMLISTING"
1749 >  listen-address  192.168.0.1:8118</PRE
1750 ></TD
1751 ></TR
1752 ></TABLE
1753 >
1754    </P
1755 ><P
1756 >    Suppose you are running <SPAN
1757 CLASS="APPLICATION"
1758 >Privoxy</SPAN
1759 > on an
1760     IPv6-capable machine and you want it to listen on the IPv6 address
1761     of the loopback device:
1762    </P
1763 ><P
1764 >    <TABLE
1765 BORDER="0"
1766 BGCOLOR="#E0E0E0"
1767 WIDTH="90%"
1768 ><TR
1769 ><TD
1770 ><PRE
1771 CLASS="PROGRAMLISTING"
1772 >  listen-address [::1]:8118</PRE
1773 ></TD
1774 ></TR
1775 ></TABLE
1776 >
1777    </P
1778 ></DD
1779 ></DL
1780 ></DIV
1781 ></DIV
1782 ><DIV
1783 CLASS="SECT3"
1784 ><H4
1785 CLASS="SECT3"
1786 ><A
1787 NAME="TOGGLE"
1788 >7.4.2. toggle</A
1789 ></H4
1790 ><P
1791 ></P
1792 ><DIV
1793 CLASS="VARIABLELIST"
1794 ><DL
1795 ><DT
1796 >Specifies:</DT
1797 ><DD
1798 ><P
1799 >    Initial state of "toggle" status
1800    </P
1801 ></DD
1802 ><DT
1803 >Type of value:</DT
1804 ><DD
1805 ><P
1806 >1 or 0</P
1807 ></DD
1808 ><DT
1809 >Default value:</DT
1810 ><DD
1811 ><P
1812 >1</P
1813 ></DD
1814 ><DT
1815 >Effect if unset:</DT
1816 ><DD
1817 ><P
1818 >    Act as if toggled on
1819    </P
1820 ></DD
1821 ><DT
1822 >Notes:</DT
1823 ><DD
1824 ><P
1825 >    If set to 0, <SPAN
1826 CLASS="APPLICATION"
1827 >Privoxy</SPAN
1828 > will start in
1829     <SPAN
1830 CLASS="QUOTE"
1831 >"toggled off"</SPAN
1832 > mode, i.e. mostly behave like a normal,
1833     content-neutral proxy with both ad blocking and content filtering
1834     disabled. See <TT
1835 CLASS="LITERAL"
1836 >enable-remote-toggle</TT
1837 > below.
1838    </P
1839 ><P
1840 >    The windows version will only display the toggle icon in the system tray
1841     if this option is present.
1842    </P
1843 ></DD
1844 ></DL
1845 ></DIV
1846 ></DIV
1847 ><DIV
1848 CLASS="SECT3"
1849 ><H4
1850 CLASS="SECT3"
1851 ><A
1852 NAME="ENABLE-REMOTE-TOGGLE"
1853 >7.4.3. enable-remote-toggle</A
1854 ></H4
1855 ><P
1856 ></P
1857 ><DIV
1858 CLASS="VARIABLELIST"
1859 ><DL
1860 ><DT
1861 >Specifies:</DT
1862 ><DD
1863 ><P
1864 >    Whether or not the <A
1865 HREF="http://config.privoxy.org/toggle"
1866 TARGET="_top"
1867 >web-based toggle
1868     feature</A
1869 > may be used
1870    </P
1871 ></DD
1872 ><DT
1873 >Type of value:</DT
1874 ><DD
1875 ><P
1876 >0 or 1</P
1877 ></DD
1878 ><DT
1879 >Default value:</DT
1880 ><DD
1881 ><P
1882 >0</P
1883 ></DD
1884 ><DT
1885 >Effect if unset:</DT
1886 ><DD
1887 ><P
1888 >    The web-based toggle feature is disabled.
1889    </P
1890 ></DD
1891 ><DT
1892 >Notes:</DT
1893 ><DD
1894 ><P
1895 >    When toggled off, <SPAN
1896 CLASS="APPLICATION"
1897 >Privoxy</SPAN
1898 > mostly acts like a normal,
1899     content-neutral proxy, i.e. doesn't block ads or filter content.
1900    </P
1901 ><P
1902 >    Access to the toggle feature can <SPAN
1903 CLASS="emphasis"
1904 ><I
1905 CLASS="EMPHASIS"
1906 >not</I
1907 ></SPAN
1908 > be
1909     controlled separately by <SPAN
1910 CLASS="QUOTE"
1911 >"ACLs"</SPAN
1912 > or HTTP authentication,
1913     so that everybody who can access <SPAN
1914 CLASS="APPLICATION"
1915 >Privoxy</SPAN
1916 > (see
1917     <SPAN
1918 CLASS="QUOTE"
1919 >"ACLs"</SPAN
1920 > and <TT
1921 CLASS="LITERAL"
1922 >listen-address</TT
1923 > above) can
1924     toggle it for all users. So this option is <SPAN
1925 CLASS="emphasis"
1926 ><I
1927 CLASS="EMPHASIS"
1928 >not recommended</I
1929 ></SPAN
1930 >
1931     for multi-user environments with untrusted users.
1932    </P
1933 ><P
1934 >    Note that malicious client side code (e.g Java) is also
1935     capable of using this option.
1936    </P
1937 ><P
1938 >    As a lot of <SPAN
1939 CLASS="APPLICATION"
1940 >Privoxy</SPAN
1941 > users don't read
1942     documentation, this feature is disabled by default.
1943    </P
1944 ><P
1945 >    Note that you must have compiled <SPAN
1946 CLASS="APPLICATION"
1947 >Privoxy</SPAN
1948 > with
1949     support for this feature, otherwise this option has no effect. 
1950    </P
1951 ></DD
1952 ></DL
1953 ></DIV
1954 ></DIV
1955 ><DIV
1956 CLASS="SECT3"
1957 ><H4
1958 CLASS="SECT3"
1959 ><A
1960 NAME="ENABLE-REMOTE-HTTP-TOGGLE"
1961 >7.4.4. enable-remote-http-toggle</A
1962 ></H4
1963 ><P
1964 ></P
1965 ><DIV
1966 CLASS="VARIABLELIST"
1967 ><DL
1968 ><DT
1969 >Specifies:</DT
1970 ><DD
1971 ><P
1972 >    Whether or not Privoxy recognizes special HTTP headers to change its behaviour.
1973    </P
1974 ></DD
1975 ><DT
1976 >Type of value:</DT
1977 ><DD
1978 ><P
1979 >0 or 1</P
1980 ></DD
1981 ><DT
1982 >Default value:</DT
1983 ><DD
1984 ><P
1985 >0</P
1986 ></DD
1987 ><DT
1988 >Effect if unset:</DT
1989 ><DD
1990 ><P
1991 >    Privoxy ignores special HTTP headers.
1992    </P
1993 ></DD
1994 ><DT
1995 >Notes:</DT
1996 ><DD
1997 ><P
1998 >    When toggled on, the client can change <SPAN
1999 CLASS="APPLICATION"
2000 >Privoxy's</SPAN
2001 >
2002     behaviour by setting special HTTP headers. Currently the only supported
2003     special header is <SPAN
2004 CLASS="QUOTE"
2005 >"X-Filter: No"</SPAN
2006 >, to disable filtering for
2007     the ongoing request, even if it is enabled in one of the action files.
2008    </P
2009 ><P
2010 >    This feature is disabled by default. If you are using
2011     <SPAN
2012 CLASS="APPLICATION"
2013 >Privoxy</SPAN
2014 > in a environment with trusted clients,
2015     you may enable this feature at your discretion. Note that malicious client
2016     side code (e.g Java) is also capable of using this feature.
2017    </P
2018 ><P
2019 >    This option will be removed in future releases as it has been obsoleted
2020     by the more general header taggers.
2021    </P
2022 ></DD
2023 ></DL
2024 ></DIV
2025 ></DIV
2026 ><DIV
2027 CLASS="SECT3"
2028 ><H4
2029 CLASS="SECT3"
2030 ><A
2031 NAME="ENABLE-EDIT-ACTIONS"
2032 >7.4.5. enable-edit-actions</A
2033 ></H4
2034 ><P
2035 ></P
2036 ><DIV
2037 CLASS="VARIABLELIST"
2038 ><DL
2039 ><DT
2040 >Specifies:</DT
2041 ><DD
2042 ><P
2043 >    Whether or not the <A
2044 HREF="http://config.privoxy.org/show-status"
2045 TARGET="_top"
2046 >web-based actions
2047     file editor</A
2048 > may be used
2049    </P
2050 ></DD
2051 ><DT
2052 >Type of value:</DT
2053 ><DD
2054 ><P
2055 >0 or 1</P
2056 ></DD
2057 ><DT
2058 >Default value:</DT
2059 ><DD
2060 ><P
2061 >0</P
2062 ></DD
2063 ><DT
2064 >Effect if unset:</DT
2065 ><DD
2066 ><P
2067 >    The web-based actions file editor is disabled.
2068    </P
2069 ></DD
2070 ><DT
2071 >Notes:</DT
2072 ><DD
2073 ><P
2074 >    Access to the editor can <SPAN
2075 CLASS="emphasis"
2076 ><I
2077 CLASS="EMPHASIS"
2078 >not</I
2079 ></SPAN
2080 > be
2081     controlled separately by <SPAN
2082 CLASS="QUOTE"
2083 >"ACLs"</SPAN
2084 > or HTTP authentication,
2085     so that everybody who can access <SPAN
2086 CLASS="APPLICATION"
2087 >Privoxy</SPAN
2088 > (see
2089     <SPAN
2090 CLASS="QUOTE"
2091 >"ACLs"</SPAN
2092 > and <TT
2093 CLASS="LITERAL"
2094 >listen-address</TT
2095 > above) can
2096     modify its configuration for all users.
2097    </P
2098 ><P
2099 >    This option is <SPAN
2100 CLASS="emphasis"
2101 ><I
2102 CLASS="EMPHASIS"
2103 >not recommended</I
2104 ></SPAN
2105 > for environments
2106     with untrusted users and as a lot of <SPAN
2107 CLASS="APPLICATION"
2108 >Privoxy</SPAN
2109 >
2110     users don't read documentation, this feature is disabled by default.
2111    </P
2112 ><P
2113 >    Note that malicious client side code (e.g Java) is also
2114     capable of using the actions editor and you shouldn't enable
2115     this options unless you understand the consequences and are
2116     sure your browser is configured correctly.
2117    </P
2118 ><P
2119 >    Note that you must have compiled <SPAN
2120 CLASS="APPLICATION"
2121 >Privoxy</SPAN
2122 > with
2123     support for this feature, otherwise this option has no effect. 
2124    </P
2125 ></DD
2126 ></DL
2127 ></DIV
2128 ></DIV
2129 ><DIV
2130 CLASS="SECT3"
2131 ><H4
2132 CLASS="SECT3"
2133 ><A
2134 NAME="ENFORCE-BLOCKS"
2135 >7.4.6. enforce-blocks</A
2136 ></H4
2137 ><P
2138 ></P
2139 ><DIV
2140 CLASS="VARIABLELIST"
2141 ><DL
2142 ><DT
2143 >Specifies:</DT
2144 ><DD
2145 ><P
2146 >    Whether the user is allowed to ignore blocks and can <SPAN
2147 CLASS="QUOTE"
2148 >"go there anyway"</SPAN
2149 >.
2150    </P
2151 ></DD
2152 ><DT
2153 >Type of value:</DT
2154 ><DD
2155 ><P
2156 >    <TT
2157 CLASS="REPLACEABLE"
2158 ><I
2159 >0 or 1</I
2160 ></TT
2161 >
2162    </P
2163 ></DD
2164 ><DT
2165 >Default value:</DT
2166 ><DD
2167 ><P
2168 ><SPAN
2169 CLASS="emphasis"
2170 ><I
2171 CLASS="EMPHASIS"
2172 >0</I
2173 ></SPAN
2174 ></P
2175 ></DD
2176 ><DT
2177 >Effect if unset:</DT
2178 ><DD
2179 ><P
2180 >    Blocks are not enforced.
2181    </P
2182 ></DD
2183 ><DT
2184 >Notes:</DT
2185 ><DD
2186 ><P
2187 >    <SPAN
2188 CLASS="APPLICATION"
2189 >Privoxy</SPAN
2190 > is mainly used to block and filter
2191     requests as a service to the user, for example to block ads and other
2192     junk that clogs the pipes. <SPAN
2193 CLASS="APPLICATION"
2194 >Privoxy's</SPAN
2195 > configuration
2196     isn't perfect and sometimes innocent pages are blocked. In this situation it
2197     makes sense to allow the user to enforce the request and have
2198     <SPAN
2199 CLASS="APPLICATION"
2200 >Privoxy</SPAN
2201 > ignore the block.
2202    </P
2203 ><P
2204 >    In the default configuration <SPAN
2205 CLASS="APPLICATION"
2206 >Privoxy's</SPAN
2207 >
2208     <SPAN
2209 CLASS="QUOTE"
2210 >"Blocked"</SPAN
2211 > page contains a <SPAN
2212 CLASS="QUOTE"
2213 >"go there anyway"</SPAN
2214 >
2215     link to adds a special string (the force prefix) to the request URL.
2216     If that link is used, <SPAN
2217 CLASS="APPLICATION"
2218 >Privoxy</SPAN
2219 > will
2220     detect the force prefix, remove it again and let the request pass.
2221    </P
2222 ><P
2223 >    Of course <SPAN
2224 CLASS="APPLICATION"
2225 >Privoxy</SPAN
2226 > can also be used to enforce
2227     a network policy. In that case the user obviously should not be able to
2228     bypass any blocks, and that's what the <SPAN
2229 CLASS="QUOTE"
2230 >"enforce-blocks"</SPAN
2231 >
2232     option is for. If it's enabled, <SPAN
2233 CLASS="APPLICATION"
2234 >Privoxy</SPAN
2235 > hides
2236     the <SPAN
2237 CLASS="QUOTE"
2238 >"go there anyway"</SPAN
2239 > link. If the user adds the force
2240     prefix by hand, it will not be accepted and the circumvention attempt
2241     is logged.
2242    </P
2243 ></DD
2244 ><DT
2245 >Examples:</DT
2246 ><DD
2247 ><P
2248 >    enforce-blocks 1
2249    </P
2250 ></DD
2251 ></DL
2252 ></DIV
2253 ></DIV
2254 ><DIV
2255 CLASS="SECT3"
2256 ><H4
2257 CLASS="SECT3"
2258 ><A
2259 NAME="ACLS"
2260 >7.4.7. ACLs: permit-access and deny-access</A
2261 ></H4
2262 ><A
2263 NAME="PERMIT-ACCESS"
2264 ></A
2265 ><A
2266 NAME="DENY-ACCESS"
2267 ></A
2268 ><P
2269 ></P
2270 ><DIV
2271 CLASS="VARIABLELIST"
2272 ><DL
2273 ><DT
2274 >Specifies:</DT
2275 ><DD
2276 ><P
2277 >    Who can access what.
2278    </P
2279 ></DD
2280 ><DT
2281 >Type of value:</DT
2282 ><DD
2283 ><P
2284 >    <TT
2285 CLASS="REPLACEABLE"
2286 ><I
2287 >src_addr</I
2288 ></TT
2289 >[:<TT
2290 CLASS="REPLACEABLE"
2291 ><I
2292 >port</I
2293 ></TT
2294 >][/<TT
2295 CLASS="REPLACEABLE"
2296 ><I
2297 >src_masklen</I
2298 ></TT
2299 >]
2300     [<TT
2301 CLASS="REPLACEABLE"
2302 ><I
2303 >dst_addr</I
2304 ></TT
2305 >[:<TT
2306 CLASS="REPLACEABLE"
2307 ><I
2308 >port</I
2309 ></TT
2310 >][/<TT
2311 CLASS="REPLACEABLE"
2312 ><I
2313 >dst_masklen</I
2314 ></TT
2315 >]]
2316    </P
2317 ><P
2318 >    Where <TT
2319 CLASS="REPLACEABLE"
2320 ><I
2321 >src_addr</I
2322 ></TT
2323 > and 
2324    <TT
2325 CLASS="REPLACEABLE"
2326 ><I
2327 >dst_addr</I
2328 ></TT
2329 > are IPv4 addresses in dotted decimal notation or valid
2330     DNS names, <TT
2331 CLASS="REPLACEABLE"
2332 ><I
2333 >port</I
2334 ></TT
2335 > is a port
2336     number, and <TT
2337 CLASS="REPLACEABLE"
2338 ><I
2339 >src_masklen</I
2340 ></TT
2341 > and
2342     <TT
2343 CLASS="REPLACEABLE"
2344 ><I
2345 >dst_masklen</I
2346 ></TT
2347 > are subnet masks in CIDR notation, i.e. integer
2348     values from 2 to 30 representing the length (in bits) of the network address. The masks and the whole
2349     destination part are optional.
2350    </P
2351 ><P
2352 >    If your system implements
2353     <A
2354 HREF="http://tools.ietf.org/html/rfc3493"
2355 TARGET="_top"
2356 >RFC 3493</A
2357 >, then
2358     <TT
2359 CLASS="REPLACEABLE"
2360 ><I
2361 >src_addr</I
2362 ></TT
2363 > and <TT
2364 CLASS="REPLACEABLE"
2365 ><I
2366 >dst_addr</I
2367 ></TT
2368 > can be IPv6 addresses delimeted by
2369     brackets, <TT
2370 CLASS="REPLACEABLE"
2371 ><I
2372 >port</I
2373 ></TT
2374 > can be a number
2375     or a service name, and
2376     <TT
2377 CLASS="REPLACEABLE"
2378 ><I
2379 >src_masklen</I
2380 ></TT
2381 > and
2382     <TT
2383 CLASS="REPLACEABLE"
2384 ><I
2385 >dst_masklen</I
2386 ></TT
2387 > can be a number
2388     from 0 to 128.
2389    </P
2390 ></DD
2391 ><DT
2392 >Default value:</DT
2393 ><DD
2394 ><P
2395 ><SPAN
2396 CLASS="emphasis"
2397 ><I
2398 CLASS="EMPHASIS"
2399 >Unset</I
2400 ></SPAN
2401 ></P
2402 ><P
2403 >    If no <TT
2404 CLASS="REPLACEABLE"
2405 ><I
2406 >port</I
2407 ></TT
2408 > is specified,
2409     any port will match. If no <TT
2410 CLASS="REPLACEABLE"
2411 ><I
2412 >src_masklen</I
2413 ></TT
2414 > or
2415     <TT
2416 CLASS="REPLACEABLE"
2417 ><I
2418 >src_masklen</I
2419 ></TT
2420 > is given, the complete IP
2421     address has to match (i.e. 32 bits for IPv4 and 128 bits for IPv6).
2422    </P
2423 ></DD
2424 ><DT
2425 >Effect if unset:</DT
2426 ><DD
2427 ><P
2428 >    Don't restrict access further than implied by <TT
2429 CLASS="LITERAL"
2430 >listen-address</TT
2431 >
2432    </P
2433 ></DD
2434 ><DT
2435 >Notes:</DT
2436 ><DD
2437 ><P
2438 >    Access controls are included at the request of ISPs and systems
2439     administrators, and <SPAN
2440 CLASS="emphasis"
2441 ><I
2442 CLASS="EMPHASIS"
2443 >are not usually needed by individual users</I
2444 ></SPAN
2445 >.
2446     For a typical home user, it will normally suffice to ensure that 
2447     <SPAN
2448 CLASS="APPLICATION"
2449 >Privoxy</SPAN
2450 > only listens on the localhost
2451     (127.0.0.1) or internal (home) network address by means of the
2452     <A
2453 HREF="config.html#LISTEN-ADDRESS"
2454 ><SPAN
2455 CLASS="emphasis"
2456 ><I
2457 CLASS="EMPHASIS"
2458 >listen-address</I
2459 ></SPAN
2460 ></A
2461 >
2462     option. 
2463    </P
2464 ><P
2465 >    Please see the warnings in the FAQ that <SPAN
2466 CLASS="APPLICATION"
2467 >Privoxy</SPAN
2468 >
2469     is not intended to be a substitute for a firewall or to encourage anyone
2470     to defer addressing basic security weaknesses.
2471    </P
2472 ><P
2473 >    Multiple ACL lines are OK.
2474     If any ACLs are specified, <SPAN
2475 CLASS="APPLICATION"
2476 >Privoxy</SPAN
2477 > only talks
2478     to IP addresses that match at least one <TT
2479 CLASS="LITERAL"
2480 >permit-access</TT
2481 > line
2482     and don't match any subsequent <TT
2483 CLASS="LITERAL"
2484 >deny-access</TT
2485 > line. In other words, the
2486     last match wins, with the default being <TT
2487 CLASS="LITERAL"
2488 >deny-access</TT
2489 >.
2490    </P
2491 ><P
2492 >    If <SPAN
2493 CLASS="APPLICATION"
2494 >Privoxy</SPAN
2495 > is using a forwarder (see <TT
2496 CLASS="LITERAL"
2497 >forward</TT
2498 > below)
2499     for a particular destination URL, the <TT
2500 CLASS="REPLACEABLE"
2501 ><I
2502 >dst_addr</I
2503 ></TT
2504 >
2505     that is examined is the address of the forwarder and <SPAN
2506 CLASS="emphasis"
2507 ><I
2508 CLASS="EMPHASIS"
2509 >NOT</I
2510 ></SPAN
2511 > the address
2512     of the ultimate target. This is necessary because it may be impossible for the local
2513     <SPAN
2514 CLASS="APPLICATION"
2515 >Privoxy</SPAN
2516 > to determine the IP address of the
2517     ultimate target (that's often what gateways are used for).
2518    </P
2519 ><P
2520 >    You should prefer using IP addresses over DNS names, because the address lookups take
2521     time. All DNS names must resolve! You can <SPAN
2522 CLASS="emphasis"
2523 ><I
2524 CLASS="EMPHASIS"
2525 >not</I
2526 ></SPAN
2527 > use domain patterns
2528     like <SPAN
2529 CLASS="QUOTE"
2530 >"*.org"</SPAN
2531 > or partial domain names. If a DNS name resolves to multiple
2532     IP addresses, only the first one is used.
2533    </P
2534 ><P
2535 >     Some systems allows IPv4 client to connect to IPv6 server socket.
2536      Then the client's IPv4 address will be translated by system into
2537      IPv6 address space with special prefix ::ffff:0:0/96 (so called IPv4
2538      mapped IPv6 address). <SPAN
2539 CLASS="APPLICATION"
2540 >Privoxy</SPAN
2541 > can handle it
2542      and maps such ACL addresses automatically.
2543    </P
2544 ><P
2545 >    Denying access to particular sites by ACL may have undesired side effects
2546     if the site in question is hosted on a machine which also hosts other sites
2547     (most sites are).
2548    </P
2549 ></DD
2550 ><DT
2551 >Examples:</DT
2552 ><DD
2553 ><P
2554 >    Explicitly define the default behavior if no ACL and
2555     <TT
2556 CLASS="LITERAL"
2557 >listen-address</TT
2558 > are set: <SPAN
2559 CLASS="QUOTE"
2560 >"localhost"</SPAN
2561 >
2562     is OK. The absence of a <TT
2563 CLASS="REPLACEABLE"
2564 ><I
2565 >dst_addr</I
2566 ></TT
2567 > implies that
2568     <SPAN
2569 CLASS="emphasis"
2570 ><I
2571 CLASS="EMPHASIS"
2572 >all</I
2573 ></SPAN
2574 > destination addresses are OK:
2575    </P
2576 ><P
2577 >    <TABLE
2578 BORDER="0"
2579 BGCOLOR="#E0E0E0"
2580 WIDTH="90%"
2581 ><TR
2582 ><TD
2583 ><PRE
2584 CLASS="SCREEN"
2585 >  permit-access  localhost</PRE
2586 ></TD
2587 ></TR
2588 ></TABLE
2589 >
2590    </P
2591 ><P
2592 >    Allow any host on the same class C subnet as www.privoxy.org access to
2593     nothing but www.example.com (or other domains hosted on the same system):
2594    </P
2595 ><P
2596 >    <TABLE
2597 BORDER="0"
2598 BGCOLOR="#E0E0E0"
2599 WIDTH="90%"
2600 ><TR
2601 ><TD
2602 ><PRE
2603 CLASS="SCREEN"
2604 >  permit-access  www.privoxy.org/24 www.example.com/32</PRE
2605 ></TD
2606 ></TR
2607 ></TABLE
2608 >
2609    </P
2610 ><P
2611 >    Allow access from any host on the 26-bit subnet 192.168.45.64 to anywhere,
2612     with the exception that 192.168.45.73 may not access the IP address behind
2613     www.dirty-stuff.example.com:
2614    </P
2615 ><P
2616 >    <TABLE
2617 BORDER="0"
2618 BGCOLOR="#E0E0E0"
2619 WIDTH="90%"
2620 ><TR
2621 ><TD
2622 ><PRE
2623 CLASS="SCREEN"
2624 >  permit-access  192.168.45.64/26
2625   deny-access    192.168.45.73    www.dirty-stuff.example.com</PRE
2626 ></TD
2627 ></TR
2628 ></TABLE
2629 >
2630    </P
2631 ><P
2632 >     Allow access from the IPv4 network 192.0.2.0/24 even if listening on
2633      an IPv6 wild card address (not supported on all platforms):
2634    </P
2635 ><P
2636 >    <TABLE
2637 BORDER="0"
2638 BGCOLOR="#E0E0E0"
2639 WIDTH="90%"
2640 ><TR
2641 ><TD
2642 ><PRE
2643 CLASS="PROGRAMLISTING"
2644 >  permit-access  192.0.2.0/24</PRE
2645 ></TD
2646 ></TR
2647 ></TABLE
2648 >
2649    </P
2650 ><P
2651 >     This is equivalent to the following line even if listening on an
2652      IPv4 address (not supported on all platforms):
2653    </P
2654 ><P
2655 >    <TABLE
2656 BORDER="0"
2657 BGCOLOR="#E0E0E0"
2658 WIDTH="90%"
2659 ><TR
2660 ><TD
2661 ><PRE
2662 CLASS="PROGRAMLISTING"
2663 >  permit-access  [::ffff:192.0.2.0]/120</PRE
2664 ></TD
2665 ></TR
2666 ></TABLE
2667 >
2668    </P
2669 ></DD
2670 ></DL
2671 ></DIV
2672 ></DIV
2673 ><DIV
2674 CLASS="SECT3"
2675 ><H4
2676 CLASS="SECT3"
2677 ><A
2678 NAME="BUFFER-LIMIT"
2679 >7.4.8. buffer-limit</A
2680 ></H4
2681 ><P
2682 ></P
2683 ><DIV
2684 CLASS="VARIABLELIST"
2685 ><DL
2686 ><DT
2687 >Specifies:</DT
2688 ><DD
2689 ><P
2690 >    Maximum size of the buffer for content filtering.
2691    </P
2692 ></DD
2693 ><DT
2694 >Type of value:</DT
2695 ><DD
2696 ><P
2697 >Size in Kbytes</P
2698 ></DD
2699 ><DT
2700 >Default value:</DT
2701 ><DD
2702 ><P
2703 >4096</P
2704 ></DD
2705 ><DT
2706 >Effect if unset:</DT
2707 ><DD
2708 ><P
2709 >    Use a 4MB (4096 KB) limit.
2710    </P
2711 ></DD
2712 ><DT
2713 >Notes:</DT
2714 ><DD
2715 ><P
2716 >    For content filtering, i.e. the <TT
2717 CLASS="LITERAL"
2718 >+filter</TT
2719 > and
2720     <TT
2721 CLASS="LITERAL"
2722 >+deanimate-gif</TT
2723 > actions, it is necessary that 
2724     <SPAN
2725 CLASS="APPLICATION"
2726 >Privoxy</SPAN
2727 > buffers the entire document body.
2728     This can be potentially dangerous, since a server could just keep sending
2729     data indefinitely and wait for your RAM to exhaust -- with nasty consequences.
2730     Hence this option.
2731    </P
2732 ><P
2733 >    When a document buffer size reaches the <TT
2734 CLASS="LITERAL"
2735 >buffer-limit</TT
2736 >, it is
2737     flushed to the client unfiltered and no further attempt to
2738     filter the rest of the document is made. Remember that there may be multiple threads
2739     running, which might require up to <TT
2740 CLASS="LITERAL"
2741 >buffer-limit</TT
2742 > Kbytes
2743     <SPAN
2744 CLASS="emphasis"
2745 ><I
2746 CLASS="EMPHASIS"
2747 >each</I
2748 ></SPAN
2749 >, unless you have enabled <SPAN
2750 CLASS="QUOTE"
2751 >"single-threaded"</SPAN
2752 >
2753     above.
2754    </P
2755 ></DD
2756 ></DL
2757 ></DIV
2758 ></DIV
2759 ></DIV
2760 ><DIV
2761 CLASS="SECT2"
2762 ><H2
2763 CLASS="SECT2"
2764 ><A
2765 NAME="FORWARDING"
2766 >7.5. Forwarding</A
2767 ></H2
2768 ><P
2769 > This feature allows routing of HTTP requests through a chain of
2770  multiple proxies.</P
2771 ><P
2772 > Forwarding can be used to chain Privoxy with a caching proxy to speed
2773  up browsing. Using a parent proxy may also be necessary if the machine
2774  that <SPAN
2775 CLASS="APPLICATION"
2776 >Privoxy</SPAN
2777 > runs on has no direct Internet access.</P
2778 ><P
2779 > Note that parent proxies can severely decrease your privacy level.
2780  For example a parent proxy could add your IP address to the request
2781  headers and if it's a caching proxy it may add the <SPAN
2782 CLASS="QUOTE"
2783 >"Etag"</SPAN
2784 >
2785  header to revalidation requests again, even though you configured Privoxy
2786  to remove it. It may also ignore Privoxy's header time randomization and use the
2787  original values which could be used by the server as cookie replacement
2788  to track your steps between visits.</P
2789 ><P
2790 > Also specified here are SOCKS proxies. <SPAN
2791 CLASS="APPLICATION"
2792 >Privoxy</SPAN
2793 >
2794  supports the SOCKS 4 and SOCKS 4A protocols.</P
2795 ><DIV
2796 CLASS="SECT3"
2797 ><H4
2798 CLASS="SECT3"
2799 ><A
2800 NAME="FORWARD"
2801 >7.5.1. forward</A
2802 ></H4
2803 ><P
2804 ></P
2805 ><DIV
2806 CLASS="VARIABLELIST"
2807 ><DL
2808 ><DT
2809 >Specifies:</DT
2810 ><DD
2811 ><P
2812 >    To which parent HTTP proxy specific requests should be routed.
2813    </P
2814 ></DD
2815 ><DT
2816 >Type of value:</DT
2817 ><DD
2818 ><P
2819 >    <TT
2820 CLASS="REPLACEABLE"
2821 ><I
2822 >target_pattern</I
2823 ></TT
2824 >
2825     <TT
2826 CLASS="REPLACEABLE"
2827 ><I
2828 >http_parent</I
2829 ></TT
2830 >[:<TT
2831 CLASS="REPLACEABLE"
2832 ><I
2833 >port</I
2834 ></TT
2835 >]
2836    </P
2837 ><P
2838 >    where <TT
2839 CLASS="REPLACEABLE"
2840 ><I
2841 >target_pattern</I
2842 ></TT
2843 > is a <A
2844 HREF="actions-file.html#AF-PATTERNS"
2845 >URL pattern</A
2846
2847     that specifies to which requests (i.e. URLs) this forward rule shall apply. Use <TT
2848 CLASS="LITERAL"
2849 >/</TT
2850 > to
2851     denote <SPAN
2852 CLASS="QUOTE"
2853 >"all URLs"</SPAN
2854 >.
2855     <TT
2856 CLASS="REPLACEABLE"
2857 ><I
2858 >http_parent</I
2859 ></TT
2860 >[:<TT
2861 CLASS="REPLACEABLE"
2862 ><I
2863 >port</I
2864 ></TT
2865 >]
2866     is the DNS name or IP address of the parent HTTP proxy through which the requests should be forwarded,
2867     optionally followed by its listening port (default: 8000).
2868     Use a single dot (<TT
2869 CLASS="LITERAL"
2870 >.</TT
2871 >) to denote <SPAN
2872 CLASS="QUOTE"
2873 >"no forwarding"</SPAN
2874 >.
2875    </P
2876 ></DD
2877 ><DT
2878 >Default value:</DT
2879 ><DD
2880 ><P
2881 ><SPAN
2882 CLASS="emphasis"
2883 ><I
2884 CLASS="EMPHASIS"
2885 >Unset</I
2886 ></SPAN
2887 ></P
2888 ></DD
2889 ><DT
2890 >Effect if unset:</DT
2891 ><DD
2892 ><P
2893 >    Don't use parent HTTP proxies.
2894    </P
2895 ></DD
2896 ><DT
2897 >Notes:</DT
2898 ><DD
2899 ><P
2900 >    If <TT
2901 CLASS="REPLACEABLE"
2902 ><I
2903 >http_parent</I
2904 ></TT
2905 > is <SPAN
2906 CLASS="QUOTE"
2907 >"."</SPAN
2908 >, then requests are not
2909     forwarded to another HTTP proxy but are made directly to the web servers.
2910    </P
2911 ><P
2912 >    <TT
2913 CLASS="REPLACEABLE"
2914 ><I
2915 >http_parent</I
2916 ></TT
2917 > can be a
2918      numerical IPv6 address (if
2919     <A
2920 HREF="http://tools.ietf.org/html/rfc3493"
2921 TARGET="_top"
2922 >RFC 3493</A
2923 > is
2924     implemented). To prevent clashes with the port delimiter, the whole IP
2925     address has to be put into brackets. On the other hand a <TT
2926 CLASS="REPLACEABLE"
2927 ><I
2928 >target_pattern</I
2929 ></TT
2930 > containing an IPv6 address
2931     has to be put into angle brackets (normal brackets are reserved for
2932     regular expressions already).
2933    </P
2934 ><P
2935 >    Multiple lines are OK, they are checked in sequence, and the last match wins.
2936    </P
2937 ></DD
2938 ><DT
2939 >Examples:</DT
2940 ><DD
2941 ><P
2942 >    Everything goes to an example parent proxy, except SSL on port 443 (which it doesn't handle):
2943    </P
2944 ><P
2945 >    <TABLE
2946 BORDER="0"
2947 BGCOLOR="#E0E0E0"
2948 WIDTH="90%"
2949 ><TR
2950 ><TD
2951 ><PRE
2952 CLASS="SCREEN"
2953 >  forward   /      parent-proxy.example.org:8080
2954   forward   :443   .</PRE
2955 ></TD
2956 ></TR
2957 ></TABLE
2958 >
2959    </P
2960 ><P
2961 >    Everything goes to our example ISP's caching proxy, except for requests
2962     to that ISP's sites:
2963    </P
2964 ><P
2965 >    <TABLE
2966 BORDER="0"
2967 BGCOLOR="#E0E0E0"
2968 WIDTH="90%"
2969 ><TR
2970 ><TD
2971 ><PRE
2972 CLASS="SCREEN"
2973 >  forward   /                  caching-proxy.isp.example.net:8000
2974   forward   .isp.example.net   .</PRE
2975 ></TD
2976 ></TR
2977 ></TABLE
2978 >
2979    </P
2980 ><P
2981 >    Parent proxy specified by an IPv6 address:
2982    </P
2983 ><P
2984 >    <TABLE
2985 BORDER="0"
2986 BGCOLOR="#E0E0E0"
2987 WIDTH="90%"
2988 ><TR
2989 ><TD
2990 ><PRE
2991 CLASS="PROGRAMLISTING"
2992 >  foward   /                   [2001:DB8::1]:8000</PRE
2993 ></TD
2994 ></TR
2995 ></TABLE
2996 >
2997    </P
2998 ><P
2999 >    Suppose your parent proxy doesn't support IPv6:
3000    </P
3001 ><P
3002 >    <TABLE
3003 BORDER="0"
3004 BGCOLOR="#E0E0E0"
3005 WIDTH="90%"
3006 ><TR
3007 ><TD
3008 ><PRE
3009 CLASS="PROGRAMLISTING"
3010 >  forward  /                        parent-proxy.example.org:8000
3011   forward  ipv6-server.example.org  .
3012   forward  &#60;[2-3][0-9a-f][0-9a-f][0-9a-f]:*&#62;   .</PRE
3013 ></TD
3014 ></TR
3015 ></TABLE
3016 >
3017    </P
3018 ></DD
3019 ></DL
3020 ></DIV
3021 ></DIV
3022 ><DIV
3023 CLASS="SECT3"
3024 ><H4
3025 CLASS="SECT3"
3026 ><A
3027 NAME="SOCKS"
3028 >7.5.2. forward-socks4, forward-socks4a and forward-socks5</A
3029 ></H4
3030 ><A
3031 NAME="FORWARD-SOCKS4"
3032 ></A
3033 ><A
3034 NAME="FORWARD-SOCKS4A"
3035 ></A
3036 ><P
3037 ></P
3038 ><DIV
3039 CLASS="VARIABLELIST"
3040 ><DL
3041 ><DT
3042 >Specifies:</DT
3043 ><DD
3044 ><P
3045 >    Through which SOCKS proxy (and optionally to which parent HTTP proxy) specific requests should be routed.
3046    </P
3047 ></DD
3048 ><DT
3049 >Type of value:</DT
3050 ><DD
3051 ><P
3052 >    <TT
3053 CLASS="REPLACEABLE"
3054 ><I
3055 >target_pattern</I
3056 ></TT
3057 >
3058     <TT
3059 CLASS="REPLACEABLE"
3060 ><I
3061 >socks_proxy</I
3062 ></TT
3063 >[:<TT
3064 CLASS="REPLACEABLE"
3065 ><I
3066 >port</I
3067 ></TT
3068 >]
3069     <TT
3070 CLASS="REPLACEABLE"
3071 ><I
3072 >http_parent</I
3073 ></TT
3074 >[:<TT
3075 CLASS="REPLACEABLE"
3076 ><I
3077 >port</I
3078 ></TT
3079 >]
3080    </P
3081 ><P
3082 >    where <TT
3083 CLASS="REPLACEABLE"
3084 ><I
3085 >target_pattern</I
3086 ></TT
3087 > is a
3088     <A
3089 HREF="actions-file.html#AF-PATTERNS"
3090 >URL pattern</A
3091 > that specifies to which
3092     requests (i.e. URLs) this forward rule shall apply. Use <TT
3093 CLASS="LITERAL"
3094 >/</TT
3095 > to
3096     denote <SPAN
3097 CLASS="QUOTE"
3098 >"all URLs"</SPAN
3099 >. <TT
3100 CLASS="REPLACEABLE"
3101 ><I
3102 >http_parent</I
3103 ></TT
3104 >
3105     and <TT
3106 CLASS="REPLACEABLE"
3107 ><I
3108 >socks_proxy</I
3109 ></TT
3110 >
3111     are IP addresses in dotted decimal notation or valid DNS names
3112     (<TT
3113 CLASS="REPLACEABLE"
3114 ><I
3115 >http_parent</I
3116 ></TT
3117 >
3118     may be <SPAN
3119 CLASS="QUOTE"
3120 >"."</SPAN
3121 > to denote <SPAN
3122 CLASS="QUOTE"
3123 >"no HTTP forwarding"</SPAN
3124 >), and the optional 
3125     <TT
3126 CLASS="REPLACEABLE"
3127 ><I
3128 >port</I
3129 ></TT
3130 > parameters are TCP ports,
3131     i.e. integer values from 1 to 65535
3132    </P
3133 ></DD
3134 ><DT
3135 >Default value:</DT
3136 ><DD
3137 ><P
3138 ><SPAN
3139 CLASS="emphasis"
3140 ><I
3141 CLASS="EMPHASIS"
3142 >Unset</I
3143 ></SPAN
3144 ></P
3145 ></DD
3146 ><DT
3147 >Effect if unset:</DT
3148 ><DD
3149 ><P
3150 >    Don't use SOCKS proxies.
3151    </P
3152 ></DD
3153 ><DT
3154 >Notes:</DT
3155 ><DD
3156 ><P
3157 >    Multiple lines are OK, they are checked in sequence, and the last match wins.
3158    </P
3159 ><P
3160 >    The difference between <TT
3161 CLASS="LITERAL"
3162 >forward-socks4</TT
3163 > and <TT
3164 CLASS="LITERAL"
3165 >forward-socks4a</TT
3166 >
3167     is that in the SOCKS 4A protocol, the DNS resolution of the target hostname happens on the SOCKS
3168     server, while in SOCKS 4 it happens locally.
3169    </P
3170 ><P
3171 >    With <TT
3172 CLASS="LITERAL"
3173 >forward-socks5</TT
3174 > the DNS resolution will happen on the remote server as well.
3175    </P
3176 ><P
3177 >    <TT
3178 CLASS="REPLACEABLE"
3179 ><I
3180 >socks_proxy</I
3181 ></TT
3182 > and
3183     <TT
3184 CLASS="REPLACEABLE"
3185 ><I
3186 >http_parent</I
3187 ></TT
3188 > can be a
3189      numerical IPv6 address (if
3190     <A
3191 HREF="http://tools.ietf.org/html/rfc3493"
3192 TARGET="_top"
3193 >RFC 3493</A
3194 > is
3195     implemented). To prevent clashes with the port delimiter, the whole IP
3196     address has to be put into brackets. On the other hand a <TT
3197 CLASS="REPLACEABLE"
3198 ><I
3199 >target_pattern</I
3200 ></TT
3201 > containing an IPv6 address
3202     has to be put into angle brackets (normal brackets are reserved for
3203     regular expressions already).
3204    </P
3205 ><P
3206 >    If <TT
3207 CLASS="REPLACEABLE"
3208 ><I
3209 >http_parent</I
3210 ></TT
3211 > is <SPAN
3212 CLASS="QUOTE"
3213 >"."</SPAN
3214 >, then requests are not
3215     forwarded to another HTTP proxy but are made (HTTP-wise) directly to the web servers, albeit through
3216     a SOCKS proxy.
3217    </P
3218 ></DD
3219 ><DT
3220 >Examples:</DT
3221 ><DD
3222 ><P
3223 >     From the company example.com, direct connections are made to all
3224      <SPAN
3225 CLASS="QUOTE"
3226 >"internal"</SPAN
3227 > domains, but everything outbound goes through
3228      their ISP's proxy by way of example.com's corporate SOCKS 4A gateway to
3229      the Internet.
3230    </P
3231 ><P
3232 >    <TABLE
3233 BORDER="0"
3234 BGCOLOR="#E0E0E0"
3235 WIDTH="90%"
3236 ><TR
3237 ><TD
3238 ><PRE
3239 CLASS="SCREEN"
3240 >  forward-socks4a   /              socks-gw.example.com:1080  www-cache.isp.example.net:8080
3241   forward           .example.com   .</PRE
3242 ></TD
3243 ></TR
3244 ></TABLE
3245 >
3246    </P
3247 ><P
3248 >    A rule that uses a SOCKS 4 gateway for all destinations but no HTTP parent looks like this:
3249    </P
3250 ><P
3251 >    <TABLE
3252 BORDER="0"
3253 BGCOLOR="#E0E0E0"
3254 WIDTH="90%"
3255 ><TR
3256 ><TD
3257 ><PRE
3258 CLASS="SCREEN"
3259 >  forward-socks4   /               socks-gw.example.com:1080  .</PRE
3260 ></TD
3261 ></TR
3262 ></TABLE
3263 >
3264    </P
3265 ><P
3266 >    To chain Privoxy and Tor, both running on the same system, you would use 
3267     something like:
3268    </P
3269 ><P
3270 >    <TABLE
3271 BORDER="0"
3272 BGCOLOR="#E0E0E0"
3273 WIDTH="90%"
3274 ><TR
3275 ><TD
3276 ><PRE
3277 CLASS="SCREEN"
3278 >  forward-socks5   /               127.0.0.1:9050 .</PRE
3279 ></TD
3280 ></TR
3281 ></TABLE
3282 >
3283    </P
3284 ><P
3285 >    The public <SPAN
3286 CLASS="APPLICATION"
3287 >Tor</SPAN
3288 > network can't be used to
3289     reach your local network, if you need to access local servers you
3290     therefore might want to make some exceptions:
3291    </P
3292 ><P
3293 >    <TABLE
3294 BORDER="0"
3295 BGCOLOR="#E0E0E0"
3296 WIDTH="90%"
3297 ><TR
3298 ><TD
3299 ><PRE
3300 CLASS="SCREEN"
3301 >  forward         192.168.*.*/     .
3302   forward            10.*.*.*/     .
3303   forward           127.*.*.*/     .</PRE
3304 ></TD
3305 ></TR
3306 ></TABLE
3307 >
3308    </P
3309 ><P
3310 >    Unencrypted connections to systems in these address ranges will
3311     be as (un)secure as the local network is, but the alternative is that you
3312     can't reach the local network through <SPAN
3313 CLASS="APPLICATION"
3314 >Privoxy</SPAN
3315 >
3316     at all. Of course this may actually be desired and there is no reason
3317     to make these exceptions if you aren't sure you need them.
3318    </P
3319 ><P
3320 >    If you also want to be able to reach servers in your local network by
3321     using their names, you will need additional exceptions that look like
3322     this:
3323    </P
3324 ><P
3325 >    <TABLE
3326 BORDER="0"
3327 BGCOLOR="#E0E0E0"
3328 WIDTH="90%"
3329 ><TR
3330 ><TD
3331 ><PRE
3332 CLASS="SCREEN"
3333 > forward           localhost/     .</PRE
3334 ></TD
3335 ></TR
3336 ></TABLE
3337 >
3338    </P
3339 ></DD
3340 ></DL
3341 ></DIV
3342 ></DIV
3343 ><DIV
3344 CLASS="SECT3"
3345 ><H4
3346 CLASS="SECT3"
3347 ><A
3348 NAME="ADVANCED-FORWARDING-EXAMPLES"
3349 >7.5.3. Advanced Forwarding Examples</A
3350 ></H4
3351 ><P
3352 > If you have links to multiple ISPs that provide various special content 
3353  only to their subscribers, you can configure multiple <SPAN
3354 CLASS="APPLICATION"
3355 >Privoxies</SPAN
3356 >
3357  which have connections to the respective ISPs to act as forwarders to each other, so that
3358  <SPAN
3359 CLASS="emphasis"
3360 ><I
3361 CLASS="EMPHASIS"
3362 >your</I
3363 ></SPAN
3364 > users can see the internal content of all ISPs.</P
3365 ><P
3366 > Assume that host-a has a PPP connection to isp-a.example.net. And host-b has a PPP connection to
3367  isp-b.example.org. Both run <SPAN
3368 CLASS="APPLICATION"
3369 >Privoxy</SPAN
3370 >. Their forwarding
3371  configuration can look like this:</P
3372 ><P
3373 > host-a:</P
3374 ><P
3375 > <TABLE
3376 BORDER="0"
3377 BGCOLOR="#E0E0E0"
3378 WIDTH="100%"
3379 ><TR
3380 ><TD
3381 ><PRE
3382 CLASS="SCREEN"
3383 >  forward    /           .
3384   forward    .isp-b.example.net  host-b:8118</PRE
3385 ></TD
3386 ></TR
3387 ></TABLE
3388 ></P
3389 ><P
3390 > host-b:</P
3391 ><P
3392 > <TABLE
3393 BORDER="0"
3394 BGCOLOR="#E0E0E0"
3395 WIDTH="100%"
3396 ><TR
3397 ><TD
3398 ><PRE
3399 CLASS="SCREEN"
3400 >  forward    /           .
3401   forward    .isp-a.example.org  host-a:8118</PRE
3402 ></TD
3403 ></TR
3404 ></TABLE
3405 ></P
3406 ><P
3407 > Now, your users can set their browser's proxy to use either
3408  host-a or host-b and be able to browse the internal content
3409  of both isp-a and isp-b.</P
3410 ><P
3411 > If you intend to chain <SPAN
3412 CLASS="APPLICATION"
3413 >Privoxy</SPAN
3414 > and 
3415  <SPAN
3416 CLASS="APPLICATION"
3417 >squid</SPAN
3418 > locally, then chaining as 
3419  <TT
3420 CLASS="LITERAL"
3421 >browser -&#62; squid -&#62; privoxy</TT
3422 > is the recommended way. </P
3423 ><P
3424 > Assuming that <SPAN
3425 CLASS="APPLICATION"
3426 >Privoxy</SPAN
3427 > and <SPAN
3428 CLASS="APPLICATION"
3429 >squid</SPAN
3430 >
3431  run on the same box, your <SPAN
3432 CLASS="APPLICATION"
3433 >squid</SPAN
3434 > configuration could then look like this:</P
3435 ><P
3436 > <TABLE
3437 BORDER="0"
3438 BGCOLOR="#E0E0E0"
3439 WIDTH="100%"
3440 ><TR
3441 ><TD
3442 ><PRE
3443 CLASS="SCREEN"
3444 >  # Define Privoxy as parent proxy (without ICP) 
3445   cache_peer 127.0.0.1 parent 8118 7 no-query 
3446
3447   # Define ACL for protocol FTP 
3448   acl ftp proto FTP 
3449
3450   # Do not forward FTP requests to Privoxy
3451   always_direct allow ftp 
3452
3453   # Forward all the rest to Privoxy
3454   never_direct allow all</PRE
3455 ></TD
3456 ></TR
3457 ></TABLE
3458 ></P
3459 ><P
3460 > You would then need to change your browser's proxy settings to <SPAN
3461 CLASS="APPLICATION"
3462 >squid</SPAN
3463 >'s address and port.
3464  Squid normally uses port 3128. If unsure consult <TT
3465 CLASS="LITERAL"
3466 >http_port</TT
3467 > in <TT
3468 CLASS="FILENAME"
3469 >squid.conf</TT
3470 >.</P
3471 ><P
3472 > You could just as well decide to only forward requests you suspect
3473  of leading to Windows executables through a virus-scanning parent proxy,
3474  say, on <TT
3475 CLASS="LITERAL"
3476 >antivir.example.com</TT
3477 >, port 8010:</P
3478 ><P
3479 > <TABLE
3480 BORDER="0"
3481 BGCOLOR="#E0E0E0"
3482 WIDTH="100%"
3483 ><TR
3484 ><TD
3485 ><PRE
3486 CLASS="SCREEN"
3487 >  forward   /                          .
3488   forward   /.*\.(exe|com|dll|zip)$    antivir.example.com:8010</PRE
3489 ></TD
3490 ></TR
3491 ></TABLE
3492 > </P
3493 ></DIV
3494 ><DIV
3495 CLASS="SECT3"
3496 ><H4
3497 CLASS="SECT3"
3498 ><A
3499 NAME="FORWARDED-CONNECT-RETRIES"
3500 >7.5.4. forwarded-connect-retries</A
3501 ></H4
3502 ><P
3503 ></P
3504 ><DIV
3505 CLASS="VARIABLELIST"
3506 ><DL
3507 ><DT
3508 >Specifies:</DT
3509 ><DD
3510 ><P
3511 >    How often Privoxy retries if a forwarded connection request fails. 
3512    </P
3513 ></DD
3514 ><DT
3515 >Type of value:</DT
3516 ><DD
3517 ><P
3518 >    <TT
3519 CLASS="REPLACEABLE"
3520 ><I
3521 >Number of retries.</I
3522 ></TT
3523 >
3524    </P
3525 ></DD
3526 ><DT
3527 >Default value:</DT
3528 ><DD
3529 ><P
3530 ><SPAN
3531 CLASS="emphasis"
3532 ><I
3533 CLASS="EMPHASIS"
3534 >0</I
3535 ></SPAN
3536 ></P
3537 ></DD
3538 ><DT
3539 >Effect if unset:</DT
3540 ><DD
3541 ><P
3542 >    Connections forwarded through other proxies are treated like direct connections and no retry attempts are made.
3543    </P
3544 ></DD
3545 ><DT
3546 >Notes:</DT
3547 ><DD
3548 ><P
3549 >    <TT
3550 CLASS="REPLACEABLE"
3551 ><I
3552 >forwarded-connect-retries</I
3553 ></TT
3554 > is mainly interesting
3555     for socks4a connections, where <SPAN
3556 CLASS="APPLICATION"
3557 >Privoxy</SPAN
3558 > can't detect why the connections failed.
3559     The connection might have failed because of a DNS timeout in which case a retry makes sense,
3560     but it might also have failed because the server doesn't exist or isn't reachable. In this
3561     case the retry will just delay the appearance of Privoxy's error message.
3562    </P
3563 ><P
3564 >    Note that in the context of this option, <SPAN
3565 CLASS="QUOTE"
3566 >"forwarded connections"</SPAN
3567 > includes all connections
3568     that Privoxy forwards through other proxies. This option is not limited to the HTTP CONNECT method.
3569    </P
3570 ><P
3571 >    Only use this option, if you are getting lots of forwarding-related error messages
3572     that go away when you try again manually. Start with a small value and check Privoxy's
3573     logfile from time to time, to see how many retries are usually needed.
3574    </P
3575 ></DD
3576 ><DT
3577 >Examples:</DT
3578 ><DD
3579 ><P
3580 >    forwarded-connect-retries 1
3581    </P
3582 ></DD
3583 ></DL
3584 ></DIV
3585 ></DIV
3586 ></DIV
3587 ><DIV
3588 CLASS="SECT2"
3589 ><H2
3590 CLASS="SECT2"
3591 ><A
3592 NAME="MISC"
3593 >7.6. Miscellaneous</A
3594 ></H2
3595 ><DIV
3596 CLASS="SECT3"
3597 ><H4
3598 CLASS="SECT3"
3599 ><A
3600 NAME="ACCEPT-INTERCEPTED-REQUESTS"
3601 >7.6.1. accept-intercepted-requests</A
3602 ></H4
3603 ><P
3604 ></P
3605 ><DIV
3606 CLASS="VARIABLELIST"
3607 ><DL
3608 ><DT
3609 >Specifies:</DT
3610 ><DD
3611 ><P
3612 >    Whether intercepted requests should be treated as valid.
3613    </P
3614 ></DD
3615 ><DT
3616 >Type of value:</DT
3617 ><DD
3618 ><P
3619 >    <TT
3620 CLASS="REPLACEABLE"
3621 ><I
3622 >0 or 1</I
3623 ></TT
3624 >
3625    </P
3626 ></DD
3627 ><DT
3628 >Default value:</DT
3629 ><DD
3630 ><P
3631 ><SPAN
3632 CLASS="emphasis"
3633 ><I
3634 CLASS="EMPHASIS"
3635 >0</I
3636 ></SPAN
3637 ></P
3638 ></DD
3639 ><DT
3640 >Effect if unset:</DT
3641 ><DD
3642 ><P
3643 >    Only proxy requests are accepted, intercepted requests are treated as invalid.
3644    </P
3645 ></DD
3646 ><DT
3647 >Notes:</DT
3648 ><DD
3649 ><P
3650 >    If you don't trust your clients and want to force them
3651     to use <SPAN
3652 CLASS="APPLICATION"
3653 >Privoxy</SPAN
3654 >, enable this
3655     option and configure your packet filter to redirect outgoing
3656     HTTP connections into <SPAN
3657 CLASS="APPLICATION"
3658 >Privoxy</SPAN
3659 >. 
3660    </P
3661 ><P
3662 >    Make sure that <SPAN
3663 CLASS="APPLICATION"
3664 >Privoxy's</SPAN
3665 > own requests
3666     aren't redirected as well. Additionally take care that
3667     <SPAN
3668 CLASS="APPLICATION"
3669 >Privoxy</SPAN
3670 > can't intentionally connect
3671     to itself, otherwise you could run into redirection loops if
3672     <SPAN
3673 CLASS="APPLICATION"
3674 >Privoxy's</SPAN
3675 > listening port is reachable
3676     by the outside or an attacker has access to the pages you visit.
3677    </P
3678 ></DD
3679 ><DT
3680 >Examples:</DT
3681 ><DD
3682 ><P
3683 >    accept-intercepted-requests 1
3684    </P
3685 ></DD
3686 ></DL
3687 ></DIV
3688 ></DIV
3689 ><DIV
3690 CLASS="SECT3"
3691 ><H4
3692 CLASS="SECT3"
3693 ><A
3694 NAME="ALLOW-CGI-REQUEST-CRUNCHING"
3695 >7.6.2. allow-cgi-request-crunching</A
3696 ></H4
3697 ><P
3698 ></P
3699 ><DIV
3700 CLASS="VARIABLELIST"
3701 ><DL
3702 ><DT
3703 >Specifies:</DT
3704 ><DD
3705 ><P
3706 >    Whether requests to <SPAN
3707 CLASS="APPLICATION"
3708 >Privoxy's</SPAN
3709 > CGI pages can be blocked or redirected.
3710    </P
3711 ></DD
3712 ><DT
3713 >Type of value:</DT
3714 ><DD
3715 ><P
3716 >    <TT
3717 CLASS="REPLACEABLE"
3718 ><I
3719 >0 or 1</I
3720 ></TT
3721 >
3722    </P
3723 ></DD
3724 ><DT
3725 >Default value:</DT
3726 ><DD
3727 ><P
3728 ><SPAN
3729 CLASS="emphasis"
3730 ><I
3731 CLASS="EMPHASIS"
3732 >0</I
3733 ></SPAN
3734 ></P
3735 ></DD
3736 ><DT
3737 >Effect if unset:</DT
3738 ><DD
3739 ><P
3740 >    <SPAN
3741 CLASS="APPLICATION"
3742 >Privoxy</SPAN
3743 > ignores block and redirect actions for its CGI pages.
3744    </P
3745 ></DD
3746 ><DT
3747 >Notes:</DT
3748 ><DD
3749 ><P
3750 >    By default <SPAN
3751 CLASS="APPLICATION"
3752 >Privoxy</SPAN
3753 > ignores block or redirect actions
3754     for its CGI pages. Intercepting these requests can be useful in multi-user
3755     setups to implement fine-grained access control, but it can also render the complete
3756     web interface useless and make debugging problems painful if done without care.
3757    </P
3758 ><P
3759 >    Don't enable this option unless you're sure that you really need it.
3760    </P
3761 ></DD
3762 ><DT
3763 >Examples:</DT
3764 ><DD
3765 ><P
3766 >    allow-cgi-request-crunching 1
3767    </P
3768 ></DD
3769 ></DL
3770 ></DIV
3771 ></DIV
3772 ><DIV
3773 CLASS="SECT3"
3774 ><H4
3775 CLASS="SECT3"
3776 ><A
3777 NAME="SPLIT-LARGE-FORMS"
3778 >7.6.3. split-large-forms</A
3779 ></H4
3780 ><P
3781 ></P
3782 ><DIV
3783 CLASS="VARIABLELIST"
3784 ><DL
3785 ><DT
3786 >Specifies:</DT
3787 ><DD
3788 ><P
3789 >    Whether the CGI interface should stay compatible with broken HTTP clients.
3790    </P
3791 ></DD
3792 ><DT
3793 >Type of value:</DT
3794 ><DD
3795 ><P
3796 >    <TT
3797 CLASS="REPLACEABLE"
3798 ><I
3799 >0 or 1</I
3800 ></TT
3801 >
3802    </P
3803 ></DD
3804 ><DT
3805 >Default value:</DT
3806 ><DD
3807 ><P
3808 ><SPAN
3809 CLASS="emphasis"
3810 ><I
3811 CLASS="EMPHASIS"
3812 >0</I
3813 ></SPAN
3814 ></P
3815 ></DD
3816 ><DT
3817 >Effect if unset:</DT
3818 ><DD
3819 ><P
3820 >    The CGI form generate long GET URLs.
3821    </P
3822 ></DD
3823 ><DT
3824 >Notes:</DT
3825 ><DD
3826 ><P
3827 >    <SPAN
3828 CLASS="APPLICATION"
3829 >Privoxy's</SPAN
3830 > CGI forms can lead to
3831     rather long URLs. This isn't a problem as far as the HTTP
3832     standard is concerned, but it can confuse clients with arbitrary
3833     URL length limitations.
3834    </P
3835 ><P
3836 >    Enabling split-large-forms causes <SPAN
3837 CLASS="APPLICATION"
3838 >Privoxy</SPAN
3839 >
3840     to divide big forms into smaller ones to keep the URL length down.
3841     It makes editing a lot less convenient and you can no longer
3842     submit all changes at once, but at least it works around this
3843     browser bug.
3844    </P
3845 ><P
3846 >    If you don't notice any editing problems, there is no reason
3847     to enable this option, but if one of the submit buttons appears
3848     to be broken, you should give it a try.
3849    </P
3850 ></DD
3851 ><DT
3852 >Examples:</DT
3853 ><DD
3854 ><P
3855 >    split-large-forms 1
3856    </P
3857 ></DD
3858 ></DL
3859 ></DIV
3860 ></DIV
3861 ><DIV
3862 CLASS="SECT3"
3863 ><H4
3864 CLASS="SECT3"
3865 ><A
3866 NAME="KEEP-ALIVE-TIMEOUT"
3867 >7.6.4. keep-alive-timeout</A
3868 ></H4
3869 ><P
3870 ></P
3871 ><DIV
3872 CLASS="VARIABLELIST"
3873 ><DL
3874 ><DT
3875 >Specifies:</DT
3876 ><DD
3877 ><P
3878 >    Number of seconds after which an open connection will no longer be reused.
3879    </P
3880 ></DD
3881 ><DT
3882 >Type of value:</DT
3883 ><DD
3884 ><P
3885 >    <TT
3886 CLASS="REPLACEABLE"
3887 ><I
3888 >Time in seconds.</I
3889 ></TT
3890 >
3891    </P
3892 ></DD
3893 ><DT
3894 >Default value:</DT
3895 ><DD
3896 ><P
3897 >None</P
3898 ></DD
3899 ><DT
3900 >Effect if unset:</DT
3901 ><DD
3902 ><P
3903 >    Connections are not kept alive.
3904    </P
3905 ></DD
3906 ><DT
3907 >Notes:</DT
3908 ><DD
3909 ><P
3910 >    This option allows clients to keep the connection to <SPAN
3911 CLASS="APPLICATION"
3912 >Privoxy</SPAN
3913 >
3914     alive. If the server supports it, <SPAN
3915 CLASS="APPLICATION"
3916 >Privoxy</SPAN
3917 > will keep
3918     the connection to the server alive as well. Under certain
3919     circumstances this may result in speed-ups.
3920    </P
3921 ><P
3922 >    By default, <SPAN
3923 CLASS="APPLICATION"
3924 >Privoxy</SPAN
3925 > will close the connection to the server if
3926     the client connection gets closed, or if the specified timeout
3927     has been reached without a new request coming in. This behaviour
3928     can be changed with the <A
3929 HREF="#CONNECTION-SHARING"
3930 TARGET="_top"
3931 >connection-sharing</A
3932 > option.
3933    </P
3934 ><P
3935 >    This option has no effect if <SPAN
3936 CLASS="APPLICATION"
3937 >Privoxy</SPAN
3938 >
3939     has been compiled without keep-alive support.
3940    </P
3941 ></DD
3942 ><DT
3943 >Examples:</DT
3944 ><DD
3945 ><P
3946 >    keep-alive-timeout 300
3947    </P
3948 ></DD
3949 ></DL
3950 ></DIV
3951 ></DIV
3952 ><DIV
3953 CLASS="SECT3"
3954 ><H4
3955 CLASS="SECT3"
3956 ><A
3957 NAME="DEFAULT-SERVER-TIMEOUT"
3958 >7.6.5. default-server-timeout</A
3959 ></H4
3960 ><P
3961 ></P
3962 ><DIV
3963 CLASS="VARIABLELIST"
3964 ><DL
3965 ><DT
3966 >Specifies:</DT
3967 ><DD
3968 ><P
3969 >    Assumed server-side keep-alive timeout if not specified by the server.
3970    </P
3971 ></DD
3972 ><DT
3973 >Type of value:</DT
3974 ><DD
3975 ><P
3976 >    <TT
3977 CLASS="REPLACEABLE"
3978 ><I
3979 >Time in seconds.</I
3980 ></TT
3981 >
3982    </P
3983 ></DD
3984 ><DT
3985 >Default value:</DT
3986 ><DD
3987 ><P
3988 >None</P
3989 ></DD
3990 ><DT
3991 >Effect if unset:</DT
3992 ><DD
3993 ><P
3994 >    Connections for which the server didn't specify the keep-alive
3995     timeout are not reused.
3996    </P
3997 ></DD
3998 ><DT
3999 >Notes:</DT
4000 ><DD
4001 ><P
4002 >    Enabling this option significantly increases the number of connections
4003     that are reused, provided the <A
4004 HREF="#KEEP-ALIVE-TIMEOUT"
4005 TARGET="_top"
4006 >keep-alive-timeout</A
4007 > option
4008     is also enabled.
4009    </P
4010 ><P
4011 >    While it also increases the number of connections problems
4012     when <SPAN
4013 CLASS="APPLICATION"
4014 >Privoxy</SPAN
4015 > tries to reuse a connection that already has
4016     been closed on the server side, or is closed while <SPAN
4017 CLASS="APPLICATION"
4018 >Privoxy</SPAN
4019 >
4020     is trying to reuse it, this should only be a problem if it
4021     happens for the first request sent by the client. If it happens
4022     for requests on reused client connections, <SPAN
4023 CLASS="APPLICATION"
4024 >Privoxy</SPAN
4025 > will simply
4026     close the connection and the client is supposed to retry the
4027     request without bothering the user.
4028    </P
4029 ><P
4030 >    Enabling this option is therefore only recommended if the
4031     <A
4032 HREF="#CONNECTION-SHARING"
4033 TARGET="_top"
4034 >connection-sharing</A
4035 > option
4036     is disabled.
4037    </P
4038 ><P
4039 >    It is an error to specify a value larger than the <A
4040 HREF="#KEEP-ALIVE-TIMEOUT"
4041 TARGET="_top"
4042 >keep-alive-timeout</A
4043 > value.
4044    </P
4045 ><P
4046 >    This option has no effect if <SPAN
4047 CLASS="APPLICATION"
4048 >Privoxy</SPAN
4049 >
4050     has been compiled without keep-alive support.
4051    </P
4052 ></DD
4053 ><DT
4054 >Examples:</DT
4055 ><DD
4056 ><P
4057 >    default-server-timeout 60
4058    </P
4059 ></DD
4060 ></DL
4061 ></DIV
4062 ></DIV
4063 ><DIV
4064 CLASS="SECT3"
4065 ><H4
4066 CLASS="SECT3"
4067 ><A
4068 NAME="CONNECTION-SHARING"
4069 >7.6.6. connection-sharing</A
4070 ></H4
4071 ><P
4072 ></P
4073 ><DIV
4074 CLASS="VARIABLELIST"
4075 ><DL
4076 ><DT
4077 >Specifies:</DT
4078 ><DD
4079 ><P
4080 >    Whether or not outgoing connections that have been kept alive
4081     should be shared between different incoming connections.
4082    </P
4083 ></DD
4084 ><DT
4085 >Type of value:</DT
4086 ><DD
4087 ><P
4088 >    <TT
4089 CLASS="REPLACEABLE"
4090 ><I
4091 >0 or 1</I
4092 ></TT
4093 >
4094    </P
4095 ></DD
4096 ><DT
4097 >Default value:</DT
4098 ><DD
4099 ><P
4100 >None</P
4101 ></DD
4102 ><DT
4103 >Effect if unset:</DT
4104 ><DD
4105 ><P
4106 >    Connections are not shared.
4107    </P
4108 ></DD
4109 ><DT
4110 >Notes:</DT
4111 ><DD
4112 ><P
4113 >    This option has no effect if <SPAN
4114 CLASS="APPLICATION"
4115 >Privoxy</SPAN
4116 >
4117     has been compiled without keep-alive support, or if it's disabled.
4118    </P
4119 ></DD
4120 ><DT
4121 >Notes:</DT
4122 ><DD
4123 ><P
4124 >    Note that reusing connections doesn't necessary cause speedups.
4125     There are also a few privacy implications you should be aware of.
4126    </P
4127 ><P
4128 >    If this option is effective, outgoing connections are shared between
4129     clients (if there are more than one) and closing the browser that initiated
4130     the outgoing connection does no longer affect the connection between <SPAN
4131 CLASS="APPLICATION"
4132 >Privoxy</SPAN
4133 >
4134     and the server unless the client's request hasn't been completed yet.
4135    </P
4136 ><P
4137 >    If the outgoing connection  is idle, it will not be closed until either
4138     <SPAN
4139 CLASS="APPLICATION"
4140 >Privoxy's</SPAN
4141 > or the server's timeout is reached.
4142     While it's open, the server knows that the system running <SPAN
4143 CLASS="APPLICATION"
4144 >Privoxy</SPAN
4145 > is still
4146     there.
4147    </P
4148 ><P
4149 >    If there are more than one client (maybe even belonging to multiple users),
4150     they will be able to reuse each others connections. This is potentially
4151     dangerous in case of authentication schemes like NTLM where only the
4152     connection is authenticated, instead of requiring authentication for
4153     each request.
4154    </P
4155 ><P
4156 >    If there is only a single client, and if said client can keep connections
4157     alive on its own, enabling this option has next to no effect. If the client
4158     doesn't support connection keep-alive, enabling this option may make sense
4159     as it allows <SPAN
4160 CLASS="APPLICATION"
4161 >Privoxy</SPAN
4162 > to keep outgoing connections alive even if the client
4163     itself doesn't support it.
4164    </P
4165 ><P
4166 >    You should also be aware that enabling this option increases the likelihood
4167     of getting the "No server or forwarder data" error message, especially if you
4168     are using a slow connection to the Internet.
4169    </P
4170 ><P
4171 >    This option should only be used by experienced users who
4172     understand the risks and can weight them against the benefits.
4173    </P
4174 ></DD
4175 ><DT
4176 >Examples:</DT
4177 ><DD
4178 ><P
4179 >    connection-sharing 1
4180    </P
4181 ></DD
4182 ></DL
4183 ></DIV
4184 ></DIV
4185 ><DIV
4186 CLASS="SECT3"
4187 ><H4
4188 CLASS="SECT3"
4189 ><A
4190 NAME="SOCKET-TIMEOUT"
4191 >7.6.7. socket-timeout</A
4192 ></H4
4193 ><P
4194 ></P
4195 ><DIV
4196 CLASS="VARIABLELIST"
4197 ><DL
4198 ><DT
4199 >Specifies:</DT
4200 ><DD
4201 ><P
4202 >    Number of seconds after which a socket times out if
4203     no data is received.
4204    </P
4205 ></DD
4206 ><DT
4207 >Type of value:</DT
4208 ><DD
4209 ><P
4210 >    <TT
4211 CLASS="REPLACEABLE"
4212 ><I
4213 >Time in seconds.</I
4214 ></TT
4215 >
4216    </P
4217 ></DD
4218 ><DT
4219 >Default value:</DT
4220 ><DD
4221 ><P
4222 >None</P
4223 ></DD
4224 ><DT
4225 >Effect if unset:</DT
4226 ><DD
4227 ><P
4228 >    A default value of 300 seconds is used.
4229    </P
4230 ></DD
4231 ><DT
4232 >Notes:</DT
4233 ><DD
4234 ><P
4235 >    For SOCKS requests the timeout currently doesn't start until
4236     the SOCKS server accepted the request. This will be fixed in
4237     the next release.
4238    </P
4239 ></DD
4240 ><DT
4241 >Examples:</DT
4242 ><DD
4243 ><P
4244 >    socket-timeout 300
4245    </P
4246 ></DD
4247 ></DL
4248 ></DIV
4249 ></DIV
4250 ><DIV
4251 CLASS="SECT3"
4252 ><H4
4253 CLASS="SECT3"
4254 ><A
4255 NAME="MAX-CLIENT-CONNECTIONS"
4256 >7.6.8. max-client-connections</A
4257 ></H4
4258 ><P
4259 ></P
4260 ><DIV
4261 CLASS="VARIABLELIST"
4262 ><DL
4263 ><DT
4264 >Specifies:</DT
4265 ><DD
4266 ><P
4267 >    Maximum number of client connections that will be served.
4268    </P
4269 ></DD
4270 ><DT
4271 >Type of value:</DT
4272 ><DD
4273 ><P
4274 >    <TT
4275 CLASS="REPLACEABLE"
4276 ><I
4277 >Positive number.</I
4278 ></TT
4279 >
4280    </P
4281 ></DD
4282 ><DT
4283 >Default value:</DT
4284 ><DD
4285 ><P
4286 >None</P
4287 ></DD
4288 ><DT
4289 >Effect if unset:</DT
4290 ><DD
4291 ><P
4292 >    Connections are served until a resource limit is reached.
4293    </P
4294 ></DD
4295 ><DT
4296 >Notes:</DT
4297 ><DD
4298 ><P
4299 >    <SPAN
4300 CLASS="APPLICATION"
4301 >Privoxy</SPAN
4302 > creates one thread (or process) for every incoming client
4303     connection that isn't rejected based on the access control settings.
4304    </P
4305 ><P
4306 >    If the system is powerful enough, <SPAN
4307 CLASS="APPLICATION"
4308 >Privoxy</SPAN
4309 > can theoretically deal with
4310     several hundred (or thousand) connections at the same time, but some
4311     operating systems enforce resource limits by shutting down offending
4312     processes and their default limits may be below the ones <SPAN
4313 CLASS="APPLICATION"
4314 >Privoxy</SPAN
4315 > would
4316     require under heavy load.
4317    </P
4318 ><P
4319 >    Configuring <SPAN
4320 CLASS="APPLICATION"
4321 >Privoxy</SPAN
4322 > to enforce a connection limit below the thread
4323     or process limit used by the operating system makes sure this doesn't
4324     happen. Simply increasing the operating system's limit would work too,
4325     but if <SPAN
4326 CLASS="APPLICATION"
4327 >Privoxy</SPAN
4328 > isn't the only application running on the system,
4329     you may actually want to limit the resources used by <SPAN
4330 CLASS="APPLICATION"
4331 >Privoxy</SPAN
4332 >.
4333    </P
4334 ><P
4335 >    If <SPAN
4336 CLASS="APPLICATION"
4337 >Privoxy</SPAN
4338 > is only used by a single trusted user, limiting the
4339     number of client connections is probably unnecessary. If there
4340     are multiple possibly untrusted users you probably still want to
4341     additionally use a packet filter to limit the maximal number of
4342     incoming connections per client. Otherwise a malicious user could
4343     intentionally create a high number of connections to prevent other
4344     users from using <SPAN
4345 CLASS="APPLICATION"
4346 >Privoxy</SPAN
4347 >.
4348    </P
4349 ><P
4350 >    Obviously using this option only makes sense if you choose a limit
4351     below the one enforced by the operating system.
4352    </P
4353 ></DD
4354 ><DT
4355 >Examples:</DT
4356 ><DD
4357 ><P
4358 >    max-client-connections 256
4359    </P
4360 ></DD
4361 ></DL
4362 ></DIV
4363 ></DIV
4364 ></DIV
4365 ><DIV
4366 CLASS="SECT2"
4367 ><H2
4368 CLASS="SECT2"
4369 ><A
4370 NAME="WINDOWS-GUI"
4371 >7.7. Windows GUI Options</A
4372 ></H2
4373 ><P
4374 > <SPAN
4375 CLASS="APPLICATION"
4376 >Privoxy</SPAN
4377 > has a number of options specific to the
4378  Windows GUI interface:</P
4379 ><A
4380 NAME="ACTIVITY-ANIMATION"
4381 ></A
4382 ><P
4383 > If <SPAN
4384 CLASS="QUOTE"
4385 >"activity-animation"</SPAN
4386 > is set to 1, the
4387  <SPAN
4388 CLASS="APPLICATION"
4389 >Privoxy</SPAN
4390 > icon will animate when
4391  <SPAN
4392 CLASS="QUOTE"
4393 >"Privoxy"</SPAN
4394 > is active. To turn off, set to 0.</P
4395 ><P
4396 > <TT
4397 CLASS="LITERAL"
4398 >  <P
4399 CLASS="LITERALLAYOUT"
4400 >&nbsp;&nbsp;<SPAN
4401 CLASS="emphasis"
4402 ><I
4403 CLASS="EMPHASIS"
4404 >activity-animation   1</I
4405 ></SPAN
4406 ><br>
4407 &nbsp;&nbsp;&nbsp;</P
4408
4409  </TT
4410 ></P
4411 ><A
4412 NAME="LOG-MESSAGES"
4413 ></A
4414 ><P
4415 > If <SPAN
4416 CLASS="QUOTE"
4417 >"log-messages"</SPAN
4418 > is set to 1,
4419  <SPAN
4420 CLASS="APPLICATION"
4421 >Privoxy</SPAN
4422 > will log messages to the console
4423  window:</P
4424 ><P
4425 > <TT
4426 CLASS="LITERAL"
4427 >  <P
4428 CLASS="LITERALLAYOUT"
4429 >&nbsp;&nbsp;<SPAN
4430 CLASS="emphasis"
4431 ><I
4432 CLASS="EMPHASIS"
4433 >log-messages       1</I
4434 ></SPAN
4435 ><br>
4436 &nbsp;&nbsp;&nbsp;</P
4437
4438  </TT
4439 ></P
4440 ><A
4441 NAME="LOG-BUFFER-SIZE"
4442 ></A
4443 ><P
4444
4445  If <SPAN
4446 CLASS="QUOTE"
4447 >"log-buffer-size"</SPAN
4448 > is set to 1, the size of the log buffer,
4449  i.e. the amount of memory used for the log messages displayed in the
4450  console window, will be limited to <SPAN
4451 CLASS="QUOTE"
4452 >"log-max-lines"</SPAN
4453 > (see below).</P
4454 ><P
4455 > Warning: Setting this to 0 will result in the buffer to grow infinitely and
4456  eat up all your memory!</P
4457 ><P
4458 > <TT
4459 CLASS="LITERAL"
4460 >  <P
4461 CLASS="LITERALLAYOUT"
4462 >&nbsp;&nbsp;<SPAN
4463 CLASS="emphasis"
4464 ><I
4465 CLASS="EMPHASIS"
4466 >log-buffer-size      1</I
4467 ></SPAN
4468 ><br>
4469 &nbsp;&nbsp;&nbsp;</P
4470
4471  </TT
4472 ></P
4473 ><A
4474 NAME="LOG-MAX-LINES"
4475 ></A
4476 ><P
4477 > <SPAN
4478 CLASS="APPLICATION"
4479 >log-max-lines</SPAN
4480 > is the maximum number of lines held
4481  in the log buffer. See above.</P
4482 ><P
4483 > <TT
4484 CLASS="LITERAL"
4485 >  <P
4486 CLASS="LITERALLAYOUT"
4487 >&nbsp;&nbsp;<SPAN
4488 CLASS="emphasis"
4489 ><I
4490 CLASS="EMPHASIS"
4491 >log-max-lines      200</I
4492 ></SPAN
4493 ><br>
4494 &nbsp;&nbsp;&nbsp;</P
4495
4496  </TT
4497 ></P
4498 ><A
4499 NAME="LOG-HIGHLIGHT-MESSAGES"
4500 ></A
4501 ><P
4502 > If <SPAN
4503 CLASS="QUOTE"
4504 >"log-highlight-messages"</SPAN
4505 > is set to 1,
4506  <SPAN
4507 CLASS="APPLICATION"
4508 >Privoxy</SPAN
4509 > will highlight portions of the log
4510  messages with a bold-faced font:</P
4511 ><P
4512 > <TT
4513 CLASS="LITERAL"
4514 >  <P
4515 CLASS="LITERALLAYOUT"
4516 >&nbsp;&nbsp;<SPAN
4517 CLASS="emphasis"
4518 ><I
4519 CLASS="EMPHASIS"
4520 >log-highlight-messages   1</I
4521 ></SPAN
4522 ><br>
4523 &nbsp;&nbsp;&nbsp;</P
4524
4525  </TT
4526 ></P
4527 ><A
4528 NAME="LOG-FONT-NAME"
4529 ></A
4530 ><P
4531 > The font used in the console window:</P
4532 ><P
4533 > <TT
4534 CLASS="LITERAL"
4535 >  <P
4536 CLASS="LITERALLAYOUT"
4537 >&nbsp;&nbsp;<SPAN
4538 CLASS="emphasis"
4539 ><I
4540 CLASS="EMPHASIS"
4541 >log-font-name        Comic Sans MS</I
4542 ></SPAN
4543 ><br>
4544 &nbsp;&nbsp;&nbsp;</P
4545
4546  </TT
4547 ></P
4548 ><A
4549 NAME="LOG-FONT-SIZE"
4550 ></A
4551 ><P
4552 > Font size used in the console window:</P
4553 ><P
4554 > <TT
4555 CLASS="LITERAL"
4556 >  <P
4557 CLASS="LITERALLAYOUT"
4558 >&nbsp;&nbsp;<SPAN
4559 CLASS="emphasis"
4560 ><I
4561 CLASS="EMPHASIS"
4562 >log-font-size        8</I
4563 ></SPAN
4564 ><br>
4565 &nbsp;&nbsp;&nbsp;</P
4566
4567  </TT
4568 ></P
4569 ><A
4570 NAME="SHOW-ON-TASK-BAR"
4571 ></A
4572 ><P
4573 >  
4574  <SPAN
4575 CLASS="QUOTE"
4576 >"show-on-task-bar"</SPAN
4577 > controls whether or not
4578  <SPAN
4579 CLASS="APPLICATION"
4580 >Privoxy</SPAN
4581 > will appear as a button on the Task bar
4582  when minimized:</P
4583 ><P
4584 > <TT
4585 CLASS="LITERAL"
4586 >  <P
4587 CLASS="LITERALLAYOUT"
4588 >&nbsp;&nbsp;<SPAN
4589 CLASS="emphasis"
4590 ><I
4591 CLASS="EMPHASIS"
4592 >show-on-task-bar     0</I
4593 ></SPAN
4594 ><br>
4595 &nbsp;&nbsp;&nbsp;</P
4596
4597  </TT
4598 ></P
4599 ><A
4600 NAME="CLOSE-BUTTON-MINIMIZES"
4601 ></A
4602 ><P
4603 > If <SPAN
4604 CLASS="QUOTE"
4605 >"close-button-minimizes"</SPAN
4606 > is set to 1, the Windows close
4607  button will minimize <SPAN
4608 CLASS="APPLICATION"
4609 >Privoxy</SPAN
4610 > instead of closing
4611  the program (close with the exit option on the File menu).</P
4612 ><P
4613 > <TT
4614 CLASS="LITERAL"
4615 >  <P
4616 CLASS="LITERALLAYOUT"
4617 >&nbsp;&nbsp;<SPAN
4618 CLASS="emphasis"
4619 ><I
4620 CLASS="EMPHASIS"
4621 >close-button-minimizes  1</I
4622 ></SPAN
4623 ><br>
4624 &nbsp;&nbsp;&nbsp;</P
4625
4626  </TT
4627 ></P
4628 ><A
4629 NAME="HIDE-CONSOLE"
4630 ></A
4631 ><P
4632 > The <SPAN
4633 CLASS="QUOTE"
4634 >"hide-console"</SPAN
4635 > option is specific to the MS-Win console
4636  version of <SPAN
4637 CLASS="APPLICATION"
4638 >Privoxy</SPAN
4639 >. If this option is used,
4640  <SPAN
4641 CLASS="APPLICATION"
4642 >Privoxy</SPAN
4643 > will disconnect from and hide the
4644  command console.</P
4645 ><P
4646 > <TT
4647 CLASS="LITERAL"
4648 >  <P
4649 CLASS="LITERALLAYOUT"
4650 >&nbsp;&nbsp;#<SPAN
4651 CLASS="emphasis"
4652 ><I
4653 CLASS="EMPHASIS"
4654 >hide-console</I
4655 ></SPAN
4656 ><br>
4657 &nbsp;&nbsp;&nbsp;</P
4658
4659  </TT
4660 ></P
4661 ></DIV
4662 ></DIV
4663 ><DIV
4664 CLASS="NAVFOOTER"
4665 ><HR
4666 ALIGN="LEFT"
4667 WIDTH="100%"><TABLE
4668 SUMMARY="Footer navigation table"
4669 WIDTH="100%"
4670 BORDER="0"
4671 CELLPADDING="0"
4672 CELLSPACING="0"
4673 ><TR
4674 ><TD
4675 WIDTH="33%"
4676 ALIGN="left"
4677 VALIGN="top"
4678 ><A
4679 HREF="configuration.html"
4680 ACCESSKEY="P"
4681 >Prev</A
4682 ></TD
4683 ><TD
4684 WIDTH="34%"
4685 ALIGN="center"
4686 VALIGN="top"
4687 ><A
4688 HREF="index.html"
4689 ACCESSKEY="H"
4690 >Home</A
4691 ></TD
4692 ><TD
4693 WIDTH="33%"
4694 ALIGN="right"
4695 VALIGN="top"
4696 ><A
4697 HREF="actions-file.html"
4698 ACCESSKEY="N"
4699 >Next</A
4700 ></TD
4701 ></TR
4702 ><TR
4703 ><TD
4704 WIDTH="33%"
4705 ALIGN="left"
4706 VALIGN="top"
4707 >Privoxy Configuration</TD
4708 ><TD
4709 WIDTH="34%"
4710 ALIGN="center"
4711 VALIGN="top"
4712 >&nbsp;</TD
4713 ><TD
4714 WIDTH="33%"
4715 ALIGN="right"
4716 VALIGN="top"
4717 >Actions Files</TD
4718 ></TR
4719 ></TABLE
4720 ></DIV
4721 ></BODY
4722 ></HTML
4723 >