home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ARM Club 3
/
TheARMClub_PDCD3.iso
/
programs
/
comms_networking
/
tube
/
ReadMe
< prev
next >
Wrap
Text File
|
1998-02-07
|
7KB
|
186 lines
_____________________________________________________________________________
“ T u b e ”
Network tunnel server
by David Thomas, © 1997-8
version 0.80 (21 Jan 1998)
_____________________________________________________________________________
Warning: If you are using substitutions, then those connections will be
limited to passing at most 512-byte strings. (This is a
limitation of the current version).
Introduction ______________________________________________________________
This is a utility which creates a transparent connection between networked
computers. This allows a networked computer to share access to those
services it can access itself.
It can potentially be used to allow access to, say, Internet services over
a closed network upon which only a single machine has actual Internet access.
(It was written to allow me to properly access news servers - since I can
only post news on some of the UNIX accounts I have).
The program itself has been created to be portable between different
operating systems. In practice, this means that on RISC OS it runs in a
TaskWindow.
In Detail _________________________________________________________________
Diagrammatically, a typical TCP/IP stream connection is like this :
[client] <-----------------------data----------------------> [server]
the client connects directly to the server and the two machines exchange
data. However, sometimes you can't connect directly to a server, but may
have access to a machine which can. This is where Tube can help.
[client] <--------data-------> [proxy] <-------data--------> [server]
The proxy server (Tube) operates on a configurable port. Any connections
made to this port cause a connection to be made from the proxy server to the
server at the other end (the 'remote host'). Data then sent from the client
is relayed to the server and vice versa.
In operation, Tube is (usually) transparent in operation - it simply
transfers incoming client data to outgoing server data, and vice versa.
Usage _____________________________________________________________________
Tube is configured by means of a text file, listing options and values the
server should use. The first, and only, parameter you should pass to the
program is the name of this configuration file. For example :
tube tubeconf
will run Tube, configuring itself from the text file 'tubeconf'. A TaskObey
script to do this for you is supplied.
The tubeconf file has the following format :
# Tube configuration file
#
ProxyBufferSize 512
ProxyPort 2001
MaxConnections 4
RemoteHost news.whizz.com
RemoteHostPort 119
ClientSubst CMSDTHOM@livjm.ac.uk,dave@whizz.com
ServerSubst dave@whizz.com,CMSDTHOM@livjm.ac.uk
Lines beginning with the hash character '#' are treated as comments and as
such are ignored. Identifiers ('ProxyPort') and values ('2001') MUST be
separated by Tab characters.
ProxyBufferSize is the size of the buffer used for *each* side of the
connection. Increase this value for higher performance.
There is a practical limit of 512 bytes if you intend to use
substitution.
ProxyPort sets the port upon which the server will operate. This can
be any value from 1 to 65535, although you are advised to
pick a relatively high port number (>1024).
MaxConnections sets the maximum number of simultaneous connections the
server will handle.
RemoteHost names the computer the proxy will attempt connect each
incoming connection to.
RemoteHostPort is the port number the proxy will connect to. (e.g. 80 for
a web server, 119 for a news server, 8080 for a web proxy).
ClientSubst takes a string such as "fred,joe", and if the string "fred"
ServerSubst is found, "joe" is substituted. This is provided to allow
dynamic translation of news postings, so that articles
appear to be coming from the correct machine. You can have
many substitution lines. ClientSubst substitutes text
travelling from the client. ServerSubst substitutes text
travelling from the server.
You should only use substitution on text links.
Example ___________________________________________________________________
Say you have a small network of computers, one of which can dial up and
access the Internet. It might be nice to allow the other computers on your
network to access the Internet too. You can achieve this by running a copy
of Tube for each external service you want to access.
Lets say you have three machines named Earth, Mars and Venus. Earth is
connected to the Internet by a dial-in connection. Running the proxy on
Earth with the following configuration :
# Tube: Web Tunnel
#
ProxyBufferSize 8192
ProxyPort 8080
MaxConnections 8
RemoteHost wwwcache.isp.com
RemoteHostPort 8080
will set up a port 8080 which connects through to the Internet provider's web
cache machine (wwwcache.isp.com).
This means a web browser running on Mars or Venus can be told to use
'Earth:8080' as a proxy server, and hence gain access to the World-Wide Web.
Notes _____________________________________________________________________
· When using substitution, output is only written when the client sends
end-of-line codes.
· Tubeconf file lines should not exceed 256 characters (inc terminator).
· It sucks the life out of my computer, due to it running in a TaskWindow.
I'm looking into resolving this problem.
History ___________________________________________________________________
0.80 (21 Jan 1998)
- Now will cope - theoretically - with an infinite number of connections and
substitutions, on either side of the connection.
- If no substitutions are needed, then a fast method is used. This is
independent of side, so one side can be 'fast' whilst the other can be
running 'slow'.
- Can now configure the proxy buffer sizes.
0.35 (31 Dec 1997)
- First release version.
- Renamed to 'Tube' from 'NewsProxy' to reflect its genericity.
Copyright _________________________________________________________________
This software (“Tube”) is copyrighted work of David Thomas, it is supplied
“as is”; using it is entirely at your own risk. I provide no warranty as to
the fitness of this software for any purpose. You are free to distribute
this application to anyone you may wish, as long as you are not supplying it
for personal or commercial profit and it is supplied with all of the
software’s files complete and unmodified.
Email: dpt@tristone.co.uk
Web: http://www.tristone.co.uk/davespace/
Post: Mr D. P. Thomas
20 Rosebery Avenue
Waterloo
Liverpool
L22 2BH
_____________________________________________________________________________