diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/.gitignore | 3 | ||||
-rw-r--r-- | docs/Makefile.am | 8 | ||||
-rw-r--r-- | docs/filter-howto.txt | 52 | ||||
-rw-r--r-- | docs/http-error-codes.txt | 61 | ||||
-rw-r--r-- | docs/http-rfcs.txt | 23 | ||||
-rw-r--r-- | docs/man8/.gitignore | 3 | ||||
-rw-r--r-- | docs/man8/Makefile.am | 23 | ||||
-rw-r--r-- | docs/man8/tinyproxy.txt.in | 152 |
8 files changed, 325 insertions, 0 deletions
diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 0000000..71605d5 --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1,3 @@ +Makefile +Makefile.in +report.sh diff --git a/docs/Makefile.am b/docs/Makefile.am new file mode 100644 index 0000000..b7d199b --- /dev/null +++ b/docs/Makefile.am @@ -0,0 +1,8 @@ +SUBDIRS = \ + man8 + +EXTRA_DIST = \ + http-error-codes.txt \ + http-rfcs.txt \ + filter-howto.txt + diff --git a/docs/filter-howto.txt b/docs/filter-howto.txt new file mode 100644 index 0000000..3acd813 --- /dev/null +++ b/docs/filter-howto.txt @@ -0,0 +1,52 @@ +Using tinyproxy with Your Home/Small Business Network + +Written: Patrick L. McGillan +Edited: Robert James Kaes (2002-06-04) +----------------------------------------------------- + +Being as this will be the most common usage and there were no clear +basic instructions for this scenario, I thought I would write up what +I did for my home system. + +First the layout of the network. A cable modem is connected through a +Linksys Router to a small hub. The computers hanging off the hub and +have a clear shot to the Internet. + +So, the connection from the Internet to the hub looks like this: + + Internet->Cable TV Line->Cable Modem->Linksys Router->Hub/Switch + +Restricting Internet web access on some of those computers (connected +to the hub) is what using tinyproxy is all about. Using the web +interface to the Linksys router, turn off all Internet access to those +computers that shouldn't have direct access to the Internet. This is +done by clicking on the advanced tab and entering the IP number in the +filter range. Now those computers have to go through a proxy, for +their access, as they have no direct access. + +On one of the Linux computers which still has Internet access (I use +an old 486) load up tinyproxy. Now have the users configure their +Internet Explorer/Netscape Navigator programs to use the proxy on the +tinyproxy computer box, along with the port number declared in the +tinyproxy configuration file. By default, there is no blocking of web +sites with this program, so I created a file, called "filter", to +start blocking some sites. + +Example "filter" file entries: + +bannerads.zwire.com +ad.doubleclick.net +ads.fortunecity.com + +This filter file usually goes into the same folder, as your +configuration file. Be sure and uncomment the 'Filter' line in your +configuration file and make sure it points at your newly created +filter file. + +------------------------------------------------------------------------ + +Copyright (c) 2002 Patrick L. McGillan <pmcgillan@dwx.com> + +This document is released under the same copyright license as +tinyproxy. You should have found a COPYING file in the top level +directory of this distribution which contains the current license.
\ No newline at end of file diff --git a/docs/http-error-codes.txt b/docs/http-error-codes.txt new file mode 100644 index 0000000..b7fb0cd --- /dev/null +++ b/docs/http-error-codes.txt @@ -0,0 +1,61 @@ +The following is a list of the response codes for the various states of +the server. Currently I would recommend we stick to the HTTP/1.0 return +codes for our errors. Once we start to support the distinction between +HTTP/1.0 and HTTP/1.1 requests from the client, then we can use the +HTTP/1.1 responses. + -- rjkaes + +[ Taken from Apache: The Definitive Guide by Ben Laurie & Peter Laurie. + Published by O'Reilly & Associates, Inc. pg. 146-147 ] + +HTTP/1.0 +200 OK +302 Found +304 Not Modified +400 Bad Request +401 Unauthorized +403 Forbidden +404 Not Found +500 Server error +501 Not Implemented +502 Bad Gateway +503 Out of resources + +HTTP/1.1 +100 Continue +101 Switching Protocols +200 Ok +201 Created +202 Accepted +203 Non-Authoritative Information +204 No Content +205 Reset Content +206 Partial Content +300 Multiple Choices +301 Moved Permanently +302 Moved Temporarily +303 See Other +304 Not Modified +305 Use Proxy +400 Bad Request +401 Unauthorized +402 Payment Required +403 Forbidden +404 Not Found +405 Method Not Allowed +406 Not Acceptable +407 Proxy Authentication Required +408 Request Time-out +409 Conflict +410 Gone +411 Length Required +412 Precondition Failed +413 Request Entity Too Large +414 Request-URI Too Large +415 Unsupported Media Type +500 Internal Server Error +501 Not Implemented +502 Bad Gateway +503 Service Unavailable +504 Gateway Time-out +505 HTTP Version not supported diff --git a/docs/http-rfcs.txt b/docs/http-rfcs.txt new file mode 100644 index 0000000..081d2d0 --- /dev/null +++ b/docs/http-rfcs.txt @@ -0,0 +1,23 @@ +INFO +---- +The following files were/are useful for the proper coding of +tinyproxy. Please note: someday tinyproxy will actually be RFC +compliant, but today is not that day. Right now tinyproxy is pretty +close to being HTTP/1.0 compliant, but there are probably a few +incompatibilities kicking around. + +RFCs +---- +1945 Hypertext Transfer Protocol -- HTTP/1.0 +2396 Uniform Resource Identifiers (URI): Generic Syntax +2616 Hypertext Transfer Protocol -- HTTP/1.1 +2617 HTTP Authentication: Basic and Digest Access Authentication + +POSSIBLE LOCATION +----------------- +There are many places to obtain a copy of the RFCs, but I use + + http://www.rfc-editor.org/ + +since it provides a great search feature for finding all the RFCs for +a particular topic. diff --git a/docs/man8/.gitignore b/docs/man8/.gitignore new file mode 100644 index 0000000..5ff70f3 --- /dev/null +++ b/docs/man8/.gitignore @@ -0,0 +1,3 @@ +*.1 +*.xml +*.txt diff --git a/docs/man8/Makefile.am b/docs/man8/Makefile.am new file mode 100644 index 0000000..b9eefaa --- /dev/null +++ b/docs/man8/Makefile.am @@ -0,0 +1,23 @@ +MAN8_FILES = \ + tinyproxy.txt + +A2X_ARGS = \ + -d manpage \ + -f manpage + +man_MANS = \ + $(MAN8_FILES:.txt=.8) + +.txt.8: +if HAVE_A2X + a2x $(A2X_ARGS) $< +else + @echo "*** a2x (asciidoc) is required to regenerate $(@) ***"; exit 1; +endif + +EXTRA_DIST = \ + $(man_MANS) + +CLEANFILES = \ + $(MAN8_FILES:.txt=.8) \ + $(MAN8_FILES:.txt=.xml) diff --git a/docs/man8/tinyproxy.txt.in b/docs/man8/tinyproxy.txt.in new file mode 100644 index 0000000..569bb81 --- /dev/null +++ b/docs/man8/tinyproxy.txt.in @@ -0,0 +1,152 @@ +TINYPROXY(8) +============ +:man source: Version @VERSION@ +:man manual: Tinyproxy manual + +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: + +. When an error occurred, a corresponding error page is returned. +. 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. + + +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 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 +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; +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. |