summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/.gitignore3
-rw-r--r--docs/Makefile.am8
-rw-r--r--docs/filter-howto.txt52
-rw-r--r--docs/http-error-codes.txt61
-rw-r--r--docs/http-rfcs.txt23
-rw-r--r--docs/man8/.gitignore3
-rw-r--r--docs/man8/Makefile.am23
-rw-r--r--docs/man8/tinyproxy.txt.in152
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.