home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / programs / comms_networking / tube / ReadMe < prev    next >
Text File  |  1998-02-07  |  7KB  |  186 lines

  1. _____________________________________________________________________________
  2.  
  3.                                  “ T u b e ”
  4.  
  5.                             Network tunnel server
  6.  
  7.                           by David Thomas, © 1997-8
  8.                          version 0.80 (21 Jan 1998)
  9. _____________________________________________________________________________
  10.  
  11.  
  12.  Warning: If you are using substitutions, then those connections will be
  13.           limited to passing at most 512-byte strings.  (This is a
  14.           limitation of the current version).
  15.  
  16.  
  17.  Introduction ______________________________________________________________
  18.  
  19.   This is a utility which creates a transparent connection between networked
  20. computers.  This allows a networked computer to share access to those
  21. services it can access itself.
  22.  
  23.   It can potentially be used to allow access to, say, Internet services over
  24. a closed network upon which only a single machine has actual Internet access.
  25. (It was written to allow me to properly access news servers - since I can
  26. only post news on some of the UNIX accounts I have).
  27.  
  28.   The program itself has been created to be portable between different
  29. operating systems.  In practice, this means that on RISC OS it runs in a
  30. TaskWindow.
  31.  
  32.  
  33.  In Detail _________________________________________________________________
  34.  
  35.   Diagrammatically, a typical TCP/IP stream connection is like this :
  36.  
  37.  
  38.     [client] <-----------------------data----------------------> [server]
  39.  
  40.  
  41. the client connects directly to the server and the two machines exchange
  42. data.  However, sometimes you can't connect directly to a server, but may
  43. have access to a machine which can.  This is where Tube can help.
  44.  
  45.  
  46.     [client] <--------data-------> [proxy] <-------data--------> [server]
  47.  
  48.  
  49. The proxy server (Tube) operates on a configurable port.  Any connections
  50. made to this port cause a connection to be made from the proxy server to the
  51. server at the other end (the 'remote host').  Data then sent from the client
  52. is relayed to the server and vice versa.
  53.  
  54. In operation, Tube is (usually) transparent in operation - it simply
  55. transfers incoming client data to outgoing server data, and vice versa.
  56.  
  57.  
  58.  Usage _____________________________________________________________________
  59.  
  60.   Tube is configured by means of a text file, listing options and values the
  61. server should use.  The first, and only, parameter you should pass to the
  62. program is the name of this configuration file.  For example :
  63.  
  64.                                 tube tubeconf
  65.  
  66. will run Tube, configuring itself from the text file 'tubeconf'.  A TaskObey
  67. script to do this for you is supplied.
  68.  
  69.   The tubeconf file has the following format :
  70.  
  71.         # Tube configuration file
  72.         #
  73.         ProxyBufferSize    512
  74.         ProxyPort    2001
  75.         MaxConnections    4
  76.         RemoteHost    news.whizz.com
  77.         RemoteHostPort    119
  78.         ClientSubst    CMSDTHOM@livjm.ac.uk,dave@whizz.com
  79.         ServerSubst    dave@whizz.com,CMSDTHOM@livjm.ac.uk
  80.  
  81. Lines beginning with the hash character '#' are treated as comments and as
  82. such are ignored.  Identifiers ('ProxyPort') and values ('2001') MUST be
  83. separated by Tab characters.
  84.  
  85. ProxyBufferSize  is the size of the buffer used for *each* side of the
  86.                  connection.  Increase this value for higher performance.
  87.                  There is a practical limit of 512 bytes if you intend to use
  88.                  substitution.
  89.  
  90. ProxyPort        sets the port upon which the server will operate.  This can
  91.                  be any value from 1 to 65535, although you are advised to
  92.                  pick a relatively high port number (>1024).
  93.  
  94. MaxConnections   sets the maximum number of simultaneous connections the
  95.                  server will handle.
  96.  
  97. RemoteHost       names the computer the proxy will attempt connect each
  98.                  incoming connection to.
  99.  
  100. RemoteHostPort   is the port number the proxy will connect to. (e.g. 80 for
  101.                  a web server, 119 for a news server, 8080 for a web proxy).
  102.  
  103. ClientSubst      takes a string such as "fred,joe", and if the string "fred"
  104. ServerSubst      is found, "joe" is substituted.  This is provided to allow
  105.                  dynamic translation of news postings, so that articles
  106.                  appear to be coming from the correct machine.  You can have
  107.                  many substitution lines.  ClientSubst substitutes text
  108.                  travelling from the client.  ServerSubst substitutes text
  109.                  travelling from the server.
  110.  
  111.                  You should only use substitution on text links.
  112.  
  113.  
  114.  Example ___________________________________________________________________
  115.  
  116.   Say you have a small network of computers, one of which can dial up and
  117. access the Internet.  It might be nice to allow the other computers on your
  118. network to access the Internet too.  You can achieve this by running a copy
  119. of Tube for each external service you want to access.
  120.  
  121.   Lets say you have three machines named Earth, Mars and Venus.  Earth is
  122. connected to the Internet by a dial-in connection.  Running the proxy on
  123. Earth with the following configuration :
  124.  
  125.         # Tube: Web Tunnel
  126.         #
  127.         ProxyBufferSize    8192
  128.         ProxyPort    8080
  129.         MaxConnections    8
  130.         RemoteHost    wwwcache.isp.com
  131.         RemoteHostPort    8080
  132.  
  133. will set up a port 8080 which connects through to the Internet provider's web
  134. cache machine (wwwcache.isp.com).
  135.  
  136.   This means a web browser running on Mars or Venus can be told to use
  137. 'Earth:8080' as a proxy server, and hence gain access to the World-Wide Web.
  138.  
  139.  
  140.  Notes _____________________________________________________________________
  141.  
  142.  · When using substitution, output is only written when the client sends
  143.    end-of-line codes.
  144.  
  145.  · Tubeconf file lines should not exceed 256 characters (inc terminator).
  146.  
  147.  · It sucks the life out of my computer, due to it running in a TaskWindow.
  148.    I'm looking into resolving this problem.
  149.  
  150.  
  151.  History ___________________________________________________________________
  152.  
  153. 0.80 (21 Jan 1998)
  154.  - Now will cope - theoretically - with an infinite number of connections and
  155.    substitutions, on either side of the connection.
  156.  - If no substitutions are needed, then a fast method is used.  This is
  157.    independent of side, so one side can be 'fast' whilst the other can be
  158.    running 'slow'.
  159.  - Can now configure the proxy buffer sizes.
  160.  
  161. 0.35 (31 Dec 1997)
  162.  - First release version.
  163.  - Renamed to 'Tube' from 'NewsProxy' to reflect its genericity.
  164.  
  165.  
  166.  Copyright _________________________________________________________________
  167.  
  168.   This software (“Tube”) is copyrighted work of David Thomas, it is supplied
  169. “as is”; using it is entirely at your own risk.  I provide no warranty as to
  170. the fitness of this software for any purpose.  You are free to distribute
  171. this application to anyone you may wish, as long as you are not supplying it
  172. for personal or commercial profit and it is supplied with all of the
  173. software’s files complete and unmodified.
  174.  
  175.   Email: dpt@tristone.co.uk
  176.  
  177.   Web:   http://www.tristone.co.uk/davespace/
  178.  
  179.   Post:  Mr D. P. Thomas
  180.          20 Rosebery Avenue
  181.          Waterloo
  182.          Liverpool
  183.          L22 2BH
  184. _____________________________________________________________________________
  185.  
  186.