[privoxy.git] / doc / webserver / user-manual / configuration.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
2 "">
3 <html>
4 <head>
5   <title>Privoxy Configuration</title>
6   <meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
7   <link rel="HOME" title="Privoxy 3.0.30 User Manual" href="index.html">
8   <link rel="PREVIOUS" title="Starting Privoxy" href="startup.html">
9   <link rel="NEXT" title="The Main Configuration File" href="config.html">
10   <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
11   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
12   <link rel="STYLESHEET" type="text/css" href="p_doc.css">
13 </head>
14 <body class="SECT1" bgcolor="#EEEEEE" text="#000000" link="#0000FF" vlink="#840084" alink="#0000FF">
15   <div class="NAVHEADER">
16     <table summary="Header navigation table" width="100%" border="0" cellpadding="0" cellspacing="0">
17       <tr>
18         <th colspan="3" align="center">Privoxy 3.0.30 User Manual</th>
19       </tr>
20       <tr>
21         <td width="10%" align="left" valign="bottom"><a href="startup.html" accesskey="P">Prev</a></td>
22         <td width="80%" align="center" valign="bottom"></td>
23         <td width="10%" align="right" valign="bottom"><a href="config.html" accesskey="N">Next</a></td>
24       </tr>
25     </table>
26     <hr align="left" width="100%">
27   </div>
28   <div class="SECT1">
29     <h1 class="SECT1"><a name="CONFIGURATION">6. Privoxy Configuration</a></h1>
30     <p>All <span class="APPLICATION">Privoxy</span> configuration is stored in text files. These files can be edited
31     with a text editor. Many important aspects of <span class="APPLICATION">Privoxy</span> can also be controlled
32     easily with a web browser.</p>
33     <div class="SECT2">
34       <h2 class="SECT2"><a name="CONTROL-WITH-WEBBROWSER">6.1. Controlling Privoxy with Your Web Browser</a></h2>
35       <p><span class="APPLICATION">Privoxy</span>'s user interface can be reached through the special URL <a href=
36       "" target="_top"></a> (shortcut: <a href="http://p.p/"
37       target="_top">http://p.p/</a>), which is a built-in page and works without Internet access. You will see the
38       following section:</p>
39       <table border="0" bgcolor="#E0E0E0" width="100%">
40         <tr>
41           <td>
42             <pre class="SCREEN"> </pre>
43             <h2 class="BRIDGEHEAD"><a name="AEN955"></a>&nbsp;&nbsp;&nbsp;&nbsp;Privoxy Menu</h2>
44             <pre><br></pre>
45             <table border="0">
46               <tbody>
47                 <tr>
48                   <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&squf;&nbsp;&nbsp;<a href=
49                   "" target="_top">View &#38; change the current
50                   configuration</a></td>
51                 </tr>
52                 <tr>
53                   <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&squf;&nbsp;&nbsp;<a href=
54                   "" target="_top">View or toggle the tags that can be set based
55                   on the client's address</a></td>
56                 </tr>
57                 <tr>
58                   <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&squf;&nbsp;&nbsp;<a href=
59                   "" target="_top">View the request headers.</a></td>
60                 </tr>
61                 <tr>
62                   <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&squf;&nbsp;&nbsp;<a href=
63                   "" target="_top">Look up which actions apply to a URL and
64                   why</a></td>
65                 </tr>
66                 <tr>
67                   <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&squf;&nbsp;&nbsp;<a href=
68                   "" target="_top">Toggle Privoxy on or off</a></td>
69                 </tr>
70                 <tr>
71                   <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&squf;&nbsp;&nbsp;<a href=
72                   "" target="_top">Documentation</a></td>
73                 </tr>
74               </tbody>
75             </table>
76           </td>
77         </tr>
78       </table>
79       <p>This should be self-explanatory. Note the first item leads to an editor for the <a href=
80       "actions-file.html">actions files</a>, which is where the ad, banner, cookie, and URL blocking magic is
81       configured as well as other advanced features of <span class="APPLICATION">Privoxy</span>. This is an easy way to
82       adjust various aspects of <span class="APPLICATION">Privoxy</span> configuration. The actions file, and other
83       configuration files, are explained in detail below.</p>
84       <p><span class="QUOTE">"Toggle Privoxy On or Off"</span> is handy for sites that might have problems with your
85       current actions and filters. You can in fact use it as a test to see whether it is <span class=
86       "APPLICATION">Privoxy</span> causing the problem or not. <span class="APPLICATION">Privoxy</span> continues to
87       run as a proxy in this case, but all manipulation is disabled, i.e. <span class="APPLICATION">Privoxy</span> acts
88       like a normal forwarding proxy.</p>
89       <p>Note that several of the features described above are disabled by default in <span class=
90       "APPLICATION">Privoxy</span> 3.0.7 beta and later. Check the <a href="config.html" target="_top">configuration
91       file</a> to learn why and in which cases it's safe to enable them again.</p>
92     </div>
93     <div class="SECT2">
94       <h2 class="SECT2"><a name="CONFOVERVIEW">6.2. Configuration Files Overview</a></h2>
95       <p>For Unix, *BSD and GNU/Linux, all configuration files are located in <tt class="FILENAME">/etc/privoxy/</tt>
96       by default. For MS Windows these are all in the same directory as the <span class="APPLICATION">Privoxy</span>
97       executable. The name and number of configuration files has changed from previous versions, and is subject to
98       change as development progresses.</p>
99       <p>The installed defaults provide a reasonable starting point, though some settings may be aggressive by some
100       standards. For the time being, the principle configuration files are:</p>
101       <ul>
102         <li>
103           <p>The <a href="config.html">main configuration file</a> is named <tt class="FILENAME">config</tt> on
104           GNU/Linux, Unix, BSD, and <tt class="FILENAME">config.txt</tt> on Windows. This is a required file.</p>
105         </li>
106         <li>
107           <p><tt class="FILENAME">match-all.action</tt> is used to define which <span class="QUOTE">"actions"</span>
108           relating to banner-blocking, images, pop-ups, content modification, cookie handling etc should be applied by
109           default. It should be the first actions file loaded.</p>
110           <p><tt class="FILENAME">default.action</tt> defines many exceptions (both positive and negative) from the
111           default set of actions that's configured in <tt class="FILENAME">match-all.action</tt>. It should be the
112           second actions file loaded and shouldn't be edited by the user.</p>
113           <p>Multiple actions files may be defined in <tt class="FILENAME">config</tt>. These are processed in the
114           order they are defined. Local customizations and locally preferred exceptions to the default policies as
115           defined in <tt class="FILENAME">match-all.action</tt> (which you will most probably want to define sooner or
116           later) are best applied in <tt class="FILENAME">user.action</tt>, where you can preserve them across
117           upgrades. The file isn't installed by all installers, but you can easily create it yourself with a text
118           editor.</p>
119           <p>There is also a web based editor that can be accessed from <a href=""
120           target="_top"></a> (Shortcut: <a href="http://p.p/show-status" target=
121           "_top">http://p.p/show-status</a>) for the various actions files.</p>
122         </li>
123         <li>
124           <p><span class="QUOTE">"Filter files"</span> (the <a href="filter-file.html">filter file</a>) can be used to
125           re-write the raw page content, including viewable text as well as embedded HTML and JavaScript, and whatever
126           else lurks on any given web page. The filtering jobs are only pre-defined here; whether to apply them or not
127           is up to the actions files. <tt class="FILENAME">default.filter</tt> includes various filters made available
128           for use by the developers. Some are much more intrusive than others, and all should be used with caution. You
129           may define additional filter files in <tt class="FILENAME">config</tt> as you can with actions files. We
130           suggest <tt class="FILENAME">user.filter</tt> for any locally defined filters or customizations.</p>
131         </li>
132       </ul>
133       <p>The syntax of the configuration and filter files may change between different Privoxy versions, unfortunately
134       some enhancements cost backwards compatibility.</p>
135       <p>All files use the <span class="QUOTE">"<tt class="LITERAL">#</tt>"</span> character to denote a comment (the
136       rest of the line will be ignored) and understand line continuation through placing a backslash ("<tt class=
137       "LITERAL">\</tt>") as the very last character in a line. If the <tt class="LITERAL">#</tt> is preceded by a
138       backslash, it looses its special function. Placing a <tt class="LITERAL">#</tt> in front of an otherwise valid
139       configuration line to prevent it from being interpreted is called "commenting out" that line. Blank lines are
140       ignored.</p>
141       <p>The actions files and filter files can use Perl style <a href="appendix.html#REGEX">regular expressions</a>
142       for maximum flexibility.</p>
143       <p>After making any changes, there is no need to restart <span class="APPLICATION">Privoxy</span> in order for
144       the changes to take effect. <span class="APPLICATION">Privoxy</span> detects such changes automatically. Note,
145       however, that it may take one or two additional requests for the change to take effect. When changing the
146       listening address of <span class="APPLICATION">Privoxy</span>, these <span class="QUOTE">"wake up"</span>
147       requests must obviously be sent to the <span class="emphasis"><i class="EMPHASIS">old</i></span> listening
148       address.</p>
149       <p>While under development, the configuration content is subject to change. The below documentation may not be
150       accurate by the time you read this. Also, what constitutes a <span class="QUOTE">"default"</span> setting, may
151       change, so please check all your configuration files on important issues.</p>
152     </div>
153   </div>
154   <div class="NAVFOOTER">
155     <hr align="left" width="100%">
156     <table summary="Footer navigation table" width="100%" border="0" cellpadding="0" cellspacing="0">
157       <tr>
158         <td width="33%" align="left" valign="top"><a href="startup.html" accesskey="P">Prev</a></td>
159         <td width="34%" align="center" valign="top"><a href="index.html" accesskey="H">Home</a></td>
160         <td width="33%" align="right" valign="top"><a href="config.html" accesskey="N">Next</a></td>
161       </tr>
162       <tr>
163         <td width="33%" align="left" valign="top">Starting Privoxy</td>
164         <td width="34%" align="center" valign="top">&nbsp;</td>
165         <td width="33%" align="right" valign="top">The Main Configuration File</td>
166       </tr>
167     </table>
168   </div>
169 </body>
170 </html>