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