Factor create_listitem_markup() out of generate_markup().
[privoxy.git] / doc / webserver / user-manual / configuration.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
2 <HTML
3 ><HEAD
4 ><TITLE
5 >Privoxy Configuration</TITLE
6 ><META
7 NAME="GENERATOR"
8 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
9 REL="HOME"
10 TITLE="Privoxy 3.0.16 User Manual"
11 HREF="index.html"><LINK
12 REL="PREVIOUS"
13 TITLE="Starting Privoxy"
14 HREF="startup.html"><LINK
15 REL="NEXT"
16 TITLE="The Main Configuration File"
17 HREF="config.html"><LINK
18 REL="STYLESHEET"
19 TYPE="text/css"
20 HREF="../p_doc.css"><META
21 HTTP-EQUIV="Content-Type"
22 CONTENT="text/html;
23 charset=ISO-8859-1">
24 <LINK REL="STYLESHEET" TYPE="text/css" HREF="p_doc.css">
25 </head
26 ><BODY
27 CLASS="SECT1"
28 BGCOLOR="#EEEEEE"
29 TEXT="#000000"
30 LINK="#0000FF"
31 VLINK="#840084"
32 ALINK="#0000FF"
33 ><DIV
34 CLASS="NAVHEADER"
35 ><TABLE
36 SUMMARY="Header navigation table"
37 WIDTH="100%"
38 BORDER="0"
39 CELLPADDING="0"
40 CELLSPACING="0"
41 ><TR
42 ><TH
43 COLSPAN="3"
44 ALIGN="center"
45 >Privoxy 3.0.16 User Manual</TH
46 ></TR
47 ><TR
48 ><TD
49 WIDTH="10%"
50 ALIGN="left"
51 VALIGN="bottom"
52 ><A
53 HREF="startup.html"
54 ACCESSKEY="P"
55 >Prev</A
56 ></TD
57 ><TD
58 WIDTH="80%"
59 ALIGN="center"
60 VALIGN="bottom"
61 ></TD
62 ><TD
63 WIDTH="10%"
64 ALIGN="right"
65 VALIGN="bottom"
66 ><A
67 HREF="config.html"
68 ACCESSKEY="N"
69 >Next</A
70 ></TD
71 ></TR
72 ></TABLE
73 ><HR
74 ALIGN="LEFT"
75 WIDTH="100%"></DIV
76 ><DIV
77 CLASS="SECT1"
78 ><H1
79 CLASS="SECT1"
80 ><A
81 NAME="CONFIGURATION"
82 >6. Privoxy Configuration</A
83 ></H1
84 ><P
85 >  All <SPAN
86 CLASS="APPLICATION"
87 >Privoxy</SPAN
88 > configuration is stored  
89   in text files. These files can be edited with a text editor.
90   Many important aspects of <SPAN
91 CLASS="APPLICATION"
92 >Privoxy</SPAN
93 > can 
94   also be controlled easily with a web browser.
95  </P
96 ><DIV
97 CLASS="SECT2"
98 ><H2
99 CLASS="SECT2"
100 ><A
101 NAME="AEN884"
102 >6.1. Controlling Privoxy with Your Web Browser</A
103 ></H2
104 ><P
105 > <SPAN
106 CLASS="APPLICATION"
107 >Privoxy</SPAN
108 >'s user interface can be reached through the special 
109  URL <A
110 HREF="http://config.privoxy.org/"
111 TARGET="_top"
112 >http://config.privoxy.org/</A
113 >
114  (shortcut: <A
115 HREF="http://p.p/"
116 TARGET="_top"
117 >http://p.p/</A
118 >), 
119  which is a built-in page and works without Internet access.
120  You will see the following section:&#13;</P
121 ><TABLE
122 BORDER="0"
123 BGCOLOR="#E0E0E0"
124 WIDTH="100%"
125 ><TR
126 ><TD
127 ><PRE
128 CLASS="SCREEN"
129 > <H2
130 CLASS="BRIDGEHEAD"
131 ><A
132 NAME="AEN892"
133 ></A
134 >    Privoxy Menu</H2
135 ><P
136 ></P
137 ><TABLE
138 BORDER="0"
139 ><TBODY
140 ><TR
141 ><TD
142 >          &#9642;  <A
143 HREF="http://config.privoxy.org/show-status"
144 TARGET="_top"
145 >View &#38; change the current configuration</A
146 >
147  </TD
148 ></TR
149 ><TR
150 ><TD
151 >          &#9642;  <A
152 HREF="http://config.privoxy.org/show-version"
153 TARGET="_top"
154 >View the source code version numbers</A
155 >
156  </TD
157 ></TR
158 ><TR
159 ><TD
160 >          &#9642;  <A
161 HREF="http://config.privoxy.org/show-request"
162 TARGET="_top"
163 >View the request headers.</A
164 >
165  </TD
166 ></TR
167 ><TR
168 ><TD
169 >          &#9642;  <A
170 HREF="http://config.privoxy.org/show-url-info"
171 TARGET="_top"
172 >Look up which actions apply to a URL and why</A
173 >
174  </TD
175 ></TR
176 ><TR
177 ><TD
178 >          &#9642;  <A
179 HREF="http://config.privoxy.org/toggle"
180 TARGET="_top"
181 >Toggle Privoxy on or off</A
182 >
183  </TD
184 ></TR
185 ><TR
186 ><TD
187 >          &#9642;  <A
188 HREF="http://www.privoxy.org/3.0.16/user-manual/"
189 TARGET="_top"
190 >Documentation</A
191 >
192  </TD
193 ></TR
194 ></TBODY
195 ></TABLE
196 ><P
197 ></P
198 ></PRE
199 ></TD
200 ></TR
201 ></TABLE
202 ><P
203 > This should be self-explanatory. Note the first item leads to an editor for the
204  <A
205 HREF="actions-file.html"
206 >actions files</A
207 >, which is where the ad, banner,
208  cookie, and URL blocking magic is configured as well as other advanced features of
209  <SPAN
210 CLASS="APPLICATION"
211 >Privoxy</SPAN
212 >. This is an easy way to adjust various
213  aspects of <SPAN
214 CLASS="APPLICATION"
215 >Privoxy</SPAN
216 > configuration. The actions
217  file, and other configuration files, are explained in detail below. </P
218 ><P
219 > <SPAN
220 CLASS="QUOTE"
221 >"Toggle Privoxy On or Off"</SPAN
222 > is handy for sites that might 
223  have problems with your current actions and filters. You can in fact use
224  it as a test to see whether it is <SPAN
225 CLASS="APPLICATION"
226 >Privoxy</SPAN
227
228  causing the problem or not. <SPAN
229 CLASS="APPLICATION"
230 >Privoxy</SPAN
231 > continues 
232  to run as a proxy in this case, but all manipulation is disabled, i.e.
233  <SPAN
234 CLASS="APPLICATION"
235 >Privoxy</SPAN
236 > acts like a normal forwarding proxy. There
237  is even a toggle <A
238 HREF="appendix.html#BOOKMARKLETS"
239 >Bookmarklet</A
240 > offered, so
241  that you can toggle <SPAN
242 CLASS="APPLICATION"
243 >Privoxy</SPAN
244 > with one click from
245  your browser.</P
246 ><P
247 > Note that several of the features described above are disabled by default
248  in <SPAN
249 CLASS="APPLICATION"
250 >Privoxy</SPAN
251 > 3.0.7 beta and later.
252  Check the
253  <A
254 HREF="config.html"
255 TARGET="_top"
256 >configuration file</A
257 > to learn why
258  and in which cases it's safe to enable them again.</P
259 ></DIV
260 ><DIV
261 CLASS="SECT2"
262 ><H2
263 CLASS="SECT2"
264 ><A
265 NAME="CONFOVERVIEW"
266 >6.2. Configuration Files Overview</A
267 ></H2
268 ><P
269 > For Unix, *BSD and Linux, all configuration files are located in
270  <TT
271 CLASS="FILENAME"
272 >/etc/privoxy/</TT
273 > by default. For MS Windows, OS/2, and
274  AmigaOS these are all in the same directory as the 
275  <SPAN
276 CLASS="APPLICATION"
277 >Privoxy</SPAN
278 > executable. </P
279 ><P
280 > The installed defaults provide a reasonable starting point, though 
281  some settings may be aggressive by some standards. For the time being, the
282  principle configuration files are:</P
283 ><P
284 > <P
285 ></P
286 ><UL
287 ><LI
288 ><P
289 >     The <A
290 HREF="config.html"
291 >main configuration file</A
292 > is named <TT
293 CLASS="FILENAME"
294 >config</TT
295 >
296      on Linux, Unix, BSD, OS/2, and AmigaOS and <TT
297 CLASS="FILENAME"
298 >config.txt</TT
299 >
300      on Windows. This is a required file.
301    </P
302 ></LI
303 ><LI
304 ><P
305 >    <TT
306 CLASS="FILENAME"
307 >match-all.action</TT
308 > is used to define which <SPAN
309 CLASS="QUOTE"
310 >"actions"</SPAN
311 >
312     relating to banner-blocking, images, pop-ups, content modification, cookie handling
313     etc should be applied by default. It should be the first actions file loaded.
314    </P
315 ><P
316 >    <TT
317 CLASS="FILENAME"
318 >default.action</TT
319 > defines many exceptions (both positive and negative)
320     from the default set of actions that's configured in <TT
321 CLASS="FILENAME"
322 >match-all.action</TT
323 >.
324     It should be the second actions file loaded and shouldn't be edited by the user.
325    </P
326 ><P
327 >    Multiple actions files may be defined in <TT
328 CLASS="FILENAME"
329 >config</TT
330 >. These 
331     are processed in the order they are defined. Local customizations and locally 
332     preferred exceptions to the default policies as defined in
333     <TT
334 CLASS="FILENAME"
335 >match-all.action</TT
336 > (which you will most probably want
337     to define sooner or later) are best applied in <TT
338 CLASS="FILENAME"
339 >user.action</TT
340 >,
341     where you can preserve them across upgrades. The file isn't installed by all
342     installers, but you can easily create it yourself with a text editor.
343    </P
344 ><P
345 >    
346     There is also a web based editor that can be accessed from
347     <A
348 HREF="http://config.privoxy.org/show-status"
349 TARGET="_top"
350 >http://config.privoxy.org/show-status</A
351 >
352     (Shortcut: <A
353 HREF="http://p.p/show-status"
354 TARGET="_top"
355 >http://p.p/show-status</A
356 >) for the
357     various actions files. 
358    </P
359 ></LI
360 ><LI
361 ><P
362 >    <SPAN
363 CLASS="QUOTE"
364 >"Filter files"</SPAN
365 > (the <A
366 HREF="filter-file.html"
367 >filter
368     file</A
369 >) can be used to re-write the raw page content, including
370     viewable text as well as embedded HTML and JavaScript, and whatever else
371     lurks on any given web page. The filtering jobs are only pre-defined here;
372     whether to apply them or not is up to the actions files. 
373     <TT
374 CLASS="FILENAME"
375 >default.filter</TT
376 > includes various filters made 
377     available for use by the developers. Some are much more intrusive than 
378     others, and all should be used with caution. You may define additional 
379     filter files in <TT
380 CLASS="FILENAME"
381 >config</TT
382 > as you can with 
383     actions files. We suggest <TT
384 CLASS="FILENAME"
385 >user.filter</TT
386 > for any 
387     locally defined filters or customizations.
388    </P
389 ></LI
390 ></UL
391 ></P
392 ><P
393 > The syntax of the configuration and filter files may change between different
394  Privoxy versions, unfortunately some enhancements cost backwards compatibility.
395  </P
396 ><P
397 > All files use the <SPAN
398 CLASS="QUOTE"
399 >"<TT
400 CLASS="LITERAL"
401 >#</TT
402 >"</SPAN
403 > character to denote a
404  comment (the rest of the line will be ignored) and understand line continuation
405  through placing a backslash ("<TT
406 CLASS="LITERAL"
407 >\</TT
408 >") as the very last character
409  in a line. If the <TT
410 CLASS="LITERAL"
411 >#</TT
412 > is preceded by a backslash, it looses
413  its special function. Placing a <TT
414 CLASS="LITERAL"
415 >#</TT
416 > in front of an otherwise
417  valid configuration line to prevent it from being interpreted is called "commenting
418  out" that line. Blank lines are ignored.</P
419 ><P
420 > The actions files and filter files  
421  can use Perl style <A
422 HREF="appendix.html#REGEX"
423 >regular expressions</A
424 > for
425  maximum flexibility. </P
426 ><P
427 > After making any changes, there is no need to restart
428  <SPAN
429 CLASS="APPLICATION"
430 >Privoxy</SPAN
431 > in order for the changes to take
432  effect. <SPAN
433 CLASS="APPLICATION"
434 >Privoxy</SPAN
435 > detects such changes 
436  automatically. Note, however, that it may take one or two additional
437  requests for the change to take effect. When changing the listening address
438  of <SPAN
439 CLASS="APPLICATION"
440 >Privoxy</SPAN
441 >, these <SPAN
442 CLASS="QUOTE"
443 >"wake up"</SPAN
444 > requests
445  must obviously be sent to the <SPAN
446 CLASS="emphasis"
447 ><I
448 CLASS="EMPHASIS"
449 >old</I
450 ></SPAN
451 > listening address.</P
452 ></DIV
453 ></DIV
454 ><DIV
455 CLASS="NAVFOOTER"
456 ><HR
457 ALIGN="LEFT"
458 WIDTH="100%"><TABLE
459 SUMMARY="Footer navigation table"
460 WIDTH="100%"
461 BORDER="0"
462 CELLPADDING="0"
463 CELLSPACING="0"
464 ><TR
465 ><TD
466 WIDTH="33%"
467 ALIGN="left"
468 VALIGN="top"
469 ><A
470 HREF="startup.html"
471 ACCESSKEY="P"
472 >Prev</A
473 ></TD
474 ><TD
475 WIDTH="34%"
476 ALIGN="center"
477 VALIGN="top"
478 ><A
479 HREF="index.html"
480 ACCESSKEY="H"
481 >Home</A
482 ></TD
483 ><TD
484 WIDTH="33%"
485 ALIGN="right"
486 VALIGN="top"
487 ><A
488 HREF="config.html"
489 ACCESSKEY="N"
490 >Next</A
491 ></TD
492 ></TR
493 ><TR
494 ><TD
495 WIDTH="33%"
496 ALIGN="left"
497 VALIGN="top"
498 >Starting Privoxy</TD
499 ><TD
500 WIDTH="34%"
501 ALIGN="center"
502 VALIGN="top"
503 >&nbsp;</TD
504 ><TD
505 WIDTH="33%"
506 ALIGN="right"
507 VALIGN="top"
508 >The Main Configuration File</TD
509 ></TR
510 ></TABLE
511 ></DIV
512 ></BODY
513 ></HTML
514 >