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