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