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