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