2009-09-19 12:27:24 +08:00
|
|
|
TINYPROXY.CONF(5)
|
|
|
|
=================
|
|
|
|
:man source: Version @VERSION@
|
|
|
|
:man manual: Tinyproxy manual
|
|
|
|
|
|
|
|
NAME
|
|
|
|
----
|
|
|
|
|
|
|
|
tinyproxy.conf - Tinyproxy HTTP proxy daemon configuration file
|
|
|
|
|
|
|
|
|
|
|
|
SYNOPSIS
|
|
|
|
--------
|
|
|
|
|
|
|
|
*tinyproxy.conf*
|
|
|
|
|
|
|
|
|
|
|
|
DESCRIPTION
|
|
|
|
-----------
|
|
|
|
|
2009-09-20 01:34:04 +08:00
|
|
|
`tinyproxy(8)` reads its configuration file, typically stored in
|
|
|
|
`/etc/tinyproxy/tinyproxy.conf` (or passed to Tinyproxy with -c on the
|
|
|
|
command line). This manpage describes the syntax and contents of the
|
|
|
|
configuration file.
|
|
|
|
|
|
|
|
The Tinyproxy configuration file contains key-value pairs, one per
|
|
|
|
line. Lines starting with `#` and empty lines are comments and are
|
|
|
|
ignored. Keywords are case-insensitive, whereas values are
|
|
|
|
case-sensitive. Values may be enclosed in double-quotes (") if they
|
|
|
|
contain spaces.
|
|
|
|
|
|
|
|
The possible keywords and their descriptions are as follows:
|
|
|
|
|
|
|
|
*User*::
|
|
|
|
|
|
|
|
The user which the Tinyproxy process should run as, after the
|
2009-09-20 14:25:47 +08:00
|
|
|
initial port-binding has been done as the `root` user. Either the
|
|
|
|
user name or the UID may be specified.
|
2009-09-20 01:34:04 +08:00
|
|
|
|
|
|
|
*Group*::
|
|
|
|
|
|
|
|
The group which the Tinyproxy process should run as, after the
|
2009-09-20 14:25:47 +08:00
|
|
|
initial port-binding has been done as the `root` user. Either the
|
2009-09-20 14:23:44 +08:00
|
|
|
group name or the GID may be specified.
|
2009-09-20 01:34:04 +08:00
|
|
|
|
|
|
|
*Port*::
|
|
|
|
|
|
|
|
The port which the Tinyproxy service will listen on. If the port is
|
|
|
|
less than 1024, you will need to start the Tinyproxy process as the
|
2009-09-20 14:25:47 +08:00
|
|
|
`root` user.
|
2009-09-19 12:27:24 +08:00
|
|
|
|
2009-09-20 07:53:04 +08:00
|
|
|
*Listen*::
|
|
|
|
|
|
|
|
By default, Tinyproxy listens for connections on all available
|
|
|
|
interfaces (i.e. it listens on the wildcard address `0.0.0.0`).
|
|
|
|
With this configuration parameter, Tinyproxy can be told to listen
|
|
|
|
only on one specific address.
|
|
|
|
|
|
|
|
*Bind*::
|
|
|
|
|
|
|
|
This allows you to specify which address Tinyproxy will bind
|
|
|
|
to for outgoing connections to web servers or upstream proxies.
|
|
|
|
|
|
|
|
*BindSame*::
|
|
|
|
|
|
|
|
If this boolean parameter is set to `yes`, then Tinyproxy will
|
|
|
|
bind the outgoing connection to the IP address of the incoming
|
|
|
|
connection that triggered the outgoing request.
|
|
|
|
|
|
|
|
*Timeout*::
|
|
|
|
|
|
|
|
The maximum number of seconds of inactivity a connection is
|
|
|
|
allowed to have before it is closed by Tinyproxy.
|
2009-09-19 12:27:24 +08:00
|
|
|
|
2009-09-22 05:47:45 +08:00
|
|
|
*ErrorFile*::
|
|
|
|
|
|
|
|
This parameter controls which HTML file Tinyproxy returns when a
|
|
|
|
given HTTP error occurs. It takes two arguments, the error number
|
|
|
|
and the location of the HTML error file.
|
|
|
|
|
|
|
|
*DefaultErrorFile*::
|
|
|
|
|
|
|
|
This parameter controls the HTML template file returned when an
|
|
|
|
error occurs for which no specific error file has been set.
|
|
|
|
|
|
|
|
|
|
|
|
*StatFile*::
|
|
|
|
|
|
|
|
This configures the HTML file that Tinyproxy sends when
|
|
|
|
a request for the stathost is received. If this parameter is
|
|
|
|
not set, Tinyproxy returns a hardcoded basic statistics page.
|
|
|
|
See the STATHOST section in the `tinyproxy(8)` manual page
|
|
|
|
for details.
|
|
|
|
|
|
|
|
|
|
|
|
Note that the StatFile and the error files configured with ErrorFile
|
|
|
|
and DefaultErrorFile are template files that can contain a few
|
|
|
|
template variables that Tinyproxy expands prior to delivery.
|
|
|
|
Examples are "\{cause}" for an abbreviated error description and
|
|
|
|
"\{detail}" for a datiled error message. The `tinyproxy(8)`
|
|
|
|
manual page contains a description of all template variables.
|
|
|
|
|
2009-09-22 06:19:12 +08:00
|
|
|
*LogFile*::
|
|
|
|
|
|
|
|
This controls the location of the file to which Tinyproxy
|
|
|
|
writes its debug output. Alternatively, Tinyproxy can log
|
|
|
|
to syslog -- see the Syslog option.
|
|
|
|
|
|
|
|
*Syslog*::
|
|
|
|
|
2009-09-27 18:41:30 +08:00
|
|
|
When set to `On`, this option tells Tinyproxy to write its
|
2009-09-22 06:19:12 +08:00
|
|
|
debug messages to syslog instead of to a log file configured
|
|
|
|
with `LogFile`. These two options are mutually exclusive.
|
|
|
|
|
|
|
|
*LogLevel*::
|
|
|
|
|
|
|
|
This sets the log level. Allowed values are:
|
|
|
|
|
|
|
|
* Critical (least verbose)
|
|
|
|
* Error
|
|
|
|
* Warning
|
|
|
|
* Notice
|
|
|
|
* Connect (log connections without Info's noise)
|
|
|
|
* Info (most verbose)
|
|
|
|
|
|
|
|
The LogLevel logs from the set level and above. For example, if
|
|
|
|
the LogLevel was set to Warning, than all log messages from
|
|
|
|
Warning to Critical would be output, but Notice and below would be
|
|
|
|
suppressed.
|
|
|
|
|
2009-09-22 06:22:19 +08:00
|
|
|
*PidFile*::
|
|
|
|
|
|
|
|
This option controls the location of the file where the main
|
|
|
|
Tinyproxy process stores its process ID for signalling purposes.
|
|
|
|
|
2009-09-27 18:40:44 +08:00
|
|
|
*XTinyproxy*::
|
|
|
|
|
|
|
|
Setting this option to `Yes` tells Tinyproxy to add a header
|
|
|
|
`X-Tinyproxy` containing the client's IP address to the request.
|
|
|
|
|
2009-09-28 14:36:59 +08:00
|
|
|
*[No] Upstream*::
|
|
|
|
|
|
|
|
This option allows you to set up a set of rules for deciding
|
|
|
|
whether an upstream a proxy server is to be used, based on the
|
|
|
|
host or domain of the site being accessed. The rules are stored
|
|
|
|
in the order encountered in the configuration file and the
|
|
|
|
LAST matching rule wins. There are three possible forms for
|
|
|
|
spcifying upstream rules:
|
|
|
|
|
|
|
|
* 'upstream host:port' turns proxy upstream support on generally.
|
|
|
|
|
|
|
|
* 'upstream host:port "site_spec"' turns on the upstream proxy for
|
|
|
|
the sites matching `site_spec`.
|
|
|
|
|
|
|
|
* 'no upstream "site_spec"' turns off upstream support for sites
|
|
|
|
matching `site_spec`.
|
|
|
|
|
|
|
|
The site can be specified in various forms as a hostname, domain
|
|
|
|
name or as an IP range:
|
|
|
|
|
|
|
|
* 'name' matches host exactly
|
|
|
|
* '.name' matches any host in domain "name"
|
|
|
|
* '.' matches any host with no domain (in 'empty' domain)
|
|
|
|
* 'IP/bits' matches network/mask
|
|
|
|
* 'IP/mask' matches network/mask
|
|
|
|
|
2009-09-28 14:40:35 +08:00
|
|
|
*MaxClients*::
|
|
|
|
|
|
|
|
Tinyproxy creates one child process for each connected client.
|
|
|
|
This options specifies the absolute highest number processes that
|
|
|
|
will be created. With other words, only MaxClients clients can be
|
|
|
|
connected to Tinyproxy simultaneously.
|
2009-09-28 14:36:59 +08:00
|
|
|
|
2009-09-28 15:26:16 +08:00
|
|
|
*MinSpareServers*::
|
|
|
|
*MaxSpareServers*::
|
|
|
|
|
|
|
|
Tinyproxy always keeps a certain number of idle child processes
|
|
|
|
so that it can handle new incoming client requests quickly.
|
|
|
|
`MinSpareServer` and `MaxSpareServers` control the lower and upper
|
|
|
|
limits for the number of spare processes. I.e. when the number of
|
|
|
|
spare servers drops below `MinSpareServers` then Tinyproxy will
|
|
|
|
start forking new spare processes in the background and when the
|
|
|
|
number of spare processes exceeds `MaxSpareServers` then Tinyproxy
|
|
|
|
will kill off extra processes.
|
|
|
|
|
2009-09-28 15:28:14 +08:00
|
|
|
*StartServers*::
|
|
|
|
|
|
|
|
The number of servers to start initially. This should usually be
|
|
|
|
set to a value between MinSpareServers and MaxSpareServers.
|
|
|
|
|
2009-09-28 15:36:20 +08:00
|
|
|
*MaxRequestsPerChild*::
|
|
|
|
|
|
|
|
This limits the number of connections that a child process
|
|
|
|
will handle before it is killed. The default value is `0`
|
|
|
|
which disables this feature. This option is meant as an
|
|
|
|
emergency measure in the case of problems with memory leakage.
|
|
|
|
In that case, setting `MaxRequestsPerChild` to a value of e.g.
|
|
|
|
1000, or 10000 can be useful.
|
|
|
|
|
2009-09-28 14:36:59 +08:00
|
|
|
|
2009-09-19 12:27:24 +08:00
|
|
|
BUGS
|
|
|
|
----
|
|
|
|
|
|
|
|
To report bugs in Tinyproxy, please visit
|
|
|
|
<https://www.banu.com/tinyproxy/support/[https://www.banu.com/tinyproxy/support/]>.
|
|
|
|
|
|
|
|
|
|
|
|
COPYRIGHT
|
|
|
|
---------
|
|
|
|
|
|
|
|
Copyright (c) 1998-2000 Steven Young;
|
|
|
|
Copyright (c) 2000-2001 Robert James Kaes;
|
|
|
|
Copyright (c) 2009 Mukund Sivaraman;
|
|
|
|
Copyright (c) 2009 Michael Adam.
|
|
|
|
|
|
|
|
This program is distributed under the terms of the GNU General Public
|
|
|
|
License version 2 or above. See the COPYING file for additional
|
|
|
|
information.
|