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