Rebuild config file with cors-allowed-origin directive
[privoxy.git] / doc / webserver / user-manual / configuration.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
2 "http://www.w3.org/TR/html4/loose.dtd">
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.28 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.28 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       "http://config.privoxy.org/" target="_top">http://config.privoxy.org/</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="AEN912"></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                   "http://config.privoxy.org/show-status" 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                   "http://config.privoxy.org/show-version" target="_top">View the source code version numbers</a></td>
55                 </tr>
56                 <tr>
57                   <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&squf;&nbsp;&nbsp;<a href=
58                   "http://config.privoxy.org/show-request" target="_top">View the request headers.</a></td>
59                 </tr>
60                 <tr>
61                   <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&squf;&nbsp;&nbsp;<a href=
62                   "http://config.privoxy.org/show-url-info" target="_top">Look up which actions apply to a URL and
63                   why</a></td>
64                 </tr>
65                 <tr>
66                   <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&squf;&nbsp;&nbsp;<a href=
67                   "http://config.privoxy.org/toggle" target="_top">Toggle Privoxy on or off</a></td>
68                 </tr>
69                 <tr>
70                   <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&squf;&nbsp;&nbsp;<a href=
71                   "https://www.privoxy.org/3.0.28/user-manual/" target="_top">Documentation</a></td>
72                 </tr>
73               </tbody>
74             </table>
75           </td>
76         </tr>
77       </table>
78       <p>This should be self-explanatory. Note the first item leads to an editor for the <a href=
79       "actions-file.html">actions files</a>, which is where the ad, banner, cookie, and URL blocking magic is
80       configured as well as other advanced features of <span class="APPLICATION">Privoxy</span>. This is an easy way to
81       adjust various aspects of <span class="APPLICATION">Privoxy</span> configuration. The actions file, and other
82       configuration files, are explained in detail below.</p>
83       <p><span class="QUOTE">"Toggle Privoxy On or Off"</span> is handy for sites that might have problems with your
84       current actions and filters. You can in fact use it as a test to see whether it is <span class=
85       "APPLICATION">Privoxy</span> causing the problem or not. <span class="APPLICATION">Privoxy</span> continues to
86       run as a proxy in this case, but all manipulation is disabled, i.e. <span class="APPLICATION">Privoxy</span> acts
87       like a normal forwarding proxy.</p>
88       <p>Note that several of the features described above are disabled by default in <span class=
89       "APPLICATION">Privoxy</span> 3.0.7 beta and later. Check the <a href="config.html" target="_top">configuration
90       file</a> to learn why and in which cases it's safe to enable them again.</p>
91     </div>
92     <div class="SECT2">
93       <h2 class="SECT2"><a name="CONFOVERVIEW">6.2. Configuration Files Overview</a></h2>
94       <p>For Unix, *BSD and GNU/Linux, all configuration files are located in <tt class="FILENAME">/etc/privoxy/</tt>
95       by default. For MS Windows and OS/2 these are all in the same directory as the <span class=
96       "APPLICATION">Privoxy</span> executable.</p>
97       <p>The installed defaults provide a reasonable starting point, though some settings may be aggressive by some
98       standards. For the time being, the principle configuration files are:</p>
99       <ul>
100         <li>
101           <p>The <a href="config.html">main configuration file</a> is named <tt class="FILENAME">config</tt> on
102           GNU/Linux, Unix, BSD, and OS/2, and <tt class="FILENAME">config.txt</tt> on Windows. This is a required
103           file.</p>
104         </li>
105         <li>
106           <p><tt class="FILENAME">match-all.action</tt> is used to define which <span class="QUOTE">"actions"</span>
107           relating to banner-blocking, images, pop-ups, content modification, cookie handling etc should be applied by
108           default. It should be the first actions file loaded.</p>
109           <p><tt class="FILENAME">default.action</tt> defines many exceptions (both positive and negative) from the
110           default set of actions that's configured in <tt class="FILENAME">match-all.action</tt>. It should be the
111           second actions file loaded and shouldn't be edited by the user.</p>
112           <p>Multiple actions files may be defined in <tt class="FILENAME">config</tt>. These are processed in the
113           order they are defined. Local customizations and locally preferred exceptions to the default policies as
114           defined in <tt class="FILENAME">match-all.action</tt> (which you will most probably want to define sooner or
115           later) are best applied in <tt class="FILENAME">user.action</tt>, where you can preserve them across
116           upgrades. The file isn't installed by all installers, but you can easily create it yourself with a text
117           editor.</p>
118           <p>There is also a web based editor that can be accessed from <a href="http://config.privoxy.org/show-status"
119           target="_top">http://config.privoxy.org/show-status</a> (Shortcut: <a href="http://p.p/show-status" target=
120           "_top">http://p.p/show-status</a>) for the various actions files.</p>
121         </li>
122         <li>
123           <p><span class="QUOTE">"Filter files"</span> (the <a href="filter-file.html">filter file</a>) can be used to
124           re-write the raw page content, including viewable text as well as embedded HTML and JavaScript, and whatever
125           else lurks on any given web page. The filtering jobs are only pre-defined here; whether to apply them or not
126           is up to the actions files. <tt class="FILENAME">default.filter</tt> includes various filters made available
127           for use by the developers. Some are much more intrusive than others, and all should be used with caution. You
128           may define additional filter files in <tt class="FILENAME">config</tt> as you can with actions files. We
129           suggest <tt class="FILENAME">user.filter</tt> for any locally defined filters or customizations.</p>
130         </li>
131       </ul>
132       <p>The syntax of the configuration and filter files may change between different Privoxy versions, unfortunately
133       some enhancements cost backwards compatibility.</p>
134       <p>All files use the <span class="QUOTE">"<tt class="LITERAL">#</tt>"</span> character to denote a comment (the
135       rest of the line will be ignored) and understand line continuation through placing a backslash ("<tt class=
136       "LITERAL">\</tt>") as the very last character in a line. If the <tt class="LITERAL">#</tt> is preceded by a
137       backslash, it looses its special function. Placing a <tt class="LITERAL">#</tt> in front of an otherwise valid
138       configuration line to prevent it from being interpreted is called "commenting out" that line. Blank lines are
139       ignored.</p>
140       <p>The actions files and filter files can use Perl style <a href="appendix.html#REGEX">regular expressions</a>
141       for maximum flexibility.</p>
142       <p>After making any changes, there is no need to restart <span class="APPLICATION">Privoxy</span> in order for
143       the changes to take effect. <span class="APPLICATION">Privoxy</span> detects such changes automatically. Note,
144       however, that it may take one or two additional requests for the change to take effect. When changing the
145       listening address of <span class="APPLICATION">Privoxy</span>, these <span class="QUOTE">"wake up"</span>
146       requests must obviously be sent to the <span class="emphasis"><i class="EMPHASIS">old</i></span> listening
147       address.</p>
148     </div>
149   </div>
150   <div class="NAVFOOTER">
151     <hr align="left" width="100%">
152     <table summary="Footer navigation table" width="100%" border="0" cellpadding="0" cellspacing="0">
153       <tr>
154         <td width="33%" align="left" valign="top"><a href="startup.html" accesskey="P">Prev</a></td>
155         <td width="34%" align="center" valign="top"><a href="index.html" accesskey="H">Home</a></td>
156         <td width="33%" align="right" valign="top"><a href="config.html" accesskey="N">Next</a></td>
157       </tr>
158       <tr>
159         <td width="33%" align="left" valign="top">Starting Privoxy</td>
160         <td width="34%" align="center" valign="top">&nbsp;</td>
161         <td width="33%" align="right" valign="top">The Main Configuration File</td>
162       </tr>
163     </table>
164   </div>
165 </body>
166 </html>