tinyproxy(8) A light-weight HTTP proxy daemon


tinyproxy [-vldch]


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.


tinyproxy accepts the following options:

-c <config-file>

Use an alternate configuration file.


Don't daemonize and stay in the foreground. Useful for debugging purposes.


Display a short help screen of command line arguments and exit.


Display the licensing agreement.


Display version information and exit.


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.


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.


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 few template variables.


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


The full HTTP request line.


The abbreviated cause of the error condition.


The IP address of the client making the request.


The hostname of the client making the request.


The version of Tinyproxy.


The package name. Presently, resolves to tinyproxy.


The current date/time in HTTP format.

In addition, almost all templates support:


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.


Tinyproxy returns a 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 runtime to any name or IP address with the configuration variable StatHost.

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


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


To report bugs in Tinyproxy, please visit <https://www.banu.com/tinyproxy/>.


Written by the Tinyproxy project team.


Copyright (c) 1998-2000 Steven Young; Copyright (c) 2000-2001 Robert James Kaes; Copyright (c) 2009-2010 Mukund Sivaraman; Copyright (c) 2009-2010 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.