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