Rebuild for the upcoming 3.0.9 beta release.
[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  2048 # CGI user interface
1461   debug  4096 # Startup banner and warnings.
1462   debug  8192 # Non-fatal errors</PRE
1463 ></TD
1464 ></TR
1465 ></TABLE
1466 >
1467    </P
1468 ><P
1469 >    To select multiple debug levels, you can either add them or use
1470     multiple <TT
1471 CLASS="LITERAL"
1472 >debug</TT
1473 > lines.
1474    </P
1475 ><P
1476 >    A debug level of 1 is informative because it will show you each request
1477     as it happens. <SPAN
1478 CLASS="emphasis"
1479 ><I
1480 CLASS="EMPHASIS"
1481 >1, 4096 and 8192 are recommended</I
1482 ></SPAN
1483 >
1484     so that you will notice when things go wrong. The other levels are
1485     probably only of interest if you are hunting down a specific problem.
1486     They can produce a hell of an output (especially 16).
1487     
1488    </P
1489 ><P
1490 >    <SPAN
1491 CLASS="APPLICATION"
1492 >Privoxy</SPAN
1493 > used to ship with the debug levels recommended above enabled by
1494     default, but due to privacy concerns 3.0.7 and later are configured to
1495     only log fatal errors.
1496    </P
1497 ><P
1498 >    If you are used to the more verbose settings, simply enable the debug lines
1499     below again.
1500    </P
1501 ><P
1502 >    If you want to use pure CLF (Common Log Format), you should set <SPAN
1503 CLASS="QUOTE"
1504 >"debug
1505     512"</SPAN
1506 > <SPAN
1507 CLASS="emphasis"
1508 ><I
1509 CLASS="EMPHASIS"
1510 >ONLY</I
1511 ></SPAN
1512 > and not enable anything else.
1513    </P
1514 ><P
1515 >    <SPAN
1516 CLASS="APPLICATION"
1517 >Privoxy</SPAN
1518 > has a hard-coded limit for the
1519     length of log messages. If it's reached, messages are logged truncated
1520     and marked with <SPAN
1521 CLASS="QUOTE"
1522 >"... [too long, truncated]"</SPAN
1523 >.
1524    </P
1525 ><P
1526 >    Please don't file any support requests without trying to reproduce
1527     the problem with increased debug level first. Once you read the log
1528     messages, you may even be able to solve the problem on your own.
1529    </P
1530 ></DD
1531 ></DL
1532 ></DIV
1533 ></DIV
1534 ><DIV
1535 CLASS="SECT3"
1536 ><H4
1537 CLASS="SECT3"
1538 ><A
1539 NAME="SINGLE-THREADED"
1540 >7.3.2. single-threaded</A
1541 ></H4
1542 ><P
1543 ></P
1544 ><DIV
1545 CLASS="VARIABLELIST"
1546 ><DL
1547 ><DT
1548 >Specifies:</DT
1549 ><DD
1550 ><P
1551 >    Whether to run only one server thread.
1552    </P
1553 ></DD
1554 ><DT
1555 >Type of value:</DT
1556 ><DD
1557 ><P
1558 ><SPAN
1559 CLASS="emphasis"
1560 ><I
1561 CLASS="EMPHASIS"
1562 >None</I
1563 ></SPAN
1564 ></P
1565 ></DD
1566 ><DT
1567 >Default value:</DT
1568 ><DD
1569 ><P
1570 ><SPAN
1571 CLASS="emphasis"
1572 ><I
1573 CLASS="EMPHASIS"
1574 >Unset</I
1575 ></SPAN
1576 ></P
1577 ></DD
1578 ><DT
1579 >Effect if unset:</DT
1580 ><DD
1581 ><P
1582 >    Multi-threaded (or, where unavailable: forked) operation, i.e. the ability to
1583     serve multiple requests simultaneously.
1584    </P
1585 ></DD
1586 ><DT
1587 >Notes:</DT
1588 ><DD
1589 ><P
1590 >    This option is only there for debugging purposes.
1591     <SPAN
1592 CLASS="emphasis"
1593 ><I
1594 CLASS="EMPHASIS"
1595 >It will drastically reduce performance.</I
1596 ></SPAN
1597 >
1598    </P
1599 ></DD
1600 ></DL
1601 ></DIV
1602 ></DIV
1603 ><DIV
1604 CLASS="SECT3"
1605 ><H4
1606 CLASS="SECT3"
1607 ><A
1608 NAME="HOSTNAME"
1609 >7.3.3. hostname</A
1610 ></H4
1611 ><P
1612 ></P
1613 ><DIV
1614 CLASS="VARIABLELIST"
1615 ><DL
1616 ><DT
1617 >Specifies:</DT
1618 ><DD
1619 ><P
1620 >    The hostname shown on the CGI pages.
1621    </P
1622 ></DD
1623 ><DT
1624 >Type of value:</DT
1625 ><DD
1626 ><P
1627 >Text</P
1628 ></DD
1629 ><DT
1630 >Default value:</DT
1631 ><DD
1632 ><P
1633 ><SPAN
1634 CLASS="emphasis"
1635 ><I
1636 CLASS="EMPHASIS"
1637 >Unset</I
1638 ></SPAN
1639 ></P
1640 ></DD
1641 ><DT
1642 >Effect if unset:</DT
1643 ><DD
1644 ><P
1645 >    The hostname provided by the operating system is used.
1646    </P
1647 ></DD
1648 ><DT
1649 >Notes:</DT
1650 ><DD
1651 ><P
1652 >    On some misconfigured systems resolving the hostname fails or
1653     takes too much time and slows Privoxy down. Setting a fixed hostname
1654     works around the problem.
1655    </P
1656 ><P
1657 >    In other circumstances it might be desirable to show a hostname
1658     other than the one returned by the operating system. For example
1659     if the system has several different hostnames and you don't want
1660     to use the first one.
1661    </P
1662 ><P
1663 >    Note that Privoxy does not validate the specified hostname value.
1664    </P
1665 ></DD
1666 ></DL
1667 ></DIV
1668 ></DIV
1669 ></DIV
1670 ><DIV
1671 CLASS="SECT2"
1672 ><H2
1673 CLASS="SECT2"
1674 ><A
1675 NAME="ACCESS-CONTROL"
1676 >7.4. Access Control and Security</A
1677 ></H2
1678 ><P
1679 >  This section of the config file controls the security-relevant aspects
1680   of <SPAN
1681 CLASS="APPLICATION"
1682 >Privoxy</SPAN
1683 >'s configuration.
1684  </P
1685 ><DIV
1686 CLASS="SECT3"
1687 ><H4
1688 CLASS="SECT3"
1689 ><A
1690 NAME="LISTEN-ADDRESS"
1691 >7.4.1. listen-address</A
1692 ></H4
1693 ><P
1694 ></P
1695 ><DIV
1696 CLASS="VARIABLELIST"
1697 ><DL
1698 ><DT
1699 >Specifies:</DT
1700 ><DD
1701 ><P
1702 >    The IP address and TCP port on which <SPAN
1703 CLASS="APPLICATION"
1704 >Privoxy</SPAN
1705 > will
1706     listen for client requests.
1707    </P
1708 ></DD
1709 ><DT
1710 >Type of value:</DT
1711 ><DD
1712 ><P
1713 >[<TT
1714 CLASS="REPLACEABLE"
1715 ><I
1716 >IP-Address</I
1717 ></TT
1718 >]:<TT
1719 CLASS="REPLACEABLE"
1720 ><I
1721 >Port</I
1722 ></TT
1723 ></P
1724 ></DD
1725 ><DT
1726 >Default value:</DT
1727 ><DD
1728 ><P
1729 >127.0.0.1:8118</P
1730 ></DD
1731 ><DT
1732 >Effect if unset:</DT
1733 ><DD
1734 ><P
1735 >    Bind to 127.0.0.1 (localhost), port 8118. This is suitable and recommended for
1736     home users who run <SPAN
1737 CLASS="APPLICATION"
1738 >Privoxy</SPAN
1739 > on the same machine as
1740     their browser.
1741    </P
1742 ></DD
1743 ><DT
1744 >Notes:</DT
1745 ><DD
1746 ><P
1747 >    You will need to configure your browser(s) to this proxy address and port.
1748    </P
1749 ><P
1750 >    If you already have another service running on port 8118, or if you want to
1751     serve requests from other machines (e.g. on your local network) as well, you
1752     will need to override the default.
1753    </P
1754 ><P
1755 >    If you leave out the IP address, <SPAN
1756 CLASS="APPLICATION"
1757 >Privoxy</SPAN
1758 > will
1759     bind to all interfaces (addresses) on your machine and may become reachable
1760     from the Internet. In that case, consider using <A
1761 HREF="config.html#ACLS"
1762 >access control lists</A
1763 > (ACL's, see below), and/or
1764     a firewall.
1765    </P
1766 ><P
1767 >    If you open <SPAN
1768 CLASS="APPLICATION"
1769 >Privoxy</SPAN
1770 > to untrusted users, you will
1771     also want to make sure that the following actions are disabled:  <TT
1772 CLASS="LITERAL"
1773 ><A
1774 HREF="config.html#ENABLE-EDIT-ACTIONS"
1775 >enable-edit-actions</A
1776 ></TT
1777 > and
1778     <TT
1779 CLASS="LITERAL"
1780 ><A
1781 HREF="config.html#ENABLE-REMOTE-TOGGLE"
1782 >enable-remote-toggle</A
1783 ></TT
1784 >
1785    </P
1786 ></DD
1787 ><DT
1788 >Example:</DT
1789 ><DD
1790 ><P
1791 >     Suppose you are running <SPAN
1792 CLASS="APPLICATION"
1793 >Privoxy</SPAN
1794 > on
1795      a machine which has the address 192.168.0.1 on your local private network
1796      (192.168.0.0) and has another outside connection with a different address.
1797      You want it to serve requests from inside only:
1798    </P
1799 ><P
1800 >    <TABLE
1801 BORDER="0"
1802 BGCOLOR="#E0E0E0"
1803 WIDTH="90%"
1804 ><TR
1805 ><TD
1806 ><PRE
1807 CLASS="PROGRAMLISTING"
1808 >  listen-address  192.168.0.1:8118</PRE
1809 ></TD
1810 ></TR
1811 ></TABLE
1812 >
1813    </P
1814 ></DD
1815 ></DL
1816 ></DIV
1817 ></DIV
1818 ><DIV
1819 CLASS="SECT3"
1820 ><H4
1821 CLASS="SECT3"
1822 ><A
1823 NAME="TOGGLE"
1824 >7.4.2. toggle</A
1825 ></H4
1826 ><P
1827 ></P
1828 ><DIV
1829 CLASS="VARIABLELIST"
1830 ><DL
1831 ><DT
1832 >Specifies:</DT
1833 ><DD
1834 ><P
1835 >    Initial state of "toggle" status
1836    </P
1837 ></DD
1838 ><DT
1839 >Type of value:</DT
1840 ><DD
1841 ><P
1842 >1 or 0</P
1843 ></DD
1844 ><DT
1845 >Default value:</DT
1846 ><DD
1847 ><P
1848 >1</P
1849 ></DD
1850 ><DT
1851 >Effect if unset:</DT
1852 ><DD
1853 ><P
1854 >    Act as if toggled on
1855    </P
1856 ></DD
1857 ><DT
1858 >Notes:</DT
1859 ><DD
1860 ><P
1861 >    If set to 0, <SPAN
1862 CLASS="APPLICATION"
1863 >Privoxy</SPAN
1864 > will start in
1865     <SPAN
1866 CLASS="QUOTE"
1867 >"toggled off"</SPAN
1868 > mode, i.e. mostly behave like a normal,
1869     content-neutral proxy with both ad blocking and content filtering
1870     disabled. See <TT
1871 CLASS="LITERAL"
1872 >enable-remote-toggle</TT
1873 > below.
1874    </P
1875 ><P
1876 >    The windows version will only display the toggle icon in the system tray
1877     if this option is present.
1878    </P
1879 ></DD
1880 ></DL
1881 ></DIV
1882 ></DIV
1883 ><DIV
1884 CLASS="SECT3"
1885 ><H4
1886 CLASS="SECT3"
1887 ><A
1888 NAME="ENABLE-REMOTE-TOGGLE"
1889 >7.4.3. enable-remote-toggle</A
1890 ></H4
1891 ><P
1892 ></P
1893 ><DIV
1894 CLASS="VARIABLELIST"
1895 ><DL
1896 ><DT
1897 >Specifies:</DT
1898 ><DD
1899 ><P
1900 >    Whether or not the <A
1901 HREF="http://config.privoxy.org/toggle"
1902 TARGET="_top"
1903 >web-based toggle
1904     feature</A
1905 > may be used
1906    </P
1907 ></DD
1908 ><DT
1909 >Type of value:</DT
1910 ><DD
1911 ><P
1912 >0 or 1</P
1913 ></DD
1914 ><DT
1915 >Default value:</DT
1916 ><DD
1917 ><P
1918 >0</P
1919 ></DD
1920 ><DT
1921 >Effect if unset:</DT
1922 ><DD
1923 ><P
1924 >    The web-based toggle feature is disabled.
1925    </P
1926 ></DD
1927 ><DT
1928 >Notes:</DT
1929 ><DD
1930 ><P
1931 >    When toggled off, <SPAN
1932 CLASS="APPLICATION"
1933 >Privoxy</SPAN
1934 > mostly acts like a normal,
1935     content-neutral proxy, i.e. doesn't block ads or filter content.
1936    </P
1937 ><P
1938 >    Access to the toggle feature can <SPAN
1939 CLASS="emphasis"
1940 ><I
1941 CLASS="EMPHASIS"
1942 >not</I
1943 ></SPAN
1944 > be
1945     controlled separately by <SPAN
1946 CLASS="QUOTE"
1947 >"ACLs"</SPAN
1948 > or HTTP authentication,
1949     so that everybody who can access <SPAN
1950 CLASS="APPLICATION"
1951 >Privoxy</SPAN
1952 > (see
1953     <SPAN
1954 CLASS="QUOTE"
1955 >"ACLs"</SPAN
1956 > and <TT
1957 CLASS="LITERAL"
1958 >listen-address</TT
1959 > above) can
1960     toggle it for all users. So this option is <SPAN
1961 CLASS="emphasis"
1962 ><I
1963 CLASS="EMPHASIS"
1964 >not recommended</I
1965 ></SPAN
1966 >
1967     for multi-user environments with untrusted users.
1968    </P
1969 ><P
1970 >    Note that malicious client side code (e.g Java) is also
1971     capable of using this option.
1972    </P
1973 ><P
1974 >    As a lot of <SPAN
1975 CLASS="APPLICATION"
1976 >Privoxy</SPAN
1977 > users don't read
1978     documentation, this feature is disabled by default.
1979    </P
1980 ><P
1981 >    Note that you must have compiled <SPAN
1982 CLASS="APPLICATION"
1983 >Privoxy</SPAN
1984 > with
1985     support for this feature, otherwise this option has no effect. 
1986    </P
1987 ></DD
1988 ></DL
1989 ></DIV
1990 ></DIV
1991 ><DIV
1992 CLASS="SECT3"
1993 ><H4
1994 CLASS="SECT3"
1995 ><A
1996 NAME="ENABLE-REMOTE-HTTP-TOGGLE"
1997 >7.4.4. enable-remote-http-toggle</A
1998 ></H4
1999 ><P
2000 ></P
2001 ><DIV
2002 CLASS="VARIABLELIST"
2003 ><DL
2004 ><DT
2005 >Specifies:</DT
2006 ><DD
2007 ><P
2008 >    Whether or not Privoxy recognizes special HTTP headers to change its behaviour.
2009    </P
2010 ></DD
2011 ><DT
2012 >Type of value:</DT
2013 ><DD
2014 ><P
2015 >0 or 1</P
2016 ></DD
2017 ><DT
2018 >Default value:</DT
2019 ><DD
2020 ><P
2021 >0</P
2022 ></DD
2023 ><DT
2024 >Effect if unset:</DT
2025 ><DD
2026 ><P
2027 >    Privoxy ignores special HTTP headers.
2028    </P
2029 ></DD
2030 ><DT
2031 >Notes:</DT
2032 ><DD
2033 ><P
2034 >    When toggled on, the client can change <SPAN
2035 CLASS="APPLICATION"
2036 >Privoxy's</SPAN
2037 >
2038     behaviour by setting special HTTP headers. Currently the only supported
2039     special header is <SPAN
2040 CLASS="QUOTE"
2041 >"X-Filter: No"</SPAN
2042 >, to disable filtering for
2043     the ongoing request, even if it is enabled in one of the action files.
2044    </P
2045 ><P
2046 >    This feature is disabled by default. If you are using
2047     <SPAN
2048 CLASS="APPLICATION"
2049 >Privoxy</SPAN
2050 > in a environment with trusted clients,
2051     you may enable this feature at your discretion. Note that malicious client
2052     side code (e.g Java) is also capable of using this feature.
2053    </P
2054 ><P
2055 >    This option will be removed in future releases as it has been obsoleted
2056     by the more general header taggers.
2057    </P
2058 ></DD
2059 ></DL
2060 ></DIV
2061 ></DIV
2062 ><DIV
2063 CLASS="SECT3"
2064 ><H4
2065 CLASS="SECT3"
2066 ><A
2067 NAME="ENABLE-EDIT-ACTIONS"
2068 >7.4.5. enable-edit-actions</A
2069 ></H4
2070 ><P
2071 ></P
2072 ><DIV
2073 CLASS="VARIABLELIST"
2074 ><DL
2075 ><DT
2076 >Specifies:</DT
2077 ><DD
2078 ><P
2079 >    Whether or not the <A
2080 HREF="http://config.privoxy.org/show-status"
2081 TARGET="_top"
2082 >web-based actions
2083     file editor</A
2084 > may be used
2085    </P
2086 ></DD
2087 ><DT
2088 >Type of value:</DT
2089 ><DD
2090 ><P
2091 >0 or 1</P
2092 ></DD
2093 ><DT
2094 >Default value:</DT
2095 ><DD
2096 ><P
2097 >0</P
2098 ></DD
2099 ><DT
2100 >Effect if unset:</DT
2101 ><DD
2102 ><P
2103 >    The web-based actions file editor is disabled.
2104    </P
2105 ></DD
2106 ><DT
2107 >Notes:</DT
2108 ><DD
2109 ><P
2110 >    Access to the editor can <SPAN
2111 CLASS="emphasis"
2112 ><I
2113 CLASS="EMPHASIS"
2114 >not</I
2115 ></SPAN
2116 > be
2117     controlled separately by <SPAN
2118 CLASS="QUOTE"
2119 >"ACLs"</SPAN
2120 > or HTTP authentication,
2121     so that everybody who can access <SPAN
2122 CLASS="APPLICATION"
2123 >Privoxy</SPAN
2124 > (see
2125     <SPAN
2126 CLASS="QUOTE"
2127 >"ACLs"</SPAN
2128 > and <TT
2129 CLASS="LITERAL"
2130 >listen-address</TT
2131 > above) can
2132     modify its configuration for all users.
2133    </P
2134 ><P
2135 >    This option is <SPAN
2136 CLASS="emphasis"
2137 ><I
2138 CLASS="EMPHASIS"
2139 >not recommended</I
2140 ></SPAN
2141 > for environments
2142     with untrusted users and as a lot of <SPAN
2143 CLASS="APPLICATION"
2144 >Privoxy</SPAN
2145 >
2146     users don't read documentation, this feature is disabled by default.
2147    </P
2148 ><P
2149 >    Note that malicious client side code (e.g Java) is also
2150     capable of using the actions editor and you shouldn't enable
2151     this options unless you understand the consequences and are
2152     sure your browser is configured correctly.
2153    </P
2154 ><P
2155 >    Note that you must have compiled <SPAN
2156 CLASS="APPLICATION"
2157 >Privoxy</SPAN
2158 > with
2159     support for this feature, otherwise this option has no effect. 
2160    </P
2161 ></DD
2162 ></DL
2163 ></DIV
2164 ></DIV
2165 ><DIV
2166 CLASS="SECT3"
2167 ><H4
2168 CLASS="SECT3"
2169 ><A
2170 NAME="ENFORCE-BLOCKS"
2171 >7.4.6. enforce-blocks</A
2172 ></H4
2173 ><P
2174 ></P
2175 ><DIV
2176 CLASS="VARIABLELIST"
2177 ><DL
2178 ><DT
2179 >Specifies:</DT
2180 ><DD
2181 ><P
2182 >    Whether the user is allowed to ignore blocks and can <SPAN
2183 CLASS="QUOTE"
2184 >"go there anyway"</SPAN
2185 >.
2186    </P
2187 ></DD
2188 ><DT
2189 >Type of value:</DT
2190 ><DD
2191 ><P
2192 >    <TT
2193 CLASS="REPLACEABLE"
2194 ><I
2195 >0 or 1</I
2196 ></TT
2197 >
2198    </P
2199 ></DD
2200 ><DT
2201 >Default value:</DT
2202 ><DD
2203 ><P
2204 ><SPAN
2205 CLASS="emphasis"
2206 ><I
2207 CLASS="EMPHASIS"
2208 >0</I
2209 ></SPAN
2210 ></P
2211 ></DD
2212 ><DT
2213 >Effect if unset:</DT
2214 ><DD
2215 ><P
2216 >    Blocks are not enforced.
2217    </P
2218 ></DD
2219 ><DT
2220 >Notes:</DT
2221 ><DD
2222 ><P
2223 >    <SPAN
2224 CLASS="APPLICATION"
2225 >Privoxy</SPAN
2226 > is mainly used to block and filter
2227     requests as a service to the user, for example to block ads and other
2228     junk that clogs the pipes. <SPAN
2229 CLASS="APPLICATION"
2230 >Privoxy's</SPAN
2231 > configuration
2232     isn't perfect and sometimes innocent pages are blocked. In this situation it
2233     makes sense to allow the user to enforce the request and have
2234     <SPAN
2235 CLASS="APPLICATION"
2236 >Privoxy</SPAN
2237 > ignore the block.
2238    </P
2239 ><P
2240 >    In the default configuration <SPAN
2241 CLASS="APPLICATION"
2242 >Privoxy's</SPAN
2243 >
2244     <SPAN
2245 CLASS="QUOTE"
2246 >"Blocked"</SPAN
2247 > page contains a <SPAN
2248 CLASS="QUOTE"
2249 >"go there anyway"</SPAN
2250 >
2251     link to adds a special string (the force prefix) to the request URL.
2252     If that link is used, <SPAN
2253 CLASS="APPLICATION"
2254 >Privoxy</SPAN
2255 > will
2256     detect the force prefix, remove it again and let the request pass.
2257    </P
2258 ><P
2259 >    Of course <SPAN
2260 CLASS="APPLICATION"
2261 >Privoxy</SPAN
2262 > can also be used to enforce
2263     a network policy. In that case the user obviously should not be able to
2264     bypass any blocks, and that's what the <SPAN
2265 CLASS="QUOTE"
2266 >"enforce-blocks"</SPAN
2267 >
2268     option is for. If it's enabled, <SPAN
2269 CLASS="APPLICATION"
2270 >Privoxy</SPAN
2271 > hides
2272     the <SPAN
2273 CLASS="QUOTE"
2274 >"go there anyway"</SPAN
2275 > link. If the user adds the force
2276     prefix by hand, it will not be accepted and the circumvention attempt
2277     is logged.
2278    </P
2279 ></DD
2280 ><DT
2281 >Examples:</DT
2282 ><DD
2283 ><P
2284 >    enforce-blocks 1
2285    </P
2286 ></DD
2287 ></DL
2288 ></DIV
2289 ></DIV
2290 ><DIV
2291 CLASS="SECT3"
2292 ><H4
2293 CLASS="SECT3"
2294 ><A
2295 NAME="ACLS"
2296 >7.4.7. ACLs: permit-access and deny-access</A
2297 ></H4
2298 ><A
2299 NAME="PERMIT-ACCESS"
2300 ></A
2301 ><A
2302 NAME="DENY-ACCESS"
2303 ></A
2304 ><P
2305 ></P
2306 ><DIV
2307 CLASS="VARIABLELIST"
2308 ><DL
2309 ><DT
2310 >Specifies:</DT
2311 ><DD
2312 ><P
2313 >    Who can access what.
2314    </P
2315 ></DD
2316 ><DT
2317 >Type of value:</DT
2318 ><DD
2319 ><P
2320 >    <TT
2321 CLASS="REPLACEABLE"
2322 ><I
2323 >src_addr</I
2324 ></TT
2325 >[/<TT
2326 CLASS="REPLACEABLE"
2327 ><I
2328 >src_masklen</I
2329 ></TT
2330 >]
2331     [<TT
2332 CLASS="REPLACEABLE"
2333 ><I
2334 >dst_addr</I
2335 ></TT
2336 >[/<TT
2337 CLASS="REPLACEABLE"
2338 ><I
2339 >dst_masklen</I
2340 ></TT
2341 >]]
2342    </P
2343 ><P
2344 >    Where <TT
2345 CLASS="REPLACEABLE"
2346 ><I
2347 >src_addr</I
2348 ></TT
2349 > and 
2350    <TT
2351 CLASS="REPLACEABLE"
2352 ><I
2353 >dst_addr</I
2354 ></TT
2355 > are IP addresses in dotted decimal notation or valid
2356     DNS names, and <TT
2357 CLASS="REPLACEABLE"
2358 ><I
2359 >src_masklen</I
2360 ></TT
2361 > and
2362     <TT
2363 CLASS="REPLACEABLE"
2364 ><I
2365 >dst_masklen</I
2366 ></TT
2367 > are subnet masks in CIDR notation, i.e. integer
2368     values from 2 to 30 representing the length (in bits) of the network address. The masks and the whole
2369     destination part are optional.
2370    </P
2371 ></DD
2372 ><DT
2373 >Default value:</DT
2374 ><DD
2375 ><P
2376 ><SPAN
2377 CLASS="emphasis"
2378 ><I
2379 CLASS="EMPHASIS"
2380 >Unset</I
2381 ></SPAN
2382 ></P
2383 ></DD
2384 ><DT
2385 >Effect if unset:</DT
2386 ><DD
2387 ><P
2388 >    Don't restrict access further than implied by <TT
2389 CLASS="LITERAL"
2390 >listen-address</TT
2391 >
2392    </P
2393 ></DD
2394 ><DT
2395 >Notes:</DT
2396 ><DD
2397 ><P
2398 >    Access controls are included at the request of ISPs and systems
2399     administrators, and <SPAN
2400 CLASS="emphasis"
2401 ><I
2402 CLASS="EMPHASIS"
2403 >are not usually needed by individual users</I
2404 ></SPAN
2405 >.
2406     For a typical home user, it will normally suffice to ensure that 
2407     <SPAN
2408 CLASS="APPLICATION"
2409 >Privoxy</SPAN
2410 > only listens on the localhost
2411     (127.0.0.1) or internal (home) network address by means of the
2412     <A
2413 HREF="config.html#LISTEN-ADDRESS"
2414 ><SPAN
2415 CLASS="emphasis"
2416 ><I
2417 CLASS="EMPHASIS"
2418 >listen-address</I
2419 ></SPAN
2420 ></A
2421 >
2422     option. 
2423    </P
2424 ><P
2425 >    Please see the warnings in the FAQ that <SPAN
2426 CLASS="APPLICATION"
2427 >Privoxy</SPAN
2428 >
2429     is not intended to be a substitute for a firewall or to encourage anyone
2430     to defer addressing basic security weaknesses.
2431    </P
2432 ><P
2433 >    Multiple ACL lines are OK.
2434     If any ACLs are specified, <SPAN
2435 CLASS="APPLICATION"
2436 >Privoxy</SPAN
2437 > only talks
2438     to IP addresses that match at least one <TT
2439 CLASS="LITERAL"
2440 >permit-access</TT
2441 > line
2442     and don't match any subsequent <TT
2443 CLASS="LITERAL"
2444 >deny-access</TT
2445 > line. In other words, the
2446     last match wins, with the default being <TT
2447 CLASS="LITERAL"
2448 >deny-access</TT
2449 >.
2450    </P
2451 ><P
2452 >    If <SPAN
2453 CLASS="APPLICATION"
2454 >Privoxy</SPAN
2455 > is using a forwarder (see <TT
2456 CLASS="LITERAL"
2457 >forward</TT
2458 > below)
2459     for a particular destination URL, the <TT
2460 CLASS="REPLACEABLE"
2461 ><I
2462 >dst_addr</I
2463 ></TT
2464 >
2465     that is examined is the address of the forwarder and <SPAN
2466 CLASS="emphasis"
2467 ><I
2468 CLASS="EMPHASIS"
2469 >NOT</I
2470 ></SPAN
2471 > the address
2472     of the ultimate target. This is necessary because it may be impossible for the local
2473     <SPAN
2474 CLASS="APPLICATION"
2475 >Privoxy</SPAN
2476 > to determine the IP address of the
2477     ultimate target (that's often what gateways are used for).
2478    </P
2479 ><P
2480 >    You should prefer using IP addresses over DNS names, because the address lookups take
2481     time. All DNS names must resolve! You can <SPAN
2482 CLASS="emphasis"
2483 ><I
2484 CLASS="EMPHASIS"
2485 >not</I
2486 ></SPAN
2487 > use domain patterns
2488     like <SPAN
2489 CLASS="QUOTE"
2490 >"*.org"</SPAN
2491 > or partial domain names. If a DNS name resolves to multiple
2492     IP addresses, only the first one is used.
2493    </P
2494 ><P
2495 >    Denying access to particular sites by ACL may have undesired side effects
2496     if the site in question is hosted on a machine which also hosts other sites
2497     (most sites are).
2498    </P
2499 ></DD
2500 ><DT
2501 >Examples:</DT
2502 ><DD
2503 ><P
2504 >    Explicitly define the default behavior if no ACL and
2505     <TT
2506 CLASS="LITERAL"
2507 >listen-address</TT
2508 > are set: <SPAN
2509 CLASS="QUOTE"
2510 >"localhost"</SPAN
2511 >
2512     is OK. The absence of a <TT
2513 CLASS="REPLACEABLE"
2514 ><I
2515 >dst_addr</I
2516 ></TT
2517 > implies that
2518     <SPAN
2519 CLASS="emphasis"
2520 ><I
2521 CLASS="EMPHASIS"
2522 >all</I
2523 ></SPAN
2524 > destination addresses are OK:
2525    </P
2526 ><P
2527 >    <TABLE
2528 BORDER="0"
2529 BGCOLOR="#E0E0E0"
2530 WIDTH="90%"
2531 ><TR
2532 ><TD
2533 ><PRE
2534 CLASS="SCREEN"
2535 >  permit-access  localhost</PRE
2536 ></TD
2537 ></TR
2538 ></TABLE
2539 >
2540    </P
2541 ><P
2542 >    Allow any host on the same class C subnet as www.privoxy.org access to
2543     nothing but www.example.com (or other domains hosted on the same system):
2544    </P
2545 ><P
2546 >    <TABLE
2547 BORDER="0"
2548 BGCOLOR="#E0E0E0"
2549 WIDTH="90%"
2550 ><TR
2551 ><TD
2552 ><PRE
2553 CLASS="SCREEN"
2554 >  permit-access  www.privoxy.org/24 www.example.com/32</PRE
2555 ></TD
2556 ></TR
2557 ></TABLE
2558 >
2559    </P
2560 ><P
2561 >    Allow access from any host on the 26-bit subnet 192.168.45.64 to anywhere,
2562     with the exception that 192.168.45.73 may not access the IP address behind
2563     www.dirty-stuff.example.com:
2564    </P
2565 ><P
2566 >    <TABLE
2567 BORDER="0"
2568 BGCOLOR="#E0E0E0"
2569 WIDTH="90%"
2570 ><TR
2571 ><TD
2572 ><PRE
2573 CLASS="SCREEN"
2574 >  permit-access  192.168.45.64/26
2575   deny-access    192.168.45.73    www.dirty-stuff.example.com</PRE
2576 ></TD
2577 ></TR
2578 ></TABLE
2579 >
2580    </P
2581 ></DD
2582 ></DL
2583 ></DIV
2584 ></DIV
2585 ><DIV
2586 CLASS="SECT3"
2587 ><H4
2588 CLASS="SECT3"
2589 ><A
2590 NAME="BUFFER-LIMIT"
2591 >7.4.8. buffer-limit</A
2592 ></H4
2593 ><P
2594 ></P
2595 ><DIV
2596 CLASS="VARIABLELIST"
2597 ><DL
2598 ><DT
2599 >Specifies:</DT
2600 ><DD
2601 ><P
2602 >    Maximum size of the buffer for content filtering.
2603    </P
2604 ></DD
2605 ><DT
2606 >Type of value:</DT
2607 ><DD
2608 ><P
2609 >Size in Kbytes</P
2610 ></DD
2611 ><DT
2612 >Default value:</DT
2613 ><DD
2614 ><P
2615 >4096</P
2616 ></DD
2617 ><DT
2618 >Effect if unset:</DT
2619 ><DD
2620 ><P
2621 >    Use a 4MB (4096 KB) limit.
2622    </P
2623 ></DD
2624 ><DT
2625 >Notes:</DT
2626 ><DD
2627 ><P
2628 >    For content filtering, i.e. the <TT
2629 CLASS="LITERAL"
2630 >+filter</TT
2631 > and
2632     <TT
2633 CLASS="LITERAL"
2634 >+deanimate-gif</TT
2635 > actions, it is necessary that 
2636     <SPAN
2637 CLASS="APPLICATION"
2638 >Privoxy</SPAN
2639 > buffers the entire document body.
2640     This can be potentially dangerous, since a server could just keep sending
2641     data indefinitely and wait for your RAM to exhaust -- with nasty consequences.
2642     Hence this option.
2643    </P
2644 ><P
2645 >    When a document buffer size reaches the <TT
2646 CLASS="LITERAL"
2647 >buffer-limit</TT
2648 >, it is
2649     flushed to the client unfiltered and no further attempt to
2650     filter the rest of the document is made. Remember that there may be multiple threads
2651     running, which might require up to <TT
2652 CLASS="LITERAL"
2653 >buffer-limit</TT
2654 > Kbytes
2655     <SPAN
2656 CLASS="emphasis"
2657 ><I
2658 CLASS="EMPHASIS"
2659 >each</I
2660 ></SPAN
2661 >, unless you have enabled <SPAN
2662 CLASS="QUOTE"
2663 >"single-threaded"</SPAN
2664 >
2665     above.
2666    </P
2667 ></DD
2668 ></DL
2669 ></DIV
2670 ></DIV
2671 ></DIV
2672 ><DIV
2673 CLASS="SECT2"
2674 ><H2
2675 CLASS="SECT2"
2676 ><A
2677 NAME="FORWARDING"
2678 >7.5. Forwarding</A
2679 ></H2
2680 ><P
2681 > This feature allows routing of HTTP requests through a chain of
2682  multiple proxies.</P
2683 ><P
2684 > Forwarding can be used to chain Privoxy with a caching proxy to speed
2685  up browsing. Using a parent proxy may also be necessary if the machine
2686  that <SPAN
2687 CLASS="APPLICATION"
2688 >Privoxy</SPAN
2689 > runs on has no direct Internet access.</P
2690 ><P
2691 > Note that parent proxies can severely decrease your privacy level.
2692  For example a parent proxy could add your IP address to the request
2693  headers and if it's a caching proxy it may add the <SPAN
2694 CLASS="QUOTE"
2695 >"Etag"</SPAN
2696 >
2697  header to revalidation requests again, even though you configured Privoxy
2698  to remove it. It may also ignore Privoxy's header time randomization and use the
2699  original values which could be used by the server as cookie replacement
2700  to track your steps between visits.</P
2701 ><P
2702 > Also specified here are SOCKS proxies. <SPAN
2703 CLASS="APPLICATION"
2704 >Privoxy</SPAN
2705 >
2706  supports the SOCKS 4 and SOCKS 4A protocols.</P
2707 ><DIV
2708 CLASS="SECT3"
2709 ><H4
2710 CLASS="SECT3"
2711 ><A
2712 NAME="FORWARD"
2713 >7.5.1. forward</A
2714 ></H4
2715 ><P
2716 ></P
2717 ><DIV
2718 CLASS="VARIABLELIST"
2719 ><DL
2720 ><DT
2721 >Specifies:</DT
2722 ><DD
2723 ><P
2724 >    To which parent HTTP proxy specific requests should be routed.
2725    </P
2726 ></DD
2727 ><DT
2728 >Type of value:</DT
2729 ><DD
2730 ><P
2731 >    <TT
2732 CLASS="REPLACEABLE"
2733 ><I
2734 >target_pattern</I
2735 ></TT
2736 >
2737     <TT
2738 CLASS="REPLACEABLE"
2739 ><I
2740 >http_parent</I
2741 ></TT
2742 >[:<TT
2743 CLASS="REPLACEABLE"
2744 ><I
2745 >port</I
2746 ></TT
2747 >]
2748    </P
2749 ><P
2750 >    where <TT
2751 CLASS="REPLACEABLE"
2752 ><I
2753 >target_pattern</I
2754 ></TT
2755 > is a <A
2756 HREF="actions-file.html#AF-PATTERNS"
2757 >URL pattern</A
2758
2759     that specifies to which requests (i.e. URLs) this forward rule shall apply. Use <TT
2760 CLASS="LITERAL"
2761 >/</TT
2762 > to
2763     denote <SPAN
2764 CLASS="QUOTE"
2765 >"all URLs"</SPAN
2766 >.
2767     <TT
2768 CLASS="REPLACEABLE"
2769 ><I
2770 >http_parent</I
2771 ></TT
2772 >[:<TT
2773 CLASS="REPLACEABLE"
2774 ><I
2775 >port</I
2776 ></TT
2777 >]
2778     is the DNS name or IP address of the parent HTTP proxy through which the requests should be forwarded,
2779     optionally followed by its listening port (default: 8080).
2780     Use a single dot (<TT
2781 CLASS="LITERAL"
2782 >.</TT
2783 >) to denote <SPAN
2784 CLASS="QUOTE"
2785 >"no forwarding"</SPAN
2786 >.
2787    </P
2788 ></DD
2789 ><DT
2790 >Default value:</DT
2791 ><DD
2792 ><P
2793 ><SPAN
2794 CLASS="emphasis"
2795 ><I
2796 CLASS="EMPHASIS"
2797 >Unset</I
2798 ></SPAN
2799 ></P
2800 ></DD
2801 ><DT
2802 >Effect if unset:</DT
2803 ><DD
2804 ><P
2805 >    Don't use parent HTTP proxies.
2806    </P
2807 ></DD
2808 ><DT
2809 >Notes:</DT
2810 ><DD
2811 ><P
2812 >    If <TT
2813 CLASS="REPLACEABLE"
2814 ><I
2815 >http_parent</I
2816 ></TT
2817 > is <SPAN
2818 CLASS="QUOTE"
2819 >"."</SPAN
2820 >, then requests are not
2821     forwarded to another HTTP proxy but are made directly to the web servers.
2822    </P
2823 ><P
2824 >    Multiple lines are OK, they are checked in sequence, and the last match wins.
2825    </P
2826 ></DD
2827 ><DT
2828 >Examples:</DT
2829 ><DD
2830 ><P
2831 >    Everything goes to an example parent proxy, except SSL on port 443 (which it doesn't handle):
2832    </P
2833 ><P
2834 >    <TABLE
2835 BORDER="0"
2836 BGCOLOR="#E0E0E0"
2837 WIDTH="90%"
2838 ><TR
2839 ><TD
2840 ><PRE
2841 CLASS="SCREEN"
2842 >  forward   /      parent-proxy.example.org:8080
2843   forward   :443   .</PRE
2844 ></TD
2845 ></TR
2846 ></TABLE
2847 >
2848    </P
2849 ><P
2850 >    Everything goes to our example ISP's caching proxy, except for requests
2851     to that ISP's sites:
2852    </P
2853 ><P
2854 >    <TABLE
2855 BORDER="0"
2856 BGCOLOR="#E0E0E0"
2857 WIDTH="90%"
2858 ><TR
2859 ><TD
2860 ><PRE
2861 CLASS="SCREEN"
2862 >  forward   /                  caching-proxy.isp.example.net:8000
2863   forward   .isp.example.net   .</PRE
2864 ></TD
2865 ></TR
2866 ></TABLE
2867 >
2868    </P
2869 ></DD
2870 ></DL
2871 ></DIV
2872 ></DIV
2873 ><DIV
2874 CLASS="SECT3"
2875 ><H4
2876 CLASS="SECT3"
2877 ><A
2878 NAME="SOCKS"
2879 >7.5.2. forward-socks4, forward-socks4a and forward-socks5</A
2880 ></H4
2881 ><A
2882 NAME="FORWARD-SOCKS4"
2883 ></A
2884 ><A
2885 NAME="FORWARD-SOCKS4A"
2886 ></A
2887 ><P
2888 ></P
2889 ><DIV
2890 CLASS="VARIABLELIST"
2891 ><DL
2892 ><DT
2893 >Specifies:</DT
2894 ><DD
2895 ><P
2896 >    Through which SOCKS proxy (and optionally to which parent HTTP proxy) specific requests should be routed.
2897    </P
2898 ></DD
2899 ><DT
2900 >Type of value:</DT
2901 ><DD
2902 ><P
2903 >    <TT
2904 CLASS="REPLACEABLE"
2905 ><I
2906 >target_pattern</I
2907 ></TT
2908 >
2909     <TT
2910 CLASS="REPLACEABLE"
2911 ><I
2912 >socks_proxy</I
2913 ></TT
2914 >[:<TT
2915 CLASS="REPLACEABLE"
2916 ><I
2917 >port</I
2918 ></TT
2919 >]
2920     <TT
2921 CLASS="REPLACEABLE"
2922 ><I
2923 >http_parent</I
2924 ></TT
2925 >[:<TT
2926 CLASS="REPLACEABLE"
2927 ><I
2928 >port</I
2929 ></TT
2930 >]
2931    </P
2932 ><P
2933 >    where <TT
2934 CLASS="REPLACEABLE"
2935 ><I
2936 >target_pattern</I
2937 ></TT
2938 > is a
2939     <A
2940 HREF="actions-file.html#AF-PATTERNS"
2941 >URL pattern</A
2942 > that specifies to which
2943     requests (i.e. URLs) this forward rule shall apply. Use <TT
2944 CLASS="LITERAL"
2945 >/</TT
2946 > to
2947     denote <SPAN
2948 CLASS="QUOTE"
2949 >"all URLs"</SPAN
2950 >. <TT
2951 CLASS="REPLACEABLE"
2952 ><I
2953 >http_parent</I
2954 ></TT
2955 >
2956     and <TT
2957 CLASS="REPLACEABLE"
2958 ><I
2959 >socks_proxy</I
2960 ></TT
2961 >
2962     are IP addresses in dotted decimal notation or valid DNS names
2963     (<TT
2964 CLASS="REPLACEABLE"
2965 ><I
2966 >http_parent</I
2967 ></TT
2968 >
2969     may be <SPAN
2970 CLASS="QUOTE"
2971 >"."</SPAN
2972 > to denote <SPAN
2973 CLASS="QUOTE"
2974 >"no HTTP forwarding"</SPAN
2975 >), and the optional 
2976     <TT
2977 CLASS="REPLACEABLE"
2978 ><I
2979 >port</I
2980 ></TT
2981 > parameters are TCP ports,
2982     i.e. integer values from 1 to 65535
2983    </P
2984 ></DD
2985 ><DT
2986 >Default value:</DT
2987 ><DD
2988 ><P
2989 ><SPAN
2990 CLASS="emphasis"
2991 ><I
2992 CLASS="EMPHASIS"
2993 >Unset</I
2994 ></SPAN
2995 ></P
2996 ></DD
2997 ><DT
2998 >Effect if unset:</DT
2999 ><DD
3000 ><P
3001 >    Don't use SOCKS proxies.
3002    </P
3003 ></DD
3004 ><DT
3005 >Notes:</DT
3006 ><DD
3007 ><P
3008 >    Multiple lines are OK, they are checked in sequence, and the last match wins.
3009    </P
3010 ><P
3011 >    The difference between <TT
3012 CLASS="LITERAL"
3013 >forward-socks4</TT
3014 > and <TT
3015 CLASS="LITERAL"
3016 >forward-socks4a</TT
3017 >
3018     is that in the SOCKS 4A protocol, the DNS resolution of the target hostname happens on the SOCKS
3019     server, while in SOCKS 4 it happens locally.
3020    </P
3021 ><P
3022 >    With <TT
3023 CLASS="LITERAL"
3024 >forward-socks5</TT
3025 > the DNS resolution will happen on the remote server as well.
3026    </P
3027 ><P
3028 >    If <TT
3029 CLASS="REPLACEABLE"
3030 ><I
3031 >http_parent</I
3032 ></TT
3033 > is <SPAN
3034 CLASS="QUOTE"
3035 >"."</SPAN
3036 >, then requests are not
3037     forwarded to another HTTP proxy but are made (HTTP-wise) directly to the web servers, albeit through
3038     a SOCKS proxy.
3039    </P
3040 ></DD
3041 ><DT
3042 >Examples:</DT
3043 ><DD
3044 ><P
3045 >     From the company example.com, direct connections are made to all
3046      <SPAN
3047 CLASS="QUOTE"
3048 >"internal"</SPAN
3049 > domains, but everything outbound goes through
3050      their ISP's proxy by way of example.com's corporate SOCKS 4A gateway to
3051      the Internet.
3052    </P
3053 ><P
3054 >    <TABLE
3055 BORDER="0"
3056 BGCOLOR="#E0E0E0"
3057 WIDTH="90%"
3058 ><TR
3059 ><TD
3060 ><PRE
3061 CLASS="SCREEN"
3062 >  forward-socks4a   /              socks-gw.example.com:1080  www-cache.isp.example.net:8080
3063   forward           .example.com   .</PRE
3064 ></TD
3065 ></TR
3066 ></TABLE
3067 >
3068    </P
3069 ><P
3070 >    A rule that uses a SOCKS 4 gateway for all destinations but no HTTP parent looks like this:
3071    </P
3072 ><P
3073 >    <TABLE
3074 BORDER="0"
3075 BGCOLOR="#E0E0E0"
3076 WIDTH="90%"
3077 ><TR
3078 ><TD
3079 ><PRE
3080 CLASS="SCREEN"
3081 >  forward-socks4   /               socks-gw.example.com:1080  .</PRE
3082 ></TD
3083 ></TR
3084 ></TABLE
3085 >
3086    </P
3087 ><P
3088 >    To chain Privoxy and Tor, both running on the same system, you would use 
3089     something like:
3090    </P
3091 ><P
3092 >    <TABLE
3093 BORDER="0"
3094 BGCOLOR="#E0E0E0"
3095 WIDTH="90%"
3096 ><TR
3097 ><TD
3098 ><PRE
3099 CLASS="SCREEN"
3100 >  forward-socks4a   /               127.0.0.1:9050 .</PRE
3101 ></TD
3102 ></TR
3103 ></TABLE
3104 >
3105    </P
3106 ><P
3107 >    The public <SPAN
3108 CLASS="APPLICATION"
3109 >Tor</SPAN
3110 > network can't be used to
3111     reach your local network, if you need to access local servers you
3112     therefore might want to make some exceptions:
3113    </P
3114 ><P
3115 >    <TABLE
3116 BORDER="0"
3117 BGCOLOR="#E0E0E0"
3118 WIDTH="90%"
3119 ><TR
3120 ><TD
3121 ><PRE
3122 CLASS="SCREEN"
3123 >  forward         192.168.*.*/     .
3124   forward            10.*.*.*/     .
3125   forward           127.*.*.*/     .</PRE
3126 ></TD
3127 ></TR
3128 ></TABLE
3129 >
3130    </P
3131 ><P
3132 >    Unencrypted connections to systems in these address ranges will
3133     be as (un)secure as the local network is, but the alternative is that you
3134     can't reach the local network through <SPAN
3135 CLASS="APPLICATION"
3136 >Privoxy</SPAN
3137 >
3138     at all. Of course this may actually be desired and there is no reason
3139     to make these exceptions if you aren't sure you need them.
3140    </P
3141 ><P
3142 >    If you also want to be able to reach servers in your local network by
3143     using their names, you will need additional exceptions that look like
3144     this:
3145    </P
3146 ><P
3147 >    <TABLE
3148 BORDER="0"
3149 BGCOLOR="#E0E0E0"
3150 WIDTH="90%"
3151 ><TR
3152 ><TD
3153 ><PRE
3154 CLASS="SCREEN"
3155 > forward           localhost/     .</PRE
3156 ></TD
3157 ></TR
3158 ></TABLE
3159 >
3160    </P
3161 ></DD
3162 ></DL
3163 ></DIV
3164 ></DIV
3165 ><DIV
3166 CLASS="SECT3"
3167 ><H4
3168 CLASS="SECT3"
3169 ><A
3170 NAME="ADVANCED-FORWARDING-EXAMPLES"
3171 >7.5.3. Advanced Forwarding Examples</A
3172 ></H4
3173 ><P
3174 > If you have links to multiple ISPs that provide various special content 
3175  only to their subscribers, you can configure multiple <SPAN
3176 CLASS="APPLICATION"
3177 >Privoxies</SPAN
3178 >
3179  which have connections to the respective ISPs to act as forwarders to each other, so that
3180  <SPAN
3181 CLASS="emphasis"
3182 ><I
3183 CLASS="EMPHASIS"
3184 >your</I
3185 ></SPAN
3186 > users can see the internal content of all ISPs.</P
3187 ><P
3188 > Assume that host-a has a PPP connection to isp-a.example.net. And host-b has a PPP connection to
3189  isp-b.example.org. Both run <SPAN
3190 CLASS="APPLICATION"
3191 >Privoxy</SPAN
3192 >. Their forwarding
3193  configuration can look like this:</P
3194 ><P
3195 > host-a:</P
3196 ><P
3197 > <TABLE
3198 BORDER="0"
3199 BGCOLOR="#E0E0E0"
3200 WIDTH="100%"
3201 ><TR
3202 ><TD
3203 ><PRE
3204 CLASS="SCREEN"
3205 >  forward    /           .
3206   forward    .isp-b.example.net  host-b:8118</PRE
3207 ></TD
3208 ></TR
3209 ></TABLE
3210 ></P
3211 ><P
3212 > host-b:</P
3213 ><P
3214 > <TABLE
3215 BORDER="0"
3216 BGCOLOR="#E0E0E0"
3217 WIDTH="100%"
3218 ><TR
3219 ><TD
3220 ><PRE
3221 CLASS="SCREEN"
3222 >  forward    /           .
3223   forward    .isp-a.example.org  host-a:8118</PRE
3224 ></TD
3225 ></TR
3226 ></TABLE
3227 ></P
3228 ><P
3229 > Now, your users can set their browser's proxy to use either
3230  host-a or host-b and be able to browse the internal content
3231  of both isp-a and isp-b.</P
3232 ><P
3233 > If you intend to chain <SPAN
3234 CLASS="APPLICATION"
3235 >Privoxy</SPAN
3236 > and 
3237  <SPAN
3238 CLASS="APPLICATION"
3239 >squid</SPAN
3240 > locally, then chaining as 
3241  <TT
3242 CLASS="LITERAL"
3243 >browser -&#62; squid -&#62; privoxy</TT
3244 > is the recommended way. </P
3245 ><P
3246 > Assuming that <SPAN
3247 CLASS="APPLICATION"
3248 >Privoxy</SPAN
3249 > and <SPAN
3250 CLASS="APPLICATION"
3251 >squid</SPAN
3252 >
3253  run on the same box, your <SPAN
3254 CLASS="APPLICATION"
3255 >squid</SPAN
3256 > configuration could then look like this:</P
3257 ><P
3258 > <TABLE
3259 BORDER="0"
3260 BGCOLOR="#E0E0E0"
3261 WIDTH="100%"
3262 ><TR
3263 ><TD
3264 ><PRE
3265 CLASS="SCREEN"
3266 >  # Define Privoxy as parent proxy (without ICP) 
3267   cache_peer 127.0.0.1 parent 8118 7 no-query 
3268
3269   # Define ACL for protocol FTP 
3270   acl ftp proto FTP 
3271
3272   # Do not forward FTP requests to Privoxy
3273   always_direct allow ftp 
3274
3275   # Forward all the rest to Privoxy
3276   never_direct allow all</PRE
3277 ></TD
3278 ></TR
3279 ></TABLE
3280 ></P
3281 ><P
3282 > You would then need to change your browser's proxy settings to <SPAN
3283 CLASS="APPLICATION"
3284 >squid</SPAN
3285 >'s address and port.
3286  Squid normally uses port 3128. If unsure consult <TT
3287 CLASS="LITERAL"
3288 >http_port</TT
3289 > in <TT
3290 CLASS="FILENAME"
3291 >squid.conf</TT
3292 >.</P
3293 ><P
3294 > You could just as well decide to only forward requests you suspect
3295  of leading to Windows executables through a virus-scanning parent proxy,
3296  say, on <TT
3297 CLASS="LITERAL"
3298 >antivir.example.com</TT
3299 >, port 8010:</P
3300 ><P
3301 > <TABLE
3302 BORDER="0"
3303 BGCOLOR="#E0E0E0"
3304 WIDTH="100%"
3305 ><TR
3306 ><TD
3307 ><PRE
3308 CLASS="SCREEN"
3309 >  forward   /                          .
3310   forward   /.*\.(exe|com|dll|zip)$    antivir.example.com:8010</PRE
3311 ></TD
3312 ></TR
3313 ></TABLE
3314 > </P
3315 ></DIV
3316 ><DIV
3317 CLASS="SECT3"
3318 ><H4
3319 CLASS="SECT3"
3320 ><A
3321 NAME="FORWARDED-CONNECT-RETRIES"
3322 >7.5.4. forwarded-connect-retries</A
3323 ></H4
3324 ><P
3325 ></P
3326 ><DIV
3327 CLASS="VARIABLELIST"
3328 ><DL
3329 ><DT
3330 >Specifies:</DT
3331 ><DD
3332 ><P
3333 >    How often Privoxy retries if a forwarded connection request fails. 
3334    </P
3335 ></DD
3336 ><DT
3337 >Type of value:</DT
3338 ><DD
3339 ><P
3340 >    <TT
3341 CLASS="REPLACEABLE"
3342 ><I
3343 >Number of retries.</I
3344 ></TT
3345 >
3346    </P
3347 ></DD
3348 ><DT
3349 >Default value:</DT
3350 ><DD
3351 ><P
3352 ><SPAN
3353 CLASS="emphasis"
3354 ><I
3355 CLASS="EMPHASIS"
3356 >0</I
3357 ></SPAN
3358 ></P
3359 ></DD
3360 ><DT
3361 >Effect if unset:</DT
3362 ><DD
3363 ><P
3364 >    Connections forwarded through other proxies are treated like direct connections and no retry attempts are made.
3365    </P
3366 ></DD
3367 ><DT
3368 >Notes:</DT
3369 ><DD
3370 ><P
3371 >    <TT
3372 CLASS="REPLACEABLE"
3373 ><I
3374 >forwarded-connect-retries</I
3375 ></TT
3376 > is mainly interesting
3377     for socks4a connections, where <SPAN
3378 CLASS="APPLICATION"
3379 >Privoxy</SPAN
3380 > can't detect why the connections failed.
3381     The connection might have failed because of a DNS timeout in which case a retry makes sense,
3382     but it might also have failed because the server doesn't exist or isn't reachable. In this
3383     case the retry will just delay the appearance of Privoxy's error message.
3384    </P
3385 ><P
3386 >    Note that in the context of this option, <SPAN
3387 CLASS="QUOTE"
3388 >"forwarded connections"</SPAN
3389 > includes all connections
3390     that Privoxy forwards through other proxies. This option is not limited to the HTTP CONNECT method.
3391    </P
3392 ><P
3393 >    Only use this option, if you are getting lots of forwarding-related error messages
3394     that go away when you try again manually. Start with a small value and check Privoxy's
3395     logfile from time to time, to see how many retries are usually needed.
3396    </P
3397 ></DD
3398 ><DT
3399 >Examples:</DT
3400 ><DD
3401 ><P
3402 >    forwarded-connect-retries 1
3403    </P
3404 ></DD
3405 ></DL
3406 ></DIV
3407 ></DIV
3408 ><DIV
3409 CLASS="SECT3"
3410 ><H4
3411 CLASS="SECT3"
3412 ><A
3413 NAME="ACCEPT-INTERCEPTED-REQUESTS"
3414 >7.5.5. accept-intercepted-requests</A
3415 ></H4
3416 ><P
3417 ></P
3418 ><DIV
3419 CLASS="VARIABLELIST"
3420 ><DL
3421 ><DT
3422 >Specifies:</DT
3423 ><DD
3424 ><P
3425 >    Whether intercepted requests should be treated as valid.
3426    </P
3427 ></DD
3428 ><DT
3429 >Type of value:</DT
3430 ><DD
3431 ><P
3432 >    <TT
3433 CLASS="REPLACEABLE"
3434 ><I
3435 >0 or 1</I
3436 ></TT
3437 >
3438    </P
3439 ></DD
3440 ><DT
3441 >Default value:</DT
3442 ><DD
3443 ><P
3444 ><SPAN
3445 CLASS="emphasis"
3446 ><I
3447 CLASS="EMPHASIS"
3448 >0</I
3449 ></SPAN
3450 ></P
3451 ></DD
3452 ><DT
3453 >Effect if unset:</DT
3454 ><DD
3455 ><P
3456 >    Only proxy requests are accepted, intercepted requests are treated as invalid.
3457    </P
3458 ></DD
3459 ><DT
3460 >Notes:</DT
3461 ><DD
3462 ><P
3463 >    If you don't trust your clients and want to force them
3464     to use <SPAN
3465 CLASS="APPLICATION"
3466 >Privoxy</SPAN
3467 >, enable this
3468     option and configure your packet filter to redirect outgoing
3469     HTTP connections into <SPAN
3470 CLASS="APPLICATION"
3471 >Privoxy</SPAN
3472 >. 
3473    </P
3474 ><P
3475 >    Make sure that <SPAN
3476 CLASS="APPLICATION"
3477 >Privoxy's</SPAN
3478 > own requests
3479     aren't redirected as well. Additionally take care that
3480     <SPAN
3481 CLASS="APPLICATION"
3482 >Privoxy</SPAN
3483 > can't intentionally connect
3484     to itself, otherwise you could run into redirection loops if
3485     <SPAN
3486 CLASS="APPLICATION"
3487 >Privoxy's</SPAN
3488 > listening port is reachable
3489     by the outside or an attacker has access to the pages you visit.
3490    </P
3491 ></DD
3492 ><DT
3493 >Examples:</DT
3494 ><DD
3495 ><P
3496 >    accept-intercepted-requests 1
3497    </P
3498 ></DD
3499 ></DL
3500 ></DIV
3501 ></DIV
3502 ><DIV
3503 CLASS="SECT3"
3504 ><H4
3505 CLASS="SECT3"
3506 ><A
3507 NAME="ALLOW-CGI-REQUEST-CRUNCHING"
3508 >7.5.6. allow-cgi-request-crunching</A
3509 ></H4
3510 ><P
3511 ></P
3512 ><DIV
3513 CLASS="VARIABLELIST"
3514 ><DL
3515 ><DT
3516 >Specifies:</DT
3517 ><DD
3518 ><P
3519 >    Whether requests to <SPAN
3520 CLASS="APPLICATION"
3521 >Privoxy's</SPAN
3522 > CGI pages can be blocked or redirected.
3523    </P
3524 ></DD
3525 ><DT
3526 >Type of value:</DT
3527 ><DD
3528 ><P
3529 >    <TT
3530 CLASS="REPLACEABLE"
3531 ><I
3532 >0 or 1</I
3533 ></TT
3534 >
3535    </P
3536 ></DD
3537 ><DT
3538 >Default value:</DT
3539 ><DD
3540 ><P
3541 ><SPAN
3542 CLASS="emphasis"
3543 ><I
3544 CLASS="EMPHASIS"
3545 >0</I
3546 ></SPAN
3547 ></P
3548 ></DD
3549 ><DT
3550 >Effect if unset:</DT
3551 ><DD
3552 ><P
3553 >    <SPAN
3554 CLASS="APPLICATION"
3555 >Privoxy</SPAN
3556 > ignores block and redirect actions for its CGI pages.
3557    </P
3558 ></DD
3559 ><DT
3560 >Notes:</DT
3561 ><DD
3562 ><P
3563 >    By default <SPAN
3564 CLASS="APPLICATION"
3565 >Privoxy</SPAN
3566 > ignores block or redirect actions
3567     for its CGI pages. Intercepting these requests can be useful in multi-user
3568     setups to implement fine-grained access control, but it can also render the complete
3569     web interface useless and make debugging problems painful if done without care.
3570    </P
3571 ><P
3572 >    Don't enable this option unless you're sure that you really need it.
3573    </P
3574 ></DD
3575 ><DT
3576 >Examples:</DT
3577 ><DD
3578 ><P
3579 >    allow-cgi-request-crunching 1
3580    </P
3581 ></DD
3582 ></DL
3583 ></DIV
3584 ></DIV
3585 ><DIV
3586 CLASS="SECT3"
3587 ><H4
3588 CLASS="SECT3"
3589 ><A
3590 NAME="SPLIT-LARGE-FORMS"
3591 >7.5.7. split-large-forms</A
3592 ></H4
3593 ><P
3594 ></P
3595 ><DIV
3596 CLASS="VARIABLELIST"
3597 ><DL
3598 ><DT
3599 >Specifies:</DT
3600 ><DD
3601 ><P
3602 >    Whether the CGI interface should stay compatible with broken HTTP clients.
3603    </P
3604 ></DD
3605 ><DT
3606 >Type of value:</DT
3607 ><DD
3608 ><P
3609 >    <TT
3610 CLASS="REPLACEABLE"
3611 ><I
3612 >0 or 1</I
3613 ></TT
3614 >
3615    </P
3616 ></DD
3617 ><DT
3618 >Default value:</DT
3619 ><DD
3620 ><P
3621 ><SPAN
3622 CLASS="emphasis"
3623 ><I
3624 CLASS="EMPHASIS"
3625 >0</I
3626 ></SPAN
3627 ></P
3628 ></DD
3629 ><DT
3630 >Effect if unset:</DT
3631 ><DD
3632 ><P
3633 >    The CGI form generate long GET URLs.
3634    </P
3635 ></DD
3636 ><DT
3637 >Notes:</DT
3638 ><DD
3639 ><P
3640 >    <SPAN
3641 CLASS="APPLICATION"
3642 >Privoxy's</SPAN
3643 > CGI forms can lead to
3644     rather long URLs. This isn't a problem as far as the HTTP
3645     standard is concerned, but it can confuse clients with arbitrary
3646     URL length limitations.
3647    </P
3648 ><P
3649 >    Enabling split-large-forms causes <SPAN
3650 CLASS="APPLICATION"
3651 >Privoxy</SPAN
3652 >
3653     to divide big forms into smaller ones to keep the URL length down.
3654     It makes editing a lot less convenient and you can no longer
3655     submit all changes at once, but at least it works around this
3656     browser bug.
3657    </P
3658 ><P
3659 >    If you don't notice any editing problems, there is no reason
3660     to enable this option, but if one of the submit buttons appears
3661     to be broken, you should give it a try.
3662    </P
3663 ></DD
3664 ><DT
3665 >Examples:</DT
3666 ><DD
3667 ><P
3668 >    split-large-forms 1
3669    </P
3670 ></DD
3671 ></DL
3672 ></DIV
3673 ></DIV
3674 ></DIV
3675 ><DIV
3676 CLASS="SECT2"
3677 ><H2
3678 CLASS="SECT2"
3679 ><A
3680 NAME="WINDOWS-GUI"
3681 >7.6. Windows GUI Options</A
3682 ></H2
3683 ><P
3684 > <SPAN
3685 CLASS="APPLICATION"
3686 >Privoxy</SPAN
3687 > has a number of options specific to the
3688  Windows GUI interface:</P
3689 ><A
3690 NAME="ACTIVITY-ANIMATION"
3691 ></A
3692 ><P
3693 > If <SPAN
3694 CLASS="QUOTE"
3695 >"activity-animation"</SPAN
3696 > is set to 1, the
3697  <SPAN
3698 CLASS="APPLICATION"
3699 >Privoxy</SPAN
3700 > icon will animate when
3701  <SPAN
3702 CLASS="QUOTE"
3703 >"Privoxy"</SPAN
3704 > is active. To turn off, set to 0.</P
3705 ><P
3706 > <TT
3707 CLASS="LITERAL"
3708 >  <P
3709 CLASS="LITERALLAYOUT"
3710 >&nbsp;&nbsp;<SPAN
3711 CLASS="emphasis"
3712 ><I
3713 CLASS="EMPHASIS"
3714 >activity-animation   1</I
3715 ></SPAN
3716 ><br>
3717 &nbsp;&nbsp;&nbsp;</P
3718
3719  </TT
3720 ></P
3721 ><A
3722 NAME="LOG-MESSAGES"
3723 ></A
3724 ><P
3725 > If <SPAN
3726 CLASS="QUOTE"
3727 >"log-messages"</SPAN
3728 > is set to 1,
3729  <SPAN
3730 CLASS="APPLICATION"
3731 >Privoxy</SPAN
3732 > will log messages to the console
3733  window:</P
3734 ><P
3735 > <TT
3736 CLASS="LITERAL"
3737 >  <P
3738 CLASS="LITERALLAYOUT"
3739 >&nbsp;&nbsp;<SPAN
3740 CLASS="emphasis"
3741 ><I
3742 CLASS="EMPHASIS"
3743 >log-messages       1</I
3744 ></SPAN
3745 ><br>
3746 &nbsp;&nbsp;&nbsp;</P
3747
3748  </TT
3749 ></P
3750 ><A
3751 NAME="LOG-BUFFER-SIZE"
3752 ></A
3753 ><P
3754
3755  If <SPAN
3756 CLASS="QUOTE"
3757 >"log-buffer-size"</SPAN
3758 > is set to 1, the size of the log buffer,
3759  i.e. the amount of memory used for the log messages displayed in the
3760  console window, will be limited to <SPAN
3761 CLASS="QUOTE"
3762 >"log-max-lines"</SPAN
3763 > (see below).</P
3764 ><P
3765 > Warning: Setting this to 0 will result in the buffer to grow infinitely and
3766  eat up all your memory!</P
3767 ><P
3768 > <TT
3769 CLASS="LITERAL"
3770 >  <P
3771 CLASS="LITERALLAYOUT"
3772 >&nbsp;&nbsp;<SPAN
3773 CLASS="emphasis"
3774 ><I
3775 CLASS="EMPHASIS"
3776 >log-buffer-size      1</I
3777 ></SPAN
3778 ><br>
3779 &nbsp;&nbsp;&nbsp;</P
3780
3781  </TT
3782 ></P
3783 ><A
3784 NAME="LOG-MAX-LINES"
3785 ></A
3786 ><P
3787 > <SPAN
3788 CLASS="APPLICATION"
3789 >log-max-lines</SPAN
3790 > is the maximum number of lines held
3791  in the log buffer. See above.</P
3792 ><P
3793 > <TT
3794 CLASS="LITERAL"
3795 >  <P
3796 CLASS="LITERALLAYOUT"
3797 >&nbsp;&nbsp;<SPAN
3798 CLASS="emphasis"
3799 ><I
3800 CLASS="EMPHASIS"
3801 >log-max-lines      200</I
3802 ></SPAN
3803 ><br>
3804 &nbsp;&nbsp;&nbsp;</P
3805
3806  </TT
3807 ></P
3808 ><A
3809 NAME="LOG-HIGHLIGHT-MESSAGES"
3810 ></A
3811 ><P
3812 > If <SPAN
3813 CLASS="QUOTE"
3814 >"log-highlight-messages"</SPAN
3815 > is set to 1,
3816  <SPAN
3817 CLASS="APPLICATION"
3818 >Privoxy</SPAN
3819 > will highlight portions of the log
3820  messages with a bold-faced font:</P
3821 ><P
3822 > <TT
3823 CLASS="LITERAL"
3824 >  <P
3825 CLASS="LITERALLAYOUT"
3826 >&nbsp;&nbsp;<SPAN
3827 CLASS="emphasis"
3828 ><I
3829 CLASS="EMPHASIS"
3830 >log-highlight-messages   1</I
3831 ></SPAN
3832 ><br>
3833 &nbsp;&nbsp;&nbsp;</P
3834
3835  </TT
3836 ></P
3837 ><A
3838 NAME="LOG-FONT-NAME"
3839 ></A
3840 ><P
3841 > The font used in the console window:</P
3842 ><P
3843 > <TT
3844 CLASS="LITERAL"
3845 >  <P
3846 CLASS="LITERALLAYOUT"
3847 >&nbsp;&nbsp;<SPAN
3848 CLASS="emphasis"
3849 ><I
3850 CLASS="EMPHASIS"
3851 >log-font-name        Comic Sans MS</I
3852 ></SPAN
3853 ><br>
3854 &nbsp;&nbsp;&nbsp;</P
3855
3856  </TT
3857 ></P
3858 ><A
3859 NAME="LOG-FONT-SIZE"
3860 ></A
3861 ><P
3862 > Font size used in the console window:</P
3863 ><P
3864 > <TT
3865 CLASS="LITERAL"
3866 >  <P
3867 CLASS="LITERALLAYOUT"
3868 >&nbsp;&nbsp;<SPAN
3869 CLASS="emphasis"
3870 ><I
3871 CLASS="EMPHASIS"
3872 >log-font-size        8</I
3873 ></SPAN
3874 ><br>
3875 &nbsp;&nbsp;&nbsp;</P
3876
3877  </TT
3878 ></P
3879 ><A
3880 NAME="SHOW-ON-TASK-BAR"
3881 ></A
3882 ><P
3883 >  
3884  <SPAN
3885 CLASS="QUOTE"
3886 >"show-on-task-bar"</SPAN
3887 > controls whether or not
3888  <SPAN
3889 CLASS="APPLICATION"
3890 >Privoxy</SPAN
3891 > will appear as a button on the Task bar
3892  when minimized:</P
3893 ><P
3894 > <TT
3895 CLASS="LITERAL"
3896 >  <P
3897 CLASS="LITERALLAYOUT"
3898 >&nbsp;&nbsp;<SPAN
3899 CLASS="emphasis"
3900 ><I
3901 CLASS="EMPHASIS"
3902 >show-on-task-bar     0</I
3903 ></SPAN
3904 ><br>
3905 &nbsp;&nbsp;&nbsp;</P
3906
3907  </TT
3908 ></P
3909 ><A
3910 NAME="CLOSE-BUTTON-MINIMIZES"
3911 ></A
3912 ><P
3913 > If <SPAN
3914 CLASS="QUOTE"
3915 >"close-button-minimizes"</SPAN
3916 > is set to 1, the Windows close
3917  button will minimize <SPAN
3918 CLASS="APPLICATION"
3919 >Privoxy</SPAN
3920 > instead of closing
3921  the program (close with the exit option on the File menu).</P
3922 ><P
3923 > <TT
3924 CLASS="LITERAL"
3925 >  <P
3926 CLASS="LITERALLAYOUT"
3927 >&nbsp;&nbsp;<SPAN
3928 CLASS="emphasis"
3929 ><I
3930 CLASS="EMPHASIS"
3931 >close-button-minimizes  1</I
3932 ></SPAN
3933 ><br>
3934 &nbsp;&nbsp;&nbsp;</P
3935
3936  </TT
3937 ></P
3938 ><A
3939 NAME="HIDE-CONSOLE"
3940 ></A
3941 ><P
3942 > The <SPAN
3943 CLASS="QUOTE"
3944 >"hide-console"</SPAN
3945 > option is specific to the MS-Win console
3946  version of <SPAN
3947 CLASS="APPLICATION"
3948 >Privoxy</SPAN
3949 >. If this option is used,
3950  <SPAN
3951 CLASS="APPLICATION"
3952 >Privoxy</SPAN
3953 > will disconnect from and hide the
3954  command console.</P
3955 ><P
3956 > <TT
3957 CLASS="LITERAL"
3958 >  <P
3959 CLASS="LITERALLAYOUT"
3960 >&nbsp;&nbsp;#<SPAN
3961 CLASS="emphasis"
3962 ><I
3963 CLASS="EMPHASIS"
3964 >hide-console</I
3965 ></SPAN
3966 ><br>
3967 &nbsp;&nbsp;&nbsp;</P
3968
3969  </TT
3970 ></P
3971 ></DIV
3972 ></DIV
3973 ><DIV
3974 CLASS="NAVFOOTER"
3975 ><HR
3976 ALIGN="LEFT"
3977 WIDTH="100%"><TABLE
3978 SUMMARY="Footer navigation table"
3979 WIDTH="100%"
3980 BORDER="0"
3981 CELLPADDING="0"
3982 CELLSPACING="0"
3983 ><TR
3984 ><TD
3985 WIDTH="33%"
3986 ALIGN="left"
3987 VALIGN="top"
3988 ><A
3989 HREF="configuration.html"
3990 ACCESSKEY="P"
3991 >Prev</A
3992 ></TD
3993 ><TD
3994 WIDTH="34%"
3995 ALIGN="center"
3996 VALIGN="top"
3997 ><A
3998 HREF="index.html"
3999 ACCESSKEY="H"
4000 >Home</A
4001 ></TD
4002 ><TD
4003 WIDTH="33%"
4004 ALIGN="right"
4005 VALIGN="top"
4006 ><A
4007 HREF="actions-file.html"
4008 ACCESSKEY="N"
4009 >Next</A
4010 ></TD
4011 ></TR
4012 ><TR
4013 ><TD
4014 WIDTH="33%"
4015 ALIGN="left"
4016 VALIGN="top"
4017 >Privoxy Configuration</TD
4018 ><TD
4019 WIDTH="34%"
4020 ALIGN="center"
4021 VALIGN="top"
4022 >&nbsp;</TD
4023 ><TD
4024 WIDTH="33%"
4025 ALIGN="right"
4026 VALIGN="top"
4027 >Actions Files</TD
4028 ></TR
4029 ></TABLE
4030 ></DIV
4031 ></BODY
4032 ></HTML
4033 >