1 <!doctype linuxdoc system>
5 <!-- Title information -->
7 <title>The DXSpider Installation and Administration Manual
8 <author>Ian Maude, G0VGS, (ianmaude@btinternet.com)
9 <date>Version 1.34 (Revision 1.01) April 2001
11 A reference for SysOps of the DXSpider DXCluster program.
14 <!-- Table of contents -->
17 <!-- Begin the document -->
19 <sect>Installation (Original version by Iain Philipps, G0RDI)
24 This section describes the installation of DX Spider v1.46 on a
25 <htmlurl url="http://www.redhat.com" name="RedHat"> Linux Distribution.
26 Wherever possible I will try to include differences for other distributions.
27 I do not intend to try and cover the installation of Linux or the setup
28 of the AX25 utilities. If you need help on this then read Iains original
29 installation guide that comes with the Spider distribution.
32 I am assuming a general knowledge of Linux and its commands. You should
33 know how to use <em>tar</em> and how to edit files using your favourite editor.
36 The crucial ingredient for all of this is
37 <htmlurl url="http://www.perl.org" name="Perl">. Earlier versions of
38 Spider required perl 5.004, however it is now <it>STRONGLY</it> recommended
39 that you use at least version 5.005_03 as this is the version being used
40 in the development of Spider.
42 <P>In addition to the standard Red Hat distribution you will require the
43 following modules from <htmlurl url="http://www.cpan.org/CPAN.html" name="http://www.cpan.org/CPAN.html"> ...
49 <item> Data-Dumper-2.10.tar.gz
50 <item> TimeDate-1.08.tar.gz
52 <item> Net-Telnet-3.02.tar.gz
53 <item> Curses-1.05.tar.gz
54 <item> Time-HiRes-01.20.tar.gz
60 <em>Do</em> get the latest versions of these packages and install them
61 but use the above list as the earliest versions usable.
66 I will assume that you have already downloaded the latest tarball of
67 the DXSpider software and are ready to install it. I am assuming version
68 1.46 for this section but of course you would use the latest version.
71 Login as root and create a user to run the cluster under. <bf><it>UNDER
72 NO CIRCUMSTANCES USE ROOT AS THIS USER!</it></bf>. I am going to use
73 the name <em>sysop</em>. You can call it anything you wish. Depending
74 on your security requirements you may wish to use an existing user,
75 however this is your own choice.
83 Now set a password for the user ...
88 # Retype new UNIX password:
89 passwd: all authentication tokens updated successfully
92 <sect1>Installing the software
95 Now to unpack the DX Spider distribution, set symbolic links and group
96 permissions. Copy the tarball to /home/sysop and do the following.
100 # tar xvfz spider-1.46.tar.gz
101 # ln -s ~sysop/spider /spider
102 # groupadd -g 251 spider (or another number)
105 If you do not have the command <em>groupadd</em> available to you simply
106 add a line in /etc/group by hand.
109 # vi /etc/group (or your favorite editor)
112 You also need to add some others to the group, including your own callsign
113 (this will be used as an alias) and root. The finished line in /etc/group
114 should look something like this
117 spider:x:251:sysop,g0vgs,root
121 The next step is to set the permissions on the Spider directory tree and files ....
124 # chown -R sysop.spider spider
125 # find . -type d -exec chmod 2775 {} \;
126 # find . -type f -exec chmod 775 {} \;
130 This last step allows various users of the group <em>spider</em> to have
131 write access to all the directories. This is not really needed just yet
132 but will be useful when web interfaces start to appear.
135 Finally, you need to fix the permissions on the ax25_call and netrom_call
136 programs. Check where they are with the <em>locate</em> command and alter
137 the permissions with the <em>chmod</em> command like this ..
140 # chown root ax25_call netrom_call
141 # chmod 4775 ax25_call netrom_call
144 <sect1>Setting callsigns etc
147 Now login to your machine as the user you created earlier. In my case that
148 user is called <em>sysop</em>. Once logged in, issue the following commands ....
154 $ cp perl/DXVars.pm.issue local/DXVars.pm
156 $ vi DXVars.pm (or your favourite editor)
160 Using the distributed DXVars.pm as a a template, set your cluster callsign,
161 sysop callsign and other user info to suit your own environment. Note that
162 this a perl file which will be parsed and executed as part of the cluster. If
163 you get it wrong then perl will complain when you start the cluster process.
164 It is important only to alter the text of any section. Some of the lines look
165 a little odd. Take this line for example ....
168 $myemail = "ianmaude\@btinternet.com";
172 There appears to be an extra slash in there. However this has to be there
173 for the file to work so leave it in.
175 <P><bf>PLEASE USE CAPITAL LETTERS FOR CALLSIGNS</bf>
178 DON'T alter any file in /spider/perl, they are overwritten with every
179 release. Any files or commands you place in /spider/local or /spider/local_cmd
180 will automagically be used in preference to the ones in /spider/perl EVEN
181 while the cluster is running!
184 Save the new file and change directory to ../perl ....
191 Now type the following command which creates the basic user file with you as
198 <sect1>Starting up for the first time
201 We can now bring spider up for the first time and see if all is well or not!
202 It should look something like this ...
206 DXSpider DX Cluster Version 1.46
207 Copyright (c) 1998 Dirk Koopman G1TLH
209 loading band data ...
210 loading user file system ...
211 starting listener ...
212 reading existing message headers
214 orft we jolly well go ...
218 If all is well then login on another term or console as <em>sysop</em> and
219 cd to /spider/src. Now issue the following command ...
226 This should log you into the cluster as the sysop under the alias callsign we
227 set earlier. In this case the callsign is G0VGS. The cluster callsign is set
228 in the DXVars.pm file in /spider/local. In this case we will assume that this
229 was set as GB7MBC. You should therefore see this when you login ....
232 G0VGS de GB7MBC 19-Nov-1999 2150Z >
235 If you do, congratulations! If not, look over the instructions again, you
236 have probably missed something out. You can shut spider down again with the
244 and both the cluster and the client should return to Linux prompts.
246 <sect1>The Client program
249 In earlier versions of Spider, all the processes were Perl scripts. This
250 was fine but with a lot of users your computer memory would soon be used up.
251 To combat this a new client was written in "C". This client only works for
252 <em>incoming</em> connects at the moment. Before you can use it though it
253 has to be "made". CD to /spider/src and type <em>make</em>. You
254 should see the output on your screen and hopefully now have a small C program
255 called <em>client</em>. Leave it in this directory.
258 <sect>Quick installation guide
261 This section is designed for experienced Spider sysops who want to install
262 Spider from scratch. It is simply a check list of things that need to be
263 done without any explanations. The name in brackets at the end of each line
264 is the user that should be doing that process.
268 <item>Get the additional CPAN modules and install them (root)
269 <item>Create the "sysop" user and set a password (root)
270 <item>Put the Spider tarball in ~sysop and untar it (root)
271 <item>ln -s ~sysop/spider /spider (root)
272 <item>groupadd -g 251 spider (root)
273 <item>Add any more users you need to the group entry in /etc/group (root)
274 <item>Set the permissions on the spider tree (root)
275 <item>Fix permissions on ax25_call and netrom_call (root)
276 <item>Login as the sysop user
277 <item>cd to /spider (sysop)
278 <item>mkdir local (sysop)
279 <item>mkdir local_cmd (sysop)
280 <item>cp perl/DXVars.pm.issue local/DXVars.pm (sysop)
281 <item>cd to /spider/local and edit DXVars to set your details (sysop)
282 <item>cd ../perl (sysop)
283 <item>./create_sysop.pl (sysop)
284 <item>./cluster.pl (sysop)
287 Spider should now be running and you should be able to login using the
292 <item>Enter the correct line in ax25d.conf (root)
293 <item>Enter the correct line in /etc/services (root)
294 <item>Enter the correct line in /etc/inetd.conf (root)
295 <item>killall -HUP inetd (root)
298 Spider should now be able to accept logins via telnet, netrom and ax25.
302 <item>Start the cluster (sysop)
303 <item>set/node and type for links (sysop)
304 <item>Write any connect scripts (sysop)
305 <item>Edit /spider/crontab as required (sysop)
306 <item>Edit any other files as necessary (sysop)
307 <item>Set filters, hops and forwarding files (sysop)
309 <item>Enter the correct line in /etc/inittab (root)
314 <sect1>Allowing ax25 connects from users
317 As stated previously, the aim of this document is not to tell you how to
318 configure Linux or the ax25 utilities. However, you do need to add a line
319 in your ax25d.conf to allow connections to DXSpider for your users. For
320 each interface that you wish to allow connections on, use the following format ...
323 default * * * * * * - sysop /spider/src/client client %u ax25
326 or, if you wish your users to be able to use SSID's on their callsigns ..
329 default * * * * * * - sysop /spider/src/client client %s ax25
332 <sect1>Allowing telnet connects from users
335 Allowing telnet connections is quite simple. Firstly you need to add a line
336 in /etc/services to allow connections to a port number, like this ....
339 spdlogin 8000/tcp # spider anonymous login port
342 Then add a line in /etc/inetd.conf like this ....
345 spdlogin stream tcp nowait root /usr/sbin/tcpd /spider/src/client login telnet
349 This needs to be added above the standard services such as ftp, telnet etc.
350 Once this is done, you need to restart inetd like this ....
357 <P>Now login as <em>sysop</em> and cd spider/src. You can test that spider
358 is accepting telnet logins by issuing the following command ....
361 ./client login telnet
364 You should get a login prompt and on issuing a callsign, you will be given
365 access to the cluster. Note, you will not get a password login. There seems
366 no good reason for a password prompt to be given so it is not asked for.
369 Assuming all is well, then try a telnet from your linux console ....
372 telnet localhost 8000
376 You should now get the login prompt and be able to login as before.
378 <sect1>Setting up node connects
381 In order to allow cluster node connections, spider needs to know that the
382 connecting callsign is a cluster node. This is the case whether the connect
383 is incoming or outgoing. In spider this is a simple task and can be done in
387 Later versions of Spider can distinguish different software and treat them
388 differently. For example, the WCY beacon cannot be handles by AK1A type
389 nodes as AK1A does not know what to do with PC73. There are 4 different
390 types of node at present and although they may not have any major
391 differences at the moment, it allows for compatibility. The 4 types are ...
401 For now, we will assume that the cluster we are going to connect to is an
405 Start up the cluster as you did before and login as the sysop with client.
406 The cluster node I am wanting to make a connection to is GB7BAA but you would
407 obviously use whatever callsign you required. At the prompt type ...
414 The case does not matter as long as you have a version of DXSpider later than
415 1.33. Earlier versions required the callsign to be in upper case.
418 That is now set, it is as simple as that. To prove it, login on yet another
419 console as sysop, cd to spider/src and issue the command ...
422 ./client gb7baa (using the callsign you set as a node)
426 You should get an initialisation string from DXSpider like this ...
433 If the callsign you just set up as a cluster node is for an incoming connect,
434 this is all that needs to be done. If the connection is to be outgoing then
435 a connection script needs to be written.
437 <sect1>Connection scripts
440 Because DXSpider operates under Linux, connections can be made using just about
441 any protocol; AX25, NETRom, tcp/ip, ROSE etc are all possible examples.
442 Connect scripts live in the /spider/connect directory and are simple ascii files.
443 Writing a script for connections is therefore relatively simple.
446 The connect scripts consist of lines which start with the following keywords
451 # All lines starting with a # are ignored, as are completely
454 timeout timeout followed by a number is the number of seconds to wait for a
455 command to complete. If there is no timeout specified in the script
456 then the default is 60 seconds.
458 abort abort is a regular expression containing one or more strings to look
459 for to abort a connection. This is a perl regular expression and is
460 executed ignoring case.
462 connect connect followed by ax25 or telnet and some type dependent
463 information. In the case of a telnet connection, there can be up to
465 The first is the ip address or hostname of the computer you wish to
466 connect to and the second is the port number you want to use (this
467 can be left out if it is a normal telnet session).
468 In the case of an ax25 session then this would normally be a call to
469 ax25_call or netrom_call as in the example above. It is your
470 responsibility to get your node and other ax25 parameters to work
471 before going down this route!
473 ' ' is the delimiting character for a word or phrase of an expect/send
474 line in a chat type script. The words/phrases normally come in pairs,
475 either can be empty. Each line reads input from the connection until
476 it sees the string (or perl regular expression) contained in the
477 left hand string. If the left hand string is empty then it doesn't
478 read or wait for anything. The comparison is done ignoring case.
479 When the left hand string has found what it is looking for (if it is)
480 then the right hand string is sent to the connection.
481 This process is repeated for every line of chat script.
483 client client starts the connection, put the arguments you would want here
484 if you were starting the client program manually. You only need this
485 if the script has a different name to the callsign you are trying to
486 connect to (i.e. you have a script called other which actually
487 connects to GB7DJK-1 [instead of a script called gb7djk-1]).
491 There are many possible ways to configure the script but here are two examples,
492 one for a NETRom/AX25 connect and one for tcp/ip.
496 abort (Busy|Sorry|Fail)
497 # don't forget to chmod 4775 netrom_call!
498 connect ax25 /usr/sbin/netrom_call bbs gb7djk g1tlh
502 # you can leave this out if you call the script 'gb7dxm'
510 connect telnet dirkl.tobit.co.uk
513 # tell GB7DJK-1 that it is connected to GB7DJK
514 # you can leave this out if you call this script 'gb7djk'
519 Both these examples assume that everything is set up properly at the other end.
520 You will find other examples in the /spider/examples directory.
522 <sect1>Starting the connection
525 You start the connection, from within a sysop enabled cluster login, by typing
526 in the word <em>connect</em> followed by a script name like this ....
529 G0VGS de GB7MBC 13-Dec-1998 2041Z >connect gb7djk-1
530 connection to GB7DJK-1 started
531 G0VGS de GB7MBC 13-Dec-1998 2043Z >
534 This will start a connection using the script called <em>gb7djk-1</em>. You can
535 follow the connection by watching the term or console from where you started
536 <em>cluster.pl</em>. You should see something like this ...
539 <- D G1TLH connect gb7djk-1
540 -> D G1TLH connection to GB7DJK-1 started
541 -> D G1TLH G1TLH de GB7DJK 13-Dec-1998 2046Z >
543 CONNECT sort: telnet command: dirkl.tobit.co.uk
544 CHAT "login" -> "gb7djk"
546 Red Hat Linux release 5.1 (Manhattan)
547 Kernel 2.0.35 on an i586
551 CHAT "word" -> "gb7djk"
553 received "Password: "
555 Connected to GB7DJK-1, starting normal protocol
558 GB7DJK-1 channel func state 0 -> init
560 <- D GB7DJK-1 Last login: Sun Dec 13 17:59:56 from dirk1
561 <- D GB7DJK-1 PC38^GB7DJK-1^~
562 <- D GB7DJK-1 PC18^ 1 nodes, 0 local / 1 total users Max users 0 Uptime
569 With later versions of Spider there is a set/login command for users. This
570 tells them when a user or node logs in or out. If you do not add a line to
571 your scripts after the final line (or before the client line which should always
572 be last if needed) then the login/logout information will be sent to users
573 <it>before</it> the login actually completes. This means if a node is
574 unreachable, it will continue sending logins and logouts to users even though it
575 is not actually connecting. To avoid this use the following line ...
582 In a script, this might look like ...
586 abort (Busy|Sorry|Fail)
587 connect telnet mary 3000
589 '>' 'telnet 44.131.93.96 7305'
596 Cluster links in particular suffer greatly from the presence of telnet echo.
597 This is caused by the telnet negotiation itself and can create at worst severe
598 loops. At best it creates unnecessary bandwidth and large logfiles! There are
599 things that can be done to limit this problem but will not always work dependent
600 on the route taken to connect.
603 Telnet echo itself should only be a problem if the connection is being made to
604 the telnet port (23). This port uses special rules that include echo negotiation.
605 If the connection is to a different port, such as 8000, this negotiation does
606 not happen and therefore no echo should be present.
609 Sometimes it is not possible to make a direct connection to another node and this
610 can cause problems. There is a way of trying to suppress the telnet echo but
611 this will not always work, unfortunately it is difficult to be more specific.
612 Here is an example of what I mean ...
616 abort (Busy|Sorry|Fail)
617 connect telnet mary.lancs.ac.uk
620 '\$' 'stty -echo raw'
621 '\$' 'telnet 44.131.93.96'
625 So, the first connection is made by Spider. This is fine as Spider uses the
626 Net_Telnet script from within perl. This actually uses TCP rather than TELNET
627 so no negotiation will be done on the first connection. Once connected to
628 mary.lancs.ac.uk, the command is sent to suppress echo. Now a telnet is made
629 to a cluster node that is accepting connections on port 23. The problem with
630 this link is that the negotiation is made by the remote machine, therefore you
631 have no control over it. The chances are that this link will create echo and
632 there will be no way you can stop it.
635 <sect>Automating things
638 Ok, you should now have DXSpider running nicely and allowing connects by cluster
639 nodes or users. However, it has to be shutdown and restarted manually and if
640 connection scripts fail they have to be started again manually too, not much use
641 if you are not at the console! So, in this section we will automate both.
642 Firstly starting the cluster.
644 <sect1>Autostarting the cluster
647 This is not only a way to start the cluster automatically, it also works as a
648 watchdog, checking the sanity of DXSpider and respawning it should it crash for
649 any reason. Before doing the following, shutdown the cluster as you did earlier.
652 Login as root and bring up the /etc/inittab file in your favourite editor. Add
653 the following lines to the file near the end ...
656 ##Start DXSpider on bootup and respawn it should it crash
657 DX:3:respawn:/bin/su -c "/usr/bin/perl -w /spider/perl/cluster.pl" sysop >/dev/tty7
661 This line works fine for RedHat distributions. It is also fine for SuSE up to
662 7.0. From Suse 7.1 you need to add runlevels 2 and 5 like this ...
665 DX:235:respawn:/bin/su -c "/usr/bin/perl -w /spider/perl/cluster.pl" sysop >/dev/tty7
669 The line required for Slackware distributions is slightly different. My thanks to
670 Aurelio, PA3EZL for this information.
673 DX:23:respawn:/bin/su - sysop -c "/usr/bin/perl -w /spider/perl/cluster.pl" >/dev/tty7
677 This will automatically start DXSpider on tty7 (ALT-F7) on bootup and restart
678 it should it crash for any reason.
681 As root type the command <em>telinit q</em>. DXSpider should start up
682 immediately. You will see the output on tty7 and if you login as <em>sysop</em>
683 you should find everything running nicely.
686 So far so good, now to automate script connections...
688 <sect1>The crontab file
691 Login as <em>sysop</em> and create a file in /spider/local_cmd called crontab.
692 Edit it with your favourite editor and add a line like this (I have included
696 # check every 10 minutes to see if gb7xxx is connected and if not
697 # start a connect job going
699 0,10,20,30,40,50 * * * * start_connect('gb7xxx') if !connected('gb7xxx')
703 The callsign involved will be the callsign of the cluster node you are
704 going to connect to. This will now check every 10 minutes to see if
705 gb7xxx is connected, if it is then nothing will be done. If it is not,
706 then a connect attempt will be started.
709 There are probably lots of other things you could use this crontab file for.
710 If you want to know more about it, look at the
711 <htmlurl url="http://www.dxcluster.org/cron.html" name="DXSpider"> website
712 at the cron page where it is explained more fully.
717 Starting with version 1.13 there is simple hop control available on a per
718 node basis. Also it is possible to isolate a network completely so that you
719 get all the benefits of being on that network, but can't pass on information
720 from it to any other networks you may be connected to (or vice versa).
722 <sect1>Basic hop control
725 In /spider/data you will find a file called hop_table.pl. This is the file
726 that controls your hop count settings. It has a set of default hops on the
727 various PC frames and also a set for each node you want to alter the hops for.
728 You may be happy with the default settings of course, but this powerful tool
729 can help to protect and improve the network. The file will look something
734 # hop table construction
739 # default hopcount to use
742 # some variable hop counts based on message type
753 # the per node hop control thingy
785 Each set of hops is contained within a pair of curly braces and contains a
786 series of PC frame types. PC11 for example is a DX spot. The figures here
787 are not exhaustive but should give you a good idea of how the file works.
790 You can alter this file at any time, including whilst the cluster is running.
791 If you alter the file during runtime, the command <em>load/hops</em> will
792 bring your changes into effect.
794 <sect1>Isolating networks
797 It is possible to isolate networks from each other on a "gateway" node using the
798 <em>set/isolate <node_call></em> command.
801 The effect of this is to partition an isolated network completely from another
802 nodes connected to your node. Your node will appear on and otherwise behave
803 normally on every network to which you are connected, but data from an isolated
804 network will not cross onto any other network or vice versa. However all the
805 spot, announce and WWV traffic and personal messages will still be handled
806 locally (because you are a real node on all connected networks), that is locally
807 connected users will appear on all networks and will be able to access and
808 receive information from all networks transparently. All routed messages will
809 be sent as normal, so if a user on one network knows that you are a gateway for
810 another network, he can still still send a talk/announce etc message via your
811 node and it will be routed across.
814 The only limitation currently is that non-private messages cannot be passed down
815 isolated links regardless of whether they are generated locally. This will change
816 when the bulletin routing facility is added.
819 If you use isolate on a node connection you will continue to receive all
820 information from the isolated partner, however you will not pass any information
821 back to the isolated node. There are times when you would like to forward only
822 spots across a link (maybe during a contest for example). To do this, isolate
823 the node in the normal way and put in a filter in the /spider/filter/spots
824 directory to override the isolate. This filter can be very simple and consists
825 of just one line ....
829 [ 1, 0, 'd', 0, 3] # The last figure (3) is the hop count
834 There is a lot more on filtering in the next section.
836 <sect>Filtering (Old Style upto v1.44)
839 Filters can be set for spots, announcements and WWV. You will find the
840 directories for these under /spider/filter. You will find some examples in
841 the directories with the suffix <em>.issue</em>. There are two types of
842 filter, one for incoming information and one for outgoing information.
843 Outgoing filters are in the form <em>CALLSIGN.pl</em> and incoming filters
844 are in the form <em>in_CALLSIGN.pl</em>. Filters can be set for both nodes
848 All filters work in basically the same way. There are several elements
849 delimited by commas. There can be many lines in the filter and they are
850 read from the top by the program. When writing a filter you need to think
851 carefully about just what you want to achieve. You are either going to write
852 a filter to <em>accept</em> or to <em>reject</em>. Think of a filter as
853 having 2 main elements. For a reject filter, you would have a line or multiple
854 lines rejecting the things you do not wish to receive and then a default line
855 accepting everything else that is not included in the filter. Likewise, for an
856 accept filter, you would have a line or multiple lines accepting the things you
857 wish to receive and a default line rejecting everthing else.
860 In the example below, a user requires a filter that would only return SSB spots
861 posted in Europe on the HF bands. This is achieved by first rejecting the CW
862 section of each HF band and rejecting all of VHF, UHF etc based on frequency.
863 Secondly, a filter rule is set based on CQ zones to only accept spots posted in
864 Europe. Lastly, a default filter rule is set to reject anything outside the filter.
868 [ 0, 0, 'r', # reject all CW spots
878 30000.0, 49000000000.0,
880 [ 1, 11, 'n', [ 14, 15, 16, 20, 33, ], 15 ], #accept EU
881 [ 0, 0, 'd', 0, 1 ], # 1 = want, 'd' = everything else
886 The actual elements of each filter are described more fully in the following
892 The elements of the Spot filter are ....
895 [action, field_no, sort, possible_values, hops]
899 There are 3 elements here to look at. Firstly, the action element. This is
900 very simple and only 2 possible states exist, accept (1) or drop (0).
903 The second element is the field_no. There are 13 possiblities to choose from
909 2 = date in unix format
912 5 = spotted dxcc country
913 6 = spotter's dxcc country
919 12 = callsign of the channel on which the spot has appeared
923 The third element tells us what to expect in the fourth element. There are
927 n - numeric list of numbers e.g. [ 1,2,3 ]
928 r - ranges of pairs of numbers e.g. between 2 and 4 or 10 to 17 - [ 2,4, 10,17 ]
929 a - an alphanumeric regex
934 The fifth element is simply the hops to set in this filter. This would only
935 be used if the filter was for a node of course and overrides the hop count in
939 So, let's look at an example spot filter. It does not matter in the example
940 who the filter is to be used for. So, what do we need in the filter? We need
941 to filter the spots the user/node requires and also set a default rule for
942 anything else outside the filter. Below is a simple filter that stops spots
943 arriving from outside Europe.
945 <tscreen><verb>$in = [
946 [ 0, 4, 'a', '^(K|N|A|W|VE|VA|J)'], # 0 = drop, 'a' = alphanumeric
947 [ 1, 0, 'd', 0, 1 ], # 1 = want, 'd' = everything else
952 So the filter is wrapped in between a pair of square brackets. This tells
953 Spider to look in between these limits. Then each line is contained within
954 its own square brackets and ends with a comma. Lets look carefully at the first
955 line. The first element is 0 (drop). Therefore anything we put on this line
956 will not be accepted. The next element is 4. This means we are filtering by
957 the spotter. The third element is the letter "a" which tells the program to
958 expect an alphanumeric expression in the fourth element. The fourth element
959 is a list of letters separated by the pipe symbol.
962 What this line does is tell the program to drop any spots posted by anyone in
963 the USA, Canada or Japan.
966 The second line is the default rule for anything else. The "d" tells us this
967 and the line simply reads... accept anything else.
970 You can add as many lines as you need to complete the filter but if there are
971 several lines of the same type it is neater to enclose them all as one line.
972 An example of this is where specific bands are set. We could write this like
976 [ 0,0,'r',[1800.0, 2000.0], 1],
977 [ 0,0,'r',[10100.0, 10150.0], 1],
978 [ 0,0,'r',[14000.0, 14350.0], 1],
979 [ 0,0,'r',[18000.0, 18200.0], 1],
983 But the line below achieves the same thing and is more efficient ....
988 1800.0, 2000.0, # top band
989 10100.0, 10150.0, # WARC
990 14000.0, 14350.0, # 20m
991 18000.0, 18200.0, # WARC
1001 # This is an example announce or filter allowing only West EU announces
1003 # The element list is:-
1004 # 0 - callsign of announcer
1005 # 1 - destination * = all, <callsign> = routed to the node
1007 # 3 - * - sysop, <some text> - special list eg 6MUK, ' ', normal announce
1009 # 5 - 0 - announce, 1 - wx
1010 # 6 - channel callsign (the interface from which this spot came)
1013 [ 1, 0, 'a', '^(P[ABCDE]|DK0WCY|G|M|2|EI|F|ON)' ],
1018 In this example, only the prefixes listed will be allowed. It is possible to
1019 be quite specific. The Dutch prefix "P" is followed by several secondary
1020 identifiers which are allowed. So, in the example, "PA" or "PE" would be ok
1021 but not "PG". It is even possible to allow information from a single callsign.
1022 In the example this is DK0WCY, to allow the posting of his Aurora Beacon.
1029 # This is an example WWV filter
1031 # The element list is:-
1032 # 0 - nominal unix date of spot (ie the day + hour:13)
1040 # 8 - incoming interface callsign
1042 # this one doesn't filter, it just sets the hop count to 6 and is
1043 # used mainly just to override any isolation from WWV coming from
1053 It should be noted that the filter will start to be used only once a user/node
1054 has logged out and back in again.
1056 I am not going to spend any more time on these filters now as they will become
1057 more "comprehensive" in the near future.
1059 <sect>Filtering (New Style v1.45 and later)
1061 <sect1>General filter rules
1064 Upto v1.44 it was not possible for the user to set their own filters. From
1065 v1.45 though that has all changed. It is now possible to set filters for just
1066 about anything you wish. If you have just updated from an older version of
1067 DXSpider you will need to update your new filters. You do not need to do
1068 anything with your old filters, they will be renamed as you update.
1071 There are 3 basic commands involved in setting and manipulating filters. These
1072 are <em>accept</em>, <em>reject</em> and <em>clear</em>. First we will look
1073 generally at filtering. There are a number of things you can filter in the
1074 DXSpider system. They all use the same general mechanism.
1077 In general terms you can create a 'reject' or an 'accept' filter which can have
1078 up to 10 lines in it. You do this using, for example ...
1085 where ..... are the specific commands for that type of filter. There are filters
1086 for spots, wwv, announce, wcy and (for sysops) connects. See each different
1087 accept or reject command reference for more details.
1089 There is also a command to clear out one or more lines in a filter. They are ...
1096 There is clear/xxxx command for each type of filter.
1099 and you can check that your filters have worked by the command ...
1106 For now we are going to use spots for the examples, but you can apply the same
1107 principles to all types of filter.
1109 <sect1>Types of filter
1112 There are two main types of filter, <em>accept</em> or <em>reject</em>. You
1113 can use either to achieve the result you want dependent on your own preference
1114 and which is more simple to do. It is pointless writing 8 lines of reject
1115 filters when 1 accept filter would do the same thing! Each filter has 10
1116 lines (of any length) which are tried in order. If a line matches then the
1117 action you have specified is taken (ie reject means ignore it and accept
1121 If you specify reject filters, then any lines that arrive that match the filter
1122 will be dumped but all else will be accepted. If you use an accept filter,
1123 then ONLY the lines in the filter will be accepted and all else will be dumped.
1124 For example if you have a single line <em>accept</em> filter ...
1127 accept/spots on vhf and (by_zone 14,15,16 or call_zone 14,15,16)
1130 then you will <em>ONLY</em> get VHF spots <em>from</em> or <em>to</em> CQ zones
1134 If you set a reject filter like this ...
1137 reject/spots on hf/cw
1140 Then you will get everything <em>EXCEPT</em> HF CW spots. You could make this
1141 single filter even more flexible. For example, if you are interested in IOTA
1142 and will work it even on CW even though normally you are not interested in
1143 CW, then you could say ...
1146 reject/spots on hf/cw and not info iota
1149 But in that case you might only be interested in iota and say:-
1152 accept/spots not on hf/cw or info iota
1155 which achieves exactly the same thing. You should choose one or the other
1156 until you are comfortable with the way it works. You can mix them if you
1157 wish (actually you can have an accept AND a reject on the same line) but
1158 don't attempt this until you are sure you know what you are doing!
1161 You can arrange your filter lines into logical units, either for your own
1162 understanding or simply convenience. Here is an example ...
1165 reject/spots 1 on hf/cw
1166 reject/spots 2 on 50000/1400000 not (by_zone 14,15,16 or call_zone 14,15,16)
1169 What this does is to ignore all HF CW spots and also rejects any spots on VHF
1170 which don't either originate or spot someone in Europe.
1173 This is an example where you would use a line number (1 and 2 in this case), if
1174 you leave the digit out, the system assumes '1'. Digits '0'-'9' are available.
1175 This make it easier to see just what filters you have set. It also makes it
1176 more simple to remove individual filters, during a contest for example.
1179 You will notice in the above example that the second line has brackets. Look
1180 at the line logically. You can see there are 2 separate sections to it. We
1181 are saying reject spots that are VHF or above <em>APART</em> from those in
1182 zones 14, 15 and 16 (either spotted there or originated there). If you did
1183 not have the brackets to separate the 2 sections, then Spider would read it
1184 logically from the front and see a different expression entirely ...
1187 (on 50000/1400000 and by_zone 14,15,16) or call_zone 14,15,16
1190 The simple way to remember this is, if you use OR - use brackets. Whilst we are
1191 here CASE is not important. 'And BY_Zone' is just the same as 'and by_zone'.
1193 As mentioned earlier, setting several filters can be more flexible than
1194 simply setting one complex one. Doing it in this way means that if you want
1195 to alter your filter you can just redefine or remove one or more lines of it or
1196 one line. For example ...
1199 reject/spots 1 on hf/ssb
1202 would redefine our earlier example, or
1208 To remove all the filter lines in the spot filter ...
1214 <sect1>Filter options
1217 You can filter in several different ways. The options are listed in the
1218 various helpfiles for accept, reject and filter.
1220 <sect1>Default filters
1223 Sometimes all that is needed is a general rule for node connects. This can
1224 be done with a node_default filter. This rule will always be followed, even
1225 if the link is isolated, unless another filter is set specifically. Default
1226 rules can be set for nodes and users. They can be set for spots, announces,
1227 WWV and WCY. They can also be used for hops. An example might look like
1231 accept/spot node_default by_zone 14,15,16,20,33
1232 set/hops node_default spot 50
1235 This filter is for spots only, you could set others for announce, WWV and WCY.
1236 This filter would work for ALL nodes unless a specific filter is written to
1237 override it for a particular node. You can also set a user_default should
1238 you require. It is important to note that default filters should be
1239 considered to be "connected". By this I mean that should you override the
1240 default filter for spots, you need to add a rule for the hops for spots also.
1242 <sect1>Advanced filtering
1245 Once you are happy with the results you get, you may like to experiment.
1248 The previous example that filters hf/cw spots and accepts vhf/uhf spots from EU
1249 can be written with a mixed filter, for example ...
1254 acc/spot 2 on 50000/1400000 and (by_zone 14,15,16 or call_zone 14,15,16)
1257 Note that the first filter has not been specified with a number. This will
1258 automatically be assumed to be number 1. In this case, we have said <em>reject all
1259 HF spots in the CW section of the bands but accept all others at HF. Also
1260 accept anything in VHF and above spotted in or by operators in the zones
1261 14, 15 and 16</em>. Each filter slot actually has a 'reject' slot and
1262 an 'accept' slot. The reject slot is executed BEFORE the accept slot.
1265 It was mentioned earlier that after a reject test that doesn't match, the default
1266 for following tests is 'accept', the reverse is true for 'accept'. In the example
1267 what happens is that the reject is executed first, any non hf/cw spot is passed
1268 to the accept line, which lets through everything else on HF. The next filter line
1269 lets through just VHF/UHF spots from EU.
1274 <sect1>Filtering Mail
1277 In the /spider/msg directory you will find a file called badmsg.pl.issue. Rename
1278 this to badmsg.pl and edit the file. The original looks something like this ....
1282 # the list of regexes for messages that we won't store having
1283 # received them (bear in mind that we must receive them fully before
1287 # The format of each line is as follows
1289 # type source pattern
1290 # P/B/F T/F/O/S regex
1292 # type: P - private, B - bulletin (msg), F - file (ak1a bull)
1293 # source: T - to field, F - from field, O - origin, S - subject
1294 # pattern: a perl regex on the field requested
1296 # Currently only type B and P msgs are affected by this code.
1298 # The list is read from the top down, the first pattern that matches
1299 # causes the action to be taken.
1301 # The pattern can be undef or 0 in which case it will always be selected
1302 # for the action specified
1320 I think this is fairly self explanatory. It is simply a list of subject
1321 headers that we do not want to pass on to either the users of the cluster or
1322 the other cluster nodes that we are linked to. This is usually because of
1323 rules and regulations pertaining to items for sale etc in a particular country.
1325 <sect1>Filtering DX callouts (Depricated)
1328 <bf><it>From version 1.47, this method is replaced by the command set/baddx</it></bf>
1331 In the same way as mail, there are some types of spot we do not wish to pass on
1332 to users or linked cluster nodes. In the /spider/data directory you will find
1333 a file called baddx.pl.issue. Rename this to baddx.pl and edit the file. The
1334 original looks like this ....
1338 # the list of dx spot addresses that we don't store and don't pass on
1359 Again, this is simply a list of names we do not want to see in the spotted
1360 field of a DX callout.
1363 <sect1>Filtering words from text fields in Announce, Talk and DX spots
1366 Create a file in /spider/data called <em>badwords</em>. The format is quite
1367 simple. Lines beginning with # are ignored so comments can be added. An
1368 example file is below ...
1371 # Below is a list of words we do not wish to see on the cluster
1372 grunge grunged grunging
1373 splodge splodger splodging
1378 Multiple words can be used on the same line as shown. Obviously these
1379 are just examples :-)
1382 You can reload the file from the cluster prompt as sysop with load/badwords.
1387 DXSpider deals seamlessly with standard AK1A type mail. It supports both
1388 personal and bulletin mail and the sysop has additional commands to ensure
1389 that mail gets to where it is meant. DXSpider will send mail almost
1390 immediately, assuming that the target is on line. However, only one
1391 mail message is dealt with at any one time. If a mail message is already
1392 being sent or recieved, then the new message will be queued until it has
1395 The cluster mail is automatically deleted after 30 days unless the sysop
1396 sets the "keep" flag using the <em>msg</em> command.
1398 <sect1>Personal mail
1401 Personal mail is sent using the <em>sp</em> command. This is actually the
1402 default method of sending mail and so a simple <em>s</em> for send will do.
1403 A full list of the send commands and options is in the <em>command set</em>
1404 section, so I will not duplicate them here.
1406 <sect1>Bulletin mail
1409 Bulletin mail is sent by using the <em>sb</em> command. This is one of the
1410 most common mistakes users make when sending mail. They send a bulletin
1411 mail with <em>s</em> or <em>sp</em> instead of <em>sb</em> and of course
1412 the message never leaves the cluster. This can be rectified by the sysop
1413 by using the <em>msg</em> command.
1415 <P>Bulletin addresses can be set using the Forward.pl file.
1420 DXSpider receives all and any mail sent to it without any alterations needed
1421 in files. Because personal and bulletin mail are treated differently, there
1422 is no need for a list of accepted bulletin addresses. It is necessary, however,
1423 to tell the program which links accept which bulletins. For example, it is
1424 pointless sending bulletins addresses to "UK" to any links other than UK
1425 ones. The file that does this is called forward.pl and lives in /spider/msg.
1426 At default, like other spider files it is named forward.pl.issue. Rename it
1427 to forward.pl and edit the file to match your requirements.
1428 The format is below ...
1432 # this is an example message forwarding file for the system
1434 # The format of each line is as follows
1436 # type to/from/at pattern action destinations
1437 # P/B/F T/F/A regex I/F [ call [, call ...] ]
1439 # type: P - private, B - bulletin (msg), F - file (ak1a bull)
1440 # to/from/at: T - to field, F - from field, A - home bbs, O - origin
1441 # pattern: a perl regex on the field requested
1442 # action: I - ignore, F - forward
1443 # destinations: a reference to an array containing node callsigns
1445 # if it is non-private and isn't in here then it won't get forwarded
1447 # Currently only type B msgs are affected by this code.
1449 # The list is read from the top down, the first pattern that matches
1450 # causes the action to be taken.
1452 # The pattern can be undef or 0 in which case it will always be selected
1453 # for the action specified
1455 # If the BBS list is undef or 0 and the action is 'F' (and it matches the
1456 # pattern) then it will always be forwarded to every node that doesn't have
1457 # it (I strongly recommend you don't use this unless you REALLY mean it, if
1458 # you allow a new link with this on EVERY bull will be forwarded immediately
1459 # on first connection)
1465 'B', 'T', 'LOCAL', 'F', [ qw(GB7MBC) ],
1466 'B', 'T', 'ALL', 'F', [ qw(GB7BAA GB7ADX PA4AB-14) ],
1467 'B', 'T', 'UK', 'F', [ qw(GB7BAA GB7ADX) ],
1468 'B', 'T', 'QSL', 'F', [ qw(GB7BAA GB7ADX PA4AB-14) ],
1469 'B', 'T', 'QSLINF', 'F', [ qw(GB7BAA GB7ADX PA4AB-14) ],
1470 'B', 'T', 'DX', 'F', [ qw(GB7BAA GB7ADX PA4AB-14) ],
1471 'B', 'T', 'DXINFO', 'F', [ qw(GB7BAA GB7ADX PA4AB-14) ],
1472 'B', 'T', 'DXNEWS', 'F', [ qw(GB7BAA GB7ADX PA4AB-14) ],
1473 'B', 'T', 'DXQSL', 'F', [ qw(GB7BAA GB7ADX PA4AB-14) ],
1474 'B', 'T', 'SYSOP', 'F', [ qw(GB7BAA GB7ADX) ],
1475 'B', 'T', '50MHZ', 'F', [ qw(GB7BAA GB7ADX PA4AB-14) ],
1479 Simply insert a bulletin address and state in the brackets where you wish
1480 that mail to go. For example, you can see here that mail sent to "UK" will
1481 only be sent to the UK links and not to PA4AB-14.
1484 To force the cluster to reread the file use load/forward
1487 <sect1>The msg command
1490 The <em>msg</em> command is a very powerful and flexible tool for the
1491 sysop. It allows the sysop to alter to and from fields and make other
1492 changes to manage the cluster mail.
1494 Here is a full list of the various options ...
1497 MSG TO <msgno> <call> - change TO callsign to <call>
1498 MSG FRom <msgno> <call> - change FROM callsign to <call>
1499 MSG PRrivate <msgno> - set private flag
1500 MSG NOPRrivate <msgno> - unset private flag
1501 MSG RR <msgno> - set RR flag
1502 MSG NORR <msgno> - unset RR flag
1503 MSG KEep <msgno> - set the keep flag (message won't be deleted ever)
1504 MSG NOKEep <msgno> - unset the keep flag
1505 MSG SUbject <msgno> <new> - change the subject to <new>
1506 MSG WAittime <msgno> - remove any waiting time for this message
1507 MSG NOREad <msgno> - mark message as unread
1508 MSG REad <msgno> - mark message as read
1509 MSG QUeue - queue any outstanding bulletins
1510 MSG QUeue 1 - queue any outstanding private messages
1513 These commands are simply typed from within the cluster as the sysop user.
1515 <sect1>Message status
1518 You can check on a message from within the cluster by using the command
1519 <em>stat/msg</em>. This will give you additional information on the
1520 message number including which nodes have received it, which node it
1521 was received from and when etc. Here is an example of the output of
1525 G0VGS de GB7MBC 28-Jan-2001 1308Z >
1528 Msg Time: 26-Jan-2001 1302Z
1532 Subject: AMSAT 2line KEPS 01025.AMSAT
1534 Got it Nodes: GB7BAA, GB7ADX
1538 G0VGS de GB7MBC 28-Jan-2001 1308Z >
1541 <sect1>Filtering mail
1544 This is described in the section on <em>Other filters</em> so I will not
1547 <sect1>Distribution lists
1550 Distribution lists are simply a list of users to send certain types of
1551 mail to. An example of this is mail you only wish to send to other
1552 sysops. In /spider/msg there is a directory called <em>distro</em>. You
1553 put any distibution lists in here. For example, here is a file called
1554 SYSOP.pl that caters for the UK sysops.
1557 qw(GB7TLH GB7DJK GB7DXM GB7CDX GB7BPQ GB7DXN GB7MBC GB7MBC-6 GB7MDX
1558 GB7NDX GB7SDX GB7TDX GB7UDX GB7YDX GB7ADX GB7BAA GB7DXA GB7DXH
1559 GB7DXK GB7DXI GB7DXS)
1562 Any mail sent to "sysop" would only be sent to the callsigns in this list.
1564 <sect1>BBS interface
1567 Spider provides a simple BBS interface. No input is required from the sysop
1568 of the cluster at all. The BBS simply sets the cluster as a BBS and pushes
1569 any required mail to the cluster. No mail can flow from Spider to the BBS,
1570 the interface is one-way.
1573 Please be careful not to flood the cluster network with unnecessary mail.
1574 Make sure you only send mail to the clusters that want it by using the
1575 Forward.pl file very carefully.
1580 Spider allows the creation of local or remote databases. It supports
1581 chained databases, allowing several different databases to be scanned
1582 with one simple command. Importing of databases is limited at present
1583 to the standard AK1A databases such as OBLAST and the DB0SDX QSL
1584 database but will expand with time.
1586 <sect1>Creating databases
1589 Creating a database could not be more simple. All the commands are
1590 sent from the cluster prompt as the <em>sysop</em> user.
1592 To create a database you use the command <em>dbcreate</em>. It can
1593 be used in 3 different ways like so ..
1599 To simply create a database locally, you just tell the command the
1600 name of the database. This does not create the actual database, it
1601 simply defines it to say that it exists.
1604 dbcreate <name> chain <name> [<name>...]
1607 This creates a chained database entry. The first database will be
1608 scanned, then the second, the third etc...
1611 dbcreate <name> remote <name>
1614 This creates a remote entry. the first name field is the database
1615 name at the remote node, then the remote switch, then the actual
1616 node_call of the remote node, for example...
1619 dbcreate buckmaster remote gb7dxc
1622 Remote databases cannot be chained, however, the last database in a
1623 chain can be a remote database.
1625 <sect1>Importing databases
1628 The only databases that Spider can currently import are the standard
1629 AK1A databases such as OBLAST or the DB0SDX qsl and address database.
1630 This will be added to with time.
1632 To import such a database, first put the file somewhere useful like /tmp
1633 and then issue the following command ...
1636 dbimport oblast /tmp/OBLAST.FUL
1639 This will update the existing local oblast database or create it if
1642 <sect1>Checking available databases
1645 Once a database is created, you will want to check that it has been
1646 added. To do this use the <em>dbavail</em> command. This will
1647 output the available databases. For example ...
1651 DB Name Location Chain
1655 G0VGS de GB7MBC 3-Feb-2001 1925Z >
1658 <sect1>Looking up databases
1661 To look for information in a defined database, simply use the <em>dbshow</em>
1662 command, for example ...
1665 dbshow buckmaster G0YLM
1668 will show the information for the callsign G0YLM from the buckmaster
1669 database if it exists. To make things more standard for the users
1670 you can add an entry in the Aliases file so that it looks like a standard
1671 <em>show</em> command like this ...
1674 '^sh\w*/buc', 'dbshow buckmaster', 'dbshow',
1677 Now you can simply use show/buckmaster or an abreviation.
1679 <sect1>Removing databases
1682 To delete an existing database you use the <em>dbremove</em> command.
1689 would remove the oblast database and its associated datafile from the
1690 system. There are no warnings or recovery possible from this command.
1691 If you remove a database it ceases to exist and would have to be created
1692 from scratch if you still required it.
1694 <sect>Information, files and useful programs
1699 One of the more important things a cluster sysop needs to do is to get
1700 information to his users. The simplest way to do this is to have a banner
1701 that is sent to the user on login. This is know as a "message of the day"
1702 or "motd". To set this up, simply create a file in /spider/data called motd
1703 and edit it to say whatever you want. It is purely a text file and will be
1704 sent automatically to anyone logging in to the cluster.
1706 <sect1>Downtime message
1709 If for any reason the cluster is down, maybe for upgrade or maintenance but
1710 the machine is still running, a message can be sent to the user advising them
1711 of the fact. This message lives in the /spider/data directory and is called
1712 "offline". Simply create the file and edit it to say whatever you wish.
1713 This file will be sent to a user attempting to log into the cluster when
1714 DXSpider is not actually running.
1716 <sect1>Other text messages
1719 You can set other text messages to be read by the user if they input the file
1720 name. This could be for news items or maybe information for new users.
1721 To set this up, make a directory under /spider called <em>packclus</em>.
1722 Under this directory you can create files called <em>news</em> or <em>newuser</em>
1723 for example. In fact you can create files with any names you like. These can
1724 be listed by the user with the command ....
1730 They can be read by the user by typing the command ....
1736 If the file they want to read is called <em>news</em>. You could also set
1737 an alias for this in the Alias file to allow them just to type <em>news</em>
1740 You can also store other information in this directory, either directly or
1741 nested under directories. One use for this would be to store DX bulletins
1742 such as the OPDX bulletins. These can be listed and read by the user.
1743 To keep things tidy, make a directory under /spider/packclus called
1744 <em>bulletin</em>. Now copy any OPDX or similar bulletins into it. These
1745 can be listed by the user in the same way as above using the <em>show/files</em>
1746 command with an extension for the bulletin directory you have just created,
1754 An example would look like this ....
1758 bulletin DIR 20-Dec-1999 1715Z news 1602 14-Dec-1999 1330Z
1761 You can see that in the files area (basically the packclus directory) there is a
1762 file called <em>news</em> and a directory called <em>bulletin</em>. You can
1763 also see that dates they were created. In the case of the file <em>news</em>,
1764 you can also see the time it was last modified, a good clue as to whether the
1765 file has been updated since you last read it. To read the file called
1766 <em>news</em> you would simply issue the command ....
1772 To look what is in the bulletin directory you issue the command ....
1776 opdx390 21381 29-Nov-1999 1621Z opdx390.1 1670 29-Nov-1999 1621Z
1777 opdx390.2 2193 29-Nov-1999 1621Z opdx391 25045 29-Nov-1999 1621Z
1778 opdx392 35969 29-Nov-1999 1621Z opdx393 15023 29-Nov-1999 1621Z
1779 opdx394 33429 29-Nov-1999 1621Z opdx394.1 3116 29-Nov-1999 1621Z
1780 opdx395 24319 29-Nov-1999 1621Z opdx396 32647 29-Nov-1999 1621Z
1781 opdx396.1 5537 29-Nov-1999 1621Z opdx396.2 6242 29-Nov-1999 1621Z
1782 opdx397 18433 29-Nov-1999 1621Z opdx398 19961 29-Nov-1999 1621Z
1783 opdx399 17719 29-Nov-1999 1621Z opdx400 19600 29-Nov-1999 1621Z
1784 opdx401 27738 29-Nov-1999 1621Z opdx402 18698 29-Nov-1999 1621Z
1785 opdx403 24994 29-Nov-1999 1621Z opdx404 15685 29-Nov-1999 1621Z
1786 opdx405 13984 29-Nov-1999 1621Z opdx405.1 4166 29-Nov-1999 1621Z
1787 opdx406 28934 29-Nov-1999 1621Z opdx407 24153 29-Nov-1999 1621Z
1788 opdx408 15081 29-Nov-1999 1621Z opdx409 23234 29-Nov-1999 1621Z
1789 Press Enter to continue, A to abort (16 lines) >
1792 You can now read any file in this directory using the type command, like this ....
1795 type bulletin/opdx391
1796 Ohio/Penn DX Bulletin No. 391
1797 The Ohio/Penn Dx PacketCluster
1801 Editor Tedd Mirgliotta, KB8NW
1802 Provided by BARF-80 BBS Cleveland, Ohio
1803 Online at 440-237-8208 28.8k-1200 Baud 8/N/1 (New Area Code!)
1804 Thanks to the Northern Ohio Amateur Radio Society, Northern Ohio DX
1805 Association, Ohio/Penn PacketCluster Network, K1XN & Golist, WB2RAJ/WB2YQH
1806 & The 59(9) DXReport, W3UR & The Daily DX, K3TEJ, KN4UG, W4DC, NC6J, N6HR,
1807 Press Enter to continue, A to abort (508 lines) >
1810 The page length will of course depend on what you have it set to!
1812 <sect1>The Aliases file
1815 You will find a file in /spider/cmd/ called Aliases. First, copy this file to
1816 /spider/local_cmd/Aliases and edit this file. You will see something like this ...
1822 # provide some standard aliases for commands for terminally
1823 # helpless ak1a user (helpless in the sense that they never
1824 # read nor understand help files)
1826 # This file is automagically reloaded if its modification time is
1827 # later than the one stored in CmdAlias.pm
1829 # PLEASE make this file consistant with reality! (the patterns MUST
1830 # match the filenames!)
1832 # Don't alter this file, copy it into the local_cmd tree and modify it.
1833 # This file will be replaced everytime I issue a new release.
1835 # You only need to put aliases in here for commands that don't work as
1836 # you desire naturally, e.g sh/dx on its own just works as you expect
1837 # so you need not add it as an alias.
1845 '^\?', 'apropos', 'apropos',
1848 '^ann.*/full', 'announce full', 'announce',
1849 '^ann.*/sysop', 'announce sysop', 'announce',
1850 '^ann.*/(.*)$', 'announce $1', 'announce',
1857 '^del', 'kill', 'kill',
1858 '^del\w*/fu', 'kill full', 'kill',
1859 '^di\w*/a\w*', 'directory all', 'directory',
1860 '^di\w*/b\w*', 'directory bulletins', 'directory',
1861 '^di\w*/n\w*', 'directory new', 'directory',
1862 '^di\w*/o\w*', 'directory own', 'directory',
1863 '^di\w*/s\w*', 'directory subject', 'directory',
1864 '^di\w*/t\w*', 'directory to', 'directory',
1865 '^di\w*/f\w*', 'directory from', 'directory',
1866 '^di\w*/(\d+)', 'directory $1', 'directory',
1883 '^l$', 'directory', 'directory',
1884 '^ll$', 'directory', 'directory',
1885 '^ll/(\d+)', 'directory $1', 'directory',
1890 '^news', 'type news', 'type',
1900 '^r$', 'read', 'read',
1901 '^rcmd/(\S+)', 'rcmd $1', 'rcmd',
1904 '^s/p$', 'send', 'send',
1905 '^sb$', 'send noprivate', 'send',
1906 '^set/home$', 'set/homenode', 'set/homenode',
1907 '^set/nobe', 'unset/beep', 'unset/beep',
1908 '^set/nohe', 'unset/here', 'unset/here',
1909 '^set/noan', 'unset/announce', 'unset/announce',
1910 '^set/nodx', 'unset/dx', 'unset/dx',
1911 '^set/nota', 'unset/talk', 'unset/talk',
1912 '^set/noww', 'unset/wwv', 'unset/wwv',
1913 '^set/nowx', 'unset/wx', 'unset/wx',
1914 '^sh$', 'show', 'show',
1915 '^sh\w*/buck', 'dbshow buck', 'dbshow',
1916 '^sh\w*/bu', 'show/files bulletins', 'show/files',
1917 '^sh\w*/c/n', 'show/configuration nodes', 'show/configuration',
1918 '^sh\w*/c$', 'show/configuration', 'show/configuration',
1919 '^sh\w*/com', 'dbavail', 'dbavail',
1920 '^sh\w*/dx/(\d+)-(\d+)', 'show/dx $1-$2', 'show/dx',
1921 '^sh\w*/dx/(\d+)', 'show/dx $1', 'show/dx',
1922 '^sh\w*/dx/d(\d+)', 'show/dx from $1', 'show/dx',
1923 '^sh\w*/email', 'dbshow email', 'dbshow',
1924 '^sh\w*/hftest', 'dbshow hftest', 'dbshow',
1925 '^sh\w*/vhftest', 'dbshow vhftest', 'dbshow',
1926 '^sh\w*/qsl', 'dbshow qsl', 'dbshow',
1927 '^sh\w*/tnc', 'who', 'who',
1928 '^sh\w*/up', 'show/cluster', 'show/cluster',
1929 '^sh\w*/w\w*/(\d+)-(\d+)', 'show/wwv $1-$2', 'show/wwv',
1930 '^sh\w*/w\w*/(\d+)', 'show/wwv $1', 'show/wwv',
1931 '^sp$', 'send', 'send',
1935 '^ta$', 'talk', 'talk',
1936 '^t$', 'talk', 'talk',
1943 '^wx/full', 'wx full', 'wx',
1944 '^wx/sysop', 'wx sysop', 'wx',
1955 You can create aliases for commands at will. Beware though, these may not
1956 always turn out as you think. Care is needed and you need to test the
1957 results once you have set an alias.
1962 In later versions of Spider a simple console program is provided for the sysop.
1963 This has a type ahead buffer with line editing facilities and colour for spots,
1964 announces etc. To use this program, simply use console.pl instead of client.
1967 To edit the colours, copy /spider/perl/Console.pl to /spider/local and edit the
1968 file with your favourite editor.
1970 <sect1>Updating kepler data
1973 Spider has a powerful and flexible show/satellite command. In order for
1974 this to be accurate, the kepler data has to be updated regularly. In
1975 general, this data is available as an email or via cluster mail.
1976 Updating it is simple. First you need to export the mail message as a
1977 file. You do this with the <em>export</em> command from the cluster prompt
1978 as the sysop. For example ...
1981 export 5467 /spider/perl/keps.in
1984 would export message number 5467 as a file called keps.in in the
1985 /spider/perl directory.
1987 Now login to a VT as sysop and cd /spider/perl. There is a command in
1988 the perl directory called <em>convkeps.pl</em>. All we need to do now is
1989 convert the file like so ...
1992 ./convkeps.pl keps.in
1995 Now go back to the cluster and issue the command ...
2001 That is it! the kepler data has been updated.
2003 <sect1>The QRZ callbook
2006 The command <em>sh/qrz</em> will only work once you have followed a few
2007 simple steps. First you need to get a user ID and password from qrz.com.
2008 Simply go to the site and create one. Secondly you need to copy the file
2009 /spider/perl/Internet.pm to /spider/local and alter it to match your user
2010 ID and password. You also at this point need to set $allow=1 to complete
2011 the setup. Many thanks to Fred Lloyd, the proprieter of
2012 <htmlurl url="http://www.qrz.com" name="qrz.com"> for allowing this access.
2017 CVS stands for "Concurrent Versions System" and the CVS for DXSpider is held
2018 at <htmlurl url="http://www.sourceforge.net" name="Sourceforge">. This means
2019 that it is possible to update your DXSpider installation to the latest
2020 sources by using a few simple commands.
2023 THIS IS NOT FOR THE FAINT HEARTED!!! ONLY DO THIS IF YOU HAVE A TEST
2024 INSTALLATION OR ARE WILLING TO HAVE YOUR CLUSTER CRASH ON YOU!!!
2025 THIS MUST BE CONSIDERED AT LEAST BETA TESTING AND MAYBE EVEN ALPHA!!
2026 YOU HAVE BEEN WARNED!!!
2029 DID I MENTION..... ONLY DO THIS IF YOU ARE WILLING TO ACCEPT THE
2033 I am of course assuming that you have a machine with both DXSpider and
2034 Internet access running.
2037 BEFORE YOU EVEN CONSIDER STARTING WITH THIS MAKE A BACKUP OF YOUR
2038 ENTIRE SPIDER TREE!!
2041 Assuming you are connected to the Internet, you need to login to the
2042 CVS repository and then update your Spider source. There are several
2043 steps which are listed below ...
2046 First login as the user <em>sysop</em>. Next you need to connect to the CVS
2047 repository. You do this with the command below ...
2050 cvs -d:pserver:anonymous@cvs.DXSpider.sourceforge.net:/cvsroot/dxspider login
2053 You will get a password prompt. Simply hit return here and your machine should
2054 return to a normal linux prompt.
2057 What happens next depends on whether you have an existing installation that
2058 you want to update with the latest and greatest or whether you just want
2059 to see what is there and/or run it on a new machine for testing.
2061 If you are installing Spider from CVS then change directory to /home/sysop
2063 If you are wanting to update Spider then cd to /tmp
2066 The next step will create a brand new 'spider' directory in your current
2070 cvs -z3 -d:pserver:anonymous@cvs.DXSpider.sourceforge.net:/cvsroot/dxspider co spider
2073 This command is all on one line.
2076 Hopefully your screen should show you downloading files. The -z3 simply compresses
2077 the download to improve speed.
2078 When this has finished, you will have exactly the same as if you had untarred a full
2079 tarball PLUS some extra directories and files that CVS needs to do the magic that
2083 Now if you are doing a new installation, that's it. Carry on as if you have
2084 just downloaded and untarred the lastest tarball.
2087 If you want to upgrade your current installation then do this ...
2090 tar cvfz /tmp/s.tgz spider
2092 tar xvfzp /tmp/s.tgz
2095 This is assuming you downloaded to the /tmp directory of course.
2098 NOTE: the 'p' on the end of the 'xvfz' is IMPORTANT! It keeps the permissions
2099 correct. YOU WERE LOGGED IN AS THE USER SYSOP WEREN'T YOU?????
2101 Remember to recompile the C client (cd /spider/src; make)
2104 At this point the files have been upgraded. You can (usually) restart the cluster
2105 in your own time. However, if you attempt to use any new commands or features
2106 expect it to be fatal! At least your cluster will have been restarted then so it
2107 will be too late to worry about it!
2110 Now the magic part! From now on when you want to update, simply connect to the
2111 Internet and then, as the user <em>sysop</em> ...
2118 and your files will be updated. As above, remember to recompile the "C" client
2119 if it has been updated (CVS will tell you) and restart if any of the perl scripts
2120 have been altered or added, again, CVS will tell you.
2123 You will find any changes documented in the /spider/Changes file.
2125 <sect>The DXSpider command set
2128 Below is a complete list of commands available from the cluster prompt.
2129 Most maintenance tasks are automatic but there are some commands that are useful
2130 for a sysop. These are listed below in alphabetical order. The number in
2131 brackets following the command name is the permissions level needed to use
2134 <sect1>accept/announce (0)
2138 <bf>accept/announce [0-9] <pattern></bf> Set an accept filter
2143 Create an 'accept this announce' line for a filter.
2145 An accept filter line means that if the announce matches this filter it is
2146 passed onto the user. See HELP FILTERS for more info. Please read this
2147 to understand how filters work - it will save a lot of grief later on.
2149 You can use any of the following things in this line:-
2152 info <string> eg: iota or qsl
2153 by <prefixes> eg: G,M,2
2155 origin_dxcc <numbers> eg: 61,62 (from eg: sh/pre G)
2156 origin_itu <numbers>
2157 origin_zone <numbers>
2162 wx 1 filter WX announces
2163 dest <prefixes> eg: 6MUK,WDX (distros)
2170 acc/ann 2 by_zone 14,15,16
2171 (this could be all on one line: acc/ann dest 6MUK or by_zone 14,15,16)
2180 This filter would only allow announces that were posted buy UK stations.
2181 You can use the tag 'all' to accept everything eg:
2187 but this probably for advanced users...
2189 <sect1>accept/announce (extended for sysops) (8)
2193 <bf>accept/announce <call> [input] [0-9]<pattern></bf> Announce filter sysop version
2197 This version allows a sysop to set a filter for a callsign as well as the
2198 default for nodes and users eg:-
2202 accept/ann input node_default by G,M,2
2203 accept/ann user_default by G,M,2
2206 <sect1>accept/spots (0)
2210 <bf>accept/announce [0-9] <pattern></bf> Set an accept filter
2215 Create an 'accept this spot' line for a filter.
2218 An accept filter line means that if the spot matches this filter it is
2219 passed onto the user. See HELP FILTERS for more info. Please read this
2220 to understand how filters work - it will save a lot of grief later on.
2222 You can use any of the following things in this line:-
2225 freq <range> eg: 0/30000 or hf or hf/cw or 6m,4m,2m
2226 on <range> same as 'freq'
2227 call <prefixes> eg: G,PA,HB9
2228 info <string> eg: iota or qsl
2230 call_dxcc <numbers> eg: 61,62 (from eg: sh/pre G)
2241 For frequencies, you can use any of the band names defined in
2242 SHOW/BANDS and you can use a subband name like: cw, rtty, data, ssb -
2243 thus: hf/ssb. You can also just have a simple range like: 0/30000 -
2244 this is more efficient than saying simply: freq HF (but don't get
2245 too hung up about that)
2251 acc/spot 2 on vhf and (by_zone 14,15,16 or call_zone 14,15,16)
2254 You can use the tag 'all' to accept everything, eg:
2260 but this probably for advanced users...
2262 <sect1>accept/spots (extended for sysops) (8)
2266 <bf>accept/spots <call> [input] [0-9] <pattern></bf> Spot filter sysop version
2270 This version allows a sysop to set a filter for a callsign as well as the
2271 default for nodes and users eg:-
2274 accept/spot db0sue-7 1 by_zone 14,15,16
2275 accept/spot node_default all
2276 set/hops node_default 10
2278 accept/spot user_default by G,M,2
2281 <sect1>accept/wcy (0)
2285 <bf>accept/wcy [0-9] <pattern></bf> set an accept WCY filter
2289 It is unlikely that you will want to do this, but if you do then you can
2290 filter on the following fields:-
2293 by <prefixes> eg: G,M,2
2295 origin_dxcc <numbers> eg: 61,62 (from eg: sh/pre G)
2296 origin_itu <numbers>
2297 origin_zone <numbers>
2305 There are no examples because WCY Broadcasts only come from one place and
2306 you either want them or not (see UNSET/WCY if you don't want them).
2308 This command is really provided for future use.
2310 See HELP FILTER for information.
2312 <sect1>accept/wcy (extended for sysops) (8)
2316 <bf>accept/wcy <call> [input] [0-9] <pattern></bf>
2317 WCY filter sysop version
2321 This version allows a sysop to set a filter for a callsign as well as the
2322 default for nodes and users eg:-
2325 accept/wcy node_default all
2326 set/hops node_default 10
2329 <sect1>accept/wwv (0)
2333 <bf>accept/wwv [0-9] <pattern></bf> Set an accept WWV filter
2337 It is unlikely that you will want to do this, but if you do then you can
2338 filter on the following fields:-
2341 by <prefixes> eg: G,M,2
2343 origin_dxcc <numbers> eg: 61,62 (from eg: sh/pre G)
2344 origin_itu <numbers>
2345 origin_zone <numbers>
2355 accept/wwv by_zone 4
2358 is probably the only useful thing to do (which will only show WWV broadcasts
2359 by stations in the US).
2361 See HELP FILTER for information.
2363 <sect1>accept/wwv (extended for sysops) (8)
2367 <bf>accept/wwv <call> [input] [0-9] <pattern></bf>
2368 WWV filter sysop version
2372 This version allows a sysop to set a filter for a callsign as well as the
2373 default for nodes and users eg:-
2376 accept/wwv db0sue-7 1 by_zone 4
2377 accept/wwv node_default all
2378 set/hops node_default 10
2380 accept/wwv user_default by W,K
2387 <bf>announce <text></bf> Send an announcement to local users
2391 Send an announcement to LOCAL users only, where <text> is the text
2392 of the announcement you wish to broadcast
2394 <sect1>announce full (0)
2398 <bf>announce full <text></bf> Send an announcement cluster wide
2402 This command will send your announcement across the whole cluster
2406 <sect1>announce sysop (5)
2410 <bf>announce sysop <text></bf>
2414 Send an announcement to Sysops only
2420 <bf>apropos <string></bf> Search the help database
2424 Search the help database for <string> (it isn't case sensitive),
2425 and print the names of all the commands that may be relevant.
2431 <bf>bye</bf> Exit from the cluster
2435 This will disconnect you from the cluster
2441 <bf>catchup <node_call> All|[<msgno> ...]</bf>
2442 Mark a message as sent
2446 When you send messages the fact that you have forwarded it to another node
2447 is remembered so that it isn't sent again. When you have a new partner
2448 node and you add their callsign to your /spider/msg/forward.pl file, all
2449 outstanding non-private messages will be forwarded to them. This may well
2450 be ALL the non-private messages. You can prevent this by using these
2455 catchup GB7DJK 300 301 302 303 500-510
2458 and to undo what you have just done:-
2461 uncatchup GB7DJK all
2462 uncatchup GB7DJK 300 301 302 303 500-510
2465 which will arrange for them to be forward candidates again.
2467 Order is not important.
2469 <sect1>clear/spots (0)
2473 <bf>clear/spots [1|all]</bf> Clear a spot filter line
2477 This command allows you to clear (remove) a line in a spot filter or to
2478 remove the whole filter.
2480 If you have a filter:-
2484 acc/spot 2 on vhf and (by_zone 14,15,16 or call_zone 14,15,16)
2493 you will be left with:-
2496 acc/spot 2 on vhf and (by_zone 14,15,16 or call_zone 14,15,16)
2505 the filter will be completely removed.
2512 <bf>connect <callsign></bf> Start a connection to another DX Cluster
2516 Start a connection process that will culminate in a new connection to the
2517 DX cluster <callsign>. This process creates a new 'client' process which will
2518 use the script in /spider/connect/<callsign> to effect the 'chat' exchange
2519 necessary to traverse the network(s) to logon to the cluster <callsign>.
2525 <bf>dbavail</bf> Show a list of all the databases in the system
2529 The title says it all really, this command lists all the databases defined
2530 in the system. It is also aliased to SHOW/COMMAND.
2536 <bf>dbcreate <name></bf> Create a database entry<newline>
2537 <bf>dbcreate <name> chain <name> [<name>..]</bf> Create a
2538 chained database entry<newline>
2539 <bf>dbcreate <name> remote <node></bf> Create a remote database
2544 DBCREATE allows you to define a database in the system. It doesn't actually
2545 create anything, just defines it.
2547 The databases that are created are simple DB_File hash databases, they are
2548 therefore already 'indexed'.
2550 You can define a local database with the first form of the command eg:
2554 You can also chain databases with the addition of the 'chain' keyword.
2555 This will search each database one after the other. A typical example
2558 DBCREATE sdx_qsl chain sql_ad
2560 No checking is done to see if the any of the chained databases exist, in
2561 fact it is usually better to do the above statement first then do each of
2562 the chained databases.
2564 Databases can exist offsite. To define a database that lives on another
2567 DBCREATE buckmaster remote gb7dxc
2569 Remote databases cannot be chained; however, the last database in a
2570 a chain can be a remote database eg:
2572 DBCREATE qsl chain gb7dxc
2574 To see what databases have been defined do:
2576 DBAVAIL (or it will have been aliased to SHOW/COMMAND)
2578 It would be normal for you to add an entry into your local Aliases file
2579 to allow people to use the 'SHOW/<dbname>' style syntax. So you would
2580 need to add a line like:-
2586 '^sh\w*/buc', 'dbshow buckmaster', 'dbshow',
2596 to work as they may be used to.
2598 See DBIMPORT for the importing of existing AK1A format data to databases.
2599 See DBSHOW for generic database enquiry
2605 <bf>dbimport <dbname></bf> Import AK1A data into a database
2609 If you want to import or update data in bulk to a database you can use
2610 this command. It will either create or update entries into an existing
2611 database. For example:-
2613 DBIMPORT oblast /tmp/OBLAST.FUL
2615 will import the standard OBLAST database that comes with AK1A into the
2616 oblast database held locally.
2622 <bf>dbremove <dbname></bf> Delete a database
2626 DBREMOVE will completely remove a database entry and also delete any data
2627 file that is associated with it.
2629 There is no warning, no comeback, no safety net.
2635 will remove the oblast database from the system and it will also remove
2636 the associated datafile.
2640 There is no warning, no comeback, no safety net.
2642 You have been warned.
2648 <bf>dbshow <dbname> <key></bf> Display an entry, if it exists,
2653 This is the generic user interface to the database to the database system.
2654 It is expected that the sysop will add an entry to the local Aliases file
2655 so that users can use the more familiar AK1A style of enquiry such as:
2661 but if he hasn't and the database really does exist (use DBAVAIL or
2662 SHOW/COMMAND to find out) you can do the same thing with:
2673 <bf>debug</bf> Set the cluster program into debug mode
2677 Executing this command will only have an effect if you are running the cluster
2684 It will interrupt the cluster just after the debug command has finished.
2686 <sect1>directory (0)
2690 <bf>directory</bf> List messages<newline>
2691 <bf>directory all</bf> List all messages<newline>
2692 <bf>directory own</bf> List your own messages<newline>
2693 <bf>directory new</bf> List all new messages<newline>
2694 <bf>directory to <call></bf> List all messages to <call><newline>
2695 <bf>directory from <call></bf> List all messages from <call><newline>
2696 <bf>directory subject <string></bf> List all messages with <string>
2698 <bf>directory <nn></bf> List last <nn> messages<newline>
2699 <bf>directory <from>-<to></bf> List messages <from> message <to> message <newline>
2703 List the messages in the messages directory.
2705 If there is a 'p' one space after the message number then it is a
2706 personal message. If there is a '-' between the message number and the
2707 'p' then this indicates that the message has been read.
2709 You can use shell escape characters such as '*' and '?' in the <call>
2712 You can combine some of the various directory commands together eg:-
2717 DIR SUBJECT IOTA 200-250
2720 You can abbreviate all the commands to one letter and use ak1a syntax:-
2728 <sect1>directory (extended for sysops) (5)
2731 Works just like the user command except that sysops can see ALL messages.
2733 <sect1>disconnect (8)
2737 <bf>disconnect <call> [<call> ...]</bf> Disconnect a user or node
2741 Disconnect any <call> connected locally
2747 <bf>dx [by <call>] <freq> <call> <remarks></bf> Send a DX spot
2751 This is how you send a DX Spot to other users. You can, in fact, now
2752 enter the <freq> and the <call> either way round.
2760 will all give the same result. You can add some remarks to the end
2761 of the command and they will be added to the spot.
2764 DX FR0G 144600 this is a test
2767 You can credit someone else by saying:-
2770 DX by G1TLH FR0G 144.600 he isn't on the cluster
2773 The <freq> is compared against the available bands set up in the
2774 cluster. See SHOW/BANDS for more information.
2780 <bf>export <msgno> <filename></bf> Export a message to a file
2784 Export a message to a file. This command can only be executed on a local
2785 console with a fully privileged user. The file produced will be in a form
2786 ready to be imported back into the cluster by placing it in the import
2787 directory (/spider/msg/import).
2789 This command cannot overwrite an existing file. This is to provide some
2790 measure of security. Any files written will owned by the same user as the
2791 main cluster, otherwise you can put the new files anywhere the cluster can
2792 access. For example:-
2796 <sect1>export_users (9)
2800 <bf>export_users [<filename>]</bf> Export the users database to ascii
2804 Export the users database to a file in ascii format. If no filename
2805 is given then it will export the file to /spider/data/user_asc.
2807 If the file already exists it will be renamed to <filename>.o. In fact
2808 up to 5 generations of the file can be kept each one with an extra 'o' on the
2811 BE WARNED: this will write to any file you have write access to. No check is
2812 made on the filename (if any) that you specify.
2814 <sect1>forward/latlong (8)
2818 <bf>forward/latlong <node_call></bf> Send latitude and longitude
2819 information to another cluster
2823 This command sends all the latitude and longitude information that your
2824 cluster is holding against callsigns. One advantage of recieving this
2825 information is that more locator information is held by you. This
2826 means that more locators are given on the DX line assuming you have
2827 <em>set/dxgrid</em> enabled. This could be a LOT of information though, so
2828 it is not recommended on slow links.
2830 <sect1>forward/opername (1)
2834 <bf>forward/opername <call></bf> Send out information on this <call>
2839 This command sends out any information held in the user file which can
2840 be broadcast in PC41 protocol packets. This information is Name, QTH, Location
2841 and Homenode. PC41s are only sent for the information that is available.
2847 <bf>help <cmd></bf> Get help on a command
2851 All commands can be abbreviated, so SHOW/DX can be abbreviated
2852 to SH/DX, ANNOUNCE can be shortened to AN and so on.
2854 Look at the APROPOS <string> command which will search the help database
2855 for the <string> you specify and give you a list of likely commands
2856 to look at with HELP.
2862 <bf>init <node call></bf> Re-initialise a link to an AK1A compatible node
2866 This command attempts to re-initialise a link to a (usually) AK1A node
2867 that has got confused, usually by a protocol loop of some kind. It may
2868 work - but you usually will be better off simply disconnecting it (or
2869 better, if it is a real AK1A node, doing an RCMD <node> DISC/F <your
2872 Best of luck - you will need it.
2878 <bf>kill <msgno> [<msgno> ..]</bf> Delete a message
2879 from the local system
2883 Delete a message from the local system. You will only be able to
2884 delete messages that you have originated or been sent (unless you are
2891 <bf>kill <msgno> [<msgno> ...]</bf> Remove or erase a message from
2893 <bf>kill from <call></bf> Remove all messages from a callsign<newline>
2894 <bf>kill to <call></bf> Remove all messages to a callsign<newline>
2898 You can get rid of any message to or originating from your callsign using
2899 this command. You can remove more than one message at a time.
2901 As a sysop you can kill any message on the system.
2903 <sect1>kill full (5)
2907 <bf>kill full <msgno> [<msgno>]</bf> Delete a message from the
2912 Delete a message (usually a 'bulletin') from the whole cluster system.
2914 This uses the subject field, so any messages that have exactly the same subject
2915 will be deleted. Beware!
2921 <bf>links</bf> Show which nodes are physically connected
2925 This is a quick listing that shows which links are connected and
2926 some information about them. See WHO for a list of all connections.
2929 <sect1>load/aliases (9)
2933 <bf>load/aliases</bf> Reload the command alias table
2937 Reload the /spider/cmd/Aliases file after you have editted it. You will need to
2938 do this if you change this file whilst the cluster is running in order for the
2939 changes to take effect.
2942 <sect1>load/baddx (9)
2946 <bf>load/baddx</bf> Reload the bad DX table
2950 Reload the /spider/data/baddx.pl file if you have changed it manually whilst
2951 the cluster is running. This table contains the DX Calls that, if spotted,
2952 will not be passed on. FR0G and TEST are classic examples.
2954 <sect1>load/badmsg (9)
2958 <bf>load/badmsg</bf> Reload the bad message table
2962 Reload the /spider/msg/badmsg.pl file if you have changed it manually whilst
2963 the cluster is running. This table contains a number of perl regular
2964 expressions which are searched for in the fields targetted of each message.
2965 If any of them match then that message is immediately deleted on receipt.
2967 <sect1>load/badwords (9)
2971 <bf>load/badwords</bf> Reload the badwords file
2975 Reload the /spider/data/badwords file if you have changed it manually whilst
2976 the cluster is running. This file contains a list of words which, if found
2977 on certain text portions of PC protocol, will cause those protocol frames
2978 to be rejected. It will all put out a message if any of these words are
2979 used on the announce, dx and talk commands. The words can be one or
2980 more on a line, lines starting with '#' are ignored.
2982 <sect1>load/bands (9)
2986 <bf>load/bands</bf> Reload the band limits table
2990 Reload the /spider/data/bands.pl file if you have changed it manually whilst
2991 the cluster is running.
2993 <sect1>load/cmd_cache (9)
2997 <bf>load/cmd_cache</bf> Reload the automatic command cache
3001 Normally, if you change a command file in the cmd or local_cmd tree it will
3002 automatially be picked up by the cluster program. Sometimes it can get confused
3003 if you are doing a lot of moving commands about or delete a command in the
3004 local_cmd tree and want to use the normal one again. Execute this command to
3005 reset everything back to the state it was just after a cluster restart.
3007 <sect1>load/forward (9)
3011 <bf>load/forward</bf> Reload the msg forwarding routing table
3014 Reload the /spider/msg/forward.pl file if you have changed it
3015 manually whilst the cluster is running.
3017 <sect1>load/messages (9)
3021 <bf>load/messages</bf> Reload the system messages file
3025 If you change the /spider/perl/Messages file (usually whilst fiddling/writing ne
3026 commands) you can have them take effect during a cluster session by executing this
3027 command. You need to do this if get something like :-
3029 unknown message 'xxxx' in lang 'en'
3031 <sect1>load/prefixes (9)
3035 <bf>load/prefixes</bf> Reload the prefix table
3039 Reload the /spider/data/prefix_data.pl file if you have changed it manually
3040 whilst the cluster is running.
3046 <bf>merge <node> [<no spots>/<no wwv>]</bf> Ask for the
3047 latest spots and WWV
3051 MERGE allows you to bring your spot and wwv database up to date. By default
3052 it will request the last 10 spots and 5 WWVs from the node you select. The
3053 node must be connected locally.
3055 You can request any number of spots or wwv and although they will be appended
3056 to your databases they will not duplicate any that have recently been added
3057 (the last 2 days for spots and last month for WWV data).
3063 <bf>msg <cmd> <msgno> [data ...]</bf> Alter various message
3068 Alter message parameters like To, From, Subject, whether private or bulletin
3069 or return receipt (RR) is required or whether to keep this message from timing
3073 MSG TO <msgno> <call> - change TO callsign to <call>
3074 MSG FRom <msgno> <call> - change FROM callsign to <call>
3075 MSG PRrivate <msgno> - set private flag
3076 MSG NOPRrivate <msgno> - unset private flag
3077 MSG RR <msgno> - set RR flag
3078 MSG NORR <msgno> - unset RR flag
3079 MSG KEep <msgno> - set the keep flag (message won't be deleted ever)
3080 MSG NOKEep <msgno> - unset the keep flag
3081 MSG SUbject <msgno> <new> - change the subject to <new>
3082 MSG WAittime <msgno> - remove any waitting time for this message
3083 MSG NOREad <msgno> - mark message as unread
3084 MSG REad <msgno> - mark message as read
3085 MSG QUeue - queue any outstanding bulletins
3086 MSG QUeue 1 - queue any outstanding private messages
3089 You can look at the status of a message by using:-
3091 STAT/MSG <msgno>
3093 This will display more information on the message than DIR does.
3099 <bf>pc <call> <text></bf> Send text (eg PC Protocol) to <call>
3103 Send some arbitrary text to a locally connected callsign. No processing is done on
3104 the text. This command allows you to send PC Protocol to unstick things if problems
3105 arise (messages get stuck etc). eg:-
3107 pc gb7djk PC33^GB7TLH^GB7DJK^400^
3109 You can also use in the same way as a talk command to a connected user but
3110 without any processing, added of "from <blah> to <blah>" or whatever.
3112 pc G1TLH Try doing that properly!!!
3118 <bf>ping <node></bf> Check the link quality between nodes
3122 his command allows you to send a frame to another cluster node on
3123 the network and get a return frame. The time it takes to do this
3124 is a good indication of the quality of the link. The actual time
3125 it takes is output to the console in seconds.
3126 Any visible cluster node can be PINGed.
3133 <bf>rcmd <node call> <cmd></bf> Send a command to another DX cluster
3137 This command allows you to send nearly any command to another DX Cluster
3138 node that is connected to the system.
3140 Whether you get any output is dependant on a) whether the other system knows
3141 that the node callsign of this cluster is in fact a node b) whether the
3142 other system is allowing RCMDs from this node and c) whether you have
3143 permission to send this command at all.
3149 <bf>read</bf> Read the next unread personal message addressed to you<newline>
3150 <bf>read <msgno></bf> Read the specified message<newline>
3154 You can read any messages that are sent as 'non-personal' and also any
3155 message either sent by or sent to your callsign.
3158 <sect1>read (extended for sysops) (5)
3162 <bf>read <msgno></bf> Read a message on the system
3166 As a sysop you may read any message on the system
3168 <sect1>reject/announce
3172 <bf>reject/announce [0-9] <pattern></bf> Set a reject filter
3177 Create an 'reject this announce' line for a filter.
3179 An reject filter line means that if the announce matches this filter it is
3180 passed onto the user. See HELP FILTERS for more info. Please read this
3181 to understand how filters work - it will save a lot of grief later on.
3183 You can use any of the following things in this line:-
3186 info <string> eg: iota or qsl
3187 by <prefixes> eg: G,M,2
3189 origin_dxcc <numbers> eg: 61,62 (from eg: sh/pre G)
3190 origin_itu <numbers>
3191 origin_zone <numbers>
3196 wx 1 filter WX announces
3197 dest <prefixes> eg: 6MUK,WDX (distros)
3203 rej/ann by_zone 14,15,16 and not by G,M,2
3206 You can use the tag 'all' to reject everything eg:
3212 but this probably for advanced users...
3214 <sect1>reject/announce (extended for sysops) (8)
3218 <bf>reject/announce <call> [input] [0-9] <pattern></bf> Announce filter sysop version
3222 This version allows a sysop to set a filter for a callsign as well as the
3223 default for nodes and users eg:-
3227 reject/ann input node_default by G,M,2
3228 reject/ann user_default by G,M,2
3231 <sect1>reject/spots (0)
3235 <bf>reject/spots [0-9] <pattern></bf> Set a reject filter
3240 Create a 'reject this spot' line for a filter.
3242 A reject filter line means that if the spot matches this filter it is
3243 dumped (not passed on). See HELP FILTERS for more info. Please read this
3244 to understand how filters work - it will save a lot of grief later on.
3246 You can use any of the following things in this line:-
3249 freq <range> eg: 0/30000 or hf or hf/cw or 6m,4m,2m
3250 on <range> same as 'freq'
3251 call <prefixes> eg: G,PA,HB9
3252 info <string> eg: iota or qsl
3254 call_dxcc <numbers> eg: 61,62 (from eg: sh/pre G)
3264 For frequencies, you can use any of the band names defined in
3265 SHOW/BANDS and you can use a subband name like: cw, rtty, data, ssb -
3266 thus: hf/ssb. You can also just have a simple range like: 0/30000 -
3267 this is more efficient than saying simply: on HF (but don't get
3268 too hung up about that)
3274 rej/spot 2 on vhf and not (by_zone 14,15,16 or call_zone 14,15,16)
3277 You can use the tag 'all' to reject everything eg:
3283 but this probably for advanced users...
3285 <sect1>reject/spots (extended for sysops) (8)
3289 <bf>reject/spots <call> [input] [0-9] <pattern></bf>
3290 Reject spot filter sysop version
3294 This version allows a sysop to set a filter for a callsign as well as the
3295 default for nodes and users eg:-
3298 reject/spot db0sue-7 1 by_zone 14,15,16
3299 reject/spot node_default all
3300 set/hops node_default 10
3302 reject/spot user_default by G,M,2
3305 <sect1>reject/wcy (0)
3309 <bf>reject/wcy [0-9] <pattern></bf> Set a reject WCY filter
3313 It is unlikely that you will want to do this, but if you do then you can
3314 filter on the following fields:-
3317 by <prefixes> eg: G,M,2
3319 origin_dxcc <numbers> eg: 61,62 (from eg: sh/pre G)
3320 origin_itu <numbers>
3321 origin_zone <numbers>
3328 There are no examples because WCY Broadcasts only come from one place and
3329 you either want them or not (see UNSET/WCY if you don't want them).
3331 This command is really provided for future use.
3333 See HELP FILTER for information.
3335 <sect1>reject/wcy (extended for sysops) (8)
3339 <bf>reject/wcy <call> [input] [0-9] <pattern></bf>
3340 WCY reject filter sysop version
3344 This version allows a sysop to set a filter for a callsign as well as the
3345 default for nodes and users eg:-
3347 reject/wcy gb7djk all
3349 <sect1>reject/wwv (0)
3353 <bf>reject/wwv [0-9] <pattern></bf> Set a reject WWV filter
3357 It is unlikely that you will want to do this, but if you do then you can
3358 filter on the following fields:-
3361 by <prefixes> eg: G,M,2
3363 origin_dxcc <numbers> eg: 61,62 (from eg: sh/pre G)
3364 origin_itu <numbers>
3365 origin_zone <numbers>
3375 reject/wwv by_zone 14,15,16
3378 is probably the only useful thing to do (which will only show WWV broadcasts
3379 by stations in the US).
3381 See HELP FILTER for information.
3383 <sect1>reject/wwv (extended for sysops) (8)
3387 <bf>reject/wwv <call> [input] [0-9] <pattern></bf>
3388 WWV reject filter sysop version
3391 <P>This version allows a sysop to set a filter for a callsign as well as the
3392 default for nodes and users eg:-
3395 reject/wwv db0sue-7 1 by_zone 4
3396 reject/wwv node_default all
3398 reject/wwv user_default by W
3405 <bf>reply</bf> Reply (privately) to the last message that you have read<newline>
3406 <bf>reply <msgno></bf> Reply (privately) to the specified message<newline>
3407 <bf>reply B <msgno></bf> Reply as a Bulletin to the specified message<newline>
3408 <bf>reply NOPrivate <msgno></bf> Reply as a Bulletin to the specified
3410 <bf>reply RR <msgno></bf> Reply to the specified message with read
3415 You can reply to a message and the subject will automatically have
3416 "Re:" inserted in front of it, if it isn't already present.
3418 You can also use all the extra qualifiers such as RR, PRIVATE,
3419 NOPRIVATE, B that you can use with the SEND command (see SEND
3420 for further details)
3426 <bf>send <call> [<call> ...]</bf> Send a message to
3427 one or more callsigns<newline>
3428 <bf>send RR <call></bf> Send a message and ask for a read receipt<newline>
3429 <bf>send COPY <msgno> <call></bf> Send a copy of a message
3431 <bf>send PRIVATE <call></bf> Send a personal message<newline>
3432 <bf>send NOPRIVATE <call></bf> Send a message to all stations<newline>
3436 All the SEND commands will create a message which will be sent either to
3437 an individual callsign or to one of the 'bulletin' addresses.
3439 SEND <call> on its own acts as though you had typed SEND PRIVATE, that is
3440 it will mark the message as personal and send it to the cluster node that
3441 that callsign is connected to.
3443 You can have more than one callsign in all of the SEND commands.
3445 You can have multiple qualifiers so that you can have for example:-
3448 SEND RR COPY 123 PRIVATE G1TLH G0RDI
3451 which should send a copy of message 123 to G1TLH and G0RDI and you will
3452 receive a read receipt when they have read the message.
3454 SB is an alias for SEND NOPRIVATE (or send a bulletin in BBS speak)
3455 SP is an alias for SEND PRIVATE
3457 <sect1>set/address (0)
3461 <bf>set/address <your_address></bf> Record your postal address
3465 Literally, record your address details on the cluster.
3467 <sect1>set/announce (0)
3471 <bf>set/announce</bf> Allow announce messages
3475 Allow announce messages to arrive at your terminal.
3477 <sect1>set/arcluster (5)
3481 <bf>set/arcluster <node_call> [<node_call> ...]</bf> Make
3482 the node_call an AR-Cluster type node
3486 Set the node_call as an AR-Cluster type node
3488 <sect1>set/baddx (8)
3492 <bf>set/baddx <call></bf> Stop words we do not wish to see in the callsign field
3493 of a dx spot being propagated
3497 Setting a word as 'baddx' will prevent spots with that word in the callsign
3498 field of a DX spot from going any further. They will not be displayed and they
3499 will not be sent onto other nodes.
3501 The word must be wriiten in full, no wild cards are allowed eg:-
3504 set/baddx FORSALE VIDEO FR0G
3507 To allow a word again, use the following command ...
3513 <sect1>set/badnode (6)
3517 <bf>set/badnode <node_call></bf> Stop spots from this node_call
3522 Setting a callsign as a 'badnode' will prevent spots from that node
3523 going any further. They will not be displayed and they will not be
3524 sent onto other nodes.
3526 The call can be a full or partial call (or a prefix), eg:-
3532 will stop anything from K1TTT (including any SSID's)
3538 will allow spots from him again.
3540 Use with extreme care. This command may well be superceded by FILTERing.
3542 <sect1>set/badspotter (8)
3546 <bf>set/badspotter <call></bf> Stop spots from this callsign being propagated
3550 Setting a callsign as a 'badspotter' will prevent spots from this callsign
3551 going any further. They will not be displayed and they will not be
3552 sent onto other nodes.
3554 The call must be written in full, no wild cards are allowed eg:-
3557 set/badspotter VE2STN
3560 will stop anything from VE2STN. If you want SSIDs as well then you must
3561 enter them specifically.
3564 unset/badspotter VE2STN
3567 will allow spots from him again.
3569 Use with extreme care. This command may well be superceded by FILTERing.
3575 <bf>set/beep</bf> Add beeps to terminal messages
3579 Add a beep to DX and other terminal messages.
3585 <bf>set/clx <node_call> [<node_call> ...]</bf> Make
3586 the node_call a CLX type node
3590 Set the node_call as a CLX type node
3592 <sect1>set/debug (9)
3596 <bf>set/debug <name></bf> Add a debug level to the debug set
3600 You can choose to log several different levels. The levels are
3608 You can show what levels you are logging with the <em>show/debug</em>
3611 You can remove a debug level with unset/debug <name>
3617 <bf>set/dx</bf>Allow DX messages to arrive at your terminal
3621 You can stop DX messages with the <em>unset/dx</em> command
3623 <sect1>set/dxgrid (0)
3627 <bf>set/dxgrid</bf>Allow grid squares on the end of DX messages
3631 Some logging programs do not like the additional information at
3632 the end of a DX spot. If this is the case, use the <em>unset/dxgrid</em>
3633 command to remove the grid squares.
3635 <sect1>set/dxnet (5)
3639 <bf>set/dxnet <node_call> [<node_call> ...]</bf> Make
3640 the node_call a DXNet type node
3644 Set the node_call as a DXNet type node
3650 <bf>set/echo</bf> Make the cluster echo your input
3654 If you are connected via a telnet session, different implimentations
3655 of telnet handle echo differently depending on whether you are
3656 connected via port 23 or some other port. You can use this command
3657 to change the setting appropriately.
3659 You can remove the echo with the <em>unset/echo</em> command
3661 The setting is stored in your user profile.
3663 YOU DO NOT NEED TO USE THIS COMMAND IF YOU ARE CONNECTED VIA AX25.
3669 <bf>set/here</bf> Set the here flag
3673 Let others on the cluster know you are here by only displaying your
3674 callsign. If you are away from your terminal you can use the <em>unset/here</em>
3675 command to let people know you are away. This simply puts brackets
3676 around your callsign to indicate you are not available.
3678 <sect1>set/homenode (0)
3682 <bf>set/homenode <node_call></bf> Set your home cluster
3686 Tell the cluster system where you normally connect to. Any Messages sent
3687 to you will normally find their way there should you not be connected.
3698 <bf>set/hops <node_call> ann|spots|wwv|wcy <n></bf>
3703 Set the hop count for a particular type of broadcast for a node.
3705 This command allows you to set up special hop counts for a node
3706 for currently: announce, spots, wwv and wcy broadcasts.
3710 set/hops gb7djk ann 10
3711 set/hops gb7mbc spots 20
3714 Set SHOW/HOPS for information on what is already set. This command
3715 creates a filter and works in conjunction with the filter system.
3717 <sect1>set/isolate (9)
3721 <bf>set/isolate <node call></bf> Isolate a node from the rest of the network
3725 Connect a node to your system in such a way that you are a full protocol
3726 member of its network and can see all spots on it, but nothing either leaks
3727 out from it nor goes back into from the rest of the nodes connected to you.
3729 You can potentially connect several nodes in this way.
3731 You can see which nodes are isolated with the show/isolate (1) command.
3733 You can remove the isolation with the command unset/isolate.
3735 <sect1>set/language (0)
3739 <bf>set/language <language></bf> Set the language you wish to use
3743 You can select the language that you want the cluster to use. Currently
3744 the languages available are <em>en</em> (English) and <em>nl</em> (Dutch).
3746 <sect1>set/location (0)
3750 <bf>set/location <lat and long></bf> Set your latitude and longitude
3754 You can set your latitude and longitude manually or alternatively use the
3755 <em>set/qra</em> command which will do the conversion for you.
3758 set/location 54 04 N 2 02 E
3762 <sect1>set/sys_location (9)
3766 <bf>set/sys_location <lat & long></bf> Set your cluster latitude and longitude
3770 In order to get accurate headings and such like you must tell the system
3771 what your latitude and longitude is. If you have not yet done a SET/QRA
3772 then this command will set your QRA locator for you. For example:-
3775 SET/LOCATION 52 22 N 0 57 E
3778 <sect1>set/logininfo (0)
3782 <bf>set/logininfo</bf> Show logins and logouts of nodes and users
3786 Show users and nodes when they log in and out of the local cluster. You
3787 can stop these messages by using the <em>unset/logininfo</em> command.
3790 <sect1>set/lockout (9)
3794 <bf>set/lockout <call></bf> Stop a callsign connecting to the cluster
3798 You can show who is locked out with the <em>show/lockout</em> command.
3799 To allow the user to connect again, use the <em>unset/lockout</em> command.
3805 <bf>set/name <your_name></bf> Set your name
3809 Tell the cluster what your name is, eg:-
3819 <bf>set/node <call> [<call> ...]</bf> Make the callsign an AK1A cluster
3823 Tell the system that the call(s) are to be treated as AK1A cluster and
3824 fed PC Protocol rather normal user commands.
3826 From version 1.41 you can also set the following types of cluster
3835 To see what your nodes are set to, use the <em>show/nodes</em> command.
3837 <sect1>set/obscount (9)
3841 <bf>set/obscount <count> <node call></bf> Set the 'pump-up'
3842 obsolescence counter
3846 From version 1.35 onwards neighbouring nodes are pinged at regular intervals (see
3847 SET/PINGINTERVAL), usually 300 seconds or 5 minutes. There is a 'pump-up'
3848 counter which is decremented on every outgoing ping and then reset to
3849 the 'obscount' value on every incoming ping. The default value of this
3852 What this means is that a neighbouring node will be pinged twice at
3853 (default) 300 second intervals and if no reply has been heard just before
3854 what would be the third attempt, that node is disconnected.
3856 If a ping is heard then the obscount is reset to the full value. Using
3857 default values, if a node has not responded to a ping within 15 minutes,
3864 <bf>set/page <n></bf> Set the number of lines per page
3868 Tell the system how many lines you wish on a page when the number of lines
3869 of output from a command is more than this. The default is 20. Setting it
3870 explicitly to 0 will disable paging.
3877 The setting is stored in your user profile.
3880 <sect1>set/password (9)
3884 <bf>set/password <callsign> <string></bf> Set a users password
3888 The password for a user can only be set by a full sysop. The string
3889 can contain any characters but any spaces are removed (you can type in
3890 spaces - but they won't appear in the password). You can see the
3891 result with STAT/USER. The password is the usual 30 character baycom
3894 <sect1>set/pinginterval (9)
3898 <bf>set/pinginterval <time> <node call></bf> Set the ping time
3899 to neighbouring nodes
3903 As from version 1.35 all neighbouring nodes are pinged at regular intervals
3904 in order to determine the rolling quality of the link and, in future, to
3905 affect routing decisions. The default interval is 300 secs or 5 minutes.
3907 You can use this command to set a different interval. Please don't.
3909 But if you do the value you enter is treated as minutes up 60 and seconds
3910 for numbers greater than that.
3912 This is used also to help determine when a link is down at the far end
3913 (as certain cluster software doesn't always notice), see SET/OBSCOUNT
3914 for more information.
3916 <sect1>set/privilege (9)
3920 <bf>set/privilege <n> <call> [<call> ...]</bf> Set the
3921 privilege level on a call
3925 Set the privilege level on a callsign. The privilege levels that pertain
3926 to commands are as default:-
3930 1 - allow remote nodes normal user RCMDs
3931 5 - various privileged commands (including shutdown, but not disc-
3932 connect), the normal level for another node.
3933 8 - more privileged commands (including disconnect)
3934 9 - local sysop privilege. DO NOT SET ANY REMOTE USER OR NODE TO THIS
3938 If you are a sysop and you come in as a normal user on a remote connection
3939 your privilege will automatically be set to 0.
3941 <sect1>set/spider (5)
3945 <bf>set/spider <node_call> [<node_call> ...]</bf> Make
3946 the node_call a DXSpider type node
3950 Set the node_call as a DXSpider type node
3952 <sect1>set/sys_qra (9)
3956 <bf>set/sys_qra <locator></bf> Set your cluster QRA locator
3963 <bf>set/qra <locator></bf> Set your QRA locator
3967 Tell the system what your QRA (or Maidenhead) locator is. If you have not
3968 done a SET/LOCATION then your latitude and longitude will be set roughly
3969 correctly (assuming your locator is correct ;-). For example:-
3979 <bf>set/qth <your QTH></bf> Set your QTH
3983 Tell the system where your are. For example:-
3986 set/qth East Dereham, Norfolk
3993 <bf>set/talk</bf> Allow talk messages to be seen at your console
3997 Allow talk messages to arrive at your console. You can switch off
3998 talks with the <em>unset/talk</em> command.
4004 <bf>set/wcy</bf> Allow WCY messages to be seen at your console
4008 Allow WCY information to be seen at your console. You can switch off
4009 WCY messages with the <em>unset/wcy</em> command.
4015 <bf>set/wwv</bf> Allow WWV messages to be seen at your console
4019 Allow WWV information to be seen at your console. You can switch off
4020 WWV messages with the <em>unset/wwv</em> command.
4026 <bf>set/wx</bf> Allow WX messages to be seen at your console
4030 Allow WX information to be seen at your console. You can switch off
4031 WX messages with the <em>unset/wx</em> command.
4033 <sect1>show/baddx (1)
4037 <bf>show/baddx</bf>Show all the bad dx calls in the system
4041 Display all the bad dx callsigns in the system, see SET/BADDX
4042 for more information.
4044 <sect1>show/badnode (6)
4048 <bf>show/badnode</bf> Show all the bad nodes in the system
4052 Display all the bad node callsigns in the system, see SET/BADNODE
4053 for more information.
4055 <sect1>show/badspotter (1)
4059 <bf>show/badspotter</bf> Show all the bad spotters in the system
4063 Display all the bad spotter's callsigns in the system, see SET/BADSPOTTER
4064 for more information.
4066 <sect1>show/date (0)
4070 <bf>show/date [<prefix>|<callsign>]</bf> Show
4075 This is very nearly the same as SHOW/TIME, the only difference the format
4076 of the date string if no arguments are given.
4078 If no prefixes or callsigns are given then this command returns the local
4079 time and UTC as the computer has it right now. If you give some prefixes
4080 then it will show UTC and UTC + the local offset (not including DST) at
4081 the prefixes or callsigns that you specify.
4083 <sect1>show/debug (9)
4087 <bf>show/debug</bf> Show what levels of debug you are logging
4091 The levels can be set with <em>set/debug</em>
4097 <bf>show/dx [options]</bf> interrogate the spot database
4101 If you just type SHOW/DX you will get the last so many spots
4102 (sysop configurable, but usually 10).
4104 In addition you can add any number of these options in very nearly
4105 any order to the basic SHOW/DX command, they are:-
4108 on <band> - eg 160m 20m 2m 23cm 6mm
4109 on <region> - eg hf vhf uhf shf (see SHOW/BANDS)
4111 <number> - the number of spots you want
4112 <from>-<to> - <from> spot no <to> spot no in
4115 <prefix> - for a spotted callsign beginning with <prefix>
4116 *<suffix> - for a spotted callsign ending in <suffix>
4117 *<string>* - for a spotted callsign containing <string>
4119 day <number> - starting <number> days ago
4120 day <from>-<to> - <from> days <to> days ago
4122 info <text> - any spots containing <text> in the info or remarks
4124 by <call> - any spots spotted by <call> (spotter <call>
4127 qsl - this automatically looks for any qsl info on the call
4128 held in the spot database.
4130 iota [<iota>] - If the iota island number is missing it will
4131 look for the string iota and anything which looks like
4132 an iota island number. If you specify then it will look
4135 qra [<locator>] - this will look for the specific locator if
4136 you specify one or else anything that looks like a locator.
4143 SH/DX on 20m info iota
4144 SH/DX 9a on vhf day 30
4151 <sect1>show/dxcc (0)
4155 <bf>show/dxcc <prefix></bf> Interrogate the spot database by country
4159 This command takes the <prefix> (which can be a full or partial
4160 callsign if desired), looks up which internal country number it is
4161 and then displays all the spots as per SH/DX for that country.
4163 The options for SHOW/DX also apply to this command.
4168 SH/DXCC W on 20m info iota
4171 <sect1>show/files (0)
4175 <bf>show/files [<filearea> [<string>]]</bf> List
4176 the contents of a filearea
4180 SHOW/FILES on its own will show you a list of the various fileareas
4181 available on the system. To see the contents of a particular file
4185 SH/FILES <filearea>
4188 where <filearea> is the name of the filearea you want to see the
4191 You can also use shell globbing characters like '*' and '?' in a
4192 string to see a selection of files in a filearea eg:-
4195 SH/FILES bulletins arld*
4198 See also TYPE - to see the contents of a file.
4200 <sect1>show/filter (0)
4204 <bf>show/filter</bf> Show the filters you have set
4208 Show the contents of all the filters that are set by you. This command
4209 displays all the filters set - for all the various categories.
4211 <sect1>show/filter (extended for sysops) (5)
4215 <bf>show/filter <callsign></bf> Show the filters set by <callsign>
4219 A sysop can look at any filters that have been set.
4221 <sect1>show/hops (8)
4225 <bf>show/hops <node_call> [ann|spots|wcy|wwv|]</bf> Show the hop
4230 This command shows the hop counts set up for a node. You can specify
4231 which category you want to see. If you leave the category out then
4232 all the categories will be listed.
4234 <sect1>show/isolate (1)
4238 <bf>show/isolate</bf> Show a list of isolated nodes
4242 Show which nodes are currently set to be isolated.
4244 <sect1>show/lockout (9)
4248 <bf>show/lockout</bf> Show a list of excluded callsigns
4252 Show a list of callsigns that have been excluded (locked out) of the
4253 cluster locally with the <em>set/lockout</em> command
4259 <bf>show/log [<callsign>]</bf> Show excerpts from the system log
4263 This command outputs a short section of the system log. On its own
4264 it will output a general logfile. With the optional callsign it will
4265 show output from the log associated with that callsign.
4267 <sect1>show/moon (0)
4271 <bf>show/moon [<prefix>|<callsign>]</bf> Show moon
4276 Show the Moon rise and set times for a (list of) prefixes or callsigns,
4277 together with the azimuth and elevation of the sun currently at those
4280 If you don't specify any prefixes or callsigns, it will show the times for
4281 your QTH (assuming you have set it with either SET/LOCATION or SET/QRA),
4282 together with the current azimuth and elevation.
4284 In addition, it will show the gain or loss dB relative to the nominal
4285 distance of 385,000Km due to the ellipsoidal nature of the orbit.
4287 If all else fails it will show the Moonrise and set times for the node
4288 that you are connected to.
4301 <bf>show/muf <prefix> [<hours>][long]</bf> Show
4302 the likely propagation to <prefix>
4306 This command allow you to estimate the likelihood of you contacting
4307 a station with the prefix you have specified. The output assumes a modest
4308 power of 20dBW and receiver sensitivity of -123dBm (about 0.15muV/10dB SINAD)
4310 The result predicts the most likely operating frequencies and signal
4311 levels for high frequency (shortwave) radio propagation paths on
4312 specified days of the year and hours of the day. It is most useful for
4313 paths between 250 km and 6000 km, but can be used with reduced accuracy
4314 for paths shorter or longer than this.
4316 The command uses a routine MINIMUF 3.5 developed by the U.S. Navy and
4317 used to predict the MUF given the predicted flux, day of the year,
4318 hour of the day and geographic coordinates of the transmitter and
4319 receiver. This routine is reasonably accurate for the purposes here,
4320 with a claimed RMS error of 3.8 MHz, but much smaller and less complex
4321 than the programs used by major shortwave broadcasting organizations,
4322 such as the Voice of America.
4324 The command will display some header information detailing its
4325 assumptions, together with the locations, latitude and longitudes and
4326 bearings. It will then show UTC (UT), local time at the other end
4327 (LT), calculate the MUFs, Sun zenith angle at the midpoint of the path
4328 (Zen) and the likely signal strengths. Then for each frequency for which
4329 the system thinks there is a likelihood of a circuit it prints a value.
4331 The value is currently a likely S meter reading based on the conventional
4332 6dB / S point scale. If the value has a '+' appended it means that it is
4333 1/2 an S point stronger. If the value is preceeded by an 'm' it means that
4334 there is likely to be much fading and by an 's' that the signal is likely
4337 By default SHOW/MUF will show the next two hours worth of data. You
4338 can specify anything up to 24 hours worth of data by appending the no of
4339 hours required after the prefix. For example:-
4348 RxSens: -123 dBM SFI: 159 R: 193 Month: 10 Day: 21
4349 Power : 20 dBW Distance: 6283 km Delay: 22.4 ms
4350 Location Lat / Long Azim
4351 East Dereham, Norfolk 52 41 N 0 57 E 47
4352 United-States-W 43 0 N 87 54 W 299
4353 UT LT MUF Zen 1.8 3.5 7.0 10.1 14.0 18.1 21.0 24.9 28.0 50.0
4354 18 23 11.5 -35 mS0+ mS2 S3
4355 19 0 11.2 -41 mS0+ mS2 S3
4358 indicating that you will have weak, fading circuits on top band and
4359 80m but usable signals on 40m (about S3).
4367 will get you the above display, but with the next 24 hours worth of
4375 Gives you an estimate of the long path propagation characterics. It
4376 should be noted that the figures will probably not be very useful, nor
4377 terrible accurate, but it is included for completeness.
4379 <sect1>show/node (1)
4383 <bf>show/node [<node_call> ...]</bf> Show the type and version
4388 Show the type and version (if connected) of the nodes specified on the
4389 command line. If no callsigns are specified then a sorted list of all
4390 the non-user callsigns known to the system will be displayed.
4392 <sect1>show/prefix (0)
4396 <bf>show/prefix <callsign></bf> Interrogate the prefix database
4400 This command takes the <callsign> (which can be a full or partial
4401 callsign or a prefix), looks up which internal country number
4402 it is and then displays all the relevant prefixes for that country
4403 together with the internal country no, the CQ and ITU regions.
4408 <sect1>show/program (5)
4412 <bf>show/program</bf> Show the locations of all the included program modules
4416 Show the name and location where every program module was load from. This
4417 is useful for checking where you think you have loaded a .pm file from.
4423 <bf>show/qra <locator> [<locator>]</bf> Show the distance
4424 between locators<newline>
4425 <bf>show/qra <lat> <long></bf> Convert latitude and longitude to
4430 This is a multipurpose command that allows you either to calculate the
4431 distance and bearing between two locators or (if only one locator is
4432 given on the command line) the distance and beraing from your station
4433 to the locator. For example:-
4440 The first example will show the distance and bearing to the locator from
4441 yourself, the second example will calculate the distance and bearing from
4442 the first locator to the second. You can use 4 or 6 character locators.
4444 It is also possible to convert a latitude and longitude to a locator by
4445 using this command with a latitude and longitude as an argument, for
4449 SH/QRA 52 41 N 0 58 E
4456 <bf>show/qrz <callsign></bf> Show any callbook details on a callsign
4460 This command queries the QRZ callbook server on the internet
4461 and returns any information available for that callsign. This service
4462 is provided for users of this software by http://www.qrz.com
4464 <sect1>show/route (0)
4468 <bf>show/route <callsign></bf> Show the route to <callsign>
4472 This command allows you to see to which node the callsigns specified are
4473 connected. It is a sort of inverse sh/config.
4479 <sect1>show/satellite (0)
4483 <bf>show/satellite <name> [<hours> <interval>]</bf>
4484 Show satellite tracking data
4488 Show the tracking data from your location to the satellite of your choice
4489 from now on for the next few hours.
4491 If you use this command without a satellite name it will display a list
4492 of all the satellites known currently to the system.
4494 If you give a name then you can obtain tracking data of all the passes
4495 that start and finish 5 degrees below the horizon. As default it will
4496 give information for the next three hours for every five minute period.
4498 You can alter the number of hours and the step size, within certain
4501 Each pass in a period is separated with a row of '-----' characters
4507 SH/SAT FENGYUN1 12 2
4514 <bf>show/sun [<prefix>|<callsign>]</bf> Show
4515 sun rise and set times
4519 Show the sun rise and set times for a (list of) prefixes or callsigns,
4520 together with the azimuth and elevation of the sun currently at those
4523 If you don't specify any prefixes or callsigns, it will show the times for
4524 your QTH (assuming you have set it with either SET/LOCATION or SET/QRA),
4525 together with the current azimuth and elevation.
4527 If all else fails it will show the sunrise and set times for the node
4528 that you are connected to.
4534 SH/SUN G1TLH K9CW ZS
4537 <sect1>show/time (0)
4541 <bf>show/time [<prefix>|<callsign>]</bf> Show
4546 If no prefixes or callsigns are given then this command returns the local
4547 time and UTC as the computer has it right now. If you give some prefixes
4548 then it will show UTC and UTC + the local offset (not including DST) at
4549 the prefixes or callsigns that you specify.
4555 <bf>show/wcy</bf> Show the last 10 WCY broadcasts<newline>
4556 <bf>show/wcy <n></bf> Show the last <n> WCY broadcasts
4560 Display the most recent WCY information that has been received by the system
4566 <bf>show/wwv</bf> Show the last 10 WWV broadcasts<newline>
4567 <bf>show/wwv <n></bf> Show the last <n> WWV broadcasts
4571 Display the most recent WWV information that has been received by the system
4578 <bf>shutdown</bf> Shutdown the cluster
4582 Shutdown the cluster and disconnect all the users. If you have Spider
4583 set to respawn in /etc/inittab it will of course restart.
4589 <bf>spoof <callsign> <command></bf> Run commands as another user
4593 This is a very simple yet powerful command for the sysop. It allows you to
4594 issue commands as if you were a different user. This is very useful for the
4595 kind of things that users seem to always get wrong.. like home_node for
4602 <bf>stat/db <dbname></bf> Show the status of a database
4606 Show the internal status of a database descriptor.
4608 Depending on your privilege level you will see more or less information.
4609 This command is unlikely to be of much use to anyone other than a sysop.
4611 <sect1>stat/channel (5)
4615 <bf>stat/channel <callsign></bf> Show the status of a channel on the cluster
4619 Show the internal status of the channel object either for the channel that
4620 you are on or else for the callsign that you asked for.
4622 Only the fields that are defined (in perl term) will be displayed.
4628 <bf>stat/msg <msgno></bf> Show the status of a message
4632 This command shows the internal status of a message and includes information
4633 such as to whom it has been forwarded, its size, origin etc etc.
4635 <sect1>stat/user (5)
4639 <bf>stat/user <callsign></bf> Show the full status of a user
4643 Shows the full contents of a user record including all the secret flags
4646 Only the fields that are defined (in perl term) will be displayed.
4652 <bf>sysop</bf> Regain your privileges if you login remotely
4656 The system automatically reduces your privilege level to that of a
4657 normal user if you login in remotely. This command allows you to
4658 regain your normal privilege level. It uses the normal system: five
4659 numbers are returned that are indexes into the character array that is
4660 your assigned password (see SET/PASSWORD). The indexes start from
4663 You are expected to return a string which contains the characters
4664 required in the correct order. You may intersperse those characters
4665 with others to obscure your reply for any watchers. For example (and
4666 these values are for explanation :-):
4669 password = 012345678901234567890123456789
4677 aa2bbbb0ccc5ddd7xxx3n
4682 They will all match. If there is no password you will still be offered
4683 numbers but nothing will happen when you input a string. Any match is
4690 <bf>talk <callsign></bf> Enter talk mode with <callsign><newline>
4691 <bf>talk <callsign> <text></bf> Send a text message to <callsign><newline>
4692 <bf>talk <callsign> > <node_call> [<text>]</bf>
4693 Send a text message to <callsign> via <node_call>
4697 Send a short message to any other station that is visible on the cluster
4698 system. You can send it to anyone you can see with a SHOW/CONFIGURATION
4699 command, they don't have to be connected locally.
4701 The second form of TALK is used when other cluster nodes are connected
4702 with restricted information. This usually means that they don't send
4703 the user information usually associated with logging on and off the cluster.
4705 If you know that G3JNB is likely to be present on GB7TLH, but you can only
4706 see GB7TLH in the SH/C list but with no users, then you would use the
4707 second form of the talk message.
4709 If you want to have a ragchew with someone you can leave the text message
4710 out and the system will go into 'Talk' mode. What this means is that a
4711 short message is sent to the recipient telling them that you are in a 'Talking'
4712 frame of mind and then you just type - everything you send will go to the
4713 station that you asked for.
4715 All the usual announcements, spots and so on will still come out on your
4718 If you want to do something (such as send a spot) you precede the normal
4719 command with a '/' character, eg:-
4722 /DX 14001 G1TLH What's a B class licensee doing on 20m CW?
4726 To leave talk mode type:
4736 <bf>type <filearea>/<name></bf> Look at a file in one of the fileareas
4740 Type out the contents of a file in a filearea. So, for example, in
4741 filearea 'bulletins' you want to look at file 'arld051' you would
4745 TYPE bulletins/arld051
4748 See also SHOW/FILES to see what fileareas are available and a
4755 <bf>who</bf> Show who is physically connected locally
4759 This is a quick listing that shows which callsigns are connected and
4760 what sort of connection they have
4766 <bf>wx <text></bf> Send a weather message to local users<newline>
4767 <bf>wx full <text> </bf> Send a weather message to all cluster users
4771 Weather messages can sometimes be useful if you are experiencing an extreme
4772 that may indicate enhanced conditions
4774 <sect1>wx (enhanced for sysops) (5)
4778 <bf>wx sysop <text></bf> Send a weather message to other clusters only
4782 Send a weather message only to other cluster nodes and not to general users.