summaryrefslogtreecommitdiff
path: root/README
blob: 5f08441a8db856c501d72915cf62f8695cd53e1d (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
Tinyproxy
=========

Tinyproxy is a small, efficient HTTP/SSL proxy daemon released under the
GNU General Public License.  Tinyproxy is very useful in a small network
setting, where a larger proxy would either be too resource intensive, or
a security risk.  One of the key features of Tinyproxy is the buffering
connection concept.  In effect, Tinyproxy will buffer a high speed
response from a server, and then relay it to a client at the highest
speed the client will accept.  This feature greatly reduces the problems
with sluggishness on the Internet.  If you are sharing an Internet
connection with a small network, and you only want to allow HTTP
requests to be allowed, then Tinyproxy is a great tool for the network
administrator.

For more info, please visit:

	https://www.banu.com/tinyproxy/


Installation
------------

To install this package under a UNIX derivative, read the INSTALL file.
Tinyproxy uses a standard GNU `configure` script. Basically you should
be able to do:

----
./configure
make
make install
----

in the top level directory to compile and install Tinyproxy. There are
additional command line arguments you can supply to `configure`. They
include:

	--enable-debug		If you would like to turn on full
				debugging support
	--enable-xtinyproxy	Compile in support for the XTinyproxy
				header, which is sent to any web
				server in your domain.
	--enable-filter		Allows Tinyproxy to filter out certain
				domains and URLs.
	--enable-upstream	Enable support for proxying connections
				through another proxy server.
	--enable-transparent-proxy
				Allow Tinyproxy to be used as a
				transparent proxy daemon
	--enable-static		Compile a static version of Tinyproxy

        --with-stathost=HOST	Set the default name of the stats host


Support
-------

If you are having problems with Tinyproxy, please submit a bug report
using Tinyproxy as the component at:

	https://www.banu.com/bugzilla/

You may also wish to subscribe to the Tinyproxy mailing lists. To do so
please visit:

	https://www.banu.com/mailman/listinfo/tinyproxy-announce-list
	https://www.banu.com/mailman/listinfo/tinyproxy-users-list
	https://www.banu.com/mailman/listinfo/tinyproxy-developers-list

for more information on how to subscribe and post messages to the lists.

Please recompile Tinyproxy with full debug support (--enable-debug) and
include a copy of the log file, and any assert errors reported by
Tinyproxy.  Note that Tinyproxy will output memory statistics to
standard error if compiled with debugging support so you might want to
redirect the output to a file for later examination.  Also, if you feel
up to it, try running Tinyproxy under your debugger and report the error
your received and a context listing of the location.  Under gdb you
would run Tinyproxy like so:

	 gdb tinyproxy

	 (gdb) run -c location_of_tinyproxy_conf -d 2>/dev/null

Now access the port Tinyproxy is on until you receive a break in the
gdb. You can now type:

	 (gbd) l

to produce a context listing of the location of the error.  Send a
copy to the authors.


Contributing
------------

If you would like to contribute a feature, or a bug fix to the Tinyproxy
source, please send a patch (preferably as a unified diff. i.e. `diff
-u` against the "master" branch of the Tinyproxy source code git
repository to tinyproxy-developers-list.  Please include a description
of what your patch does.

Tinyproxy's git repository is git://www.banu.com/tinyproxy.git. The
following command creates a local copy:

----
git clone git://www.banu.com/tinyproxy.git
----

The easiest and preferred way to create a patch for submission is to
check in your changes locally and use `git format-patch` to generate a
mbox-style commit file that contains the diff along with the commit
message and author information.  Such a format-patch file can be
integrated into the upstream repository, automatically keeping the
commit message and author information.

You can also meet developers and discuss development issues and patches
in the #tinyproxy IRC channel on Freenode (irc.freenode.net).