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