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