spider/html/connect.html
2001-04-09 23:23:04 +00:00

207 lines
7.2 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<title>Connecting to other Clusters</title>
<meta name="Keywords" content="DX Cluster, DXSpider, Spider, Packet Cluster, DXCluster, Pavillion Software, AK1A, AX25, AX.25, WWV, Packet Radio, Amateur Radio, Propagation, DX, DXing, G1TLH, GB7TLH, Dirk Koopman, Mailing list, Linux, RedHat, PERL">
<meta name="Description" content="Software and systems for realtime digital communications between amateur radio stations for the provision of information on propagation conditions and stations operating">
<meta name="Author" content="Dirk Koopman G1TLH">
<link rel=stylesheet href="style.css" type="text/css" title="default stylesheet">
</head>
<body TEXT="#000000" LINK="#0000ff" VLINK="#800080" BGCOLOR="#FFFFFF">
<FONT COLOR="#606060">
<hr>
<h2>Connecting to other Clusters</h2>
<hr>
</font>
<address><a href="mailto:djk@tobit.co.uk">Dirk Koopman G1TLH</a></address>
<p>
<!-- Created: Sun Dec 13 20:25:14 GMT 1998 -->
<!-- hhmts start -->
Last modified: Tue Apr 10 00:21:34 BST 2001
<!-- hhmts end -->
<p>At the moment, anybody can connect inwards at any time from outside, either by ax25 or by
telnet (assuming you have followed the instructions in <a href="install.html">installation</a>
instructions. However, in order to connect outwards, you will need to create <em>connect</em> scripts.
<p><em>Connect</em> scripts live in the <tt>/spider/connect</tt> directory and are simple ascii scripts
that are written using a normal editor. There are a couple of examples in the issue directory.
<p>Here are a few of basic types, first a telnet connection where the
client is set up in the passwd file thus:-
<pre>
gb7djk:x:1372:1291::/home/gb7djk:/usr/bin/perl /spider/perl/client.pl gb7djk telnet
</pre>
and the connect script would be:-
<pre>
timeout 15
# this is a comment
connect telnet dirkl.tobit.co.uk
'login' 'gb7djk'
'word' 'gb7djk'
client gb7djk telnet
</pre>
<p>For a connect that requires a login and execution of the programs
from a normal shell, do:-
<pre>
timeout 15
connect telnet dirkl.tobit.co.uk
'login' 'gb7djk'
'word' 'gb7djk'
'\$' 'cd /spider/perl'
# set the line to prevent echoing, leaving this out will
# confuse whole networks for hours!
'\$' 'stty -echo raw'
# tell GB7DJK that you are GB7DJK-1
'\$' '/spider/src/client gb7djk-1 telnet'
# tell GB7DJK-1 that it is connected to GB7DJK
# you can leave this out if you call this script 'gb7djk'
client gb7djk telnet
</pre>
<p>a ax25 example:-
<pre>
timeout 60
abort (Busy|Sorry|Fail)
# don't forget to chmod 4775 netrom_call!
connect ax25 /usr/sbin/netrom_call bbs gb7djk-0 g1tlh-0
'Connect' ''
'Connect' 'c np7'
'Connect' 'c gb7dxm'
'Connect' ''
</pre>
The <tt>-0</tt> ssid is important if you want it to work reliably. Obviously if you are
using a different ssid then you would use that.
<p>A AGW Engine example would be very similar and look like this:-
<pre>
timeout 60
abort (Busy|Sorry|Fail)
connect agw 2 g1tlh
'Connect' ''
'Connect' 'c np7'
'Connect' 'c gb7dxm'
'Connect' ''
</pre>
<p>A connection is started manually by typing in <tt>connect &lt;scriptname&gt;</tt> on a sysop enabled
<tt>client.pl</tt> session. For example:-
<pre>
G1TLH de GB7DJK 13-Dec-1998 2041Z > connect gb7djk-1
connection to GB7DJK-1 started
G1TLH de GB7DJK 13-Dec-1998 2043Z >
</pre>
<p>You can watch the progress of the connection (if you have <tt>connect</tt>
debugging enabled [<tt>set/debug connect</tt>]) on the
<tt>cluster.pl</tt> screen and you should see something like this:-
<pre>
&lt;- D G1TLH connect gb7djk-1
-> D G1TLH connection to GB7DJK-1 started
-> D G1TLH G1TLH de GB7DJK 13-Dec-1998 2046Z >
timeout set to 15
CONNECT sort: telnet command: dirkl.tobit.co.uk
CHAT "login" -> "gb7djk"
received "
Red Hat Linux release 5.1 (Manhattan)
Kernel 2.0.35 on an i586
"
received "login: "
sent "gb7djk"
CHAT "word" -> "gb7djk"
received "gb7djk
"
received "Password: "
sent "gb7djk"
Connected to GB7DJK-1, starting normal protocol
&lt;- O GB7DJK-1 telnet
-> B GB7DJK-1 0
GB7DJK-1 channel func state 0 -> init
&lt;- D GB7DJK-1
&lt;- D GB7DJK-1 Last login: Sun Dec 13 17:59:56 from dirk1
&lt;- D GB7DJK-1 PC38^GB7DJK-1^~
&lt;- D GB7DJK-1 PC18^ 1 nodes, 0 local / 1 total users Max users 0 Uptime 0 00:00^5447^~
etc
</pre>
<p>The connect scripts consist of lines which start with the
following keywords or symbols:-
<ul>
<li><b>#</b> All lines starting with a <b>#</b> are
ignored, as are wholly blank lines.
<br><br>
<li><b>timeout</b> followed by a number is the number of
seconds to wait for a command to complete. If there is no
<b>timeout</b> specified in the script then the default is 60
seconds.
<br><br>
<li><b>abort</b> 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.
<br><br>
<li><b>connect</b> followed by <b>ax25</b>, <b>telnet</b> or <b>agw</b>
and some type dependent information.
<p>In the case of a
<b>telnet</b> 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).
<p>In the case of an <b>ax25</b> session then this would
normally be a call to <tt>/usr/sbin/ax25_call</tt> or
<tt>/usr/sbin/netrom_call</tt> as in the example above. It is your
responsibility to get your node and other ax25 parameters to
work before going down this route!
<p>For <b>agw</b> connections you will need a port number (starting
from 1) and the callsign of the first &quot;hop&quot; along the way.
<br><br>
<li><b>'</b> is the delimiting character for a word or
phrase of an expect/send line in a <tt>chat</tt> 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.
<p>When the left hand string has found what it is looking (if
it is) then the right hand string is sent to the connection.
<p>This process is repeated for every line of <tt>chat</tt> script.
<br><br>
<li><b>client</b> 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 <tt>other</tt> which actually connects to
<tt>GB7DJK-1</tt> [instead of a script called
<tt>gb7djk-1</tt>]).
</ul>
<!-- Standard Footer!! -->
<p>&nbsp;</p>
<p>
<FONT COLOR="#606060"><hr></font>
<font color="#FF0000" size=-2>
Copyright &copy; 1998 by Dirk Koopman G1TLH. All Rights Reserved<br>
</font>
<font color="#000000" size=-2>$Id$</font>
</body>
</html>