update html docs
[spider.git] / txt / adminmanual.txt
index 537cacdcc34e4c40eb6ce2e7ce37e609a21a8a9d..c2a3f93c2ba789377c14dac178f32883e2ba88e9 100644 (file)
@@ -1,6 +1,6 @@
   The DXSpider Installation and Administration Manual
   Ian Maude, G0VGS, (ianmaude@btinternet.com)
-  Version 1.34 (Revision 1.01) April 2001
+  $Date$ $Revision$
 
   A reference for SysOps of the DXSpider DXCluster program.
   ______________________________________________________________________
 
      3.1 Allowing ax25 connects from users
      3.2 Allowing telnet connects from users
-     3.3 Setting up node connects
-     3.4 Connection scripts
-     3.5 Starting the connection
-     3.6 Telnet echo
+     3.3 Setting up telnet connects (from 1.47 onwards)
+     3.4 Setting up for AGW Engine (1.47 onwards)
+     3.5 Setting up node connects
+     3.6 Connection scripts
+     3.7 Starting the connection
+     3.8 Telnet echo
 
   4. Automating things
 
 
 
 
-  +\bo  MD5-1.7.tar.gz
+  +\bo  Data-Dumper-2.101.tar.gz
 
-  +\bo  Data-Dumper-2.10.tar.gz
+  +\bo  TimeDate-1.10.tar.gz
 
-  +\bo  TimeDate-1.08.tar.gz
-
-  +\bo  IO-1.20.tar.gz
+  +\bo  IO-1.20.tar.gz (for perl 5.00403 and lower)
 
   +\bo  Net-Telnet-3.02.tar.gz
 
 
 
 
+  For most purposes this is not desirable. The only time you probably
+  will need this is when you need to allow other cluster nodes that are
+  using SSID's in. In this case it owuld probably be better to use the
+  first example and then add a specific line for that node like this:
+
+
+
+       GB7DJK-2  * * * * * *  - sysop /spider/src/client client gb7djk-2 ax25
+       default  * * * * * *  - sysop /spider/src/client client %u ax25
+
+
+
+
 
   3\b3.\b.2\b2.\b.  A\bAl\bll\blo\bow\bwi\bin\bng\bg t\bte\bel\bln\bne\bet\bt c\bco\bon\bnn\bne\bec\bct\bts\bs f\bfr\bro\bom\bm u\bus\bse\ber\brs\bs
 
+
+  From version 1.47 there is a new (more efficient) way of doing this
+  (see next section) but, if you prefer, the method of doing it
+  described here will continue to work just fine.
+
+
   Allowing telnet connections is quite simple.  Firstly you need to add
   a line in /etc/services to allow connections to a port number, like
   this ....
 
 
 
-       spdlogin   8000/tcp     # spider anonymous login port
+       spdlogin   7300/tcp     # spider anonymous login port
 
 
 
 
 
 
-
-
-  This needs to be added above the standard services such as ftp, telnet
-  etc.  Once this is done, you need to restart inetd like this ....
+  Once this is done, you need to restart inetd like this ....
 
 
 
 
 
 
-  ./client login telnet
+       ./client login telnet
 
 
 
 
 
 
-       telnet localhost 8000
+       telnet localhost 7300
 
 
 
   You should now get the login prompt and be able to login as before.
 
 
-  3\b3.\b.3\b3.\b.  S\bSe\bet\btt\bti\bin\bng\bg u\bup\bp n\bno\bod\bde\be c\bco\bon\bnn\bne\bec\bct\bts\bs
+  3\b3.\b.3\b3.\b.  S\bSe\bet\btt\bti\bin\bng\bg u\bup\bp t\bte\bel\bln\bne\bet\bt c\bco\bon\bnn\bne\bec\bct\bts\bs (\b(f\bfr\bro\bom\bm 1\b1.\b.4\b47\b7 o\bon\bnw\bwa\bar\brd\bds\bs)\b)
+
+  From version 1.47 you can chose to allow the perl cluster.pl program
+  to allow connections direct (i.e. not via the /spider/src/client
+  interface program). If you are using Windows then this is the only
+  method available of allowing incoming telnet connections.
+
+
+  To do this you need first to remove any line that you may previously
+  have set up in /etc/inetd.conf. Remember to:-
+
+
+
+       killall -HUP inetd
+
+
+
+
+
+  to make the change happen...
+
+
+  Having done that then you need to copy the file
+  /spider/perl/Listeners.pm to /spider/local and then edit it. You will
+  need to uncomment the line containing "0.0.0.0" and select the correct
+  port to listen on. So that it looks like this:-
+       @listen = (
+           ["0.0.0.0", 7300],
+       );
+
+
+
+
+
+  As standard, the listener will listen on all interfaces
+  simultaniously. If you require more control than this, you can specify
+  each interface individually:-
+
+
+
+       @listen = (
+           ["gb7baa.dxcluster.net", 7300],
+           ["44.131.16.2", 6300],
+       );
+
+
+
+
+
+  This will only be successful if the IP addresses on each interface are
+  static.  If you are using some kind of dynamic IP addressing then the
+  'default' method is the only one which will work.
+
+
+  Restart the cluster.pl program to enable the listener.
+
+
+  One important difference with the internal listener is that no echoing
+  is done by the cluster program. Users will need to set 'local-echo' on
+  in their telnet clients if it isn't set automatically (as per the
+  standards). Needless to say this will probably only apply to Windows
+  users.
+
+
+  3\b3.\b.4\b4.\b.  S\bSe\bet\btt\bti\bin\bng\bg u\bup\bp f\bfo\bor\br A\bAG\bGW\bW E\bEn\bng\bgi\bin\bne\be (\b(1\b1.\b.4\b47\b7 o\bon\bnw\bwa\bar\brd\bds\bs)\b)
+
+  AGW Engine is a Windows based ax25 stack. You can connect to an AGW
+  engine from Linux as well as Windows based machines.
+
+
+  In order to enable access to an AGW Engine you need to copy
+  /spider/perl/AGWConnect.pm to /spider/local and edit it. Specifically
+  you must:-
+
+
+  +\bo  set $enable to 1.
+
+  +\bo  set $login and $passwd to the values set up in your AGW
+     installation.  If you haven't set any there, then you should not
+     touch these values.
+
+  +\bo  You can connect to a remote AGW engine (ie on some other machine)
+     by changing $addr and $port appropriately.
+
+  +\bo  Restart the cluster.pl program
+
+
+
+
+
+
+
+  3\b3.\b.5\b5.\b.  S\bSe\bet\btt\bti\bin\bng\bg u\bup\bp n\bno\bod\bde\be c\bco\bon\bnn\bne\bec\bct\bts\bs
 
   In order to allow cluster node connections, spider needs to know that
   the connecting callsign is a cluster node.  This is the case whether
 
 
 
+
   The case does not matter as long as you have a version of DXSpider
   later than 1.33.  Earlier versions required the callsign to be in
   upper case.
        ./client gb7baa
        PC38^GB7MBC^~
 
-
-
-
   If the callsign you just set up as a cluster node is for an incoming
   connect, this is all that needs to be done.  If the connection is to
   be outgoing then a connection script needs to be written.
 
 
-  3\b3.\b.4\b4.\b.  C\bCo\bon\bnn\bne\bec\bct\bti\bio\bon\bn s\bsc\bcr\bri\bip\bpt\bts\bs
-
-  Because DXSpider operates under Linux, connections can be made using
-  just about any protocol;  AX25, NETRom, tcp/ip, ROSE etc are all
-  possible examples.  Connect scripts live in the /spider/connect
-  directory and are simple ascii files.  Writing a script for
-  connections is therefore relatively simple.
-
+  Sometimes you make a mistake... Honest, it does happen.  If you want
+  to make a node back to being a normal user, regardless of what type it
+  is, do:
 
-  The connect scripts consist of lines which start with the following
-  keywords or symbols:-
 
 
+       unset/node gb7baa
 
 
 
 
 
+  3\b3.\b.6\b6.\b.  C\bCo\bon\bnn\bne\bec\bct\bti\bio\bon\bn s\bsc\bcr\bri\bip\bpt\bts\bs
 
+  Because DXSpider operates under Linux, connections can be made using
+  just about any protocol;  AX25, NETRom, tcp/ip, ROSE etc are all
+  possible examples.  Connect scripts live in the /spider/connect
+  directory and are simple ascii files.  Writing a script for
+  connections is therefore relatively simple.
 
 
+  The connect scripts consist of lines which start with the following
+  keywords or symbols:-
 
 
 
+     #\b#  All lines starting with a # are ignored, as are completely blank
+        lines.
 
 
+     t\bti\bim\bme\beo\bou\but\bt
+        timeout followed by a number is the number of seconds to wait
+        for a command to complete. If there is no timeout specified in
+        the script then the default is 60 seconds.
 
 
+     a\bab\bbo\bor\brt\bt
+        abort is a regular expression containing one or more strings to
+        look for to abort a connection. This is a perl regular
+        expression and is executed ignoring case.
 
 
+     c\bco\bon\bnn\bne\bec\bct\bt
+        connect followed by ax25, agw (for Windows users) or telnet and
+        some type dependent information. In the case of a telnet
+        connection, there can be up to two parameters.  The first is the
+        ip address or hostname of the computer you wish to connect to
+        and the second is the port number you want to use (this can be
+        left out if it is a normal telnet session).  In the case of an
+        ax25 session then this would normally be a call to ax25_call or
+        netrom_call as in the example above. It is your responsibility
+        to get your node and other ax25 parameters to work before going
+        down this route!
 
 
+     '\b'  line in a chat type script. The words/phrases normally come in
+        pairs, either can be empty. Each line reads input from the
+        connection until it sees the string (or perl regular expression)
+        contained in the left hand string. If the left hand string is
+        empty then it doesn't read or wait for anything. The comparison
+        is done ignoring case.  When the left hand string has found what
+        it is looking for (if it is) then the right hand string is sent
+        to the connection.  This process is repeated for every line of
+        chat script.
 
 
+     c\bcl\bli\bie\ben\bnt\bt
+        client starts the connection, put the arguments you would want
+        here if you were starting the client program manually. You only
+        need this if the script has a different name to the callsign you
+        are trying to connect to (i.e. you have a script called other
+        which actually connects to GB7DJK-1 [instead of a script called
+        gb7djk-1]).
 
-  #               All lines starting with a # are ignored, as are completely
-                  blank lines.
 
-  timeout         timeout followed by a number is the number of seconds to wait for a
-                  command to complete. If there is no timeout specified in the script
-                  then the default is 60 seconds.
+  There are many possible ways to configure the script but here are
+  three examples, one for a NETRom/AX25 connect, one for AGW engines and
+  one for tcp/ip.
 
-  abort           abort is a regular expression containing one or more strings to look
-                  for to abort a connection. This is a perl regular expression and is
-                  executed ignoring case.
 
-  connect         connect followed by ax25 or telnet and some type dependent
-                  information. In the case of a telnet connection, there can be up to
-                  two parameters.
-                  The first is the ip address or hostname of the computer you wish to
-                  connect to and the second is the port number you want to use (this
-                  can be left out if it is a normal telnet session).
-                  In the case of an ax25 session then this would normally be a call to
-                  ax25_call or netrom_call as in the example above. It is your
-                  responsibility to get your node and other ax25 parameters to work
-                  before going down this route!
 
-  '               line in a chat type script. The words/phrases normally come in pairs,
-                  either can be empty. Each line reads input from the connection until
-                  it sees the string (or perl regular expression) contained in the
-                  left hand string. If the left hand string is empty then it doesn't
-                  read or wait for anything. The comparison is done ignoring case.
-                  When the left hand string has found what it is looking for (if it is)
-                  then the right hand string is sent to the connection.
-                  This process is repeated for every line of chat script.
+       timeout 60
+       abort (Busy|Sorry|Fail)
+       # don't forget to chmod 4775 netrom_call!
+       connect ax25 /usr/sbin/netrom_call bbs gb7djk g1tlh
+       # you can leave this out if you call the script 'gb7dxm'
+       client gb7dxm ax25
 
-  client          client starts the connection, put the arguments you would want here
-                  if you were starting the client program manually. You only need this
-                  if the script has a different name to the callsign you are trying to
-                  connect to (i.e. you have a script called other which actually
-                  connects to GB7DJK-1 [instead of a script called gb7djk-1]).
 
 
 
 
-  There are many possible ways to configure the script but here are two
-  examples, one for a NETRom/AX25 connect and one for tcp/ip.
 
 
 
        timeout 60
        abort (Busy|Sorry|Fail)
-       # don't forget to chmod 4775 netrom_call!
-       connect ax25 /usr/sbin/netrom_call bbs gb7djk g1tlh
+       # this does exactly the same as the previous example
+       # the '1' is the AGW port number to connect thru for g1tlh
+       connect agw 1 g1tlh
        # you can leave this out if you call the script 'gb7dxm'
        client gb7dxm ax25
 
        client gb7djk telnet
 
 
+
+
+
   Both these examples assume that everything is set up properly at the
   other end.  You will find other examples in the /spider/examples
   directory.
 
 
-  3\b3.\b.5\b5.\b.  S\bSt\bta\bar\brt\bti\bin\bng\bg t\bth\bhe\be c\bco\bon\bnn\bne\bec\bct\bti\bio\bon\bn
+
+
+  3\b3.\b.7\b7.\b.  S\bSt\bta\bar\brt\bti\bin\bng\bg t\bth\bhe\be c\bco\bon\bnn\bne\bec\bct\bti\bio\bon\bn
 
   You start the connection, from within a sysop enabled cluster login,
   by typing in the word _\bc_\bo_\bn_\bn_\be_\bc_\bt followed by a script name like this ....
 
   This will start a connection using the script called _\bg_\bb_\b7_\bd_\bj_\bk_\b-_\b1.  You
   can follow the connection by watching the term or console from where
-  you started _\bc_\bl_\bu_\bs_\bt_\be_\br_\b._\bp_\bl.  You should see something like this ...
+  you started _\bc_\bl_\bu_\bs_\bt_\be_\br_\b._\bp_\bl.  From version 1.47 onwards, you will need to
+  set/debug connect first.  You should see something like this ...
 
 
 
   avoid this use the following line ...
 
 
+
+
+
+
   In a script, this might look like ...
 
 
 
 
 
-  3\b3.\b.6\b6.\b.  T\bTe\bel\bln\bne\bet\bt e\bec\bch\bho\bo
+  3\b3.\b.8\b8.\b.  T\bTe\bel\bln\bne\bet\bt e\bec\bch\bho\bo
 
   Cluster links in particular suffer greatly from the presence of telnet
   echo.  This is caused by the telnet negotiation itself and can create
   Telnet echo itself should only be a problem if the connection is being
   made to the telnet port (23).  This port uses special rules that
   include echo negotiation.  If the connection is to a different port,
-  such as 8000, this negotiation does not happen and therefore no echo
+  such as 7300, this negotiation does not happen and therefore no echo
   should be present.
 
 
   # check every 10 minutes to see if gb7xxx is connected and if not
   # start a connect job going
 
-  0,10,20,30,40,50 * * * * start_connect('gb7xxx') if !connected('gb7xxx')
+  0,10,20,30,40,50 * * * * start_connect('gb7xxx') if unless connected('gb7xxx')