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