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