<p>
<!-- Created: Sun Dec 13 20:25:14 GMT 1998 -->
<!-- hhmts start -->
-Last modified: Sun Dec 20 17:04:05 GMT 1998
+Last modified: Fri Jan 8 14:27:18 GMT 1999
<!-- 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>
<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 couple of basic types, first a telnet connection:-
+ <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-1 telnet
+ 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
+ '\$' 'client.pl 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>and an ax25 example:-
+
+ <p>and finally an ax25 example:-
<pre>
timeout 60
abort (Busy|Sorry|Fail)
'Connect' 'c np7'
'Connect' 'c gb7dxm'
'Connect' ''
+ # you can leave this out if you call the script 'gb7dxm'
client gb7dxm ax25
</pre>
<p>
<!-- Created: Sun Dec 13 20:25:14 GMT 1998 -->
<!-- hhmts start -->
-Last modified: Mon Dec 28 23:19:21 GMT 1998
+Last modified: Sun Jan 24 15:30:56 GMT 1999
<!-- hhmts end -->
<h4>Introduction</h4>
# the values for mycall and version
15,30 * * * spawn("echo $main::mycall is a DXSpider Version $main::version DX Cluster system")
+
+ # then there is always the highly contentious one like this little jem which
+ # checks every hour to see if a certain callsign is connected to another cluster
+ # and silently disconnects him. This is an example only (of course...)
+
+ 23 * * * * rcmd('rcmd/gb7dxm disc/noinform G9TLH') if present_on('G9TLH', 'GB7DXM')
+
</pre>
It is important remember that these <tt>crontab</tt> routines execute in line with the main
- cluster code, so if you create a long, slow <tt>crontab</tt> commands, it will impact on the speed
+ cluster code, so if you create a long, slow <tt>crontab</tt> command, it will impact on the speed
and usability of the cluster as a whole.
<h4>Standard Routines</h4>
execute just about any command you like, but <em>be warned</em> <b>stdin</b> and <b>stdout</b> are
still connected to the same terminal (if any) as the cluster daemon. Any unix command and arguments
can used, see <tt>exec</tt> in the <a href="http://www.perl.com">perl</a> documentation.
+ <p><li><b>disconnect(<callsign>)</b> - disconnects a locally connected station from your node.
+ <p><li><b>rcmd(<node-call>, <command>)</b> - send a command to another node in exactly the
+ same way as, for example, <tt>RCMD/GB7TLH disc GB7DJK</tt> typed on a sysop console.
+ <p><li><b>present(<exact-callsign>)</b> and <b>presentish(<callsign-no-ssid>)</b> - returns
+ true if the
+ callsign is connected anywhere on the cluster either with the exact callsign or with the callsign
+ minus its ssid respectively.
+ <p><li><b>present_on(<exact-callsign>, <node>)</b> and <b>presentish_on(<callsign-no-ssid>, <node>)</b> - returns
+ true if the
+ callsign is connected on the node specified either with the exact callsign or with the callsign
+ minus its ssid respectively.
+ <p><li><b>last_connect(<callsign>)</b> - Returns the last connect time of the callsign or the
+ current time if it is currently connected locally.
</ul>
<h4>Caveats</h4>