summaryrefslogtreecommitdiffhomepage
path: root/doc/man8/tinyproxy.txt
blob: f1238cf4931c5b8506286f94d495fc6acdd39e59 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
TINYPROXY(8)
============

NAME
----

tinyproxy - A light-weight HTTP proxy daemon


SYNOPSIS
--------

*tinyproxy* [-vldch]


DESCRIPTION
-----------

*tinyproxy* is a light-weight HTTP proxy daemon designed to consume a
minimum amount of system resources. It listens on a given TCP port and
handles HTTP proxy requests. Designed from the ground up to be fast and
yet small, it is an ideal solution for use cases such as embedded
deployments where a full featured HTTP proxy is required, but the system
resources for a larger proxy are unavailable.


OPTIONS
-------

*tinyproxy* accepts the following options:

*-c <config-file>*::
    Use an alternate configuration file.

*-d*::
    Don't daemonize and stay in the foreground. Useful for debugging purposes.

*-h*::
    Display a short help screen of command line arguments and exit.

*-l*::
    Display the licensing agreement.

*-v*::
    Display version information and exit.


SIGNALS
-------

In addition to command-line options, there are also several signals that
can be sent to *tinyproxy* while it is running to generate debugging
information and to force certain events.

*SIGHUP*::
    Force Tinyproxy to do a garbage collection on the current
    connections linked list. This is usually done automatically after a
    certain number of connections have been handled.


TEMPLATE FILES
--------------

There are two occasions when tinyproxy delivers HTML pages to
the client on it's own right:

1. When an error occurred, a corresponding error page is returned.
2. When a request for the stathost is made, a page summarizing the
   connection statistics is returned. (See STATHOST below.)

The layout of both error pages and the statistics page can be
controlled via configurable HTML template files that are plain
HTML files that additionally understand a couple of template
variables.


TEMPLATE VARIABLES
------------------

There are several standard HTML variables that are available in every
template file:

*request*::
    The full HTTP request line.

*cause*::
    The abbreviated cause of the error condition.

*clientip*::
    The IP address of the client making the request.

*clienthost*::
    The hostname of the client making the request.

*version*::
    The version of tinyproxy.

*package*::
    The package name. Presently, resolves to 'tinyproxy'.

*date*::
    The current date/time in HTTP format.

In addition, almost all templates support:

*detail*::
    A detailed, plain English explanation of the error and possible
    causes.

When tinyproxy finds a variable name enclosed in braces, e.g.
"\{request}", then this is replaced by the value of the corresponding
variable before delivery of the page.


STATHOST
--------

Tinyproxy returns an html page with connection statistics when it
receives a HTTP request for a certain host -- the stathost.
The stathost name defaults to tinyproxy.stats and can be changed
at compile-time with the configure switch `--with-stathost` to any
name or IP address.

The stat file template can be changed at runtime through the configuration
variable StatFile.


FILES
-----

`/etc/tinyproxy/tinyproxy.conf`, `/var/run/tinyproxy.pid`, `/var/log/tinyproxy.log`

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.

This program is distributed under the terms of the GNU General Public
License version 2 or above. See the COPYING file for additional
information.