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