+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>The Main Configuration File</TITLE
><META
NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME"
TITLE="Privoxy 3.0.7 User Manual"
HREF="index.html"><LINK
CLASS="SECT1"
><A
NAME="CONFIG"
-></A
->7. The Main Configuration File</H1
+>7. The Main Configuration File</A
+></H1
><P
> Again, the main configuration file is named <TT
CLASS="FILENAME"
CLASS="SECT2"
><A
NAME="LOCAL-SET-UP"
-></A
->7.1. Local Set-up Documentation</H2
+>7.1. Local Set-up Documentation</A
+></H2
><P
> If you intend to operate <SPAN
CLASS="APPLICATION"
CLASS="SECT3"
><A
NAME="USER-MANUAL"
-></A
->7.1.1. user-manual</H4
+>7.1.1. user-manual</A
+></H4
><P
></P
><DIV
CLASS="SECT3"
><A
NAME="TRUST-INFO-URL"
-></A
->7.1.2. trust-info-url</H4
+>7.1.2. trust-info-url</A
+></H4
><P
></P
><DIV
>Default value:</DT
><DD
><P
->Two example URL are provided</P
+>Two example URLs are provided</P
></DD
><DT
>Effect if unset:</DT
CLASS="SECT3"
><A
NAME="ADMIN-ADDRESS"
-></A
->7.1.3. admin-address</H4
+>7.1.3. admin-address</A
+></H4
><P
></P
><DIV
CLASS="SECT3"
><A
NAME="PROXY-INFO-URL"
-></A
->7.1.4. proxy-info-url</H4
+>7.1.4. proxy-info-url</A
+></H4
><P
></P
><DIV
CLASS="SECT2"
><A
NAME="CONF-LOG-LOC"
-></A
->7.2. Configuration and Log File Locations</H2
+>7.2. Configuration and Log File Locations</A
+></H2
><P
> <SPAN
CLASS="APPLICATION"
CLASS="SECT3"
><A
NAME="CONFDIR"
-></A
->7.2.1. confdir</H4
+>7.2.1. confdir</A
+></H4
><P
></P
><DIV
CLASS="SECT3"
><A
NAME="TEMPLDIR"
-></A
->7.2.2. templdir</H4
+>7.2.2. templdir</A
+></H4
><P
></P
><DIV
CLASS="SECT3"
><A
NAME="LOGDIR"
-></A
->7.2.3. logdir</H4
+>7.2.3. logdir</A
+></H4
><P
></P
><DIV
CLASS="SECT3"
><A
NAME="ACTIONSFILE"
-></A
->7.2.4. actionsfile</H4
+>7.2.4. actionsfile</A
+></H4
><A
NAME="DEFAULT.ACTION"
></A
CLASS="SECT3"
><A
NAME="FILTERFILE"
-></A
->7.2.5. filterfile</H4
+>7.2.5. filterfile</A
+></H4
><A
NAME="DEFAULT.FILTER"
></A
CLASS="SECT3"
><A
NAME="LOGFILE"
-></A
->7.2.6. logfile</H4
+>7.2.6. logfile</A
+></H4
><P
></P
><DIV
>Default value:</DT
><DD
><P
->logfile (Unix) <SPAN
+><SPAN
+CLASS="emphasis"
+><I
+CLASS="EMPHASIS"
+>Unset (commented out)</I
+></SPAN
+>. When activated: logfile (Unix) <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
CLASS="APPLICATION"
>Privoxy</SPAN
> (e.g., it's not blocking an ad you
- think it should block) but in most cases you probably will never look at it.
+ think it should block) but in most cases you probably will never look at
+ it. For this reason, it is disabled by default. For troubleshooting
+ purposes, you will have to explicitly enable it.
</P
><P
> Your logfile will grow indefinitely, and you will probably want to
(see <SPAN
CLASS="QUOTE"
>"man cron"</SPAN
->). For Red Hat, a <B
+>). For Red Hat based Linux distributions, a
+ <B
CLASS="COMMAND"
>logrotate</B
->
- script has been included.
+> script has been included.
</P
><P
> On SuSE Linux systems, you can place a line like <SPAN
CLASS="SECT3"
><A
NAME="JARFILE"
-></A
->7.2.7. jarfile</H4
+>7.2.7. jarfile</A
+></H4
><P
></P
><DIV
>Default value:</DT
><DD
><P
->Unset (commented out). When activated: jarfile (Unix) <SPAN
+><SPAN
+CLASS="emphasis"
+><I
+CLASS="EMPHASIS"
+>Unset (commented out)</I
+></SPAN
+>. When activated: jarfile (Unix) <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
CLASS="SECT3"
><A
NAME="TRUSTFILE"
-></A
->7.2.8. trustfile</H4
+>7.2.8. trustfile</A
+></H4
><P
></P
><DIV
CLASS="SECT2"
><A
NAME="DEBUGGING"
-></A
->7.3. Debugging</H2
+>7.3. Debugging</A
+></H2
><P
> These options are mainly useful when tracing a problem.
Note that you might also want to invoke
CLASS="SECT3"
><A
NAME="DEBUG"
-></A
->7.3.1. debug</H4
+>7.3.1. debug</A
+></H4
><P
></P
><DIV
CLASS="SECT3"
><A
NAME="SINGLE-THREADED"
-></A
->7.3.2. single-threaded</H4
+>7.3.2. single-threaded</A
+></H4
><P
></P
><DIV
CLASS="SECT2"
><A
NAME="ACCESS-CONTROL"
-></A
->7.4. Access Control and Security</H2
+>7.4. Access Control and Security</A
+></H2
><P
> This section of the config file controls the security-relevant aspects
of <SPAN
CLASS="SECT3"
><A
NAME="LISTEN-ADDRESS"
-></A
->7.4.1. listen-address</H4
+>7.4.1. listen-address</A
+></H4
><P
></P
><DIV
CLASS="SECT3"
><A
NAME="TOGGLE"
-></A
->7.4.2. toggle</H4
+>7.4.2. toggle</A
+></H4
><P
></P
><DIV
CLASS="SECT3"
><A
NAME="ENABLE-REMOTE-TOGGLE"
-></A
->7.4.3. enable-remote-toggle</H4
+>7.4.3. enable-remote-toggle</A
+></H4
><P
></P
><DIV
>Default value:</DT
><DD
><P
->1</P
+>0</P
></DD
><DT
>Effect if unset:</DT
any URL.
</P
><P
-> For the time being, access to the toggle feature can <SPAN
+> Access to the toggle feature can <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>not recommended</I
></SPAN
>
- for multi-user environments with untrusted users.
+ for multi-user environments with untrusted users. Because of
+ the obvious security implications, this feature is off by default.
+ Note that malicious client side code (e.g JavaScript) is also potentially
+ capable of changing <SPAN
+CLASS="APPLICATION"
+>Privoxy's</SPAN
+> intended
+ behavior.
</P
><P
> Note that you must have compiled <SPAN
CLASS="SECT3"
><A
NAME="ENABLE-REMOTE-HTTP-TOGGLE"
-></A
->7.4.4. enable-remote-http-toggle</H4
+>7.4.4. enable-remote-http-toggle</A
+></H4
><P
></P
><DIV
>Default value:</DT
><DD
><P
->1</P
+>0</P
></DD
><DT
>Effect if unset:</DT
the ongoing request, even if it is enabled in one of the action files.
</P
><P
-> If you are using <SPAN
+> This feature is disabled by default. If you are using
+ <SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
-> in a
- multi-user environment or with untrustworthy clients and want to
- enforce filtering, you will have to disable this option,
- otherwise you can ignore it.
+> in a environment with trusted clients,
+ you may enable this feature at your discretion. Note that malicious client
+ side code (e.g JavaScript) is also potentially capable of changing
+ <SPAN
+CLASS="APPLICATION"
+>Privoxy's</SPAN
+> intended behavior.
</P
></DD
></DL
CLASS="SECT3"
><A
NAME="ENABLE-EDIT-ACTIONS"
-></A
->7.4.5. enable-edit-actions</H4
+>7.4.5. enable-edit-actions</A
+></H4
><P
></P
><DIV
>Default value:</DT
><DD
><P
->1</P
+>0</P
></DD
><DT
>Effect if unset:</DT
>Notes:</DT
><DD
><P
-> For the time being, access to the editor can <SPAN
+> Access to the editor can <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
CLASS="LITERAL"
>listen-address</TT
> above) can
- modify its configuration for all users. So this option is <SPAN
+ modify its configuration for all users. This option is <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>not
recommended</I
></SPAN
-> for multi-user environments with untrusted users.
+> for multi-user environments with untrusted users
+ and is therefore disabled by default. Note that malicious client side code
+ (e.g JavaScript) is also potentially capable of changing
+ <SPAN
+CLASS="APPLICATION"
+>Privoxy's</SPAN
+> intended behavior.
</P
><P
> Note that you must have compiled <SPAN
CLASS="SECT3"
><A
NAME="ENFORCE-BLOCKS"
-></A
->7.4.6. enforce-blocks</H4
+>7.4.6. enforce-blocks</A
+></H4
><P
></P
><DIV
CLASS="SECT3"
><A
NAME="ACLS"
-></A
->7.4.7. ACLs: permit-access and deny-access</H4
+>7.4.7. ACLs: permit-access and deny-access</A
+></H4
><A
NAME="PERMIT-ACCESS"
></A
CLASS="SECT3"
><A
NAME="BUFFER-LIMIT"
-></A
->7.4.8. buffer-limit</H4
+>7.4.8. buffer-limit</A
+></H4
><P
></P
><DIV
CLASS="SECT2"
><A
NAME="FORWARDING"
-></A
->7.5. Forwarding</H2
+>7.5. Forwarding</A
+></H2
><P
> This feature allows routing of HTTP requests through a chain of
multiple proxies.</P
CLASS="SECT3"
><A
NAME="FORWARD"
-></A
->7.5.1. forward</H4
+>7.5.1. forward</A
+></H4
><P
></P
><DIV
CLASS="SECT3"
><A
NAME="SOCKS"
-></A
->7.5.2. forward-socks4 and forward-socks4a</H4
+>7.5.2. forward-socks4 and forward-socks4a</A
+></H4
><A
NAME="FORWARD-SOCKS4"
></A
CLASS="SECT3"
><A
NAME="ADVANCED-FORWARDING-EXAMPLES"
-></A
->7.5.3. Advanced Forwarding Examples</H4
+>7.5.3. Advanced Forwarding Examples</A
+></H4
><P
> If you have links to multiple ISPs that provide various special content
only to their subscribers, you can configure multiple <SPAN
CLASS="SECT3"
><A
NAME="FORWARDED-CONNECT-RETRIES"
-></A
->7.5.4. forwarded-connect-retries</H4
+>7.5.4. forwarded-connect-retries</A
+></H4
><P
></P
><DIV
CLASS="SECT3"
><A
NAME="ACCEPT-INTERCEPTED-REQUESTS"
-></A
->7.5.5. accept-intercepted-requests</H4
+>7.5.5. accept-intercepted-requests</A
+></H4
><P
></P
><DIV
><H4
CLASS="SECT3"
><A
+NAME="ALLOW-CGI-REQUEST-CRUNCHING"
+>7.5.6. allow-cgi-request-crunching</A
+></H4
+><P
+></P
+><DIV
+CLASS="VARIABLELIST"
+><DL
+><DT
+>Specifies:</DT
+><DD
+><P
+> Whether requests to <SPAN
+CLASS="APPLICATION"
+>Privoxy's</SPAN
+> CGI pages can be blocked or redirected.
+ </P
+></DD
+><DT
+>Type of value:</DT
+><DD
+><P
+> <TT
+CLASS="REPLACEABLE"
+><I
+>0 or 1</I
+></TT
+>
+ </P
+></DD
+><DT
+>Default value:</DT
+><DD
+><P
+><SPAN
+CLASS="emphasis"
+><I
+CLASS="EMPHASIS"
+>0</I
+></SPAN
+></P
+></DD
+><DT
+>Effect if unset:</DT
+><DD
+><P
+> <SPAN
+CLASS="APPLICATION"
+>Privoxy</SPAN
+> ignores block and redirect actions for its CGI pages.
+ </P
+></DD
+><DT
+>Notes:</DT
+><DD
+><P
+> By default <SPAN
+CLASS="APPLICATION"
+>Privoxy</SPAN
+> ignores block or redirect actions
+ for its CGI pages. Intercepting these requests can be useful in multi-user
+ setups to implement fine-grained access control, but it can also render the complete
+ web interface useless and make debugging problems painful if done without care.
+ </P
+><P
+> Don't enable this option unless you're sure that you really need it.
+ </P
+></DD
+><DT
+>Examples:</DT
+><DD
+><P
+> allow-cgi-request-crunching 1
+ </P
+></DD
+></DL
+></DIV
+></DIV
+><DIV
+CLASS="SECT3"
+><H4
+CLASS="SECT3"
+><A
NAME="SPLIT-LARGE-FORMS"
-></A
->7.5.6. split-large-forms</H4
+>7.5.7. split-large-forms</A
+></H4
><P
></P
><DIV
CLASS="SECT2"
><A
NAME="WINDOWS-GUI"
-></A
->7.6. Windows GUI Options</H2
+>7.6. Windows GUI Options</A
+></H2
><P
> <SPAN
CLASS="APPLICATION"