Just regenerating to get fresh version in place of very dated versions.
[privoxy.git] / doc / webserver / user-manual / config.html
1 <HTML
2 ><HEAD
3 ><TITLE
4 >The Main Configuration File</TITLE
5 ><META
6 NAME="GENERATOR"
7 CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
8 "><LINK
9 REL="HOME"
10 TITLE="Privoxy 3.1.1 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"></HEAD
21 ><BODY
22 CLASS="SECT1"
23 BGCOLOR="#EEEEEE"
24 TEXT="#000000"
25 LINK="#0000FF"
26 VLINK="#840084"
27 ALINK="#0000FF"
28 ><DIV
29 CLASS="NAVHEADER"
30 ><TABLE
31 SUMMARY="Header navigation table"
32 WIDTH="100%"
33 BORDER="0"
34 CELLPADDING="0"
35 CELLSPACING="0"
36 ><TR
37 ><TH
38 COLSPAN="3"
39 ALIGN="center"
40 >Privoxy 3.1.1 User Manual</TH
41 ></TR
42 ><TR
43 ><TD
44 WIDTH="10%"
45 ALIGN="left"
46 VALIGN="bottom"
47 ><A
48 HREF="configuration.html"
49 ACCESSKEY="P"
50 >Prev</A
51 ></TD
52 ><TD
53 WIDTH="80%"
54 ALIGN="center"
55 VALIGN="bottom"
56 ></TD
57 ><TD
58 WIDTH="10%"
59 ALIGN="right"
60 VALIGN="bottom"
61 ><A
62 HREF="actions-file.html"
63 ACCESSKEY="N"
64 >Next</A
65 ></TD
66 ></TR
67 ></TABLE
68 ><HR
69 ALIGN="LEFT"
70 WIDTH="100%"></DIV
71 ><DIV
72 CLASS="SECT1"
73 ><H1
74 CLASS="SECT1"
75 ><A
76 NAME="CONFIG">7. The Main Configuration File</H1
77 ><P
78 > Again, the main configuration file is named <TT
79 CLASS="FILENAME"
80 >config</TT
81 > on
82  Linux/Unix/BSD and OS/2, and <TT
83 CLASS="FILENAME"
84 >config.txt</TT
85 > on Windows.
86  Configuration lines consist of an initial keyword followed by a list of
87  values, all separated by whitespace (any number of spaces or tabs). For
88  example:</P
89 ><P
90 > <TT
91 CLASS="LITERAL"
92 >  <P
93 CLASS="LITERALLAYOUT"
94 >&nbsp;&nbsp;<SPAN
95 CLASS="emphasis"
96 ><I
97 CLASS="EMPHASIS"
98 >confdir /etc/privoxy</I
99 ></SPAN
100 ></P
101 >
102  </TT
103 > </P
104 ><P
105 > Assigns the value <TT
106 CLASS="LITERAL"
107 >/etc/privoxy</TT
108 > to the option
109  <TT
110 CLASS="LITERAL"
111 >confdir</TT
112 > and thus indicates that the configuration
113  directory is named <SPAN
114 CLASS="QUOTE"
115 >"/etc/privoxy/"</SPAN
116 >.</P
117 ><P
118 > All options in the config file except for <TT
119 CLASS="LITERAL"
120 >confdir</TT
121 > and
122  <TT
123 CLASS="LITERAL"
124 >logdir</TT
125 > are optional. Watch out in the below description
126  for what happens if you leave them unset.</P
127 ><P
128 > The main config file controls all aspects of <SPAN
129 CLASS="APPLICATION"
130 >Privoxy</SPAN
131 >'s
132  operation that are not location dependent (i.e. they apply universally, no matter
133  where you may be surfing).</P
134 ><DIV
135 CLASS="SECT2"
136 ><H2
137 CLASS="SECT2"
138 ><A
139 NAME="CONF-LOG-LOC">7.1. Configuration and Log File Locations</H2
140 ><P
141 > <SPAN
142 CLASS="APPLICATION"
143 >Privoxy</SPAN
144 > can (and normally does) use a number of
145  other files for additional configuration, help and logging.
146  This section of the configuration file tells <SPAN
147 CLASS="APPLICATION"
148 >Privoxy</SPAN
149 >
150  where to find those other files. </P
151 ><P
152 > The user running <SPAN
153 CLASS="APPLICATION"
154 >Privoxy</SPAN
155 >, must have read
156  permission for all configuration files, and write permission to any files
157  that would be modified, such as log files and actions files.</P
158 ><DIV
159 CLASS="SECT3"
160 ><H4
161 CLASS="SECT3"
162 ><A
163 NAME="CONFDIR">7.1.1. confdir</H4
164 ><P
165 ></P
166 ><DIV
167 CLASS="VARIABLELIST"
168 ><DL
169 ><DT
170 >Specifies:</DT
171 ><DD
172 ><P
173 >The directory where the other configuration files are located</P
174 ></DD
175 ><DT
176 >Type of value:</DT
177 ><DD
178 ><P
179 >Path name</P
180 ></DD
181 ><DT
182 >Default value:</DT
183 ><DD
184 ><P
185 >/etc/privoxy (Unix) <SPAN
186 CLASS="emphasis"
187 ><I
188 CLASS="EMPHASIS"
189 >or</I
190 ></SPAN
191 > <SPAN
192 CLASS="APPLICATION"
193 >Privoxy</SPAN
194 > installation dir (Windows) </P
195 ></DD
196 ><DT
197 >Effect if unset:</DT
198 ><DD
199 ><P
200 ><SPAN
201 CLASS="emphasis"
202 ><I
203 CLASS="EMPHASIS"
204 >Mandatory</I
205 ></SPAN
206 ></P
207 ></DD
208 ><DT
209 >Notes:</DT
210 ><DD
211 ><P
212 >    No trailing <SPAN
213 CLASS="QUOTE"
214 >"<TT
215 CLASS="LITERAL"
216 >/</TT
217 >"</SPAN
218 >, please
219    </P
220 ><P
221 >    When development goes modular and multi-user, the blocker, filter, and
222     per-user config will be stored in subdirectories of <SPAN
223 CLASS="QUOTE"
224 >"confdir"</SPAN
225 >.
226     For now, the configuration directory structure is flat, except for 
227     <TT
228 CLASS="FILENAME"
229 >confdir/templates</TT
230 >, where the HTML templates for CGI 
231     output reside (e.g. <SPAN
232 CLASS="APPLICATION"
233 >Privoxy's</SPAN
234 > 404 error page). 
235    </P
236 ></DD
237 ></DL
238 ></DIV
239 ></DIV
240 ><DIV
241 CLASS="SECT3"
242 ><H4
243 CLASS="SECT3"
244 ><A
245 NAME="LOGDIR">7.1.2. logdir</H4
246 ><P
247 ></P
248 ><DIV
249 CLASS="VARIABLELIST"
250 ><DL
251 ><DT
252 >Specifies:</DT
253 ><DD
254 ><P
255 >    The directory where all logging takes place (i.e. where <TT
256 CLASS="FILENAME"
257 >logfile</TT
258 > and 
259     <TT
260 CLASS="FILENAME"
261 >jarfile</TT
262 > are located) 
263    </P
264 ></DD
265 ><DT
266 >Type of value:</DT
267 ><DD
268 ><P
269 >Path name</P
270 ></DD
271 ><DT
272 >Default value:</DT
273 ><DD
274 ><P
275 >/var/log/privoxy (Unix) <SPAN
276 CLASS="emphasis"
277 ><I
278 CLASS="EMPHASIS"
279 >or</I
280 ></SPAN
281 > <SPAN
282 CLASS="APPLICATION"
283 >Privoxy</SPAN
284 > installation dir (Windows) </P
285 ></DD
286 ><DT
287 >Effect if unset:</DT
288 ><DD
289 ><P
290 ><SPAN
291 CLASS="emphasis"
292 ><I
293 CLASS="EMPHASIS"
294 >Mandatory</I
295 ></SPAN
296 ></P
297 ></DD
298 ><DT
299 >Notes:</DT
300 ><DD
301 ><P
302 >    No trailing <SPAN
303 CLASS="QUOTE"
304 >"<TT
305 CLASS="LITERAL"
306 >/</TT
307 >"</SPAN
308 >, please
309    </P
310 ></DD
311 ></DL
312 ></DIV
313 ></DIV
314 ><DIV
315 CLASS="SECT3"
316 ><H4
317 CLASS="SECT3"
318 ><A
319 NAME="ACTIONSFILE">7.1.3. actionsfile</H4
320 ><A
321 NAME="DEFAULT.ACTION"
322 ></A
323 ><A
324 NAME="STANDARD.ACTION"
325 ></A
326 ><A
327 NAME="USER.ACTION"
328 ></A
329 ><P
330 ></P
331 ><DIV
332 CLASS="VARIABLELIST"
333 ><DL
334 ><DT
335 >Specifies:</DT
336 ><DD
337 ><P
338 >    The <A
339 HREF="actions-file.html"
340 >actions file(s)</A
341 > to use
342    </P
343 ></DD
344 ><DT
345 >Type of value:</DT
346 ><DD
347 ><P
348 >File name, relative to <TT
349 CLASS="LITERAL"
350 >confdir</TT
351 >, without the <TT
352 CLASS="LITERAL"
353 >.action</TT
354 > suffix</P
355 ></DD
356 ><DT
357 >Default values:</DT
358 ><DD
359 ><P
360 ></P
361 ><TABLE
362 BORDER="0"
363 ><TBODY
364 ><TR
365 ><TD
366 >     <P
367 CLASS="LITERALLAYOUT"
368 >&nbsp;&nbsp;standard&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;Internal&nbsp;purposes,&nbsp;no&nbsp;editing&nbsp;recommended</P
369 >
370     </TD
371 ></TR
372 ><TR
373 ><TD
374 >     <P
375 CLASS="LITERALLAYOUT"
376 >&nbsp;&nbsp;default&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;Main&nbsp;actions&nbsp;file</P
377 >
378     </TD
379 ></TR
380 ><TR
381 ><TD
382 >     <P
383 CLASS="LITERALLAYOUT"
384 >&nbsp;&nbsp;user&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;User&nbsp;customizations</P
385 >
386     </TD
387 ></TR
388 ></TBODY
389 ></TABLE
390 ><P
391 ></P
392 ></DD
393 ><DT
394 >Effect if unset:</DT
395 ><DD
396 ><P
397 >    No actions are taken at all. Simple neutral proxying. 
398    </P
399 ></DD
400 ><DT
401 >Notes:</DT
402 ><DD
403 ><P
404 >    Multiple <TT
405 CLASS="LITERAL"
406 >actionsfile</TT
407 > lines are permitted, and are in fact recommended!
408    </P
409 ><P
410
411     The default values include standard.action, which is used for internal
412     purposes and should be loaded, default.action, which is the
413     <SPAN
414 CLASS="QUOTE"
415 >"main"</SPAN
416 > actions file maintained by the developers, and
417     <TT
418 CLASS="FILENAME"
419 >user.action</TT
420 >, where you can make your personal additions.
421    </P
422 ><P
423
424     Actions files are where all the per site and per URL configuration is done for 
425     ad blocking, cookie management, privacy considerations, etc.
426     There is no point in using <SPAN
427 CLASS="APPLICATION"
428 >Privoxy</SPAN
429 > without at 
430     least one actions file.
431    </P
432 ></DD
433 ></DL
434 ></DIV
435 ></DIV
436 ><DIV
437 CLASS="SECT3"
438 ><H4
439 CLASS="SECT3"
440 ><A
441 NAME="FILTERFILE">7.1.4. filterfile</H4
442 ><A
443 NAME="DEFAULT.FILTER"
444 ></A
445 ><P
446 ></P
447 ><DIV
448 CLASS="VARIABLELIST"
449 ><DL
450 ><DT
451 >Specifies:</DT
452 ><DD
453 ><P
454 >    The <A
455 HREF="filter-file.html"
456 >filter file</A
457 > to use
458    </P
459 ></DD
460 ><DT
461 >Type of value:</DT
462 ><DD
463 ><P
464 >File name, relative to <TT
465 CLASS="LITERAL"
466 >confdir</TT
467 ></P
468 ></DD
469 ><DT
470 >Default value:</DT
471 ><DD
472 ><P
473 >default.filter (Unix) <SPAN
474 CLASS="emphasis"
475 ><I
476 CLASS="EMPHASIS"
477 >or</I
478 ></SPAN
479 > default.filter.txt (Windows)</P
480 ></DD
481 ><DT
482 >Effect if unset:</DT
483 ><DD
484 ><P
485 >    No textual content filtering takes place, i.e. all
486     <TT
487 CLASS="LITERAL"
488 >+<A
489 HREF="actions-file.html#FILTER"
490 >filter</A
491 >{<TT
492 CLASS="REPLACEABLE"
493 ><I
494 >name</I
495 ></TT
496 >}</TT
497 >
498     actions in the actions files are turned neutral.
499    </P
500 ></DD
501 ><DT
502 >Notes:</DT
503 ><DD
504 ><P
505 >    The <A
506 HREF="filter-file.html"
507 >filter file</A
508 > contains content modification
509     rules that use <A
510 HREF="appendix.html#REGEX"
511 >regular expressions</A
512 >. These rules permit
513     powerful changes on the content of Web pages, e.g., you could disable your favorite
514     JavaScript annoyances, re-write the actual displayed text, or just have some
515     fun replacing <SPAN
516 CLASS="QUOTE"
517 >"Microsoft"</SPAN
518 > with <SPAN
519 CLASS="QUOTE"
520 >"MicroSuck"</SPAN
521 > wherever
522     it appears on a Web page.
523    </P
524 ><P
525 >    The
526     <TT
527 CLASS="LITERAL"
528 >+<A
529 HREF="actions-file.html#FILTER"
530 >filter</A
531 >{<TT
532 CLASS="REPLACEABLE"
533 ><I
534 >name</I
535 ></TT
536 >}</TT
537 >
538     actions rely on the relevant filter (<TT
539 CLASS="REPLACEABLE"
540 ><I
541 >name</I
542 ></TT
543 >)
544     to be defined in the filter file!
545    </P
546 ><P
547 >    A pre-defined filter file called <TT
548 CLASS="FILENAME"
549 >default.filter</TT
550 > that contains
551     a bunch of handy filters for common problems is included in the distribution.
552     See the section on the <TT
553 CLASS="LITERAL"
554 ><A
555 HREF="actions-file.html#FILTER"
556 >filter</A
557 ></TT
558 >
559     action for a list.
560    </P
561 ></DD
562 ></DL
563 ></DIV
564 ></DIV
565 ><DIV
566 CLASS="SECT3"
567 ><H4
568 CLASS="SECT3"
569 ><A
570 NAME="LOGFILE">7.1.5. logfile</H4
571 ><P
572 ></P
573 ><DIV
574 CLASS="VARIABLELIST"
575 ><DL
576 ><DT
577 >Specifies:</DT
578 ><DD
579 ><P
580 >    The log file to use
581    </P
582 ></DD
583 ><DT
584 >Type of value:</DT
585 ><DD
586 ><P
587 >File name, relative to <TT
588 CLASS="LITERAL"
589 >logdir</TT
590 ></P
591 ></DD
592 ><DT
593 >Default value:</DT
594 ><DD
595 ><P
596 >logfile (Unix) <SPAN
597 CLASS="emphasis"
598 ><I
599 CLASS="EMPHASIS"
600 >or</I
601 ></SPAN
602 > privoxy.log (Windows)</P
603 ></DD
604 ><DT
605 >Effect if unset:</DT
606 ><DD
607 ><P
608 >    No log file is used, all log messages go to the console (<TT
609 CLASS="LITERAL"
610 >STDERR</TT
611 >).
612    </P
613 ></DD
614 ><DT
615 >Notes:</DT
616 ><DD
617 ><P
618 >    The windows version will additionally log to the console.
619    </P
620 ><P
621 >    The logfile is where all logging and error messages are written. The level
622     of detail and number of messages are set with the <TT
623 CLASS="LITERAL"
624 >debug</TT
625 >
626     option (see below). The logfile can be useful for tracking down a problem with
627     <SPAN
628 CLASS="APPLICATION"
629 >Privoxy</SPAN
630 > (e.g., it's not blocking an ad you
631     think it should block) but in most cases you probably will never look at it.
632    </P
633 ><P
634 >    Your logfile will grow indefinitely, and you will probably want to
635     periodically remove it.  On Unix systems, you can do this with a cron job
636     (see <SPAN
637 CLASS="QUOTE"
638 >"man cron"</SPAN
639 >). For Red Hat, a <B
640 CLASS="COMMAND"
641 >logrotate</B
642
643     script has been included.
644    </P
645 ><P
646 >    On SuSE Linux systems, you can place a line like <SPAN
647 CLASS="QUOTE"
648 >"/var/log/privoxy.*
649     +1024k 644 nobody.nogroup"</SPAN
650 > in <TT
651 CLASS="FILENAME"
652 >/etc/logfiles</TT
653 >, with
654     the effect that cron.daily will automatically archive, gzip, and empty the
655     log, when it exceeds 1M size.
656    </P
657 ><P
658 >    Any log files must be writable by whatever user <SPAN
659 CLASS="APPLICATION"
660 >Privoxy</SPAN
661 >
662     is being run as (default on UNIX, user id is <SPAN
663 CLASS="QUOTE"
664 >"privoxy"</SPAN
665 >).
666    </P
667 ></DD
668 ></DL
669 ></DIV
670 ></DIV
671 ><DIV
672 CLASS="SECT3"
673 ><H4
674 CLASS="SECT3"
675 ><A
676 NAME="JARFILE">7.1.6. jarfile</H4
677 ><P
678 ></P
679 ><DIV
680 CLASS="VARIABLELIST"
681 ><DL
682 ><DT
683 >Specifies:</DT
684 ><DD
685 ><P
686 >    The file to store intercepted cookies in
687    </P
688 ></DD
689 ><DT
690 >Type of value:</DT
691 ><DD
692 ><P
693 >File name, relative to <TT
694 CLASS="LITERAL"
695 >logdir</TT
696 ></P
697 ></DD
698 ><DT
699 >Default value:</DT
700 ><DD
701 ><P
702 >jarfile (Unix) <SPAN
703 CLASS="emphasis"
704 ><I
705 CLASS="EMPHASIS"
706 >or</I
707 ></SPAN
708 > privoxy.jar (Windows)</P
709 ></DD
710 ><DT
711 >Effect if unset:</DT
712 ><DD
713 ><P
714 >    Intercepted cookies are not stored at all.
715    </P
716 ></DD
717 ><DT
718 >Notes:</DT
719 ><DD
720 ><P
721 >    The jarfile may grow to ridiculous sizes over time.
722    </P
723 ></DD
724 ></DL
725 ></DIV
726 ></DIV
727 ><DIV
728 CLASS="SECT3"
729 ><H4
730 CLASS="SECT3"
731 ><A
732 NAME="TRUSTFILE">7.1.7. trustfile</H4
733 ><P
734 ></P
735 ><DIV
736 CLASS="VARIABLELIST"
737 ><DL
738 ><DT
739 >Specifies:</DT
740 ><DD
741 ><P
742 >    The trust file to use
743    </P
744 ></DD
745 ><DT
746 >Type of value:</DT
747 ><DD
748 ><P
749 >File name, relative to <TT
750 CLASS="LITERAL"
751 >confdir</TT
752 ></P
753 ></DD
754 ><DT
755 >Default value:</DT
756 ><DD
757 ><P
758 ><SPAN
759 CLASS="emphasis"
760 ><I
761 CLASS="EMPHASIS"
762 >Unset (commented out)</I
763 ></SPAN
764 >. When activated: trust (Unix) <SPAN
765 CLASS="emphasis"
766 ><I
767 CLASS="EMPHASIS"
768 >or</I
769 ></SPAN
770 > trust.txt (Windows)</P
771 ></DD
772 ><DT
773 >Effect if unset:</DT
774 ><DD
775 ><P
776 >    The whole trust mechanism is turned off.
777    </P
778 ></DD
779 ><DT
780 >Notes:</DT
781 ><DD
782 ><P
783 >    The trust mechanism is an experimental feature for building white-lists and should
784     be used with care. It is <SPAN
785 CLASS="emphasis"
786 ><I
787 CLASS="EMPHASIS"
788 >NOT</I
789 ></SPAN
790 > recommended for the casual user.
791    </P
792 ><P
793 >    If you specify a trust file, <SPAN
794 CLASS="APPLICATION"
795 >Privoxy</SPAN
796 > will only allow
797     access to sites that are named in the trustfile. 
798     You can also mark sites as trusted referrers (with <TT
799 CLASS="LITERAL"
800 >+</TT
801 >), with
802     the effect that access to untrusted sites will be granted, if a link from a
803     trusted referrer was used.
804     The link target will then be added to the <SPAN
805 CLASS="QUOTE"
806 >"trustfile"</SPAN
807 >.
808     Possible applications include limiting Internet access for children.
809    </P
810 ><P
811 >    If you use <TT
812 CLASS="LITERAL"
813 >+</TT
814 > operator in the trust file, it may grow considerably over time.
815    </P
816 ></DD
817 ></DL
818 ></DIV
819 ></DIV
820 ></DIV
821 ><DIV
822 CLASS="SECT2"
823 ><H2
824 CLASS="SECT2"
825 ><A
826 NAME="LOCAL-SET-UP">7.2. Local Set-up Documentation</H2
827 ><P
828 >    If you intend to operate <SPAN
829 CLASS="APPLICATION"
830 >Privoxy</SPAN
831 > for more users
832     than just yourself, it might be a good idea to let them know how to reach
833     you, what you block and why you do that, your policies, etc.
834    </P
835 ><DIV
836 CLASS="SECT3"
837 ><H4
838 CLASS="SECT3"
839 ><A
840 NAME="USER-MANUAL">7.2.1. user-manual</H4
841 ><P
842 ></P
843 ><DIV
844 CLASS="VARIABLELIST"
845 ><DL
846 ><DT
847 >Specifies:</DT
848 ><DD
849 ><P
850 >    Location of the <SPAN
851 CLASS="APPLICATION"
852 >Privoxy</SPAN
853 > User Manual.
854    </P
855 ></DD
856 ><DT
857 >Type of value:</DT
858 ><DD
859 ><P
860 >A fully qualified URI</P
861 ></DD
862 ><DT
863 >Default value:</DT
864 ><DD
865 ><P
866 ><SPAN
867 CLASS="emphasis"
868 ><I
869 CLASS="EMPHASIS"
870 >Unset</I
871 ></SPAN
872 ></P
873 ></DD
874 ><DT
875 >Effect if unset:</DT
876 ><DD
877 ><P
878 >    <A
879 HREF="http://www.privoxy.org/user-manual/"
880 TARGET="_top"
881 >http://www.privoxy.org/<TT
882 CLASS="REPLACEABLE"
883 ><I
884 >version</I
885 ></TT
886 >/user-manual/</A
887 >
888     will be used, where <TT
889 CLASS="REPLACEABLE"
890 ><I
891 >version</I
892 ></TT
893 > is the <SPAN
894 CLASS="APPLICATION"
895 >Privoxy</SPAN
896 > version.
897    </P
898 ></DD
899 ><DT
900 >Notes:</DT
901 ><DD
902 ><P
903 >    The User Manual URI is used for help links from some of the internal CGI pages. 
904     The manual itself is normally packaged with the binary distributions, so you probably want
905     to set this to a locally installed copy. For multi-user setups, you could provide a copy on
906     a local webserver for all your users and use the corresponding URL here.
907    </P
908 ><P
909 >    Examples:
910    </P
911 ><P
912 >   Unix, in local filesystem:
913   </P
914 ><P
915 >   <TABLE
916 BORDER="0"
917 BGCOLOR="#E0E0E0"
918 WIDTH="90%"
919 ><TR
920 ><TD
921 ><PRE
922 CLASS="SCREEN"
923 >user-manual  file:///usr/share/doc/privoxy-3.1.1/user-manual/</PRE
924 ></TD
925 ></TR
926 ></TABLE
927 >
928   </P
929 ><P
930 >   Any platform, on local webserver (called <SPAN
931 CLASS="QUOTE"
932 >"local-webserver"</SPAN
933 >):
934   </P
935 ><P
936 >   <TABLE
937 BORDER="0"
938 BGCOLOR="#E0E0E0"
939 WIDTH="90%"
940 ><TR
941 ><TD
942 ><PRE
943 CLASS="SCREEN"
944 >user-manual  http://local-webserver/privoxy-user-manual/</PRE
945 ></TD
946 ></TR
947 ></TABLE
948 >
949   </P
950 ><DIV
951 CLASS="WARNING"
952 ><P
953 ></P
954 ><TABLE
955 CLASS="WARNING"
956 BORDER="1"
957 WIDTH="90%"
958 ><TR
959 ><TD
960 ALIGN="CENTER"
961 ><B
962 >Warning</B
963 ></TD
964 ></TR
965 ><TR
966 ><TD
967 ALIGN="LEFT"
968 ><P
969 >     If set, this option should be <SPAN
970 CLASS="emphasis"
971 ><I
972 CLASS="EMPHASIS"
973 >the first option in the config
974      file</I
975 ></SPAN
976 >, because it is used while the config file is being read.
977    </P
978 ></TD
979 ></TR
980 ></TABLE
981 ></DIV
982 ></DD
983 ></DL
984 ></DIV
985 ></DIV
986 ><DIV
987 CLASS="SECT3"
988 ><H4
989 CLASS="SECT3"
990 ><A
991 NAME="TRUST-INFO-URL">7.2.2. trust-info-url</H4
992 ><P
993 ></P
994 ><DIV
995 CLASS="VARIABLELIST"
996 ><DL
997 ><DT
998 >Specifies:</DT
999 ><DD
1000 ><P
1001 >    A URL to be displayed in the error page that users will see if access to an untrusted page is denied.    
1002    </P
1003 ></DD
1004 ><DT
1005 >Type of value:</DT
1006 ><DD
1007 ><P
1008 >URL</P
1009 ></DD
1010 ><DT
1011 >Default value:</DT
1012 ><DD
1013 ><P
1014 >Two example URL are provided</P
1015 ></DD
1016 ><DT
1017 >Effect if unset:</DT
1018 ><DD
1019 ><P
1020 >    No links are displayed on the "untrusted" error page.
1021    </P
1022 ></DD
1023 ><DT
1024 >Notes:</DT
1025 ><DD
1026 ><P
1027 >    The value of this option only matters if the experimental trust mechanism has been
1028     activated. (See <A
1029 HREF="config.html#TRUSTFILE"
1030 ><SPAN
1031 CLASS="emphasis"
1032 ><I
1033 CLASS="EMPHASIS"
1034 >trustfile</I
1035 ></SPAN
1036 ></A
1037 > above.)
1038    </P
1039 ><P
1040 >    If you use the trust mechanism, it is a good idea to write up some on-line
1041     documentation about your trust policy and to specify the URL(s) here.
1042     Use multiple times for multiple URLs.
1043    </P
1044 ><P
1045 >    The URL(s) should be added to the trustfile as well, so users don't end up
1046     locked out from the information on why they were locked out in the first place!
1047    </P
1048 ></DD
1049 ></DL
1050 ></DIV
1051 ></DIV
1052 ><DIV
1053 CLASS="SECT3"
1054 ><H4
1055 CLASS="SECT3"
1056 ><A
1057 NAME="ADMIN-ADDRESS">7.2.3. admin-address</H4
1058 ><P
1059 ></P
1060 ><DIV
1061 CLASS="VARIABLELIST"
1062 ><DL
1063 ><DT
1064 >Specifies:</DT
1065 ><DD
1066 ><P
1067 >    An email address to reach the proxy administrator.
1068    </P
1069 ></DD
1070 ><DT
1071 >Type of value:</DT
1072 ><DD
1073 ><P
1074 >Email address</P
1075 ></DD
1076 ><DT
1077 >Default value:</DT
1078 ><DD
1079 ><P
1080 ><SPAN
1081 CLASS="emphasis"
1082 ><I
1083 CLASS="EMPHASIS"
1084 >Unset</I
1085 ></SPAN
1086 ></P
1087 ></DD
1088 ><DT
1089 >Effect if unset:</DT
1090 ><DD
1091 ><P
1092 >    No email address is displayed on error pages and the CGI user interface.
1093    </P
1094 ></DD
1095 ><DT
1096 >Notes:</DT
1097 ><DD
1098 ><P
1099 >    If both <TT
1100 CLASS="LITERAL"
1101 >admin-address</TT
1102 > and <TT
1103 CLASS="LITERAL"
1104 >proxy-info-url</TT
1105 >
1106     are unset, the whole "Local Privoxy Support" box on all generated pages will
1107     not be shown.
1108    </P
1109 ></DD
1110 ></DL
1111 ></DIV
1112 ></DIV
1113 ><DIV
1114 CLASS="SECT3"
1115 ><H4
1116 CLASS="SECT3"
1117 ><A
1118 NAME="PROXY-INFO-URL">7.2.4. proxy-info-url</H4
1119 ><P
1120 ></P
1121 ><DIV
1122 CLASS="VARIABLELIST"
1123 ><DL
1124 ><DT
1125 >Specifies:</DT
1126 ><DD
1127 ><P
1128 >    A URL to documentation about the local <SPAN
1129 CLASS="APPLICATION"
1130 >Privoxy</SPAN
1131 > setup,
1132     configuration or policies.
1133    </P
1134 ></DD
1135 ><DT
1136 >Type of value:</DT
1137 ><DD
1138 ><P
1139 >URL</P
1140 ></DD
1141 ><DT
1142 >Default value:</DT
1143 ><DD
1144 ><P
1145 ><SPAN
1146 CLASS="emphasis"
1147 ><I
1148 CLASS="EMPHASIS"
1149 >Unset</I
1150 ></SPAN
1151 ></P
1152 ></DD
1153 ><DT
1154 >Effect if unset:</DT
1155 ><DD
1156 ><P
1157 >    No link to local documentation is displayed on error pages and the CGI user interface.
1158    </P
1159 ></DD
1160 ><DT
1161 >Notes:</DT
1162 ><DD
1163 ><P
1164 >    If both <TT
1165 CLASS="LITERAL"
1166 >admin-address</TT
1167 > and <TT
1168 CLASS="LITERAL"
1169 >proxy-info-url</TT
1170 >
1171     are unset, the whole "Local Privoxy Support" box on all generated pages will
1172     not be shown.
1173    </P
1174 ><P
1175 >    This URL shouldn't be blocked ;-)
1176    </P
1177 ></DD
1178 ></DL
1179 ></DIV
1180 ></DIV
1181 ></DIV
1182 ><DIV
1183 CLASS="SECT2"
1184 ><H2
1185 CLASS="SECT2"
1186 ><A
1187 NAME="DEBUGGING">7.3. Debugging</H2
1188 ><P
1189 >  These options are mainly useful when tracing a problem.
1190   Note that you might also want to invoke
1191   <SPAN
1192 CLASS="APPLICATION"
1193 >Privoxy</SPAN
1194 > with the <TT
1195 CLASS="LITERAL"
1196 >--no-daemon</TT
1197 >
1198   command line option when debugging.
1199  </P
1200 ><DIV
1201 CLASS="SECT3"
1202 ><H4
1203 CLASS="SECT3"
1204 ><A
1205 NAME="DEBUG">7.3.1. debug</H4
1206 ><P
1207 ></P
1208 ><DIV
1209 CLASS="VARIABLELIST"
1210 ><DL
1211 ><DT
1212 >Specifies:</DT
1213 ><DD
1214 ><P
1215 >    Key values that determine what information gets logged to the 
1216     <A
1217 HREF="config.html#LOGFILE"
1218 ><SPAN
1219 CLASS="emphasis"
1220 ><I
1221 CLASS="EMPHASIS"
1222 >logfile</I
1223 ></SPAN
1224 ></A
1225 >.
1226    </P
1227 ></DD
1228 ><DT
1229 >Type of value:</DT
1230 ><DD
1231 ><P
1232 >Integer values</P
1233 ></DD
1234 ><DT
1235 >Default value:</DT
1236 ><DD
1237 ><P
1238 >12289 (i.e.: URLs plus informational and warning messages)</P
1239 ></DD
1240 ><DT
1241 >Effect if unset:</DT
1242 ><DD
1243 ><P
1244 >    Nothing gets logged.
1245    </P
1246 ></DD
1247 ><DT
1248 >Notes:</DT
1249 ><DD
1250 ><P
1251 >    The available debug levels are:
1252    </P
1253 ><P
1254 >    <TABLE
1255 BORDER="0"
1256 BGCOLOR="#E0E0E0"
1257 WIDTH="90%"
1258 ><TR
1259 ><TD
1260 ><PRE
1261 CLASS="PROGRAMLISTING"
1262 >  debug         1 # show each GET/POST/CONNECT request
1263   debug         2 # show each connection status
1264   debug         4 # show I/O status
1265   debug         8 # show header parsing
1266   debug        16 # log all data into the logfile
1267   debug        32 # debug force feature
1268   debug        64 # debug regular expression filter
1269   debug       128 # debug fast redirects
1270   debug       256 # debug GIF de-animation
1271   debug       512 # Common Log Format
1272   debug      1024 # debug kill pop-ups
1273   debug      2048 # CGI user interface
1274   debug      4096 # Startup banner and warnings.
1275   debug      8192 # Non-fatal errors</PRE
1276 ></TD
1277 ></TR
1278 ></TABLE
1279 >
1280    </P
1281 ><P
1282 >    To select multiple debug levels, you can either add them or use
1283     multiple <TT
1284 CLASS="LITERAL"
1285 >debug</TT
1286 > lines.
1287    </P
1288 ><P
1289 >    A debug level of 1 is informative because it will show you each request
1290     as it happens. <SPAN
1291 CLASS="emphasis"
1292 ><I
1293 CLASS="EMPHASIS"
1294 >1, 4096 and 8192 are highly recommended</I
1295 ></SPAN
1296 >
1297     so that you will notice when things go wrong. The other levels are probably
1298     only of interest if you are hunting down a specific problem. They can produce
1299     a hell of an output (especially 16).
1300     
1301    </P
1302 ><P
1303 >    The reporting of <SPAN
1304 CLASS="emphasis"
1305 ><I
1306 CLASS="EMPHASIS"
1307 >fatal</I
1308 ></SPAN
1309 > errors (i.e. ones which crash 
1310     <SPAN
1311 CLASS="APPLICATION"
1312 >Privoxy</SPAN
1313 >) is always on and cannot be disabled.
1314    </P
1315 ><P
1316 >    If you want to use CLF (Common Log Format), you should set <SPAN
1317 CLASS="QUOTE"
1318 >"debug
1319     512"</SPAN
1320 > <SPAN
1321 CLASS="emphasis"
1322 ><I
1323 CLASS="EMPHASIS"
1324 >ONLY</I
1325 ></SPAN
1326 > and not enable anything else.
1327    </P
1328 ></DD
1329 ></DL
1330 ></DIV
1331 ></DIV
1332 ><DIV
1333 CLASS="SECT3"
1334 ><H4
1335 CLASS="SECT3"
1336 ><A
1337 NAME="SINGLE-THREADED">7.3.2. single-threaded</H4
1338 ><P
1339 ></P
1340 ><DIV
1341 CLASS="VARIABLELIST"
1342 ><DL
1343 ><DT
1344 >Specifies:</DT
1345 ><DD
1346 ><P
1347 >    Whether to run only one server thread
1348    </P
1349 ></DD
1350 ><DT
1351 >Type of value:</DT
1352 ><DD
1353 ><P
1354 ><SPAN
1355 CLASS="emphasis"
1356 ><I
1357 CLASS="EMPHASIS"
1358 >None</I
1359 ></SPAN
1360 ></P
1361 ></DD
1362 ><DT
1363 >Default value:</DT
1364 ><DD
1365 ><P
1366 ><SPAN
1367 CLASS="emphasis"
1368 ><I
1369 CLASS="EMPHASIS"
1370 >Unset</I
1371 ></SPAN
1372 ></P
1373 ></DD
1374 ><DT
1375 >Effect if unset:</DT
1376 ><DD
1377 ><P
1378 >    Multi-threaded (or, where unavailable: forked) operation, i.e. the ability to
1379     serve multiple requests simultaneously.
1380    </P
1381 ></DD
1382 ><DT
1383 >Notes:</DT
1384 ><DD
1385 ><P
1386 >    This option is only there for debug purposes and you should never
1387     need to use it. <SPAN
1388 CLASS="emphasis"
1389 ><I
1390 CLASS="EMPHASIS"
1391 >It will drastically reduce performance.</I
1392 ></SPAN
1393 >
1394    </P
1395 ></DD
1396 ></DL
1397 ></DIV
1398 ></DIV
1399 ></DIV
1400 ><DIV
1401 CLASS="SECT2"
1402 ><H2
1403 CLASS="SECT2"
1404 ><A
1405 NAME="ACCESS-CONTROL">7.4. Access Control and Security</H2
1406 ><P
1407 >  This section of the config file controls the security-relevant aspects
1408   of <SPAN
1409 CLASS="APPLICATION"
1410 >Privoxy</SPAN
1411 >'s configuration.
1412  </P
1413 ><DIV
1414 CLASS="SECT3"
1415 ><H4
1416 CLASS="SECT3"
1417 ><A
1418 NAME="LISTEN-ADDRESS">7.4.1. listen-address</H4
1419 ><P
1420 ></P
1421 ><DIV
1422 CLASS="VARIABLELIST"
1423 ><DL
1424 ><DT
1425 >Specifies:</DT
1426 ><DD
1427 ><P
1428 >    The IP address and TCP port on which <SPAN
1429 CLASS="APPLICATION"
1430 >Privoxy</SPAN
1431 > will
1432     listen for client requests.
1433    </P
1434 ></DD
1435 ><DT
1436 >Type of value:</DT
1437 ><DD
1438 ><P
1439 >[<TT
1440 CLASS="REPLACEABLE"
1441 ><I
1442 >IP-Address</I
1443 ></TT
1444 >]:<TT
1445 CLASS="REPLACEABLE"
1446 ><I
1447 >Port</I
1448 ></TT
1449 ></P
1450 ></DD
1451 ><DT
1452 >Default value:</DT
1453 ><DD
1454 ><P
1455 >127.0.0.1:8118</P
1456 ></DD
1457 ><DT
1458 >Effect if unset:</DT
1459 ><DD
1460 ><P
1461 >    Bind to 127.0.0.1 (localhost), port 8118. This is suitable and recommended for
1462     home users who run <SPAN
1463 CLASS="APPLICATION"
1464 >Privoxy</SPAN
1465 > on the same machine as
1466     their browser.
1467    </P
1468 ></DD
1469 ><DT
1470 >Notes:</DT
1471 ><DD
1472 ><P
1473 >    You will need to configure your browser(s) to this proxy address and port.
1474    </P
1475 ><P
1476 >    If you already have another service running on port 8118, or if you want to
1477     serve requests from other machines (e.g. on your local network) as well, you
1478     will need to override the default.
1479    </P
1480 ><P
1481 >    If you leave out the IP address, <SPAN
1482 CLASS="APPLICATION"
1483 >Privoxy</SPAN
1484 > will
1485     bind to all interfaces (addresses) on your machine and may become reachable
1486     from the Internet. In that case, consider using <A
1487 HREF="config.html#ACLS"
1488 >access control lists</A
1489 > (ACL's, see below), and/or
1490     a firewall.
1491    </P
1492 ><P
1493 >    If you open <SPAN
1494 CLASS="APPLICATION"
1495 >Privoxy</SPAN
1496 > to untrusted users, you will
1497     also want to turn off the <TT
1498 CLASS="LITERAL"
1499 ><A
1500 HREF="config.html#ENABLE-EDIT-ACTIONS"
1501 >enable-edit-actions</A
1502 ></TT
1503 > and
1504     <TT
1505 CLASS="LITERAL"
1506 ><A
1507 HREF="config.html#ENABLE-REMOTE-TOGGLE"
1508 >enable-remote-toggle</A
1509 ></TT
1510 >
1511     options!
1512    </P
1513 ></DD
1514 ><DT
1515 >Example:</DT
1516 ><DD
1517 ><P
1518 >     Suppose you are running <SPAN
1519 CLASS="APPLICATION"
1520 >Privoxy</SPAN
1521 > on
1522      a machine which has the address 192.168.0.1 on your local private network
1523      (192.168.0.0) and has another outside connection with a different address.
1524      You want it to serve requests from inside only:
1525    </P
1526 ><P
1527 >    <TABLE
1528 BORDER="0"
1529 BGCOLOR="#E0E0E0"
1530 WIDTH="90%"
1531 ><TR
1532 ><TD
1533 ><PRE
1534 CLASS="PROGRAMLISTING"
1535 >  listen-address  192.168.0.1:8118</PRE
1536 ></TD
1537 ></TR
1538 ></TABLE
1539 >
1540    </P
1541 ></DD
1542 ></DL
1543 ></DIV
1544 ></DIV
1545 ><DIV
1546 CLASS="SECT3"
1547 ><H4
1548 CLASS="SECT3"
1549 ><A
1550 NAME="TOGGLE">7.4.2. toggle</H4
1551 ><P
1552 ></P
1553 ><DIV
1554 CLASS="VARIABLELIST"
1555 ><DL
1556 ><DT
1557 >Specifies:</DT
1558 ><DD
1559 ><P
1560 >    Initial state of "toggle" status
1561    </P
1562 ></DD
1563 ><DT
1564 >Type of value:</DT
1565 ><DD
1566 ><P
1567 >1 or 0</P
1568 ></DD
1569 ><DT
1570 >Default value:</DT
1571 ><DD
1572 ><P
1573 >1</P
1574 ></DD
1575 ><DT
1576 >Effect if unset:</DT
1577 ><DD
1578 ><P
1579 >    Act as if toggled on
1580    </P
1581 ></DD
1582 ><DT
1583 >Notes:</DT
1584 ><DD
1585 ><P
1586 >    If set to 0, <SPAN
1587 CLASS="APPLICATION"
1588 >Privoxy</SPAN
1589 > will start in
1590     <SPAN
1591 CLASS="QUOTE"
1592 >"toggled off"</SPAN
1593 > mode, i.e. behave like a normal, content-neutral
1594     proxy where all ad blocking, filtering, etc are disabled. See
1595     <TT
1596 CLASS="LITERAL"
1597 >enable-remote-toggle</TT
1598 > below. This is not really useful
1599     anymore, since toggling is much easier via <A
1600 HREF="http://config.privoxy.org/toggle"
1601 TARGET="_top"
1602 >the web interface</A
1603 > than via
1604     editing the <TT
1605 CLASS="FILENAME"
1606 >conf</TT
1607 > file.
1608    </P
1609 ><P
1610 >    The windows version will only display the toggle icon in the system tray
1611     if this option is present.
1612    </P
1613 ></DD
1614 ></DL
1615 ></DIV
1616 ></DIV
1617 ><DIV
1618 CLASS="SECT3"
1619 ><H4
1620 CLASS="SECT3"
1621 ><A
1622 NAME="ENABLE-REMOTE-TOGGLE">7.4.3. enable-remote-toggle</H4
1623 ><P
1624 ></P
1625 ><DIV
1626 CLASS="VARIABLELIST"
1627 ><DL
1628 ><DT
1629 >Specifies:</DT
1630 ><DD
1631 ><P
1632 >    Whether or not the <A
1633 HREF="http://config.privoxy.org/toggle"
1634 TARGET="_top"
1635 >web-based toggle
1636     feature</A
1637 > may be used
1638    </P
1639 ></DD
1640 ><DT
1641 >Type of value:</DT
1642 ><DD
1643 ><P
1644 >0 or 1</P
1645 ></DD
1646 ><DT
1647 >Default value:</DT
1648 ><DD
1649 ><P
1650 >1</P
1651 ></DD
1652 ><DT
1653 >Effect if unset:</DT
1654 ><DD
1655 ><P
1656 >    The web-based toggle feature is disabled.
1657    </P
1658 ></DD
1659 ><DT
1660 >Notes:</DT
1661 ><DD
1662 ><P
1663 >    When toggled off, <SPAN
1664 CLASS="APPLICATION"
1665 >Privoxy</SPAN
1666 > acts like a normal,
1667     content-neutral proxy, i.e. it acts as if none of the actions applied to
1668     any URL.
1669    </P
1670 ><P
1671 >    For the time being, access to the toggle feature can <SPAN
1672 CLASS="emphasis"
1673 ><I
1674 CLASS="EMPHASIS"
1675 >not</I
1676 ></SPAN
1677 > be
1678     controlled separately by <SPAN
1679 CLASS="QUOTE"
1680 >"ACLs"</SPAN
1681 > or HTTP authentication,
1682     so that everybody who can access <SPAN
1683 CLASS="APPLICATION"
1684 >Privoxy</SPAN
1685 > (see
1686     <SPAN
1687 CLASS="QUOTE"
1688 >"ACLs"</SPAN
1689 > and <TT
1690 CLASS="LITERAL"
1691 >listen-address</TT
1692 > above) can
1693     toggle it for all users. So this option is <SPAN
1694 CLASS="emphasis"
1695 ><I
1696 CLASS="EMPHASIS"
1697 >not recommended</I
1698 ></SPAN
1699 >
1700     for multi-user environments with untrusted users.
1701    </P
1702 ><P
1703 >    Note that you must have compiled <SPAN
1704 CLASS="APPLICATION"
1705 >Privoxy</SPAN
1706 > with
1707     support for this feature, otherwise this option has no effect. 
1708    </P
1709 ></DD
1710 ></DL
1711 ></DIV
1712 ></DIV
1713 ><DIV
1714 CLASS="SECT3"
1715 ><H4
1716 CLASS="SECT3"
1717 ><A
1718 NAME="ENABLE-EDIT-ACTIONS">7.4.4. enable-edit-actions</H4
1719 ><P
1720 ></P
1721 ><DIV
1722 CLASS="VARIABLELIST"
1723 ><DL
1724 ><DT
1725 >Specifies:</DT
1726 ><DD
1727 ><P
1728 >    Whether or not the <A
1729 HREF="http://config.privoxy.org/show-status"
1730 TARGET="_top"
1731 >web-based actions
1732     file editor</A
1733 > may be used
1734    </P
1735 ></DD
1736 ><DT
1737 >Type of value:</DT
1738 ><DD
1739 ><P
1740 >0 or 1</P
1741 ></DD
1742 ><DT
1743 >Default value:</DT
1744 ><DD
1745 ><P
1746 >1</P
1747 ></DD
1748 ><DT
1749 >Effect if unset:</DT
1750 ><DD
1751 ><P
1752 >    The web-based actions file editor is disabled.
1753    </P
1754 ></DD
1755 ><DT
1756 >Notes:</DT
1757 ><DD
1758 ><P
1759 >    For the time being, access to the editor can <SPAN
1760 CLASS="emphasis"
1761 ><I
1762 CLASS="EMPHASIS"
1763 >not</I
1764 ></SPAN
1765 > be
1766     controlled separately by <SPAN
1767 CLASS="QUOTE"
1768 >"ACLs"</SPAN
1769 > or HTTP authentication,
1770     so that everybody who can access <SPAN
1771 CLASS="APPLICATION"
1772 >Privoxy</SPAN
1773 > (see
1774     <SPAN
1775 CLASS="QUOTE"
1776 >"ACLs"</SPAN
1777 > and <TT
1778 CLASS="LITERAL"
1779 >listen-address</TT
1780 > above) can
1781     modify its configuration for all users. So this option is <SPAN
1782 CLASS="emphasis"
1783 ><I
1784 CLASS="EMPHASIS"
1785 >not
1786     recommended</I
1787 ></SPAN
1788 > for multi-user environments with untrusted users.
1789    </P
1790 ><P
1791 >    Note that you must have compiled <SPAN
1792 CLASS="APPLICATION"
1793 >Privoxy</SPAN
1794 > with
1795     support for this feature, otherwise this option has no effect. 
1796    </P
1797 ></DD
1798 ></DL
1799 ></DIV
1800 ></DIV
1801 ><DIV
1802 CLASS="SECT3"
1803 ><H4
1804 CLASS="SECT3"
1805 ><A
1806 NAME="ACLS">7.4.5. ACLs: permit-access and deny-access</H4
1807 ><A
1808 NAME="PERMIT-ACCESS"
1809 ></A
1810 ><A
1811 NAME="DENY-ACCESS"
1812 ></A
1813 ><P
1814 ></P
1815 ><DIV
1816 CLASS="VARIABLELIST"
1817 ><DL
1818 ><DT
1819 >Specifies:</DT
1820 ><DD
1821 ><P
1822 >    Who can access what.
1823    </P
1824 ></DD
1825 ><DT
1826 >Type of value:</DT
1827 ><DD
1828 ><P
1829 >    <TT
1830 CLASS="REPLACEABLE"
1831 ><I
1832 >src_addr</I
1833 ></TT
1834 >[/<TT
1835 CLASS="REPLACEABLE"
1836 ><I
1837 >src_masklen</I
1838 ></TT
1839 >]
1840     [<TT
1841 CLASS="REPLACEABLE"
1842 ><I
1843 >dst_addr</I
1844 ></TT
1845 >[/<TT
1846 CLASS="REPLACEABLE"
1847 ><I
1848 >dst_masklen</I
1849 ></TT
1850 >]]
1851    </P
1852 ><P
1853 >    Where <TT
1854 CLASS="REPLACEABLE"
1855 ><I
1856 >src_addr</I
1857 ></TT
1858 > and 
1859    <TT
1860 CLASS="REPLACEABLE"
1861 ><I
1862 >dst_addr</I
1863 ></TT
1864 > are IP addresses in dotted decimal notation or valid
1865     DNS names, and <TT
1866 CLASS="REPLACEABLE"
1867 ><I
1868 >src_masklen</I
1869 ></TT
1870 > and
1871     <TT
1872 CLASS="REPLACEABLE"
1873 ><I
1874 >dst_masklen</I
1875 ></TT
1876 > are subnet masks in CIDR notation, i.e. integer
1877     values from 2 to 30 representing the length (in bits) of the network address. The masks and the whole
1878     destination part are optional.
1879    </P
1880 ></DD
1881 ><DT
1882 >Default value:</DT
1883 ><DD
1884 ><P
1885 ><SPAN
1886 CLASS="emphasis"
1887 ><I
1888 CLASS="EMPHASIS"
1889 >Unset</I
1890 ></SPAN
1891 ></P
1892 ></DD
1893 ><DT
1894 >Effect if unset:</DT
1895 ><DD
1896 ><P
1897 >    Don't restrict access further than implied by <TT
1898 CLASS="LITERAL"
1899 >listen-address</TT
1900 >
1901    </P
1902 ></DD
1903 ><DT
1904 >Notes:</DT
1905 ><DD
1906 ><P
1907 >    Access controls are included at the request of ISPs and systems
1908     administrators, and <SPAN
1909 CLASS="emphasis"
1910 ><I
1911 CLASS="EMPHASIS"
1912 >are not usually needed by individual users</I
1913 ></SPAN
1914 >.
1915     For a typical home user, it will normally suffice to ensure that 
1916     <SPAN
1917 CLASS="APPLICATION"
1918 >Privoxy</SPAN
1919 > only listens on the localhost
1920     (127.0.0.1) or internal (home) network address by means of the
1921     <A
1922 HREF="config.html#LISTEN-ADDRESS"
1923 ><SPAN
1924 CLASS="emphasis"
1925 ><I
1926 CLASS="EMPHASIS"
1927 >listen-address</I
1928 ></SPAN
1929 ></A
1930 >
1931     option. 
1932    </P
1933 ><P
1934 >    Please see the warnings in the FAQ that this proxy is not intended to be a substitute
1935     for a firewall or to encourage anyone to defer addressing basic security
1936     weaknesses.
1937    </P
1938 ><P
1939 >    Multiple ACL lines are OK.
1940     If any ACLs are specified, then the <SPAN
1941 CLASS="APPLICATION"
1942 >Privoxy</SPAN
1943 >
1944     talks only to IP addresses that match at least one <TT
1945 CLASS="LITERAL"
1946 >permit-access</TT
1947 > line
1948     and don't match any subsequent <TT
1949 CLASS="LITERAL"
1950 >deny-access</TT
1951 > line. In other words, the
1952     last match wins, with the default being <TT
1953 CLASS="LITERAL"
1954 >deny-access</TT
1955 >.
1956    </P
1957 ><P
1958 >    If <SPAN
1959 CLASS="APPLICATION"
1960 >Privoxy</SPAN
1961 > is using a forwarder (see <TT
1962 CLASS="LITERAL"
1963 >forward</TT
1964 > below)
1965     for a particular destination URL, the <TT
1966 CLASS="REPLACEABLE"
1967 ><I
1968 >dst_addr</I
1969 ></TT
1970 >
1971     that is examined is the address of the forwarder and <SPAN
1972 CLASS="emphasis"
1973 ><I
1974 CLASS="EMPHASIS"
1975 >NOT</I
1976 ></SPAN
1977 > the address
1978     of the ultimate target. This is necessary because it may be impossible for the local
1979     <SPAN
1980 CLASS="APPLICATION"
1981 >Privoxy</SPAN
1982 > to determine the IP address of the
1983     ultimate target (that's often what gateways are used for).
1984    </P
1985 ><P
1986 >    You should prefer using IP addresses over DNS names, because the address lookups take
1987     time. All DNS names must resolve! You can <SPAN
1988 CLASS="emphasis"
1989 ><I
1990 CLASS="EMPHASIS"
1991 >not</I
1992 ></SPAN
1993 > use domain patterns
1994     like <SPAN
1995 CLASS="QUOTE"
1996 >"*.org"</SPAN
1997 > or partial domain names. If a DNS name resolves to multiple
1998     IP addresses, only the first one is used.
1999    </P
2000 ><P
2001 >    Denying access to particular sites by ACL may have undesired side effects
2002     if the site in question is hosted on a machine which also hosts other sites.
2003    </P
2004 ></DD
2005 ><DT
2006 >Examples:</DT
2007 ><DD
2008 ><P
2009 >    Explicitly define the default behavior if no ACL and
2010     <TT
2011 CLASS="LITERAL"
2012 >listen-address</TT
2013 > are set: <SPAN
2014 CLASS="QUOTE"
2015 >"localhost"</SPAN
2016 >
2017     is OK. The absence of a <TT
2018 CLASS="REPLACEABLE"
2019 ><I
2020 >dst_addr</I
2021 ></TT
2022 > implies that
2023     <SPAN
2024 CLASS="emphasis"
2025 ><I
2026 CLASS="EMPHASIS"
2027 >all</I
2028 ></SPAN
2029 > destination addresses are OK:
2030    </P
2031 ><P
2032 >    <TABLE
2033 BORDER="0"
2034 BGCOLOR="#E0E0E0"
2035 WIDTH="90%"
2036 ><TR
2037 ><TD
2038 ><PRE
2039 CLASS="SCREEN"
2040 >  permit-access  localhost</PRE
2041 ></TD
2042 ></TR
2043 ></TABLE
2044 >
2045    </P
2046 ><P
2047 >    Allow any host on the same class C subnet as www.privoxy.org access to
2048     nothing but www.example.com:
2049    </P
2050 ><P
2051 >    <TABLE
2052 BORDER="0"
2053 BGCOLOR="#E0E0E0"
2054 WIDTH="90%"
2055 ><TR
2056 ><TD
2057 ><PRE
2058 CLASS="SCREEN"
2059 >  permit-access  www.privoxy.org/24 www.example.com/32</PRE
2060 ></TD
2061 ></TR
2062 ></TABLE
2063 >
2064    </P
2065 ><P
2066 >    Allow access from any host on the 26-bit subnet 192.168.45.64 to anywhere,
2067     with the exception that 192.168.45.73 may not access www.dirty-stuff.example.com:
2068    </P
2069 ><P
2070 >    <TABLE
2071 BORDER="0"
2072 BGCOLOR="#E0E0E0"
2073 WIDTH="90%"
2074 ><TR
2075 ><TD
2076 ><PRE
2077 CLASS="SCREEN"
2078 >  permit-access  192.168.45.64/26
2079   deny-access    192.168.45.73    www.dirty-stuff.example.com</PRE
2080 ></TD
2081 ></TR
2082 ></TABLE
2083 >
2084    </P
2085 ></DD
2086 ></DL
2087 ></DIV
2088 ></DIV
2089 ><DIV
2090 CLASS="SECT3"
2091 ><H4
2092 CLASS="SECT3"
2093 ><A
2094 NAME="BUFFER-LIMIT">7.4.6. buffer-limit</H4
2095 ><P
2096 ></P
2097 ><DIV
2098 CLASS="VARIABLELIST"
2099 ><DL
2100 ><DT
2101 >Specifies:</DT
2102 ><DD
2103 ><P
2104 >    Maximum size of the buffer for content filtering.
2105    </P
2106 ></DD
2107 ><DT
2108 >Type of value:</DT
2109 ><DD
2110 ><P
2111 >Size in Kbytes</P
2112 ></DD
2113 ><DT
2114 >Default value:</DT
2115 ><DD
2116 ><P
2117 >4096</P
2118 ></DD
2119 ><DT
2120 >Effect if unset:</DT
2121 ><DD
2122 ><P
2123 >    Use a 4MB (4096 KB) limit.
2124    </P
2125 ></DD
2126 ><DT
2127 >Notes:</DT
2128 ><DD
2129 ><P
2130 >    For content filtering, i.e. the <TT
2131 CLASS="LITERAL"
2132 >+filter</TT
2133 > and
2134     <TT
2135 CLASS="LITERAL"
2136 >+deanimate-gif</TT
2137 > actions, it is necessary that 
2138     <SPAN
2139 CLASS="APPLICATION"
2140 >Privoxy</SPAN
2141 > buffers the entire document body.
2142     This can be potentially dangerous, since a server could just keep sending
2143     data indefinitely and wait for your RAM to exhaust -- with nasty consequences.
2144     Hence this option.
2145    </P
2146 ><P
2147 >    When a document buffer size reaches the <TT
2148 CLASS="LITERAL"
2149 >buffer-limit</TT
2150 >, it is
2151     flushed to the client unfiltered and no further attempt to
2152     filter the rest of the document is made. Remember that there may be multiple threads
2153     running, which might require up to <TT
2154 CLASS="LITERAL"
2155 >buffer-limit</TT
2156 > Kbytes
2157     <SPAN
2158 CLASS="emphasis"
2159 ><I
2160 CLASS="EMPHASIS"
2161 >each</I
2162 ></SPAN
2163 >, unless you have enabled <SPAN
2164 CLASS="QUOTE"
2165 >"single-threaded"</SPAN
2166 >
2167     above.
2168    </P
2169 ></DD
2170 ></DL
2171 ></DIV
2172 ></DIV
2173 ></DIV
2174 ><DIV
2175 CLASS="SECT2"
2176 ><H2
2177 CLASS="SECT2"
2178 ><A
2179 NAME="FORWARDING">7.5. Forwarding</H2
2180 ><P
2181 > This feature allows routing of HTTP requests through a chain of
2182  multiple proxies.
2183  It can be used to better protect privacy and confidentiality when
2184  accessing specific domains by routing requests to those domains
2185  through an anonymous public proxy (see e.g. <A
2186 HREF="http://www.multiproxy.org/anon_list.htm"
2187 TARGET="_top"
2188 >http://www.multiproxy.org/anon_list.htm</A
2189 >)
2190  Or to use a caching proxy to speed up browsing. Or chaining to a parent
2191  proxy may be necessary because the machine that <SPAN
2192 CLASS="APPLICATION"
2193 >Privoxy</SPAN
2194 >
2195  runs on has no direct Internet access.</P
2196 ><P
2197 > Also specified here are SOCKS proxies. <SPAN
2198 CLASS="APPLICATION"
2199 >Privoxy</SPAN
2200 >
2201  supports the SOCKS 4 and SOCKS 4A protocols.</P
2202 ><DIV
2203 CLASS="SECT3"
2204 ><H4
2205 CLASS="SECT3"
2206 ><A
2207 NAME="FORWARD">7.5.1. forward</H4
2208 ><P
2209 ></P
2210 ><DIV
2211 CLASS="VARIABLELIST"
2212 ><DL
2213 ><DT
2214 >Specifies:</DT
2215 ><DD
2216 ><P
2217 >    To which parent HTTP proxy specific requests should be routed.
2218    </P
2219 ></DD
2220 ><DT
2221 >Type of value:</DT
2222 ><DD
2223 ><P
2224 >    <TT
2225 CLASS="REPLACEABLE"
2226 ><I
2227 >target_pattern</I
2228 ></TT
2229 >
2230     <TT
2231 CLASS="REPLACEABLE"
2232 ><I
2233 >http_parent</I
2234 ></TT
2235 >[:<TT
2236 CLASS="REPLACEABLE"
2237 ><I
2238 >port</I
2239 ></TT
2240 >]
2241    </P
2242 ><P
2243 >    where <TT
2244 CLASS="REPLACEABLE"
2245 ><I
2246 >target_pattern</I
2247 ></TT
2248 > is a <A
2249 HREF="actions-file.html#AF-PATTERNS"
2250 >URL pattern</A
2251
2252     that specifies to which requests (i.e. URLs) this forward rule shall apply. Use <TT
2253 CLASS="LITERAL"
2254 >/</TT
2255 > to
2256     denote <SPAN
2257 CLASS="QUOTE"
2258 >"all URLs"</SPAN
2259 >.
2260     <TT
2261 CLASS="REPLACEABLE"
2262 ><I
2263 >http_parent</I
2264 ></TT
2265 >[:<TT
2266 CLASS="REPLACEABLE"
2267 ><I
2268 >port</I
2269 ></TT
2270 >]
2271     is the DNS name or IP address of the parent HTTP proxy through which the requests should be forwarded,
2272     optionally followed by its listening port (default: 8080).
2273     Use a single dot (<TT
2274 CLASS="LITERAL"
2275 >.</TT
2276 >) to denote <SPAN
2277 CLASS="QUOTE"
2278 >"no forwarding"</SPAN
2279 >.
2280    </P
2281 ></DD
2282 ><DT
2283 >Default value:</DT
2284 ><DD
2285 ><P
2286 ><SPAN
2287 CLASS="emphasis"
2288 ><I
2289 CLASS="EMPHASIS"
2290 >Unset</I
2291 ></SPAN
2292 ></P
2293 ></DD
2294 ><DT
2295 >Effect if unset:</DT
2296 ><DD
2297 ><P
2298 >    Don't use parent HTTP proxies.
2299    </P
2300 ></DD
2301 ><DT
2302 >Notes:</DT
2303 ><DD
2304 ><P
2305 >    If <TT
2306 CLASS="REPLACEABLE"
2307 ><I
2308 >http_parent</I
2309 ></TT
2310 > is <SPAN
2311 CLASS="QUOTE"
2312 >"."</SPAN
2313 >, then requests are not
2314     forwarded to another HTTP proxy but are made directly to the web servers.
2315    </P
2316 ><P
2317 >    Multiple lines are OK, they are checked in sequence, and the last match wins.
2318    </P
2319 ></DD
2320 ><DT
2321 >Examples:</DT
2322 ><DD
2323 ><P
2324 >    Everything goes to an example anonymizing proxy, except SSL on port 443 (which it doesn't handle):
2325    </P
2326 ><P
2327 >    <TABLE
2328 BORDER="0"
2329 BGCOLOR="#E0E0E0"
2330 WIDTH="90%"
2331 ><TR
2332 ><TD
2333 ><PRE
2334 CLASS="SCREEN"
2335 >  forward   /      anon-proxy.example.org:8080
2336   forward   :443   .</PRE
2337 ></TD
2338 ></TR
2339 ></TABLE
2340 >
2341    </P
2342 ><P
2343 >    Everything goes to our example ISP's caching proxy, except for requests
2344     to that ISP's sites:
2345    </P
2346 ><P
2347 >    <TABLE
2348 BORDER="0"
2349 BGCOLOR="#E0E0E0"
2350 WIDTH="90%"
2351 ><TR
2352 ><TD
2353 ><PRE
2354 CLASS="SCREEN"
2355 >  forward   /                  caching-proxy.example-isp.net:8000
2356   forward   .example-isp.net   .</PRE
2357 ></TD
2358 ></TR
2359 ></TABLE
2360 >
2361    </P
2362 ></DD
2363 ></DL
2364 ></DIV
2365 ></DIV
2366 ><DIV
2367 CLASS="SECT3"
2368 ><H4
2369 CLASS="SECT3"
2370 ><A
2371 NAME="SOCKS">7.5.2. forward-socks4 and forward-socks4a</H4
2372 ><A
2373 NAME="FORWARD-SOCKS4"
2374 ></A
2375 ><A
2376 NAME="FORWARD-SOCKS4A"
2377 ></A
2378 ><P
2379 ></P
2380 ><DIV
2381 CLASS="VARIABLELIST"
2382 ><DL
2383 ><DT
2384 >Specifies:</DT
2385 ><DD
2386 ><P
2387 >    Through which SOCKS proxy (and to which parent HTTP proxy) specific requests should be routed.
2388    </P
2389 ></DD
2390 ><DT
2391 >Type of value:</DT
2392 ><DD
2393 ><P
2394 >    <TT
2395 CLASS="REPLACEABLE"
2396 ><I
2397 >target_pattern</I
2398 ></TT
2399 >
2400     <TT
2401 CLASS="REPLACEABLE"
2402 ><I
2403 >socks_proxy</I
2404 ></TT
2405 >[:<TT
2406 CLASS="REPLACEABLE"
2407 ><I
2408 >port</I
2409 ></TT
2410 >]
2411     <TT
2412 CLASS="REPLACEABLE"
2413 ><I
2414 >http_parent</I
2415 ></TT
2416 >[:<TT
2417 CLASS="REPLACEABLE"
2418 ><I
2419 >port</I
2420 ></TT
2421 >]
2422    </P
2423 ><P
2424 >    where <TT
2425 CLASS="REPLACEABLE"
2426 ><I
2427 >target_pattern</I
2428 ></TT
2429 > is a <A
2430 HREF="actions-file.html#AF-PATTERNS"
2431 >URL pattern</A
2432
2433     that specifies to which requests (i.e. URLs) this forward rule shall apply. Use <TT
2434 CLASS="LITERAL"
2435 >/</TT
2436 > to
2437     denote <SPAN
2438 CLASS="QUOTE"
2439 >"all URLs"</SPAN
2440 >.
2441     <TT
2442 CLASS="REPLACEABLE"
2443 ><I
2444 >http_parent</I
2445 ></TT
2446 > and <TT
2447 CLASS="REPLACEABLE"
2448 ><I
2449 >socks_proxy</I
2450 ></TT
2451 >
2452     are IP addresses in dotted decimal notation or valid DNS names (<TT
2453 CLASS="REPLACEABLE"
2454 ><I
2455 >http_parent</I
2456 ></TT
2457 >
2458     may be <SPAN
2459 CLASS="QUOTE"
2460 >"."</SPAN
2461 > to denote <SPAN
2462 CLASS="QUOTE"
2463 >"no HTTP forwarding"</SPAN
2464 >), and the optional 
2465     <TT
2466 CLASS="REPLACEABLE"
2467 ><I
2468 >port</I
2469 ></TT
2470 > parameters are TCP ports, i.e. integer values from 1 to 64535
2471    </P
2472 ></DD
2473 ><DT
2474 >Default value:</DT
2475 ><DD
2476 ><P
2477 ><SPAN
2478 CLASS="emphasis"
2479 ><I
2480 CLASS="EMPHASIS"
2481 >Unset</I
2482 ></SPAN
2483 ></P
2484 ></DD
2485 ><DT
2486 >Effect if unset:</DT
2487 ><DD
2488 ><P
2489 >    Don't use SOCKS proxies.
2490    </P
2491 ></DD
2492 ><DT
2493 >Notes:</DT
2494 ><DD
2495 ><P
2496 >    Multiple lines are OK, they are checked in sequence, and the last match wins.
2497    </P
2498 ><P
2499 >    The difference between <TT
2500 CLASS="LITERAL"
2501 >forward-socks4</TT
2502 > and <TT
2503 CLASS="LITERAL"
2504 >forward-socks4a</TT
2505 >
2506     is that in the SOCKS 4A protocol, the DNS resolution of the target hostname happens on the SOCKS
2507     server, while in SOCKS 4 it happens locally.
2508    </P
2509 ><P
2510 >    If <TT
2511 CLASS="REPLACEABLE"
2512 ><I
2513 >http_parent</I
2514 ></TT
2515 > is <SPAN
2516 CLASS="QUOTE"
2517 >"."</SPAN
2518 >, then requests are not
2519     forwarded to another HTTP proxy but are made (HTTP-wise) directly to the web servers, albeit through
2520     a SOCKS proxy.
2521    </P
2522 ></DD
2523 ><DT
2524 >Examples:</DT
2525 ><DD
2526 ><P
2527 >     From the company example.com, direct connections are made to all
2528      <SPAN
2529 CLASS="QUOTE"
2530 >"internal"</SPAN
2531 > domains, but everything outbound goes through
2532      their ISP's proxy by way of example.com's corporate SOCKS 4A gateway to
2533      the Internet.
2534    </P
2535 ><P
2536 >    <TABLE
2537 BORDER="0"
2538 BGCOLOR="#E0E0E0"
2539 WIDTH="90%"
2540 ><TR
2541 ><TD
2542 ><PRE
2543 CLASS="SCREEN"
2544 >  forward-socks4a   /              socks-gw.example.com:1080  www-cache.example-isp.net:8080
2545   forward           .example.com   .</PRE
2546 ></TD
2547 ></TR
2548 ></TABLE
2549 >
2550    </P
2551 ><P
2552 >    A rule that uses a SOCKS 4 gateway for all destinations but no HTTP parent looks like this:
2553    </P
2554 ><P
2555 >    <TABLE
2556 BORDER="0"
2557 BGCOLOR="#E0E0E0"
2558 WIDTH="90%"
2559 ><TR
2560 ><TD
2561 ><PRE
2562 CLASS="SCREEN"
2563 >  forward-socks4   /               socks-gw.example.com:1080  .</PRE
2564 ></TD
2565 ></TR
2566 ></TABLE
2567 >
2568    </P
2569 ></DD
2570 ></DL
2571 ></DIV
2572 ></DIV
2573 ><DIV
2574 CLASS="SECT3"
2575 ><H4
2576 CLASS="SECT3"
2577 ><A
2578 NAME="ADVANCED-FORWARDING-EXAMPLES">7.5.3. Advanced Forwarding Examples</H4
2579 ><P
2580 > If you have links to multiple ISPs that provide various special content 
2581  only to their subscribers, you can configure multiple <SPAN
2582 CLASS="APPLICATION"
2583 >Privoxies</SPAN
2584 >
2585  which have connections to the respective ISPs to act as forwarders to each other, so that
2586  <SPAN
2587 CLASS="emphasis"
2588 ><I
2589 CLASS="EMPHASIS"
2590 >your</I
2591 ></SPAN
2592 > users can see the internal content of all ISPs.</P
2593 ><P
2594 > Assume that host-a has a PPP connection to isp-a.net. And host-b has a PPP connection to
2595  isp-b.net. Both run <SPAN
2596 CLASS="APPLICATION"
2597 >Privoxy</SPAN
2598 >. Their forwarding
2599  configuration can look like this:</P
2600 ><P
2601 > host-a:</P
2602 ><P
2603 > <TABLE
2604 BORDER="0"
2605 BGCOLOR="#E0E0E0"
2606 WIDTH="100%"
2607 ><TR
2608 ><TD
2609 ><PRE
2610 CLASS="SCREEN"
2611 >  forward    /           .
2612   forward    .isp-b.net  host-b:8118</PRE
2613 ></TD
2614 ></TR
2615 ></TABLE
2616 ></P
2617 ><P
2618 > host-b:</P
2619 ><P
2620 > <TABLE
2621 BORDER="0"
2622 BGCOLOR="#E0E0E0"
2623 WIDTH="100%"
2624 ><TR
2625 ><TD
2626 ><PRE
2627 CLASS="SCREEN"
2628 >  forward    /           .
2629   forward    .isp-a.net  host-a:8118</PRE
2630 ></TD
2631 ></TR
2632 ></TABLE
2633 ></P
2634 ><P
2635 > Now, your users can set their browser's proxy to use either
2636  host-a or host-b and be able to browse the internal content
2637  of both isp-a and isp-b.</P
2638 ><P
2639 > If you intend to chain <SPAN
2640 CLASS="APPLICATION"
2641 >Privoxy</SPAN
2642 > and 
2643  <SPAN
2644 CLASS="APPLICATION"
2645 >squid</SPAN
2646 > locally, then chain as 
2647  <TT
2648 CLASS="LITERAL"
2649 >browser -&#62; squid -&#62; privoxy</TT
2650 > is the recommended way. </P
2651 ><P
2652 > Assuming that <SPAN
2653 CLASS="APPLICATION"
2654 >Privoxy</SPAN
2655 > and <SPAN
2656 CLASS="APPLICATION"
2657 >squid</SPAN
2658 >
2659  run on the same box, your <SPAN
2660 CLASS="APPLICATION"
2661 >squid</SPAN
2662 > configuration could then look like this:</P
2663 ><P
2664 > <TABLE
2665 BORDER="0"
2666 BGCOLOR="#E0E0E0"
2667 WIDTH="100%"
2668 ><TR
2669 ><TD
2670 ><PRE
2671 CLASS="SCREEN"
2672 >  # Define Privoxy as parent proxy (without ICP) 
2673   cache_peer 127.0.0.1 parent 8118 7 no-query 
2674
2675   # Define ACL for protocol FTP 
2676   acl ftp proto FTP 
2677
2678   # Do not forward FTP requests to Privoxy
2679   always_direct allow ftp 
2680
2681   # Forward all the rest to Privoxy
2682   never_direct allow all</PRE
2683 ></TD
2684 ></TR
2685 ></TABLE
2686 ></P
2687 ><P
2688 > You would then need to change your browser's proxy settings to <SPAN
2689 CLASS="APPLICATION"
2690 >squid</SPAN
2691 >'s address and port.
2692  Squid normally uses port 3128. If unsure consult <TT
2693 CLASS="LITERAL"
2694 >http_port</TT
2695 > in <TT
2696 CLASS="FILENAME"
2697 >squid.conf</TT
2698 >.</P
2699 ><P
2700 > You could just as well decide to only forward requests for Windows executables through
2701  a virus-scanning parent proxy, say, on <TT
2702 CLASS="LITERAL"
2703 >antivir.example.com</TT
2704 >, port 8010:</P
2705 ><P
2706 > <TABLE
2707 BORDER="0"
2708 BGCOLOR="#E0E0E0"
2709 WIDTH="100%"
2710 ><TR
2711 ><TD
2712 ><PRE
2713 CLASS="SCREEN"
2714 >  forward   /                          .
2715   forward   /.*\.(exe|com|dll|zip)$    antivir.example.com:8010</PRE
2716 ></TD
2717 ></TR
2718 ></TABLE
2719 > </P
2720 ></DIV
2721 ></DIV
2722 ><DIV
2723 CLASS="SECT2"
2724 ><H2
2725 CLASS="SECT2"
2726 ><A
2727 NAME="WINDOWS-GUI">7.6. Windows GUI Options</H2
2728 ><P
2729 > <SPAN
2730 CLASS="APPLICATION"
2731 >Privoxy</SPAN
2732 > has a number of options specific to the
2733  Windows GUI interface:</P
2734 ><A
2735 NAME="ACTIVITY-ANIMATION"
2736 ></A
2737 ><P
2738 > If <SPAN
2739 CLASS="QUOTE"
2740 >"activity-animation"</SPAN
2741 > is set to 1, the
2742  <SPAN
2743 CLASS="APPLICATION"
2744 >Privoxy</SPAN
2745 > icon will animate when
2746  <SPAN
2747 CLASS="QUOTE"
2748 >"Privoxy"</SPAN
2749 > is active. To turn off, set to 0.</P
2750 ><P
2751 > <TT
2752 CLASS="LITERAL"
2753 >  <P
2754 CLASS="LITERALLAYOUT"
2755 >&nbsp;&nbsp;<SPAN
2756 CLASS="emphasis"
2757 ><I
2758 CLASS="EMPHASIS"
2759 >activity-animation   1</I
2760 ></SPAN
2761 ><br>
2762 &nbsp;&nbsp;&nbsp;</P
2763
2764  </TT
2765 ></P
2766 ><A
2767 NAME="LOG-MESSAGES"
2768 ></A
2769 ><P
2770 > If <SPAN
2771 CLASS="QUOTE"
2772 >"log-messages"</SPAN
2773 > is set to 1,
2774  <SPAN
2775 CLASS="APPLICATION"
2776 >Privoxy</SPAN
2777 > will log messages to the console
2778  window:</P
2779 ><P
2780 > <TT
2781 CLASS="LITERAL"
2782 >  <P
2783 CLASS="LITERALLAYOUT"
2784 >&nbsp;&nbsp;<SPAN
2785 CLASS="emphasis"
2786 ><I
2787 CLASS="EMPHASIS"
2788 >log-messages       1</I
2789 ></SPAN
2790 ><br>
2791 &nbsp;&nbsp;&nbsp;</P
2792
2793  </TT
2794 ></P
2795 ><A
2796 NAME="LOG-BUFFER-SIZE"
2797 ></A
2798 ><P
2799
2800  If <SPAN
2801 CLASS="QUOTE"
2802 >"log-buffer-size"</SPAN
2803 > is set to 1, the size of the log buffer,
2804  i.e. the amount of memory used for the log messages displayed in the
2805  console window, will be limited to <SPAN
2806 CLASS="QUOTE"
2807 >"log-max-lines"</SPAN
2808 > (see below).</P
2809 ><P
2810 > Warning: Setting this to 0 will result in the buffer to grow infinitely and
2811  eat up all your memory!</P
2812 ><P
2813 > <TT
2814 CLASS="LITERAL"
2815 >  <P
2816 CLASS="LITERALLAYOUT"
2817 >&nbsp;&nbsp;<SPAN
2818 CLASS="emphasis"
2819 ><I
2820 CLASS="EMPHASIS"
2821 >log-buffer-size      1</I
2822 ></SPAN
2823 ><br>
2824 &nbsp;&nbsp;&nbsp;</P
2825
2826  </TT
2827 ></P
2828 ><A
2829 NAME="LOG-MAX-LINES"
2830 ></A
2831 ><P
2832 > <SPAN
2833 CLASS="APPLICATION"
2834 >log-max-lines</SPAN
2835 > is the maximum number of lines held
2836  in the log buffer. See above.</P
2837 ><P
2838 > <TT
2839 CLASS="LITERAL"
2840 >  <P
2841 CLASS="LITERALLAYOUT"
2842 >&nbsp;&nbsp;<SPAN
2843 CLASS="emphasis"
2844 ><I
2845 CLASS="EMPHASIS"
2846 >log-max-lines      200</I
2847 ></SPAN
2848 ><br>
2849 &nbsp;&nbsp;&nbsp;</P
2850
2851  </TT
2852 ></P
2853 ><A
2854 NAME="LOG-HIGHLIGHT-MESSAGES"
2855 ></A
2856 ><P
2857 > If <SPAN
2858 CLASS="QUOTE"
2859 >"log-highlight-messages"</SPAN
2860 > is set to 1,
2861  <SPAN
2862 CLASS="APPLICATION"
2863 >Privoxy</SPAN
2864 > will highlight portions of the log
2865  messages with a bold-faced font:</P
2866 ><P
2867 > <TT
2868 CLASS="LITERAL"
2869 >  <P
2870 CLASS="LITERALLAYOUT"
2871 >&nbsp;&nbsp;<SPAN
2872 CLASS="emphasis"
2873 ><I
2874 CLASS="EMPHASIS"
2875 >log-highlight-messages   1</I
2876 ></SPAN
2877 ><br>
2878 &nbsp;&nbsp;&nbsp;</P
2879
2880  </TT
2881 ></P
2882 ><A
2883 NAME="LOG-FONT-NAME"
2884 ></A
2885 ><P
2886 > The font used in the console window:</P
2887 ><P
2888 > <TT
2889 CLASS="LITERAL"
2890 >  <P
2891 CLASS="LITERALLAYOUT"
2892 >&nbsp;&nbsp;<SPAN
2893 CLASS="emphasis"
2894 ><I
2895 CLASS="EMPHASIS"
2896 >log-font-name        Comic Sans MS</I
2897 ></SPAN
2898 ><br>
2899 &nbsp;&nbsp;&nbsp;</P
2900
2901  </TT
2902 ></P
2903 ><A
2904 NAME="LOG-FONT-SIZE"
2905 ></A
2906 ><P
2907 > Font size used in the console window:</P
2908 ><P
2909 > <TT
2910 CLASS="LITERAL"
2911 >  <P
2912 CLASS="LITERALLAYOUT"
2913 >&nbsp;&nbsp;<SPAN
2914 CLASS="emphasis"
2915 ><I
2916 CLASS="EMPHASIS"
2917 >log-font-size        8</I
2918 ></SPAN
2919 ><br>
2920 &nbsp;&nbsp;&nbsp;</P
2921
2922  </TT
2923 ></P
2924 ><A
2925 NAME="SHOW-ON-TASK-BAR"
2926 ></A
2927 ><P
2928 >  
2929  <SPAN
2930 CLASS="QUOTE"
2931 >"show-on-task-bar"</SPAN
2932 > controls whether or not
2933  <SPAN
2934 CLASS="APPLICATION"
2935 >Privoxy</SPAN
2936 > will appear as a button on the Task bar
2937  when minimized:</P
2938 ><P
2939 > <TT
2940 CLASS="LITERAL"
2941 >  <P
2942 CLASS="LITERALLAYOUT"
2943 >&nbsp;&nbsp;<SPAN
2944 CLASS="emphasis"
2945 ><I
2946 CLASS="EMPHASIS"
2947 >show-on-task-bar     0</I
2948 ></SPAN
2949 ><br>
2950 &nbsp;&nbsp;&nbsp;</P
2951
2952  </TT
2953 ></P
2954 ><A
2955 NAME="CLOSE-BUTTON-MINIMIZES"
2956 ></A
2957 ><P
2958 > If <SPAN
2959 CLASS="QUOTE"
2960 >"close-button-minimizes"</SPAN
2961 > is set to 1, the Windows close
2962  button will minimize <SPAN
2963 CLASS="APPLICATION"
2964 >Privoxy</SPAN
2965 > instead of closing
2966  the program (close with the exit option on the File menu).</P
2967 ><P
2968 > <TT
2969 CLASS="LITERAL"
2970 >  <P
2971 CLASS="LITERALLAYOUT"
2972 >&nbsp;&nbsp;<SPAN
2973 CLASS="emphasis"
2974 ><I
2975 CLASS="EMPHASIS"
2976 >close-button-minimizes  1</I
2977 ></SPAN
2978 ><br>
2979 &nbsp;&nbsp;&nbsp;</P
2980
2981  </TT
2982 ></P
2983 ><A
2984 NAME="HIDE-CONSOLE"
2985 ></A
2986 ><P
2987 > The <SPAN
2988 CLASS="QUOTE"
2989 >"hide-console"</SPAN
2990 > option is specific to the MS-Win console
2991  version of <SPAN
2992 CLASS="APPLICATION"
2993 >Privoxy</SPAN
2994 >. If this option is used,
2995  <SPAN
2996 CLASS="APPLICATION"
2997 >Privoxy</SPAN
2998 > will disconnect from and hide  the
2999  command console.</P
3000 ><P
3001 > <TT
3002 CLASS="LITERAL"
3003 >  <P
3004 CLASS="LITERALLAYOUT"
3005 >&nbsp;&nbsp;#<SPAN
3006 CLASS="emphasis"
3007 ><I
3008 CLASS="EMPHASIS"
3009 >hide-console</I
3010 ></SPAN
3011 ><br>
3012 &nbsp;&nbsp;&nbsp;</P
3013
3014  </TT
3015 ></P
3016 ></DIV
3017 ></DIV
3018 ><DIV
3019 CLASS="NAVFOOTER"
3020 ><HR
3021 ALIGN="LEFT"
3022 WIDTH="100%"><TABLE
3023 SUMMARY="Footer navigation table"
3024 WIDTH="100%"
3025 BORDER="0"
3026 CELLPADDING="0"
3027 CELLSPACING="0"
3028 ><TR
3029 ><TD
3030 WIDTH="33%"
3031 ALIGN="left"
3032 VALIGN="top"
3033 ><A
3034 HREF="configuration.html"
3035 ACCESSKEY="P"
3036 >Prev</A
3037 ></TD
3038 ><TD
3039 WIDTH="34%"
3040 ALIGN="center"
3041 VALIGN="top"
3042 ><A
3043 HREF="index.html"
3044 ACCESSKEY="H"
3045 >Home</A
3046 ></TD
3047 ><TD
3048 WIDTH="33%"
3049 ALIGN="right"
3050 VALIGN="top"
3051 ><A
3052 HREF="actions-file.html"
3053 ACCESSKEY="N"
3054 >Next</A
3055 ></TD
3056 ></TR
3057 ><TR
3058 ><TD
3059 WIDTH="33%"
3060 ALIGN="left"
3061 VALIGN="top"
3062 ><SPAN
3063 CLASS="APPLICATION"
3064 >Privoxy</SPAN
3065 > Configuration</TD
3066 ><TD
3067 WIDTH="34%"
3068 ALIGN="center"
3069 VALIGN="top"
3070 >&nbsp;</TD
3071 ><TD
3072 WIDTH="33%"
3073 ALIGN="right"
3074 VALIGN="top"
3075 >Actions Files</TD
3076 ></TR
3077 ></TABLE
3078 ></DIV
3079 ></BODY
3080 ></HTML
3081 >