[BB#91] Fix upstream proxy support.
[obnox/tinyproxy.git] / README
1 Tinyproxy
2 =========
3
4 Tinyproxy is a small, efficient HTTP/SSL proxy daemon released under the
5 GNU General Public License.  Tinyproxy is very useful in a small network
6 setting, where a larger proxy would either be too resource intensive, or
7 a security risk.  One of the key features of Tinyproxy is the buffering
8 connection concept.  In effect, Tinyproxy will buffer a high speed
9 response from a server, and then relay it to a client at the highest
10 speed the client will accept.  This feature greatly reduces the problems
11 with sluggishness on the Internet.  If you are sharing an Internet
12 connection with a small network, and you only want to allow HTTP
13 requests to be allowed, then Tinyproxy is a great tool for the network
14 administrator.
15
16 For more info, please visit:
17
18 <https://www.banu.com/tinyproxy/>
19
20
21 Installation
22 ------------
23
24 To install this package under a UNIX derivative, read the INSTALL file.
25 Tinyproxy uses a standard GNU `configure` script. Basically you should
26 be able to do:
27
28 ----
29 ./configure
30 make
31 make install
32 ----
33
34 in the top level directory to compile and install Tinyproxy. There are
35 additional command line arguments you can supply to `configure`. They
36 include:
37
38 --enable-debug::
39     If you would like to turn on full debugging support.
40
41 --enable-xtinyproxy::
42     Compile in support for the XTinyproxy header, which is sent to any
43     web server in your domain.
44
45 --enable-filter::
46     Allows Tinyproxy to filter out certain domains and URLs.
47
48 --enable-upstream::
49     Enable support for proxying connections through another proxy server.
50
51 --enable-transparent-proxy::
52     Allow Tinyproxy to be used as a transparent proxy daemon.
53
54 --enable-static::
55     Compile a static version of Tinyproxy.
56
57 --with-stathost=HOST::
58     Set the default name of the stats host.
59
60
61 Support
62 -------
63
64 If you are having problems with Tinyproxy, please submit a bug report
65 using Tinyproxy as the product at:
66
67 <https://www.banu.com/bugzilla/>
68
69 You may also wish to subscribe to the Tinyproxy mailing lists. To do so
70 please visit:
71
72 <https://www.banu.com/mailman/listinfo/tinyproxy-announce-list>
73
74 <https://www.banu.com/mailman/listinfo/tinyproxy-users-list>
75
76 <https://www.banu.com/mailman/listinfo/tinyproxy-developers-list>
77
78 for more information on how to subscribe and post messages to the lists.
79
80
81 Contributing
82 ------------
83
84 If you would like to contribute a feature, or a bug fix to the Tinyproxy
85 source, please send a patch (preferably as a unified diff. i.e. `diff
86 -u` against the 'master' branch of the Tinyproxy source code git
87 repository to 'tinyproxy-developers-list'.  Please include a description
88 of what your patch does.
89
90 Tinyproxy's source code is maintained in a Git repository. The following
91 command creates a local copy of it:
92
93 ----
94 git clone git://www.banu.com/tinyproxy.git
95 ----
96
97 The easiest and preferred way to create a patch for submission is to
98 check in your changes locally against the 'master' branch and use `git
99 format-patch` to generate a mbox-style patch file that contains the diff
100 along with the commit message and author information.  Such a formatted
101 patch file can be integrated into the upstream repository, automatically
102 keeping the commit message and author information.
103
104 You can also meet developers and discuss development issues and patches
105 in the `#tinyproxy` IRC channel on Freenode (`irc.freenode.net`).