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