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.33 (Revision 1.22) March 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 Phillips, 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/perl. 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 <sect>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.
259 <sect1>Allowing ax25 connects from users
262 As stated previously, the aim of this document is not to tell you how to
263 configure Linux or the ax25 utilities. However, you do need to add a line
264 in your ax25d.conf to allow connections to DXSpider for your users. For
265 each interface that you wish to allow connections on, use the following format ...
268 default * * * * * * - sysop /spider/src/client client %u ax25
271 or, if you wish your users to be able to use SSID's on their callsigns ..
274 default * * * * * * - sysop /spider/src/client client %s ax25
277 <sect1>Allowing telnet connects from users
280 Allowing telnet connections is quite simple. Firstly you need to add a line
281 in /etc/services to allow connections to a port number, like this ....
284 spdlogin 8000/tcp # spider anonymous login port
287 Then add a line in /etc/inetd.conf like this ....
290 spdlogin stream tcp nowait root /usr/sbin/tcpd /spider/src/client login telnet
294 This needs to be added above the standard services such as ftp, telnet etc.
295 Once this is done, you need to restart inetd like this ....
302 <P>Now login as <em>sysop</em> and cd spider/perl. You can test that spider
303 is accepting telnet logins by issuing the following command ....
306 ./client.pl login telnet
309 You should get a login prompt and on issuing a callsign, you will be given
310 access to the cluster. Note, you will not get a password login. There seems
311 no good reason for a password prompt to be given so it is not asked for.
314 Assuming all is well, then try a telnet from your linux console ....
317 telnet localhost 8000
321 You should now get the login prompt and be able to login as before.
323 <sect1>Setting up node connects
326 In order to allow cluster node connections, spider needs to know that the
327 connecting callsign is a cluster node. This is the case whether the connect
328 is incoming or outgoing. In spider this is a simple task and can be done in
332 Later versions of Spider can distinguish different software and treat them
333 differently. For example, the WCY beacon cannot be handles by AK1A type
334 nodes as AK1A does not know what to do with PC73. There are 4 different
335 types of node at present and although they may not have any major
336 differences at the moment, it allows for compatibility. The 4 types are ...
346 For now, we will assume that the cluster we are going to connect to is an
350 Start up the cluster as you did before and login as the sysop with client.pl.
351 The cluster node I am wanting to make a connection to is GB7BAA but you would
352 obviously use whatever callsign you required. At the prompt type ...
359 The case does not matter as long as you have a version of DXSpider later than
360 1.33. Earlier versions required the callsign to be in upper case.
363 That is now set, it is as simple as that. To prove it, login on yet another
364 console as sysop, cd to spider/perl and issue the command ...
367 ./client.pl gb7baa (using the callsign you set as a node)
371 You should get an initialisation string from DXSpider like this ...
378 If the callsign you just set up as a cluster node is for an incoming connect,
379 this is all that needs to be done. If the connection is to be outgoing then
380 a connection script needs to be written.
382 <sect1>Connection scripts
385 Because DXSpider operates under Linux, connections can be made using just about
386 any protocol; AX25, NETRom, tcp/ip, ROSE etc are all possible examples.
387 Connect scripts live in the /spider/connect directory and are simple ascii files.
388 Writing a script for connections is therefore relatively simple.
391 The connect scripts consist of lines which start with the following keywords
396 # All lines starting with a # are ignored, as are completely
399 timeout timeout followed by a number is the number of seconds to wait for a
400 command to complete. If there is no timeout specified in the script
401 then the default is 60 seconds.
403 abort abort is a regular expression containing one or more strings to look
404 for to abort a connection. This is a perl regular expression and is
405 executed ignoring case.
407 connect connect followed by ax25 or telnet and some type dependent
408 information. In the case of a telnet connection, there can be up to
410 The first is the ip address or hostname of the computer you wish to
411 connect to and the second is the port number you want to use (this
412 can be left out if it is a normal telnet session).
413 In the case of an ax25 session then this would normally be a call to
414 ax25_call or netrom_call as in the example above. It is your
415 responsibility to get your node and other ax25 parameters to work
416 before going down this route!
418 ' ' is the delimiting character for a word or phrase of an expect/send
419 line in a chat type script. The words/phrases normally come in pairs,
420 either can be empty. Each line reads input from the connection until
421 it sees the string (or perl regular expression) contained in the
422 left hand string. If the left hand string is empty then it doesn't
423 read or wait for anything. The comparison is done ignoring case.
424 When the left hand string has found what it is looking for (if it is)
425 then the right hand string is sent to the connection.
426 This process is repeated for every line of chat script.
428 client client starts the connection, put the arguments you would want here
429 if you were starting the client program manually. You only need this
430 if the script has a different name to the callsign you are trying to
431 connect to (i.e. you have a script called other which actually
432 connects to GB7DJK-1 [instead of a script called gb7djk-1]).
436 There are many possible ways to configure the script but here are two examples,
437 one for a NETRom/AX25 connect and one for tcp/ip.
441 abort (Busy|Sorry|Fail)
442 # don't forget to chmod 4775 netrom_call!
443 connect ax25 /usr/sbin/netrom_call bbs gb7djk g1tlh
447 # you can leave this out if you call the script 'gb7dxm'
455 connect telnet dirkl.tobit.co.uk
458 # tell GB7DJK-1 that it is connected to GB7DJK
459 # you can leave this out if you call this script 'gb7djk'
464 Both these examples assume that everything is set up properly at the other end.
465 You will find other examples in the /spider/examples directory.
467 <sect1>Starting the connection
470 You start the connection, from within a sysop enabled cluster login, by typing
471 in the word <em>connect</em> followed by a script name like this ....
474 G0VGS de GB7MBC 13-Dec-1998 2041Z >connect gb7djk-1
475 connection to GB7DJK-1 started
476 G0VGS de GB7MBC 13-Dec-1998 2043Z >
479 This will start a connection using the script called <em>gb7djk-1</em>. You can
480 follow the connection by watching the term or console from where you started
481 <em>cluster.pl</em>. You should see something like this ...
484 <- D G1TLH connect gb7djk-1
485 -> D G1TLH connection to GB7DJK-1 started
486 -> D G1TLH G1TLH de GB7DJK 13-Dec-1998 2046Z >
488 CONNECT sort: telnet command: dirkl.tobit.co.uk
489 CHAT "login" -> "gb7djk"
491 Red Hat Linux release 5.1 (Manhattan)
492 Kernel 2.0.35 on an i586
496 CHAT "word" -> "gb7djk"
498 received "Password: "
500 Connected to GB7DJK-1, starting normal protocol
503 GB7DJK-1 channel func state 0 -> init
505 <- D GB7DJK-1 Last login: Sun Dec 13 17:59:56 from dirk1
506 <- D GB7DJK-1 PC38^GB7DJK-1^~
507 <- D GB7DJK-1 PC18^ 1 nodes, 0 local / 1 total users Max users 0 Uptime
514 With later versions of Spider there is a set/login command for users. This
515 tells them when a user or node logs in or out. If you do not add a line to
516 your scripts after the final line (or before the client line which should always
517 be last if needed) then the login/logout information will be sent to users
518 <it>before</it> the login actually completes. This means if a node is
519 unreachable, it will continue sending logins and logouts to users even though it
520 is not actually connecting. To avoid this use the following line ...
527 In a script, this might look like ...
531 abort (Busy|Sorry|Fail)
532 connect telnet mary 3000
534 '>' 'telnet 44.131.93.96 7305'
541 Cluster links in particular suffer greatly from the presence of telnet echo.
542 This is caused by the telnet negotiation itself and can create at worst severe
543 loops. At best it creates unnecessary bandwidth and large logfiles! There are
544 things that can be done to limit this problem but will not always work dependent
545 on the route taken to connect.
548 Telnet echo itself should only be a problem if the connection is being made to
549 the telnet port (23). This port uses special rules that include echo negotiation.
550 If the connection is to a different port, such as 8000, this negotiation does
551 not happen and therefore no echo should be present.
554 Sometimes it is not possible to make a direct connection to another node and this
555 can cause problems. There is a way of trying to suppress the telnet echo but
556 this will not always work, unfortunately it is difficult to be more specific.
557 Here is an example of what I mean ...
561 abort (Busy|Sorry|Fail)
562 connect telnet mary.lancs.ac.uk
565 '\$' 'stty -echo raw'
566 '\$' 'telnet 44.131.93.96'
570 So, the first connection is made by Spider. This is fine as Spider uses the
571 Net_Telnet script from within perl. This actually uses TCP rather than TELNET
572 so no negotiation will be done on the first connection. Once connected to
573 mary.lancs.ac.uk, the command is sent to suppress echo. Now a telnet is made
574 to a cluster node that is accepting connections on port 23. The problem with
575 this link is that the negotiation is made by the remote machine, therefore you
576 have no control over it. The chances are that this link will create echo and
577 there will be no way you can stop it.
580 <sect>Automating things
583 Ok, you should now have DXSpider running nicely and allowing connects by cluster
584 nodes or users. However, it has to be shutdown and restarted manually and if
585 connection scripts fail they have to be started again manually too, not much use
586 if you are not at the console! So, in this section we will automate both.
587 Firstly starting the cluster.
589 <sect1>Autostarting the cluster
592 This is not only a way to start the cluster automatically, it also works as a
593 watchdog, checking the sanity of DXSpider and respawning it should it crash for
594 any reason. Before doing the following, shutdown the cluster as you did earlier.
597 Login as root and bring up the /etc/inittab file in your favourite editor. Add
598 the following lines to the file near the end ...
601 ##Start DXSpider on bootup and respawn it should it crash
602 DX:3:respawn:/bin/su -c "/usr/bin/perl -w /spider/perl/cluster.pl" sysop >/dev/tty7
606 This line works fine for RedHat distributions. It is also fine for SuSE up to
607 7.0. From Suse 7.1 you need to add runlevels 2 and 5 like this ...
610 DX:235:respawn:/bin/su -c "/usr/bin/perl -w /spider/perl/cluster.pl" sysop >/dev/tty7
614 The line required for Slackware distributions is slightly different. My thanks to
615 Aurelio, PA3EZL for this information.
618 DX:23:respawn:/bin/su - sysop -c "/usr/bin/perl -w /spider/perl/cluster.pl" >/dev/tty7
622 This will automatically start DXSpider on tty7 (ALT-F7) on bootup and restart
623 it should it crash for any reason.
626 As root type the command <em>telinit q</em>. DXSpider should start up
627 immediately. You will see the output on tty7 and if you login as <em>sysop</em>
628 you should find everything running nicely.
631 So far so good, now to automate script connections...
633 <sect1>The crontab file
636 Login as <em>sysop</em> and create a file in /spider/local_cmd called crontab.
637 Edit it with your favourite editor and add a line like this (I have included
641 # check every 10 minutes to see if gb7xxx is connected and if not
642 # start a connect job going
644 0,10,20,30,40,50 * * * * start_connect('gb7xxx') if !connected('gb7xxx')
648 The callsign involved will be the callsign of the cluster node you are
649 going to connect to. This will now check every 10 minutes to see if
650 gb7xxx is connected, if it is then nothing will be done. If it is not,
651 then a connect attempt will be started.
654 There are probably lots of other things you could use this crontab file for.
655 If you want to know more about it, look at the
656 <htmlurl url="http://www.dxcluster.org/cron.html" name="DXSpider"> website
657 at the cron page where it is explained more fully.
662 Starting with version 1.13 there is simple hop control available on a per
663 node basis. Also it is possible to isolate a network completely so that you
664 get all the benefits of being on that network, but can't pass on information
665 from it to any other networks you may be connected to (or vice versa).
667 <sect1>Basic hop control
670 In /spider/data you will find a file called hop_table.pl. This is the file
671 that controls your hop count settings. It has a set of default hops on the
672 various PC frames and also a set for each node you want to alter the hops for.
673 You may be happy with the default settings of course, but this powerful tool
674 can help to protect and improve the network. The file will look something
679 # hop table construction
684 # default hopcount to use
687 # some variable hop counts based on message type
698 # the per node hop control thingy
730 Each set of hops is contained within a pair of curly braces and contains a
731 series of PC frame types. PC11 for example is a DX spot. The figures here
732 are not exhaustive but should give you a good idea of how the file works.
735 You can alter this file at any time, including whilst the cluster is running.
736 If you alter the file during runtime, the command <em>load/hops</em> will
737 bring your changes into effect.
739 <sect1>Isolating networks
742 It is possible to isolate networks from each other on a "gateway" node using the
743 <em>set/isolate <node_call></em> command.
746 The effect of this is to partition an isolated network completely from another
747 nodes connected to your node. Your node will appear on and otherwise behave
748 normally on every network to which you are connected, but data from an isolated
749 network will not cross onto any other network or vice versa. However all the
750 spot, announce and WWV traffic and personal messages will still be handled
751 locally (because you are a real node on all connected networks), that is locally
752 connected users will appear on all networks and will be able to access and
753 receive information from all networks transparently. All routed messages will
754 be sent as normal, so if a user on one network knows that you are a gateway for
755 another network, he can still still send a talk/announce etc message via your
756 node and it will be routed across.
759 The only limitation currently is that non-private messages cannot be passed down
760 isolated links regardless of whether they are generated locally. This will change
761 when the bulletin routing facility is added.
764 If you use isolate on a node connection you will continue to receive all
765 information from the isolated partner, however you will not pass any information
766 back to the isolated node. There are times when you would like to forward only
767 spots across a link (maybe during a contest for example). To do this, isolate
768 the node in the normal way and put in a filter in the /spider/filter/spots
769 directory to override the isolate. This filter can be very simple and consists
770 of just one line ....
774 [ 1, 0, 'd', 0, 3] # The last figure (3) is the hop count
779 There is a lot more on filtering in the next section.
781 <sect>Filtering (Old Style upto v1.44)
784 Filters can be set for spots, announcements and WWV. You will find the
785 directories for these under /spider/filter. You will find some examples in
786 the directories with the suffix <em>.issue</em>. There are two types of
787 filter, one for incoming information and one for outgoing information.
788 Outgoing filters are in the form <em>CALLSIGN.pl</em> and incoming filters
789 are in the form <em>in_CALLSIGN.pl</em>. Filters can be set for both nodes
793 All filters work in basically the same way. There are several elements
794 delimited by commas. There can be many lines in the filter and they are
795 read from the top by the program. When writing a filter you need to think
796 carefully about just what you want to achieve. You are either going to write
797 a filter to <em>accept</em> or to <em>reject</em>. Think of a filter as
798 having 2 main elements. For a reject filter, you would have a line or multiple
799 lines rejecting the things you do not wish to receive and then a default line
800 accepting everything else that is not included in the filter. Likewise, for an
801 accept filter, you would have a line or multiple lines accepting the things you
802 wish to receive and a default line rejecting everthing else.
805 In the example below, a user requires a filter that would only return SSB spots
806 posted in Europe on the HF bands. This is achieved by first rejecting the CW
807 section of each HF band and rejecting all of VHF, UHF etc based on frequency.
808 Secondly, a filter rule is set based on CQ zones to only accept spots posted in
809 Europe. Lastly, a default filter rule is set to reject anything outside the filter.
813 [ 0, 0, 'r', # reject all CW spots
823 30000.0, 49000000000.0,
825 [ 1, 11, 'n', [ 14, 15, 16, 20, 33, ], 15 ], #accept EU
826 [ 0, 0, 'd', 0, 1 ], # 1 = want, 'd' = everything else
831 The actual elements of each filter are described more fully in the following
837 The elements of the Spot filter are ....
840 [action, field_no, sort, possible_values, hops]
844 There are 3 elements here to look at. Firstly, the action element. This is
845 very simple and only 2 possible states exist, accept (1) or drop (0).
848 The second element is the field_no. There are 13 possiblities to choose from
854 2 = date in unix format
857 5 = spotted dxcc country
858 6 = spotter's dxcc country
864 12 = callsign of the channel on which the spot has appeared
868 The third element tells us what to expect in the fourth element. There are
872 n - numeric list of numbers e.g. [ 1,2,3 ]
873 r - ranges of pairs of numbers e.g. between 2 and 4 or 10 to 17 - [ 2,4, 10,17 ]
874 a - an alphanumeric regex
879 The fifth element is simply the hops to set in this filter. This would only
880 be used if the filter was for a node of course and overrides the hop count in
884 So, let's look at an example spot filter. It does not matter in the example
885 who the filter is to be used for. So, what do we need in the filter? We need
886 to filter the spots the user/node requires and also set a default rule for
887 anything else outside the filter. Below is a simple filter that stops spots
888 arriving from outside Europe.
890 <tscreen><verb>$in = [
891 [ 0, 4, 'a', '^(K|N|A|W|VE|VA|J)'], # 0 = drop, 'a' = alphanumeric
892 [ 1, 0, 'd', 0, 1 ], # 1 = want, 'd' = everything else
897 So the filter is wrapped in between a pair of square brackets. This tells
898 Spider to look in between these limits. Then each line is contained within
899 its own square brackets and ends with a comma. Lets look carefully at the first
900 line. The first element is 0 (drop). Therefore anything we put on this line
901 will not be accepted. The next element is 4. This means we are filtering by
902 the spotter. The third element is the letter "a" which tells the program to
903 expect an alphanumeric expression in the fourth element. The fourth element
904 is a list of letters separated by the pipe symbol.
907 What this line does is tell the program to drop any spots posted by anyone in
908 the USA, Canada or Japan.
911 The second line is the default rule for anything else. The "d" tells us this
912 and the line simply reads... accept anything else.
915 You can add as many lines as you need to complete the filter but if there are
916 several lines of the same type it is neater to enclose them all as one line.
917 An example of this is where specific bands are set. We could write this like
921 [ 0,0,'r',[1800.0, 2000.0], 1],
922 [ 0,0,'r',[10100.0, 10150.0], 1],
923 [ 0,0,'r',[14000.0, 14350.0], 1],
924 [ 0,0,'r',[18000.0, 18200.0], 1],
928 But the line below achieves the same thing and is more efficient ....
933 1800.0, 2000.0, # top band
934 10100.0, 10150.0, # WARC
935 14000.0, 14350.0, # 20m
936 18000.0, 18200.0, # WARC
946 # This is an example announce or filter allowing only West EU announces
948 # The element list is:-
949 # 0 - callsign of announcer
950 # 1 - destination * = all, <callsign> = routed to the node
952 # 3 - * - sysop, <some text> - special list eg 6MUK, ' ', normal announce
954 # 5 - 0 - announce, 1 - wx
955 # 6 - channel callsign (the interface from which this spot came)
958 [ 1, 0, 'a', '^(P[ABCDE]|DK0WCY|G|M|2|EI|F|ON)' ],
963 In this example, only the prefixes listed will be allowed. It is possible to
964 be quite specific. The Dutch prefix "P" is followed by several secondary
965 identifiers which are allowed. So, in the example, "PA" or "PE" would be ok
966 but not "PG". It is even possible to allow information from a single callsign.
967 In the example this is DK0WCY, to allow the posting of his Aurora Beacon.
974 # This is an example WWV filter
976 # The element list is:-
977 # 0 - nominal unix date of spot (ie the day + hour:13)
985 # 8 - incoming interface callsign
987 # this one doesn't filter, it just sets the hop count to 6 and is
988 # used mainly just to override any isolation from WWV coming from
998 It should be noted that the filter will start to be used only once a user/node
999 has logged out and back in again.
1001 I am not going to spend any more time on these filters now as they will become
1002 more "comprehensive" in the near future.
1004 <sect>Filtering (New Style v1.45 and later)
1006 <sect1>General filter rules
1009 Upto v1.44 it was not possible for the user to set their own filters. From
1010 v1.45 though that has all changed. It is now possible to set filters for just
1011 about anything you wish. If you have just updated from an older version of
1012 DXSpider you will need to update your new filters. You do not need to do
1013 anything with your old filters, they will be renamed as you update.
1016 There are 3 basic commands involved in setting and manipulating filters. These
1017 are <em>accept</em>, <em>reject</em> and <em>clear</em>. First we will look
1018 generally at filtering. There are a number of things you can filter in the
1019 DXSpider system. They all use the same general mechanism.
1022 In general terms you can create a 'reject' or an 'accept' filter which can have
1023 up to 10 lines in it. You do this using, for example ...
1030 where ..... are the specific commands for that type of filter. There are filters
1031 for spots, wwv, announce, wcy and (for sysops) connects. See each different
1032 accept or reject command reference for more details.
1034 There is also a command to clear out one or more lines in a filter. They are ...
1041 There is clear/xxxx command for each type of filter.
1044 and you can check that your filters have worked by the command ...
1051 For now we are going to use spots for the examples, but you can apply the same
1052 principles to all types of filter.
1054 <sect1>Types of filter
1057 There are two main types of filter, <em>accept</em> or <em>reject</em>. You
1058 can use either to achieve the result you want dependent on your own preference
1059 and which is more simple to do. It is pointless writing 8 lines of reject
1060 filters when 1 accept filter would do the same thing! Each filter has 10
1061 lines (of any length) which are tried in order. If a line matches then the
1062 action you have specified is taken (ie reject means ignore it and accept
1066 If you specify reject filters, then any lines that arrive that match the filter
1067 will be dumped but all else will be accepted. If you use an accept filter,
1068 then ONLY the lines in the filter will be accepted and all else will be dumped.
1069 For example if you have a single line <em>accept</em> filter ...
1072 accept/spots on vhf and (by_zone 14,15,16 or call_zone 14,15,16)
1075 then you will <em>ONLY</em> get VHF spots <em>from</em> or <em>to</em> CQ zones
1079 If you set a reject filter like this ...
1082 reject/spots on hf/cw
1085 Then you will get everything <em>EXCEPT</em> HF CW spots. You could make this
1086 single filter even more flexible. For example, if you are interested in IOTA
1087 and will work it even on CW even though normally you are not interested in
1088 CW, then you could say ...
1091 reject/spots on hf/cw and not info iota
1094 But in that case you might only be interested in iota and say:-
1097 accept/spots not on hf/cw or info iota
1100 which achieves exactly the same thing. You should choose one or the other
1101 until you are comfortable with the way it works. You can mix them if you
1102 wish (actually you can have an accept AND a reject on the same line) but
1103 don't attempt this until you are sure you know what you are doing!
1106 You can arrange your filter lines into logical units, either for your own
1107 understanding or simply convenience. Here is an example ...
1110 reject/spots 1 on hf/cw
1111 reject/spots 2 on 50000/1400000 not (by_zone 14,15,16 or call_zone 14,15,16)
1114 What this does is to ignore all HF CW spots and also rejects any spots on VHF
1115 which don't either originate or spot someone in Europe.
1118 This is an example where you would use a line number (1 and 2 in this case), if
1119 you leave the digit out, the system assumes '1'. Digits '0'-'9' are available.
1120 This make it easier to see just what filters you have set. It also makes it
1121 more simple to remove individual filters, during a contest for example.
1124 You will notice in the above example that the second line has brackets. Look
1125 at the line logically. You can see there are 2 separate sections to it. We
1126 are saying reject spots that are VHF or above <em>APART</em> from those in
1127 zones 14, 15 and 16 (either spotted there or originated there). If you did
1128 not have the brackets to separate the 2 sections, then Spider would read it
1129 logically from the front and see a different expression entirely ...
1132 (on 50000/1400000 and by_zone 14,15,16) or call_zone 14,15,16
1135 The simple way to remember this is, if you use OR - use brackets. Whilst we are
1136 here CASE is not important. 'And BY_Zone' is just the same as 'and by_zone'.
1138 As mentioned earlier, setting several filters can be more flexible than
1139 simply setting one complex one. Doing it in this way means that if you want
1140 to alter your filter you can just redefine or remove one or more lines of it or
1141 one line. For example ...
1144 reject/spots 1 on hf/ssb
1147 would redefine our earlier example, or
1153 To remove all the filter lines in the spot filter ...
1159 <sect1>Filter options
1162 You can filter in several different ways. The options are listed in the
1163 various helpfiles for accept, reject and filter.
1165 <sect1>Default filters
1168 Sometimes all that is needed is a general rule for node connects. This can
1169 be done with a node_default filter. This rule will always be followed, even
1170 if the link is isolated, unless another filter is set specifically. Default
1171 rules can be set for nodes and users. They can be set for spots, announces,
1172 WWV and WCY. They can also be used for hops. An example might look like
1176 accept/spot node_default by_zone 14,15,16,20,33
1177 set/hops node_default spot 50
1180 This filter is for spots only, you could set others for announce, WWV and WCY.
1181 This filter would work for ALL nodes unless a specific filter is written to
1182 override it for a particular node. You can also set a user_default should
1183 you require. It is important to note that default filters should be
1184 considered to be "connected". By this I mean that should you override the
1185 default filter for spots, you need to add a rule for the hops for spots also.
1187 <sect1>Advanced filtering
1190 Once you are happy with the results you get, you may like to experiment.
1193 The previous example that filters hf/cw spots and accepts vhf/uhf spots from EU
1194 can be written with a mixed filter, for example ...
1199 acc/spot 2 on 50000/1400000 and (by_zone 14,15,16 or call_zone 14,15,16)
1202 Note that the first filter has not been specified with a number. This will
1203 automatically be assumed to be number 1. In this case, we have said <em>reject all
1204 HF spots in the CW section of the bands but accept all others at HF. Also
1205 accept anything in VHF and above spotted in or by operators in the zones
1206 14, 15 and 16</em>. Each filter slot actually has a 'reject' slot and
1207 an 'accept' slot. The reject slot is executed BEFORE the accept slot.
1210 It was mentioned earlier that after a reject test that doesn't match, the default
1211 for following tests is 'accept', the reverse is true for 'accept'. In the example
1212 what happens is that the reject is executed first, any non hf/cw spot is passed
1213 to the accept line, which lets through everything else on HF. The next filter line
1214 lets through just VHF/UHF spots from EU.
1219 <sect1>Filtering Mail
1222 In the /spider/msg directory you will find a file called badmsg.pl.issue. Rename
1223 this to badmsg.pl and edit the file. The original looks something like this ....
1227 # the list of regexes for messages that we won't store having
1228 # received them (bear in mind that we must receive them fully before
1232 # The format of each line is as follows
1234 # type source pattern
1235 # P/B/F T/F/O/S regex
1237 # type: P - private, B - bulletin (msg), F - file (ak1a bull)
1238 # source: T - to field, F - from field, O - origin, S - subject
1239 # pattern: a perl regex on the field requested
1241 # Currently only type B and P msgs are affected by this code.
1243 # The list is read from the top down, the first pattern that matches
1244 # causes the action to be taken.
1246 # The pattern can be undef or 0 in which case it will always be selected
1247 # for the action specified
1265 I think this is fairly self explanatory. It is simply a list of subject
1266 headers that we do not want to pass on to either the users of the cluster or
1267 the other cluster nodes that we are linked to. This is usually because of
1268 rules and regulations pertaining to items for sale etc in a particular country.
1270 <sect1>Filtering DX callouts (Depricated)
1273 <bf><it>From version 1.47, this method is replaced by the command set/baddx</it></bf>
1276 In the same way as mail, there are some types of spot we do not wish to pass on
1277 to users or linked cluster nodes. In the /spider/data directory you will find
1278 a file called baddx.pl.issue. Rename this to baddx.pl and edit the file. The
1279 original looks like this ....
1283 # the list of dx spot addresses that we don't store and don't pass on
1304 Again, this is simply a list of names we do not want to see in the spotted
1305 field of a DX callout.
1308 <sect1>Filtering words from text fields in Announce, Talk and DX spots
1311 Create a file in /spider/data called <em>badwords</em>. The format is quite
1312 simple. Lines beginning with # are ignored so comments can be added. An
1313 example file is below ...
1316 # Below is a list of words we do not wish to see on the cluster
1317 grunge grunged grunging
1318 splodge splodger splodging
1323 Multiple words can be used on the same line as shown. Obviously these
1324 are just examples :-)
1327 You can reload the file from the cluster prompt as sysop with load/badwords.
1332 DXSpider deals seamlessly with standard AK1A type mail. It supports both
1333 personal and bulletin mail and the sysop has additional commands to ensure
1334 that mail gets to where it is meant. DXSpider will send mail almost
1335 immediately, assuming that the target is on line. However, only one
1336 mail message is dealt with at any one time. If a mail message is already
1337 being sent or recieved, then the new message will be queued until it has
1340 The cluster mail is automatically deleted after 30 days unless the sysop
1341 sets the "keep" flag using the <em>msg</em> command.
1343 <sect1>Personal mail
1346 Personal mail is sent using the <em>sp</em> command. This is actually the
1347 default method of sending mail and so a simple <em>s</em> for send will do.
1348 A full list of the send commands and options is in the <em>command set</em>
1349 section, so I will not duplicate them here.
1351 <sect1>Bulletin mail
1354 Bulletin mail is sent by using the <em>sb</em> command. This is one of the
1355 most common mistakes users make when sending mail. They send a bulletin
1356 mail with <em>s</em> or <em>sp</em> instead of <em>sb</em> and of course
1357 the message never leaves the cluster. This can be rectified by the sysop
1358 by using the <em>msg</em> command.
1360 <P>Bulletin addresses can be set using the Forward.pl file.
1365 DXSpider receives all and any mail sent to it without any alterations needed
1366 in files. Because personal and bulletin mail are treated differently, there
1367 is no need for a list of accepted bulletin addresses. It is necessary, however,
1368 to tell the program which links accept which bulletins. For example, it is
1369 pointless sending bulletins addresses to "UK" to any links other than UK
1370 ones. The file that does this is called forward.pl and lives in /spider/msg.
1371 At default, like other spider files it is named forward.pl.issue. Rename it
1372 to forward.pl and edit the file to match your requirements.
1373 The format is below ...
1377 # this is an example message forwarding file for the system
1379 # The format of each line is as follows
1381 # type to/from/at pattern action destinations
1382 # P/B/F T/F/A regex I/F [ call [, call ...] ]
1384 # type: P - private, B - bulletin (msg), F - file (ak1a bull)
1385 # to/from/at: T - to field, F - from field, A - home bbs, O - origin
1386 # pattern: a perl regex on the field requested
1387 # action: I - ignore, F - forward
1388 # destinations: a reference to an array containing node callsigns
1390 # if it is non-private and isn't in here then it won't get forwarded
1392 # Currently only type B msgs are affected by this code.
1394 # The list is read from the top down, the first pattern that matches
1395 # causes the action to be taken.
1397 # The pattern can be undef or 0 in which case it will always be selected
1398 # for the action specified
1400 # If the BBS list is undef or 0 and the action is 'F' (and it matches the
1401 # pattern) then it will always be forwarded to every node that doesn't have
1402 # it (I strongly recommend you don't use this unless you REALLY mean it, if
1403 # you allow a new link with this on EVERY bull will be forwarded immediately
1404 # on first connection)
1410 'B', 'T', 'LOCAL', 'F', [ qw(GB7MBC) ],
1411 'B', 'T', 'ALL', 'F', [ qw(GB7BAA GB7ADX PA4AB-14) ],
1412 'B', 'T', 'UK', 'F', [ qw(GB7BAA GB7ADX) ],
1413 'B', 'T', 'QSL', 'F', [ qw(GB7BAA GB7ADX PA4AB-14) ],
1414 'B', 'T', 'QSLINF', 'F', [ qw(GB7BAA GB7ADX PA4AB-14) ],
1415 'B', 'T', 'DX', 'F', [ qw(GB7BAA GB7ADX PA4AB-14) ],
1416 'B', 'T', 'DXINFO', 'F', [ qw(GB7BAA GB7ADX PA4AB-14) ],
1417 'B', 'T', 'DXNEWS', 'F', [ qw(GB7BAA GB7ADX PA4AB-14) ],
1418 'B', 'T', 'DXQSL', 'F', [ qw(GB7BAA GB7ADX PA4AB-14) ],
1419 'B', 'T', 'SYSOP', 'F', [ qw(GB7BAA GB7ADX) ],
1420 'B', 'T', '50MHZ', 'F', [ qw(GB7BAA GB7ADX PA4AB-14) ],
1424 Simply insert a bulletin address and state in the brackets where you wish
1425 that mail to go. For example, you can see here that mail sent to "UK" will
1426 only be sent to the UK links and not to PA4AB-14.
1429 To force the cluster to reread the file use load/forward
1432 <sect1>The msg command
1435 The <em>msg</em> command is a very powerful and flexible tool for the
1436 sysop. It allows the sysop to alter to and from fields and make other
1437 changes to manage the cluster mail.
1439 Here is a full list of the various options ...
1442 MSG TO <msgno> <call> - change TO callsign to <call>
1443 MSG FRom <msgno> <call> - change FROM callsign to <call>
1444 MSG PRrivate <msgno> - set private flag
1445 MSG NOPRrivate <msgno> - unset private flag
1446 MSG RR <msgno> - set RR flag
1447 MSG NORR <msgno> - unset RR flag
1448 MSG KEep <msgno> - set the keep flag (message won't be deleted ever)
1449 MSG NOKEep <msgno> - unset the keep flag
1450 MSG SUbject <msgno> <new> - change the subject to <new>
1451 MSG WAittime <msgno> - remove any waiting time for this message
1452 MSG NOREad <msgno> - mark message as unread
1453 MSG REad <msgno> - mark message as read
1454 MSG QUeue - queue any outstanding bulletins
1455 MSG QUeue 1 - queue any outstanding private messages
1458 These commands are simply typed from within the cluster as the sysop user.
1460 <sect1>Message status
1463 You can check on a message from within the cluster by using the command
1464 <em>stat/msg</em>. This will give you additional information on the
1465 message number including which nodes have received it, which node it
1466 was received from and when etc. Here is an example of the output of
1470 G0VGS de GB7MBC 28-Jan-2001 1308Z >
1473 Msg Time: 26-Jan-2001 1302Z
1477 Subject: AMSAT 2line KEPS 01025.AMSAT
1479 Got it Nodes: GB7BAA, GB7ADX
1483 G0VGS de GB7MBC 28-Jan-2001 1308Z >
1486 <sect1>Filtering mail
1489 This is described in the section on <em>Other filters</em> so I will not
1492 <sect1>Distribution lists
1495 Distribution lists are simply a list of users to send certain types of
1496 mail to. An example of this is mail you only wish to send to other
1497 sysops. In /spider/msg there is a directory called <em>distro</em>. You
1498 put any distibution lists in here. For example, here is a file called
1499 SYSOP.pl that caters for the UK sysops.
1502 qw(GB7TLH GB7DJK GB7DXM GB7CDX GB7BPQ GB7DXN GB7MBC GB7MBC-6 GB7MDX
1503 GB7NDX GB7SDX GB7TDX GB7UDX GB7YDX GB7ADX GB7BAA GB7DXA GB7DXH
1504 GB7DXK GB7DXI GB7DXS)
1507 Any mail sent to "sysop" would only be sent to the callsigns in this list.
1509 <sect1>BBS interface
1512 Spider provides a simple BBS interface. No input is required from the sysop
1513 of the cluster at all. The BBS simply sets the cluster as a BBS and pushes
1514 any required mail to the cluster. No mail can flow from Spider to the BBS,
1515 the interface is one-way.
1518 Please be careful not to flood the cluster network with unnecessary mail.
1519 Make sure you only send mail to the clusters that want it by using the
1520 Forward.pl file very carefully.
1525 Spider allows the creation of local or remote databases. It supports
1526 chained databases, allowing several different databases to be scanned
1527 with one simple command. Importing of databases is limited at present
1528 to the standard AK1A databases such as OBLAST and the DB0SDX QSL
1529 database but will expand with time.
1531 <sect1>Creating databases
1534 Creating a database could not be more simple. All the commands are
1535 sent from the cluster prompt as the <em>sysop</em> user.
1537 To create a database you use the command <em>dbcreate</em>. It can
1538 be used in 3 different ways like so ..
1544 To simply create a database locally, you just tell the command the
1545 name of the database. This does not create the actual database, it
1546 simply defines it to say that it exists.
1549 dbcreate <name> chain <name> [<name>...]
1552 This creates a chained database entry. The first database will be
1553 scanned, then the second, the third etc...
1556 dbcreate <name> remote <name>
1559 This creates a remote entry. the first name field is the database
1560 name at the remote node, then the remote switch, then the actual
1561 node_call of the remote node, for example...
1564 dbcreate buckmaster remote gb7dxc
1567 Remote databases cannot be chained, however, the last database in a
1568 chain can be a remote database.
1570 <sect1>Importing databases
1573 The only databases that Spider can currently import are the standard
1574 AK1A databases such as OBLAST or the DB0SDX qsl and address database.
1575 This will be added to with time.
1577 To import such a database, first put the file somewhere useful like /tmp
1578 and then issue the following command ...
1581 dbimport oblast /tmp/OBLAST.FUL
1584 This will update the existing local oblast database or create it if
1587 <sect1>Checking available databases
1590 Once a database is created, you will want to check that it has been
1591 added. To do this use the <em>dbavail</em> command. This will
1592 output the available databases. For example ...
1596 DB Name Location Chain
1600 G0VGS de GB7MBC 3-Feb-2001 1925Z >
1603 <sect1>Looking up databases
1606 To look for information in a defined database, simply use the <em>dbshow</em>
1607 command, for example ...
1610 dbshow buckmaster G0YLM
1613 will show the information for the callsign G0YLM from the buckmaster
1614 database if it exists. To make things more standard for the users
1615 you can add an entry in the Aliases file so that it looks like a standard
1616 <em>show</em> command like this ...
1619 '^sh\w*/buc', 'dbshow buckmaster', 'dbshow',
1622 Now you can simply use show/buckmaster or an abreviation.
1624 <sect1>Removing databases
1627 To delete an existing database you use the <em>dbremove</em> command.
1634 would remove the oblast database and its associated datafile from the
1635 system. There are no warnings or recovery possible from this command.
1636 If you remove a database it ceases to exist and would have to be created
1637 from scratch if you still required it.
1639 <sect>Information, files and useful programs
1644 One of the more important things a cluster sysop needs to do is to get
1645 information to his users. The simplest way to do this is to have a banner
1646 that is sent to the user on login. This is know as a "message of the day"
1647 or "motd". To set this up, simply create a file in /spider/data called motd
1648 and edit it to say whatever you want. It is purely a text file and will be
1649 sent automatically to anyone logging in to the cluster.
1651 <sect1>Downtime message
1654 If for any reason the cluster is down, maybe for upgrade or maintenance but
1655 the machine is still running, a message can be sent to the user advising them
1656 of the fact. This message lives in the /spider/data directory and is called
1657 "offline". Simply create the file and edit it to say whatever you wish.
1658 This file will be sent to a user attempting to log into the cluster when
1659 DXSpider is not actually running.
1661 <sect1>Other text messages
1664 You can set other text messages to be read by the user if they input the file
1665 name. This could be for news items or maybe information for new users.
1666 To set this up, make a directory under /spider called <em>packclus</em>.
1667 Under this directory you can create files called <em>news</em> or <em>newuser</em>
1668 for example. In fact you can create files with any names you like. These can
1669 be listed by the user with the command ....
1675 They can be read by the user by typing the command ....
1681 If the file they want to read is called <em>news</em>. You could also set
1682 an alias for this in the Alias file to allow them just to type <em>news</em>
1685 You can also store other information in this directory, either directly or
1686 nested under directories. One use for this would be to store DX bulletins
1687 such as the OPDX bulletins. These can be listed and read by the user.
1688 To keep things tidy, make a directory under /spider/packclus called
1689 <em>bulletins</em>. Now copy any OPDX or similar bulletins into it. These
1690 can be listed by the user in the same way as above using the <em>show/files</em>
1691 command with an extension for the bulletins directory you have just created,
1695 show/files bulletins
1699 An example would look like this ....
1703 bulletins DIR 20-Dec-1999 1715Z news 1602 14-Dec-1999 1330Z
1706 You can see that in the files area (basically the packclus directory) there is a
1707 file called <em>news</em> and a directory called <em>bulletins</em>. You can
1708 also see that dates they were created. In the case of the file <em>news</em>,
1709 you can also see the time it was last modified, a good clue as to whether the
1710 file has been updated since you last read it. To read the file called
1711 <em>news</em> you would simply issue the command ....
1717 To look what is in the bulletins directory you issue the command ....
1720 show/files bulletins
1721 opdx390 21381 29-Nov-1999 1621Z opdx390.1 1670 29-Nov-1999 1621Z
1722 opdx390.2 2193 29-Nov-1999 1621Z opdx391 25045 29-Nov-1999 1621Z
1723 opdx392 35969 29-Nov-1999 1621Z opdx393 15023 29-Nov-1999 1621Z
1724 opdx394 33429 29-Nov-1999 1621Z opdx394.1 3116 29-Nov-1999 1621Z
1725 opdx395 24319 29-Nov-1999 1621Z opdx396 32647 29-Nov-1999 1621Z
1726 opdx396.1 5537 29-Nov-1999 1621Z opdx396.2 6242 29-Nov-1999 1621Z
1727 opdx397 18433 29-Nov-1999 1621Z opdx398 19961 29-Nov-1999 1621Z
1728 opdx399 17719 29-Nov-1999 1621Z opdx400 19600 29-Nov-1999 1621Z
1729 opdx401 27738 29-Nov-1999 1621Z opdx402 18698 29-Nov-1999 1621Z
1730 opdx403 24994 29-Nov-1999 1621Z opdx404 15685 29-Nov-1999 1621Z
1731 opdx405 13984 29-Nov-1999 1621Z opdx405.1 4166 29-Nov-1999 1621Z
1732 opdx406 28934 29-Nov-1999 1621Z opdx407 24153 29-Nov-1999 1621Z
1733 opdx408 15081 29-Nov-1999 1621Z opdx409 23234 29-Nov-1999 1621Z
1734 Press Enter to continue, A to abort (16 lines) >
1737 You can now read any file in this directory using the type command, like this ....
1740 type bulletins/opdx391
1741 Ohio/Penn DX Bulletin No. 391
1742 The Ohio/Penn Dx PacketCluster
1746 Editor Tedd Mirgliotta, KB8NW
1747 Provided by BARF-80 BBS Cleveland, Ohio
1748 Online at 440-237-8208 28.8k-1200 Baud 8/N/1 (New Area Code!)
1749 Thanks to the Northern Ohio Amateur Radio Society, Northern Ohio DX
1750 Association, Ohio/Penn PacketCluster Network, K1XN & Golist, WB2RAJ/WB2YQH
1751 & The 59(9) DXReport, W3UR & The Daily DX, K3TEJ, KN4UG, W4DC, NC6J, N6HR,
1752 Press Enter to continue, A to abort (508 lines) >
1755 The page length will of course depend on what you have it set to!
1757 <sect1>The Aliases file
1760 You will find a file in /spider/cmd/ called Aliases. First, copy this file to
1761 /spider/local_cmd/Aliases and edit this file. You will see something like this ...
1767 # provide some standard aliases for commands for terminally
1768 # helpless ak1a user (helpless in the sense that they never
1769 # read nor understand help files)
1771 # This file is automagically reloaded if its modification time is
1772 # later than the one stored in CmdAlias.pm
1774 # PLEASE make this file consistant with reality! (the patterns MUST
1775 # match the filenames!)
1777 # Don't alter this file, copy it into the local_cmd tree and modify it.
1778 # This file will be replaced everytime I issue a new release.
1780 # You only need to put aliases in here for commands that don't work as
1781 # you desire naturally, e.g sh/dx on its own just works as you expect
1782 # so you need not add it as an alias.
1790 '^\?', 'apropos', 'apropos',
1793 '^ann.*/full', 'announce full', 'announce',
1794 '^ann.*/sysop', 'announce sysop', 'announce',
1795 '^ann.*/(.*)$', 'announce $1', 'announce',
1802 '^del', 'kill', 'kill',
1803 '^del\w*/fu', 'kill full', 'kill',
1804 '^di\w*/a\w*', 'directory all', 'directory',
1805 '^di\w*/b\w*', 'directory bulletins', 'directory',
1806 '^di\w*/n\w*', 'directory new', 'directory',
1807 '^di\w*/o\w*', 'directory own', 'directory',
1808 '^di\w*/s\w*', 'directory subject', 'directory',
1809 '^di\w*/t\w*', 'directory to', 'directory',
1810 '^di\w*/f\w*', 'directory from', 'directory',
1811 '^di\w*/(\d+)', 'directory $1', 'directory',
1828 '^l$', 'directory', 'directory',
1829 '^ll$', 'directory', 'directory',
1830 '^ll/(\d+)', 'directory $1', 'directory',
1835 '^news', 'type news', 'type',
1845 '^r$', 'read', 'read',
1846 '^rcmd/(\S+)', 'rcmd $1', 'rcmd',
1849 '^s/p$', 'send', 'send',
1850 '^sb$', 'send noprivate', 'send',
1851 '^set/home$', 'set/homenode', 'set/homenode',
1852 '^set/nobe', 'unset/beep', 'unset/beep',
1853 '^set/nohe', 'unset/here', 'unset/here',
1854 '^set/noan', 'unset/announce', 'unset/announce',
1855 '^set/nodx', 'unset/dx', 'unset/dx',
1856 '^set/nota', 'unset/talk', 'unset/talk',
1857 '^set/noww', 'unset/wwv', 'unset/wwv',
1858 '^set/nowx', 'unset/wx', 'unset/wx',
1859 '^sh$', 'show', 'show',
1860 '^sh\w*/buck', 'dbshow buck', 'dbshow',
1861 '^sh\w*/bu', 'show/files bulletins', 'show/files',
1862 '^sh\w*/c/n', 'show/configuration nodes', 'show/configuration',
1863 '^sh\w*/c$', 'show/configuration', 'show/configuration',
1864 '^sh\w*/com', 'dbavail', 'dbavail',
1865 '^sh\w*/dx/(\d+)-(\d+)', 'show/dx $1-$2', 'show/dx',
1866 '^sh\w*/dx/(\d+)', 'show/dx $1', 'show/dx',
1867 '^sh\w*/dx/d(\d+)', 'show/dx from $1', 'show/dx',
1868 '^sh\w*/email', 'dbshow email', 'dbshow',
1869 '^sh\w*/hftest', 'dbshow hftest', 'dbshow',
1870 '^sh\w*/vhftest', 'dbshow vhftest', 'dbshow',
1871 '^sh\w*/qsl', 'dbshow qsl', 'dbshow',
1872 '^sh\w*/tnc', 'who', 'who',
1873 '^sh\w*/up', 'show/cluster', 'show/cluster',
1874 '^sh\w*/w\w*/(\d+)-(\d+)', 'show/wwv $1-$2', 'show/wwv',
1875 '^sh\w*/w\w*/(\d+)', 'show/wwv $1', 'show/wwv',
1876 '^sp$', 'send', 'send',
1880 '^ta$', 'talk', 'talk',
1881 '^t$', 'talk', 'talk',
1888 '^wx/full', 'wx full', 'wx',
1889 '^wx/sysop', 'wx sysop', 'wx',
1900 You can create aliases for commands at will. Beware though, these may not
1901 always turn out as you think. Care is needed and you need to test the
1902 results once you have set an alias.
1907 In later versions of Spider a simple console program is provided for the sysop.
1908 This has a type ahead buffer with line editing facilities and colour for spots,
1909 announces etc. To use this program, simply use console.pl instead of client.pl.
1912 To edit the colours, copy /spider/perl/Console.pl to /spider/local and edit the
1913 file with your favourite editor.
1915 <sect1>Updating kepler data
1918 Spider has a powerful and flexible show/satellite command. In order for
1919 this to be accurate, the kepler data has to be updated regularly. In
1920 general, this data is available as an email or via cluster mail.
1921 Updating it is simple. First you need to export the mail message as a
1922 file. You do this with the <em>export</em> command from the cluster prompt
1923 as the sysop. For example ...
1926 export 5467 /spider/perl/keps.in
1929 would export message number 5467 as a file called keps.in in the
1930 /spider/perl directory.
1932 Now login to a VT as sysop and cd /spider/perl. There is a command in
1933 the perl directory called <em>convkeps.pl</em>. All we need to do now is
1934 convert the file like so ...
1937 ./convkeps.pl keps.in
1940 Now go back to the cluster and issue the command ...
1946 That is it! the kepler data has been updated.
1948 <sect1>The QRZ callbook
1951 The command <em>sh/qrz</em> will only work once you have followed a few
1952 simple steps. First you need to get a user ID and password from qrz.com.
1953 Simply go to the site and create one. Secondly you need to copy the file
1954 /spider/perl/Internet.pm to /spider/local and alter it to match your user
1955 ID and password. You also at this point need to set $allow=1 to complete
1956 the setup. Many thanks to Fred Lloyd, the proprieter of
1957 <htmlurl url="http://www.qrz.com" name="qrz.com"> for allowing this access.
1962 CVS stands for "Concurrent Versions System" and the CVS for DXSpider is held
1963 at <htmlurl url="http://www.sourceforge.net" name="Sourceforge">. This means
1964 that it is possible to update your DXSpider installation to the latest
1965 sources by using a few simple commands.
1968 THIS IS NOT FOR THE FAINT HEARTED!!! ONLY DO THIS IF YOU HAVE A TEST
1969 INSTALLATION OR ARE WILLING TO HAVE YOUR CLUSTER CRASH ON YOU!!!
1970 THIS MUST BE CONSIDERED AT LEAST BETA TESTING AND MAYBE EVEN ALPHA!!
1971 YOU HAVE BEEN WARNED!!!
1974 DID I MENTION..... ONLY DO THIS IF YOU ARE WILLING TO ACCEPT THE
1978 I am of course assuming that you have a machine with both DXSpider and
1979 Internet access running.
1982 BEFORE YOU EVEN CONSIDER STARTING WITH THIS MAKE A BACKUP OF YOUR
1983 ENTIRE SPIDER TREE!!
1986 Assuming you are connected to the Internet, you need to login to the
1987 CVS repository and then update your Spider source. There are several
1988 steps which are listed below ...
1991 First login as the user <em>sysop</em>. Next you need to connect to the CVS
1992 repository. You do this with the command below ...
1995 cvs -d:pserver:anonymous@cvs.DXSpider.sourceforge.net:/cvsroot/dxspider login
1998 You will get a password prompt. Simply hit return here and your machine should
1999 return to a normal linux prompt.
2002 What happens next depends on whether you have an existing installation that
2003 you want to update with the latest and greatest or whether you just want
2004 to see what is there and/or run it on a new machine for testing.
2006 If you are installing Spider from CVS then change directory to /home/sysop
2008 If you are wanting to update Spider then cd to /tmp
2011 The next step will create a brand new 'spider' directory in your current
2015 cvs -z3 -d:pserver:anonymous@cvs.DXSpider.sourceforge.net:/cvsroot/dxspider co spider
2018 This command is all on one line.
2021 Hopefully your screen should show you downloading files. The -z3 simply compresses
2022 the download to improve speed.
2023 When this has finished, you will have exactly the same as if you had untarred a full
2024 tarball PLUS some extra directories and files that CVS needs to do the magic that
2028 Now if you are doing a new installation, that's it. Carry on as if you have
2029 just downloaded and untarred the lastest tarball.
2032 If you want to upgrade your current installation then do this ...
2035 tar cvfz /tmp/s.tgz spider
2037 tar xvfzp /tmp/s.tgz
2040 This is assuming you downloaded to the /tmp directory of course.
2043 NOTE: the 'p' on the end of the 'xvfz' is IMPORTANT! It keeps the permissions
2044 correct. YOU WERE LOGGED IN AS THE USER SYSOP WEREN'T YOU?????
2046 Remember to recompile the C client (cd /spider/src; make)
2049 At this point the files have been upgraded. You can (usually) restart the cluster
2050 in your own time. However, if you attempt to use any new commands or features
2051 expect it to be fatal! At least your cluster will have been restarted then so it
2052 will be too late to worry about it!
2055 Now the magic part! From now on when you want to update, simply connect to the
2056 Internet and then, as the user <em>sysop</em> ...
2063 and your files will be updated. As above, remember to recompile the "C" client
2064 if it has been updated (CVS will tell you) and restart if any of the perl scripts
2065 have been altered or added, again, CVS will tell you.
2068 You will find any changes documented in the /spider/Changes file.
2070 <sect>The DXSpider command set
2073 Below is a complete list of commands available from the cluster prompt.
2074 Most maintenance tasks are automatic but there are some commands that are useful
2075 for a sysop. These are listed below in alphabetical order. The number in
2076 brackets following the command name is the permissions level needed to use
2079 <sect1>accept/announce (0)
2083 <bf>accept/announce [0-9] <pattern></bf> Set an accept filter
2088 Create an 'accept this announce' line for a filter.
2090 An accept filter line means that if the announce matches this filter it is
2091 passed onto the user. See HELP FILTERS for more info. Please read this
2092 to understand how filters work - it will save a lot of grief later on.
2094 You can use any of the following things in this line:-
2097 info <string> eg: iota or qsl
2098 by <prefixes> eg: G,M,2
2100 origin_dxcc <numbers> eg: 61,62 (from eg: sh/pre G)
2101 origin_itu <numbers>
2102 origin_zone <numbers>
2107 wx 1 filter WX announces
2108 dest <prefixes> eg: 6MUK,WDX (distros)
2115 acc/ann 2 by_zone 14,15,16
2116 (this could be all on one line: acc/ann dest 6MUK or by_zone 14,15,16)
2125 This filter would only allow announces that were posted buy UK stations.
2126 You can use the tag 'all' to accept everything eg:
2132 but this probably for advanced users...
2134 <sect1>accept/announce (extended for sysops) (8)
2138 <bf>accept/announce <call> [input] [0-9]<pattern></bf> Announce filter sysop version
2142 This version allows a sysop to set a filter for a callsign as well as the
2143 default for nodes and users eg:-
2147 accept/ann input node_default by G,M,2
2148 accept/ann user_default by G,M,2
2151 <sect1>accept/spots (0)
2155 <bf>accept/announce [0-9] <pattern></bf> Set an accept filter
2160 Create an 'accept this spot' line for a filter.
2163 An accept filter line means that if the spot matches this filter it is
2164 passed onto the user. See HELP FILTERS for more info. Please read this
2165 to understand how filters work - it will save a lot of grief later on.
2167 You can use any of the following things in this line:-
2170 freq <range> eg: 0/30000 or hf or hf/cw or 6m,4m,2m
2171 on <range> same as 'freq'
2172 call <prefixes> eg: G,PA,HB9
2173 info <string> eg: iota or qsl
2175 call_dxcc <numbers> eg: 61,62 (from eg: sh/pre G)
2186 For frequencies, you can use any of the band names defined in
2187 SHOW/BANDS and you can use a subband name like: cw, rtty, data, ssb -
2188 thus: hf/ssb. You can also just have a simple range like: 0/30000 -
2189 this is more efficient than saying simply: freq HF (but don't get
2190 too hung up about that)
2196 acc/spot 2 on vhf and (by_zone 14,15,16 or call_zone 14,15,16)
2199 You can use the tag 'all' to accept everything, eg:
2205 but this probably for advanced users...
2207 <sect1>accept/spots (extended for sysops) (8)
2211 <bf>accept/spots <call> [input] [0-9] <pattern></bf> Spot filter sysop version
2215 This version allows a sysop to set a filter for a callsign as well as the
2216 default for nodes and users eg:-
2219 accept/spot db0sue-7 1 by_zone 14,15,16
2220 accept/spot node_default all
2221 set/hops node_default 10
2223 accept/spot user_default by G,M,2
2226 <sect1>accept/wcy (0)
2230 <bf>accept/wcy [0-9] <pattern></bf> set an accept WCY filter
2234 It is unlikely that you will want to do this, but if you do then you can
2235 filter on the following fields:-
2238 by <prefixes> eg: G,M,2
2240 origin_dxcc <numbers> eg: 61,62 (from eg: sh/pre G)
2241 origin_itu <numbers>
2242 origin_zone <numbers>
2250 There are no examples because WCY Broadcasts only come from one place and
2251 you either want them or not (see UNSET/WCY if you don't want them).
2253 This command is really provided for future use.
2255 See HELP FILTER for information.
2257 <sect1>accept/wcy (extended for sysops) (8)
2261 <bf>accept/wcy <call> [input] [0-9] <pattern></bf>
2262 WCY filter sysop version
2266 This version allows a sysop to set a filter for a callsign as well as the
2267 default for nodes and users eg:-
2270 accept/wcy node_default all
2271 set/hops node_default 10
2274 <sect1>accept/wwv (0)
2278 <bf>accept/wwv [0-9] <pattern></bf> Set an accept WWV filter
2282 It is unlikely that you will want to do this, but if you do then you can
2283 filter on the following fields:-
2286 by <prefixes> eg: G,M,2
2288 origin_dxcc <numbers> eg: 61,62 (from eg: sh/pre G)
2289 origin_itu <numbers>
2290 origin_zone <numbers>
2300 accept/wwv by_zone 4
2303 is probably the only useful thing to do (which will only show WWV broadcasts
2304 by stations in the US).
2306 See HELP FILTER for information.
2308 <sect1>accept/wwv (extended for sysops) (8)
2312 <bf>accept/wwv <call> [input] [0-9] <pattern></bf>
2313 WWV filter sysop version
2317 This version allows a sysop to set a filter for a callsign as well as the
2318 default for nodes and users eg:-
2321 accept/wwv db0sue-7 1 by_zone 4
2322 accept/wwv node_default all
2323 set/hops node_default 10
2325 accept/wwv user_default by W,K
2332 <bf>announce <text></bf> Send an announcement to local users
2336 Send an announcement to LOCAL users only, where <text> is the text
2337 of the announcement you wish to broadcast
2339 <sect1>announce full (0)
2343 <bf>announce full <text></bf> Send an announcement cluster wide
2347 This command will send your announcement across the whole cluster
2351 <sect1>announce sysop (5)
2355 <bf>announce sysop <text></bf>
2359 Send an announcement to Sysops only
2365 <bf>apropos <string></bf> Search the help database
2369 Search the help database for <string> (it isn't case sensitive),
2370 and print the names of all the commands that may be relevant.
2376 <bf>bye</bf> Exit from the cluster
2380 This will disconnect you from the cluster
2386 <bf>catchup <node_call> All|[<msgno> ...]</bf>
2387 Mark a message as sent
2391 When you send messages the fact that you have forwarded it to another node
2392 is remembered so that it isn't sent again. When you have a new partner
2393 node and you add their callsign to your /spider/msg/forward.pl file, all
2394 outstanding non-private messages will be forwarded to them. This may well
2395 be ALL the non-private messages. You can prevent this by using these
2400 catchup GB7DJK 300 301 302 303 500-510
2403 and to undo what you have just done:-
2406 uncatchup GB7DJK all
2407 uncatchup GB7DJK 300 301 302 303 500-510
2410 which will arrange for them to be forward candidates again.
2412 Order is not important.
2414 <sect1>clear/spots (0)
2418 <bf>clear/spots [1|all]</bf> Clear a spot filter line
2422 This command allows you to clear (remove) a line in a spot filter or to
2423 remove the whole filter.
2425 If you have a filter:-
2429 acc/spot 2 on vhf and (by_zone 14,15,16 or call_zone 14,15,16)
2438 you will be left with:-
2441 acc/spot 2 on vhf and (by_zone 14,15,16 or call_zone 14,15,16)
2450 the filter will be completely removed.
2457 <bf>connect <callsign></bf> Start a connection to another DX Cluster
2461 Start a connection process that will culminate in a new connection to the
2462 DX cluster <callsign>. This process creates a new 'client' process which will
2463 use the script in /spider/connect/<callsign> to effect the 'chat' exchange
2464 necessary to traverse the network(s) to logon to the cluster <callsign>.
2470 <bf>dbavail</bf> Show a list of all the databases in the system
2474 The title says it all really, this command lists all the databases defined
2475 in the system. It is also aliased to SHOW/COMMAND.
2481 <bf>dbcreate <name></bf> Create a database entry<newline>
2482 <bf>dbcreate <name> chain <name> [<name>..]</bf> Create a
2483 chained database entry<newline>
2484 <bf>dbcreate <name> remote <node></bf> Create a remote database
2489 DBCREATE allows you to define a database in the system. It doesn't actually
2490 create anything, just defines it.
2492 The databases that are created are simple DB_File hash databases, they are
2493 therefore already 'indexed'.
2495 You can define a local database with the first form of the command eg:
2499 You can also chain databases with the addition of the 'chain' keyword.
2500 This will search each database one after the other. A typical example
2503 DBCREATE sdx_qsl chain sql_ad
2505 No checking is done to see if the any of the chained databases exist, in
2506 fact it is usually better to do the above statement first then do each of
2507 the chained databases.
2509 Databases can exist offsite. To define a database that lives on another
2512 DBCREATE buckmaster remote gb7dxc
2514 Remote databases cannot be chained; however, the last database in a
2515 a chain can be a remote database eg:
2517 DBCREATE qsl chain gb7dxc
2519 To see what databases have been defined do:
2521 DBAVAIL (or it will have been aliased to SHOW/COMMAND)
2523 It would be normal for you to add an entry into your local Aliases file
2524 to allow people to use the 'SHOW/<dbname>' style syntax. So you would
2525 need to add a line like:-
2531 '^sh\w*/buc', 'dbshow buckmaster', 'dbshow',
2541 to work as they may be used to.
2543 See DBIMPORT for the importing of existing AK1A format data to databases.
2544 See DBSHOW for generic database enquiry
2550 <bf>dbimport <dbname></bf> Import AK1A data into a database
2554 If you want to import or update data in bulk to a database you can use
2555 this command. It will either create or update entries into an existing
2556 database. For example:-
2558 DBIMPORT oblast /tmp/OBLAST.FUL
2560 will import the standard OBLAST database that comes with AK1A into the
2561 oblast database held locally.
2567 <bf>dbremove <dbname></bf> Delete a database
2571 DBREMOVE will completely remove a database entry and also delete any data
2572 file that is associated with it.
2574 There is no warning, no comeback, no safety net.
2580 will remove the oblast database from the system and it will also remove
2581 the associated datafile.
2585 There is no warning, no comeback, no safety net.
2587 You have been warned.
2593 <bf>dbshow <dbname> <key></bf> Display an entry, if it exists,
2598 This is the generic user interface to the database to the database system.
2599 It is expected that the sysop will add an entry to the local Aliases file
2600 so that users can use the more familiar AK1A style of enquiry such as:
2606 but if he hasn't and the database really does exist (use DBAVAIL or
2607 SHOW/COMMAND to find out) you can do the same thing with:
2618 <bf>debug</bf> Set the cluster program into debug mode
2622 Executing this command will only have an effect if you are running the cluster
2629 It will interrupt the cluster just after the debug command has finished.
2631 <sect1>directory (0)
2635 <bf>directory</bf> List messages<newline>
2636 <bf>directory all</bf> List all messages<newline>
2637 <bf>directory own</bf> List your own messages<newline>
2638 <bf>directory new</bf> List all new messages<newline>
2639 <bf>directory to <call></bf> List all messages to <call><newline>
2640 <bf>directory from <call></bf> List all messages from <call><newline>
2641 <bf>directory subject <string></bf> List all messages with <string>
2643 <bf>directory <nn></bf> List last <nn> messages<newline>
2644 <bf>directory <from>-<to></bf> List messages <from> message <to> message <newline>
2648 List the messages in the messages directory.
2650 If there is a 'p' one space after the message number then it is a
2651 personal message. If there is a '-' between the message number and the
2652 'p' then this indicates that the message has been read.
2654 You can use shell escape characters such as '*' and '?' in the <call>
2657 You can combine some of the various directory commands together eg:-
2662 DIR SUBJECT IOTA 200-250
2665 You can abbreviate all the commands to one letter and use ak1a syntax:-
2673 <sect1>directory (extended for sysops) (5)
2676 Works just like the user command except that sysops can see ALL messages.
2678 <sect1>disconnect (8)
2682 <bf>disconnect <call> [<call> ...]</bf> Disconnect a user or node
2686 Disconnect any <call> connected locally
2692 <bf>dx [by <call>] <freq> <call> <remarks></bf> Send a DX spot
2696 This is how you send a DX Spot to other users. You can, in fact, now
2697 enter the <freq> and the <call> either way round.
2705 will all give the same result. You can add some remarks to the end
2706 of the command and they will be added to the spot.
2709 DX FR0G 144600 this is a test
2712 You can credit someone else by saying:-
2715 DX by G1TLH FR0G 144.600 he isn't on the cluster
2718 The <freq> is compared against the available bands set up in the
2719 cluster. See SHOW/BANDS for more information.
2725 <bf>export <msgno> <filename></bf> Export a message to a file
2729 Export a message to a file. This command can only be executed on a local
2730 console with a fully privileged user. The file produced will be in a form
2731 ready to be imported back into the cluster by placing it in the import
2732 directory (/spider/msg/import).
2734 This command cannot overwrite an existing file. This is to provide some
2735 measure of security. Any files written will owned by the same user as the
2736 main cluster, otherwise you can put the new files anywhere the cluster can
2737 access. For example:-
2741 <sect1>export_users (9)
2745 <bf>export_users [<filename>]</bf> Export the users database to ascii
2749 Export the users database to a file in ascii format. If no filename
2750 is given then it will export the file to /spider/data/user_asc.
2752 If the file already exists it will be renamed to <filename>.o. In fact
2753 up to 5 generations of the file can be kept each one with an extra 'o' on the
2756 BE WARNED: this will write to any file you have write access to. No check is
2757 made on the filename (if any) that you specify.
2759 <sect1>forward/latlong (8)
2763 <bf>forward/latlong <node_call></bf> Send latitude and longitude
2764 information to another cluster
2768 This command sends all the latitude and longitude information that your
2769 cluster is holding against callsigns. One advantage of recieving this
2770 information is that more locator information is held by you. This
2771 means that more locators are given on the DX line assuming you have
2772 <em>set/dxgrid</em> enabled. This could be a LOT of information though, so
2773 it is not recommended on slow links.
2775 <sect1>forward/opername (1)
2779 <bf>forward/opername <call></bf> Send out information on this <call>
2784 This command sends out any information held in the user file which can
2785 be broadcast in PC41 protocol packets. This information is Name, QTH, Location
2786 and Homenode. PC41s are only sent for the information that is available.
2792 <bf>help <cmd></bf> Get help on a command
2796 All commands can be abbreviated, so SHOW/DX can be abbreviated
2797 to SH/DX, ANNOUNCE can be shortened to AN and so on.
2799 Look at the APROPOS <string> command which will search the help database
2800 for the <string> you specify and give you a list of likely commands
2801 to look at with HELP.
2807 <bf>init <node call></bf> Re-initialise a link to an AK1A compatible node
2811 This command attempts to re-initialise a link to a (usually) AK1A node
2812 that has got confused, usually by a protocol loop of some kind. It may
2813 work - but you usually will be better off simply disconnecting it (or
2814 better, if it is a real AK1A node, doing an RCMD <node> DISC/F <your
2817 Best of luck - you will need it.
2823 <bf>kill <msgno> [<msgno> ..]</bf> Delete a message
2824 from the local system
2828 Delete a message from the local system. You will only be able to
2829 delete messages that you have originated or been sent (unless you are
2836 <bf>kill <msgno> [<msgno> ...]</bf> Remove or erase a message from
2838 <bf>kill from <call></bf> Remove all messages from a callsign<newline>
2839 <bf>kill to <call></bf> Remove all messages to a callsign<newline>
2843 You can get rid of any message to or originating from your callsign using
2844 this command. You can remove more than one message at a time.
2846 As a sysop you can kill any message on the system.
2848 <sect1>kill full (5)
2852 <bf>kill full <msgno> [<msgno>]</bf> Delete a message from the
2857 Delete a message (usually a 'bulletin') from the whole cluster system.
2859 This uses the subject field, so any messages that have exactly the same subject
2860 will be deleted. Beware!
2866 <bf>links</bf> Show which nodes are physically connected
2870 This is a quick listing that shows which links are connected and
2871 some information about them. See WHO for a list of all connections.
2874 <sect1>load/aliases (9)
2878 <bf>load/aliases</bf> Reload the command alias table
2882 Reload the /spider/cmd/Aliases file after you have editted it. You will need to
2883 do this if you change this file whilst the cluster is running in order for the
2884 changes to take effect.
2887 <sect1>load/baddx (9)
2891 <bf>load/baddx</bf> Reload the bad DX table
2895 Reload the /spider/data/baddx.pl file if you have changed it manually whilst
2896 the cluster is running. This table contains the DX Calls that, if spotted,
2897 will not be passed on. FR0G and TEST are classic examples.
2899 <sect1>load/badmsg (9)
2903 <bf>load/badmsg</bf> Reload the bad message table
2907 Reload the /spider/msg/badmsg.pl file if you have changed it manually whilst
2908 the cluster is running. This table contains a number of perl regular
2909 expressions which are searched for in the fields targetted of each message.
2910 If any of them match then that message is immediately deleted on receipt.
2912 <sect1>load/badwords (9)
2916 <bf>load/badwords</bf> Reload the badwords file
2920 Reload the /spider/data/badwords file if you have changed it manually whilst
2921 the cluster is running. This file contains a list of words which, if found
2922 on certain text portions of PC protocol, will cause those protocol frames
2923 to be rejected. It will all put out a message if any of these words are
2924 used on the announce, dx and talk commands. The words can be one or
2925 more on a line, lines starting with '#' are ignored.
2927 <sect1>load/bands (9)
2931 <bf>load/bands</bf> Reload the band limits table
2935 Reload the /spider/data/bands.pl file if you have changed it manually whilst
2936 the cluster is running.
2938 <sect1>load/cmd_cache (9)
2942 <bf>load/cmd_cache</bf> Reload the automatic command cache
2946 Normally, if you change a command file in the cmd or local_cmd tree it will
2947 automatially be picked up by the cluster program. Sometimes it can get confused
2948 if you are doing a lot of moving commands about or delete a command in the
2949 local_cmd tree and want to use the normal one again. Execute this command to
2950 reset everything back to the state it was just after a cluster restart.
2952 <sect1>load/forward (9)
2956 <bf>load/forward</bf> Reload the msg forwarding routing table
2959 Reload the /spider/msg/forward.pl file if you have changed it
2960 manually whilst the cluster is running.
2962 <sect1>load/messages (9)
2966 <bf>load/messages</bf> Reload the system messages file
2970 If you change the /spider/perl/Messages file (usually whilst fiddling/writing ne
2971 commands) you can have them take effect during a cluster session by executing this
2972 command. You need to do this if get something like :-
2974 unknown message 'xxxx' in lang 'en'
2976 <sect1>load/prefixes (9)
2980 <bf>load/prefixes</bf> Reload the prefix table
2984 Reload the /spider/data/prefix_data.pl file if you have changed it manually
2985 whilst the cluster is running.
2991 <bf>merge <node> [<no spots>/<no wwv>]</bf> Ask for the
2992 latest spots and WWV
2996 MERGE allows you to bring your spot and wwv database up to date. By default
2997 it will request the last 10 spots and 5 WWVs from the node you select. The
2998 node must be connected locally.
3000 You can request any number of spots or wwv and although they will be appended
3001 to your databases they will not duplicate any that have recently been added
3002 (the last 2 days for spots and last month for WWV data).
3008 <bf>msg <cmd> <msgno> [data ...]</bf> Alter various message
3013 Alter message parameters like To, From, Subject, whether private or bulletin
3014 or return receipt (RR) is required or whether to keep this message from timing
3018 MSG TO <msgno> <call> - change TO callsign to <call>
3019 MSG FRom <msgno> <call> - change FROM callsign to <call>
3020 MSG PRrivate <msgno> - set private flag
3021 MSG NOPRrivate <msgno> - unset private flag
3022 MSG RR <msgno> - set RR flag
3023 MSG NORR <msgno> - unset RR flag
3024 MSG KEep <msgno> - set the keep flag (message won't be deleted ever)
3025 MSG NOKEep <msgno> - unset the keep flag
3026 MSG SUbject <msgno> <new> - change the subject to <new>
3027 MSG WAittime <msgno> - remove any waitting time for this message
3028 MSG NOREad <msgno> - mark message as unread
3029 MSG REad <msgno> - mark message as read
3030 MSG QUeue - queue any outstanding bulletins
3031 MSG QUeue 1 - queue any outstanding private messages
3034 You can look at the status of a message by using:-
3036 STAT/MSG <msgno>
3038 This will display more information on the message than DIR does.
3044 <bf>pc <call> <text></bf> Send text (eg PC Protocol) to <call>
3048 Send some arbitrary text to a locally connected callsign. No processing is done on
3049 the text. This command allows you to send PC Protocol to unstick things if problems
3050 arise (messages get stuck etc). eg:-
3052 pc gb7djk PC33^GB7TLH^GB7DJK^400^
3054 You can also use in the same way as a talk command to a connected user but
3055 without any processing, added of "from <blah> to <blah>" or whatever.
3057 pc G1TLH Try doing that properly!!!
3063 <bf>ping <node></bf> Check the link quality between nodes
3067 his command allows you to send a frame to another cluster node on
3068 the network and get a return frame. The time it takes to do this
3069 is a good indication of the quality of the link. The actual time
3070 it takes is output to the console in seconds.
3071 Any visible cluster node can be PINGed.
3078 <bf>rcmd <node call> <cmd></bf> Send a command to another DX cluster
3082 This command allows you to send nearly any command to another DX Cluster
3083 node that is connected to the system.
3085 Whether you get any output is dependant on a) whether the other system knows
3086 that the node callsign of this cluster is in fact a node b) whether the
3087 other system is allowing RCMDs from this node and c) whether you have
3088 permission to send this command at all.
3094 <bf>read</bf> Read the next unread personal message addressed to you<newline>
3095 <bf>read <msgno></bf> Read the specified message<newline>
3099 You can read any messages that are sent as 'non-personal' and also any
3100 message either sent by or sent to your callsign.
3103 <sect1>read (extended for sysops) (5)
3107 <bf>read <msgno></bf> Read a message on the system
3111 As a sysop you may read any message on the system
3113 <sect1>reject/announce
3117 <bf>reject/announce [0-9] <pattern></bf> Set a reject filter
3122 Create an 'reject this announce' line for a filter.
3124 An reject filter line means that if the announce matches this filter it is
3125 passed onto the user. See HELP FILTERS for more info. Please read this
3126 to understand how filters work - it will save a lot of grief later on.
3128 You can use any of the following things in this line:-
3131 info <string> eg: iota or qsl
3132 by <prefixes> eg: G,M,2
3134 origin_dxcc <numbers> eg: 61,62 (from eg: sh/pre G)
3135 origin_itu <numbers>
3136 origin_zone <numbers>
3141 wx 1 filter WX announces
3142 dest <prefixes> eg: 6MUK,WDX (distros)
3148 rej/ann by_zone 14,15,16 and not by G,M,2
3151 You can use the tag 'all' to reject everything eg:
3157 but this probably for advanced users...
3159 <sect1>reject/announce (extended for sysops) (8)
3163 <bf>reject/announce <call> [input] [0-9] <pattern></bf> Announce filter sysop version
3167 This version allows a sysop to set a filter for a callsign as well as the
3168 default for nodes and users eg:-
3172 reject/ann input node_default by G,M,2
3173 reject/ann user_default by G,M,2
3176 <sect1>reject/spots (0)
3180 <bf>reject/spots [0-9] <pattern></bf> Set a reject filter
3185 Create a 'reject this spot' line for a filter.
3187 A reject filter line means that if the spot matches this filter it is
3188 dumped (not passed on). See HELP FILTERS for more info. Please read this
3189 to understand how filters work - it will save a lot of grief later on.
3191 You can use any of the following things in this line:-
3194 freq <range> eg: 0/30000 or hf or hf/cw or 6m,4m,2m
3195 on <range> same as 'freq'
3196 call <prefixes> eg: G,PA,HB9
3197 info <string> eg: iota or qsl
3199 call_dxcc <numbers> eg: 61,62 (from eg: sh/pre G)
3209 For frequencies, you can use any of the band names defined in
3210 SHOW/BANDS and you can use a subband name like: cw, rtty, data, ssb -
3211 thus: hf/ssb. You can also just have a simple range like: 0/30000 -
3212 this is more efficient than saying simply: on HF (but don't get
3213 too hung up about that)
3219 rej/spot 2 on vhf and not (by_zone 14,15,16 or call_zone 14,15,16)
3222 You can use the tag 'all' to reject everything eg:
3228 but this probably for advanced users...
3230 <sect1>reject/spots (extended for sysops) (8)
3234 <bf>reject/spots <call> [input] [0-9] <pattern></bf>
3235 Reject spot filter sysop version
3239 This version allows a sysop to set a filter for a callsign as well as the
3240 default for nodes and users eg:-
3243 reject/spot db0sue-7 1 by_zone 14,15,16
3244 reject/spot node_default all
3245 set/hops node_default 10
3247 reject/spot user_default by G,M,2
3250 <sect1>reject/wcy (0)
3254 <bf>reject/wcy [0-9] <pattern></bf> Set a reject WCY filter
3258 It is unlikely that you will want to do this, but if you do then you can
3259 filter on the following fields:-
3262 by <prefixes> eg: G,M,2
3264 origin_dxcc <numbers> eg: 61,62 (from eg: sh/pre G)
3265 origin_itu <numbers>
3266 origin_zone <numbers>
3273 There are no examples because WCY Broadcasts only come from one place and
3274 you either want them or not (see UNSET/WCY if you don't want them).
3276 This command is really provided for future use.
3278 See HELP FILTER for information.
3280 <sect1>reject/wcy (extended for sysops) (8)
3284 <bf>reject/wcy <call> [input] [0-9] <pattern></bf>
3285 WCY reject filter sysop version
3289 This version allows a sysop to set a filter for a callsign as well as the
3290 default for nodes and users eg:-
3292 reject/wcy gb7djk all
3294 <sect1>reject/wwv (0)
3298 <bf>reject/wwv [0-9] <pattern></bf> Set a reject WWV filter
3302 It is unlikely that you will want to do this, but if you do then you can
3303 filter on the following fields:-
3306 by <prefixes> eg: G,M,2
3308 origin_dxcc <numbers> eg: 61,62 (from eg: sh/pre G)
3309 origin_itu <numbers>
3310 origin_zone <numbers>
3320 reject/wwv by_zone 14,15,16
3323 is probably the only useful thing to do (which will only show WWV broadcasts
3324 by stations in the US).
3326 See HELP FILTER for information.
3328 <sect1>reject/wwv (extended for sysops) (8)
3332 <bf>reject/wwv <call> [input] [0-9] <pattern></bf>
3333 WWV reject filter sysop version
3336 <P>This version allows a sysop to set a filter for a callsign as well as the
3337 default for nodes and users eg:-
3340 reject/wwv db0sue-7 1 by_zone 4
3341 reject/wwv node_default all
3343 reject/wwv user_default by W
3350 <bf>reply</bf> Reply (privately) to the last message that you have read<newline>
3351 <bf>reply <msgno></bf> Reply (privately) to the specified message<newline>
3352 <bf>reply B <msgno></bf> Reply as a Bulletin to the specified message<newline>
3353 <bf>reply NOPrivate <msgno></bf> Reply as a Bulletin to the specified
3355 <bf>reply RR <msgno></bf> Reply to the specified message with read
3360 You can reply to a message and the subject will automatically have
3361 "Re:" inserted in front of it, if it isn't already present.
3363 You can also use all the extra qualifiers such as RR, PRIVATE,
3364 NOPRIVATE, B that you can use with the SEND command (see SEND
3365 for further details)
3371 <bf>send <call> [<call> ...]</bf> Send a message to
3372 one or more callsigns<newline>
3373 <bf>send RR <call></bf> Send a message and ask for a read receipt<newline>
3374 <bf>send COPY <msgno> <call></bf> Send a copy of a message
3376 <bf>send PRIVATE <call></bf> Send a personal message<newline>
3377 <bf>send NOPRIVATE <call></bf> Send a message to all stations<newline>
3381 All the SEND commands will create a message which will be sent either to
3382 an individual callsign or to one of the 'bulletin' addresses.
3384 SEND <call> on its own acts as though you had typed SEND PRIVATE, that is
3385 it will mark the message as personal and send it to the cluster node that
3386 that callsign is connected to.
3388 You can have more than one callsign in all of the SEND commands.
3390 You can have multiple qualifiers so that you can have for example:-
3393 SEND RR COPY 123 PRIVATE G1TLH G0RDI
3396 which should send a copy of message 123 to G1TLH and G0RDI and you will
3397 receive a read receipt when they have read the message.
3399 SB is an alias for SEND NOPRIVATE (or send a bulletin in BBS speak)
3400 SP is an alias for SEND PRIVATE
3402 <sect1>set/address (0)
3406 <bf>set/address <your_address></bf> Record your postal address
3410 Literally, record your address details on the cluster.
3412 <sect1>set/announce (0)
3416 <bf>set/announce</bf> Allow announce messages
3420 Allow announce messages to arrive at your terminal.
3422 <sect1>set/arcluster (5)
3426 <bf>set/arcluster <node_call> [<node_call> ...]</bf> Make
3427 the node_call an AR-Cluster type node
3431 Set the node_call as an AR-Cluster type node
3433 <sect1>set/baddx (8)
3437 <bf>set/baddx <call></bf> Stop words we do not wish to see in the callsign field
3438 of a dx spot being propagated
3442 Setting a word as 'baddx' will prevent spots with that word in the callsign
3443 field of a DX spot from going any further. They will not be displayed and they
3444 will not be sent onto other nodes.
3446 The word must be wriiten in full, no wild cards are allowed eg:-
3449 set/baddx FORSALE VIDEO FR0G
3452 To allow a word again, use the following command ...
3458 <sect1>set/badnode (6)
3462 <bf>set/badnode <node_call></bf> Stop spots from this node_call
3467 Setting a callsign as a 'badnode' will prevent spots from that node
3468 going any further. They will not be displayed and they will not be
3469 sent onto other nodes.
3471 The call can be a full or partial call (or a prefix), eg:-
3477 will stop anything from K1TTT (including any SSID's)
3483 will allow spots from him again.
3485 Use with extreme care. This command may well be superceded by FILTERing.
3487 <sect1>set/badspotter (8)
3491 <bf>set/badspotter <call></bf> Stop spots from this callsign being propagated
3495 Setting a callsign as a 'badspotter' will prevent spots from this callsign
3496 going any further. They will not be displayed and they will not be
3497 sent onto other nodes.
3499 The call must be written in full, no wild cards are allowed eg:-
3502 set/badspotter VE2STN
3505 will stop anything from VE2STN. If you want SSIDs as well then you must
3506 enter them specifically.
3509 unset/badspotter VE2STN
3512 will allow spots from him again.
3514 Use with extreme care. This command may well be superceded by FILTERing.
3520 <bf>set/beep</bf> Add beeps to terminal messages
3524 Add a beep to DX and other terminal messages.
3530 <bf>set/clx <node_call> [<node_call> ...]</bf> Make
3531 the node_call a CLX type node
3535 Set the node_call as a CLX type node
3537 <sect1>set/debug (9)
3541 <bf>set/debug <name></bf> Add a debug level to the debug set
3545 You can choose to log several different levels. The levels are
3553 You can show what levels you are logging with the <em>show/debug</em>
3556 You can remove a debug level with unset/debug <name>
3562 <bf>set/dx</bf>Allow DX messages to arrive at your terminal
3566 You can stop DX messages with the <em>unset/dx</em> command
3568 <sect1>set/dxgrid (0)
3572 <bf>set/dxgrid</bf>Allow grid squares on the end of DX messages
3576 Some logging programs do not like the additional information at
3577 the end of a DX spot. If this is the case, use the <em>unset/dxgrid</em>
3578 command to remove the grid squares.
3580 <sect1>set/dxnet (5)
3584 <bf>set/dxnet <node_call> [<node_call> ...]</bf> Make
3585 the node_call a DXNet type node
3589 Set the node_call as a DXNet type node
3595 <bf>set/echo</bf> Make the cluster echo your input
3599 If you are connected via a telnet session, different implimentations
3600 of telnet handle echo differently depending on whether you are
3601 connected via port 23 or some other port. You can use this command
3602 to change the setting appropriately.
3604 You can remove the echo with the <em>unset/echo</em> command
3606 The setting is stored in your user profile.
3608 YOU DO NOT NEED TO USE THIS COMMAND IF YOU ARE CONNECTED VIA AX25.
3614 <bf>set/here</bf> Set the here flag
3618 Let others on the cluster know you are here by only displaying your
3619 callsign. If you are away from your terminal you can use the <em>unset/here</em>
3620 command to let people know you are away. This simply puts brackets
3621 around your callsign to indicate you are not available.
3623 <sect1>set/homenode (0)
3627 <bf>set/homenode <node_call></bf> Set your home cluster
3631 Tell the cluster system where you normally connect to. Any Messages sent
3632 to you will normally find their way there should you not be connected.
3643 <bf>set/hops <node_call> ann|spots|wwv|wcy <n></bf>
3648 Set the hop count for a particular type of broadcast for a node.
3650 This command allows you to set up special hop counts for a node
3651 for currently: announce, spots, wwv and wcy broadcasts.
3655 set/hops gb7djk ann 10
3656 set/hops gb7mbc spots 20
3659 Set SHOW/HOPS for information on what is already set. This command
3660 creates a filter and works in conjunction with the filter system.
3662 <sect1>set/isolate (9)
3666 <bf>set/isolate <node call></bf> Isolate a node from the rest of the network
3670 Connect a node to your system in such a way that you are a full protocol
3671 member of its network and can see all spots on it, but nothing either leaks
3672 out from it nor goes back into from the rest of the nodes connected to you.
3674 You can potentially connect several nodes in this way.
3676 You can see which nodes are isolated with the show/isolate (1) command.
3678 You can remove the isolation with the command unset/isolate.
3680 <sect1>set/language (0)
3684 <bf>set/language <language></bf> Set the language you wish to use
3688 You can select the language that you want the cluster to use. Currently
3689 the languages available are <em>en</em> (English) and <em>nl</em> (Dutch).
3691 <sect1>set/location (0)
3695 <bf>set/location <lat and long></bf> Set your latitude and longitude
3699 You can set your latitude and longitude manually or alternatively use the
3700 <em>set/qra</em> command which will do the conversion for you.
3703 set/location 54 04 N 2 02 E
3707 <sect1>set/sys_location (9)
3711 <bf>set/sys_location <lat & long></bf> Set your cluster latitude and longitude
3715 In order to get accurate headings and such like you must tell the system
3716 what your latitude and longitude is. If you have not yet done a SET/QRA
3717 then this command will set your QRA locator for you. For example:-
3720 SET/LOCATION 52 22 N 0 57 E
3723 <sect1>set/logininfo (0)
3727 <bf>set/logininfo</bf> Show logins and logouts of nodes and users
3731 Show users and nodes when they log in and out of the local cluster. You
3732 can stop these messages by using the <em>unset/logininfo</em> command.
3735 <sect1>set/lockout (9)
3739 <bf>set/lockout <call></bf> Stop a callsign connecting to the cluster
3743 You can show who is locked out with the <em>show/lockout</em> command.
3744 To allow the user to connect again, use the <em>unset/lockout</em> command.
3750 <bf>set/name <your_name></bf> Set your name
3754 Tell the cluster what your name is, eg:-
3764 <bf>set/node <call> [<call> ...]</bf> Make the callsign an AK1A cluster
3768 Tell the system that the call(s) are to be treated as AK1A cluster and
3769 fed PC Protocol rather normal user commands.
3771 From version 1.41 you can also set the following types of cluster
3780 To see what your nodes are set to, use the <em>show/nodes</em> command.
3782 <sect1>set/obscount (9)
3786 <bf>set/obscount <count> <node call></bf> Set the 'pump-up'
3787 obsolescence counter
3791 From version 1.35 onwards neighbouring nodes are pinged at regular intervals (see
3792 SET/PINGINTERVAL), usually 300 seconds or 5 minutes. There is a 'pump-up'
3793 counter which is decremented on every outgoing ping and then reset to
3794 the 'obscount' value on every incoming ping. The default value of this
3797 What this means is that a neighbouring node will be pinged twice at
3798 (default) 300 second intervals and if no reply has been heard just before
3799 what would be the third attempt, that node is disconnected.
3801 If a ping is heard then the obscount is reset to the full value. Using
3802 default values, if a node has not responded to a ping within 15 minutes,
3809 <bf>set/page <n></bf> Set the number of lines per page
3813 Tell the system how many lines you wish on a page when the number of lines
3814 of output from a command is more than this. The default is 20. Setting it
3815 explicitly to 0 will disable paging.
3822 The setting is stored in your user profile.
3825 <sect1>set/password (9)
3829 <bf>set/password <callsign> <string></bf> Set a users password
3833 The password for a user can only be set by a full sysop. The string
3834 can contain any characters but any spaces are removed (you can type in
3835 spaces - but they won't appear in the password). You can see the
3836 result with STAT/USER. The password is the usual 30 character baycom
3839 <sect1>set/pinginterval (9)
3843 <bf>set/pinginterval <time> <node call></bf> Set the ping time
3844 to neighbouring nodes
3848 As from version 1.35 all neighbouring nodes are pinged at regular intervals
3849 in order to determine the rolling quality of the link and, in future, to
3850 affect routing decisions. The default interval is 300 secs or 5 minutes.
3852 You can use this command to set a different interval. Please don't.
3854 But if you do the value you enter is treated as minutes up 60 and seconds
3855 for numbers greater than that.
3857 This is used also to help determine when a link is down at the far end
3858 (as certain cluster software doesn't always notice), see SET/OBSCOUNT
3859 for more information.
3861 <sect1>set/privilege (9)
3865 <bf>set/privilege <n> <call> [<call> ...]</bf> Set the
3866 privilege level on a call
3870 Set the privilege level on a callsign. The privilege levels that pertain
3871 to commands are as default:-
3875 1 - allow remote nodes normal user RCMDs
3876 5 - various privileged commands (including shutdown, but not disc-
3877 connect), the normal level for another node.
3878 8 - more privileged commands (including disconnect)
3879 9 - local sysop privilege. DO NOT SET ANY REMOTE USER OR NODE TO THIS
3883 If you are a sysop and you come in as a normal user on a remote connection
3884 your privilege will automatically be set to 0.
3886 <sect1>set/spider (5)
3890 <bf>set/spider <node_call> [<node_call> ...]</bf> Make
3891 the node_call a DXSpider type node
3895 Set the node_call as a DXSpider type node
3897 <sect1>set/sys_qra (9)
3901 <bf>set/sys_qra <locator></bf> Set your cluster QRA locator
3908 <bf>set/qra <locator></bf> Set your QRA locator
3912 Tell the system what your QRA (or Maidenhead) locator is. If you have not
3913 done a SET/LOCATION then your latitude and longitude will be set roughly
3914 correctly (assuming your locator is correct ;-). For example:-
3924 <bf>set/qth <your QTH></bf> Set your QTH
3928 Tell the system where your are. For example:-
3931 set/qth East Dereham, Norfolk
3938 <bf>set/talk</bf> Allow talk messages to be seen at your console
3942 Allow talk messages to arrive at your console. You can switch off
3943 talks with the <em>unset/talk</em> command.
3949 <bf>set/wcy</bf> Allow WCY messages to be seen at your console
3953 Allow WCY information to be seen at your console. You can switch off
3954 WCY messages with the <em>unset/wcy</em> command.
3960 <bf>set/wwv</bf> Allow WWV messages to be seen at your console
3964 Allow WWV information to be seen at your console. You can switch off
3965 WWV messages with the <em>unset/wwv</em> command.
3971 <bf>set/wx</bf> Allow WX messages to be seen at your console
3975 Allow WX information to be seen at your console. You can switch off
3976 WX messages with the <em>unset/wx</em> command.
3978 <sect1>show/baddx (1)
3982 <bf>show/baddx</bf>Show all the bad dx calls in the system
3986 Display all the bad dx callsigns in the system, see SET/BADDX
3987 for more information.
3989 <sect1>show/badnode (6)
3993 <bf>show/badnode</bf> Show all the bad nodes in the system
3997 Display all the bad node callsigns in the system, see SET/BADNODE
3998 for more information.
4000 <sect1>show/badspotter (1)
4004 <bf>show/badspotter</bf> Show all the bad spotters in the system
4008 Display all the bad spotter's callsigns in the system, see SET/BADSPOTTER
4009 for more information.
4011 <sect1>show/date (0)
4015 <bf>show/date [<prefix>|<callsign>]</bf> Show
4020 This is very nearly the same as SHOW/TIME, the only difference the format
4021 of the date string if no arguments are given.
4023 If no prefixes or callsigns are given then this command returns the local
4024 time and UTC as the computer has it right now. If you give some prefixes
4025 then it will show UTC and UTC + the local offset (not including DST) at
4026 the prefixes or callsigns that you specify.
4028 <sect1>show/debug (9)
4032 <bf>show/debug</bf> Show what levels of debug you are logging
4036 The levels can be set with <em>set/debug</em>
4042 <bf>show/dx [options]</bf> interrogate the spot database
4046 If you just type SHOW/DX you will get the last so many spots
4047 (sysop configurable, but usually 10).
4049 In addition you can add any number of these options in very nearly
4050 any order to the basic SHOW/DX command, they are:-
4053 on <band> - eg 160m 20m 2m 23cm 6mm
4054 on <region> - eg hf vhf uhf shf (see SHOW/BANDS)
4056 <number> - the number of spots you want
4057 <from>-<to> - <from> spot no <to> spot no in
4060 <prefix> - for a spotted callsign beginning with <prefix>
4061 *<suffix> - for a spotted callsign ending in <suffix>
4062 *<string>* - for a spotted callsign containing <string>
4064 day <number> - starting <number> days ago
4065 day <from>-<to> - <from> days <to> days ago
4067 info <text> - any spots containing <text> in the info or remarks
4069 by <call> - any spots spotted by <call> (spotter <call>
4072 qsl - this automatically looks for any qsl info on the call
4073 held in the spot database.
4075 iota [<iota>] - If the iota island number is missing it will
4076 look for the string iota and anything which looks like
4077 an iota island number. If you specify then it will look
4080 qra [<locator>] - this will look for the specific locator if
4081 you specify one or else anything that looks like a locator.
4088 SH/DX on 20m info iota
4089 SH/DX 9a on vhf day 30
4096 <sect1>show/dxcc (0)
4100 <bf>show/dxcc <prefix></bf> Interrogate the spot database by country
4104 This command takes the <prefix> (which can be a full or partial
4105 callsign if desired), looks up which internal country number it is
4106 and then displays all the spots as per SH/DX for that country.
4108 The options for SHOW/DX also apply to this command.
4113 SH/DXCC W on 20m info iota
4116 <sect1>show/files (0)
4120 <bf>show/files [<filearea> [<string>]]</bf> List
4121 the contents of a filearea
4125 SHOW/FILES on its own will show you a list of the various fileareas
4126 available on the system. To see the contents of a particular file
4130 SH/FILES <filearea>
4133 where <filearea> is the name of the filearea you want to see the
4136 You can also use shell globbing characters like '*' and '?' in a
4137 string to see a selection of files in a filearea eg:-
4140 SH/FILES bulletins arld*
4143 See also TYPE - to see the contents of a file.
4145 <sect1>show/filter (0)
4149 <bf>show/filter</bf> Show the filters you have set
4153 Show the contents of all the filters that are set by you. This command
4154 displays all the filters set - for all the various categories.
4156 <sect1>show/filter (extended for sysops) (5)
4160 <bf>show/filter <callsign></bf> Show the filters set by <callsign>
4164 A sysop can look at any filters that have been set.
4166 <sect1>show/hops (8)
4170 <bf>show/hops <node_call> [ann|spots|wcy|wwv|]</bf> Show the hop
4175 This command shows the hop counts set up for a node. You can specify
4176 which category you want to see. If you leave the category out then
4177 all the categories will be listed.
4179 <sect1>show/isolate (1)
4183 <bf>show/isolate</bf> Show a list of isolated nodes
4187 Show which nodes are currently set to be isolated.
4189 <sect1>show/lockout (9)
4193 <bf>show/lockout</bf> Show a list of excluded callsigns
4197 Show a list of callsigns that have been excluded (locked out) of the
4198 cluster locally with the <em>set/lockout</em> command
4204 <bf>show/log [<callsign>]</bf> Show excerpts from the system log
4208 This command outputs a short section of the system log. On its own
4209 it will output a general logfile. With the optional callsign it will
4210 show output from the log associated with that callsign.
4212 <sect1>show/moon (0)
4216 <bf>show/moon [<prefix>|<callsign>]</bf> Show moon
4221 Show the Moon rise and set times for a (list of) prefixes or callsigns,
4222 together with the azimuth and elevation of the sun currently at those
4225 If you don't specify any prefixes or callsigns, it will show the times for
4226 your QTH (assuming you have set it with either SET/LOCATION or SET/QRA),
4227 together with the current azimuth and elevation.
4229 In addition, it will show the gain or loss dB relative to the nominal
4230 distance of 385,000Km due to the ellipsoidal nature of the orbit.
4232 If all else fails it will show the Moonrise and set times for the node
4233 that you are connected to.
4246 <bf>show/muf <prefix> [<hours>][long]</bf> Show
4247 the likely propagation to <prefix>
4251 This command allow you to estimate the likelihood of you contacting
4252 a station with the prefix you have specified. The output assumes a modest
4253 power of 20dBW and receiver sensitivity of -123dBm (about 0.15muV/10dB SINAD)
4255 The result predicts the most likely operating frequencies and signal
4256 levels for high frequency (shortwave) radio propagation paths on
4257 specified days of the year and hours of the day. It is most useful for
4258 paths between 250 km and 6000 km, but can be used with reduced accuracy
4259 for paths shorter or longer than this.
4261 The command uses a routine MINIMUF 3.5 developed by the U.S. Navy and
4262 used to predict the MUF given the predicted flux, day of the year,
4263 hour of the day and geographic coordinates of the transmitter and
4264 receiver. This routine is reasonably accurate for the purposes here,
4265 with a claimed RMS error of 3.8 MHz, but much smaller and less complex
4266 than the programs used by major shortwave broadcasting organizations,
4267 such as the Voice of America.
4269 The command will display some header information detailing its
4270 assumptions, together with the locations, latitude and longitudes and
4271 bearings. It will then show UTC (UT), local time at the other end
4272 (LT), calculate the MUFs, Sun zenith angle at the midpoint of the path
4273 (Zen) and the likely signal strengths. Then for each frequency for which
4274 the system thinks there is a likelihood of a circuit it prints a value.
4276 The value is currently a likely S meter reading based on the conventional
4277 6dB / S point scale. If the value has a '+' appended it means that it is
4278 1/2 an S point stronger. If the value is preceeded by an 'm' it means that
4279 there is likely to be much fading and by an 's' that the signal is likely
4282 By default SHOW/MUF will show the next two hours worth of data. You
4283 can specify anything up to 24 hours worth of data by appending the no of
4284 hours required after the prefix. For example:-
4293 RxSens: -123 dBM SFI: 159 R: 193 Month: 10 Day: 21
4294 Power : 20 dBW Distance: 6283 km Delay: 22.4 ms
4295 Location Lat / Long Azim
4296 East Dereham, Norfolk 52 41 N 0 57 E 47
4297 United-States-W 43 0 N 87 54 W 299
4298 UT LT MUF Zen 1.8 3.5 7.0 10.1 14.0 18.1 21.0 24.9 28.0 50.0
4299 18 23 11.5 -35 mS0+ mS2 S3
4300 19 0 11.2 -41 mS0+ mS2 S3
4303 indicating that you will have weak, fading circuits on top band and
4304 80m but usable signals on 40m (about S3).
4312 will get you the above display, but with the next 24 hours worth of
4320 Gives you an estimate of the long path propagation characterics. It
4321 should be noted that the figures will probably not be very useful, nor
4322 terrible accurate, but it is included for completeness.
4324 <sect1>show/node (1)
4328 <bf>show/node [<node_call> ...]</bf> Show the type and version
4333 Show the type and version (if connected) of the nodes specified on the
4334 command line. If no callsigns are specified then a sorted list of all
4335 the non-user callsigns known to the system will be displayed.
4337 <sect1>show/prefix (0)
4341 <bf>show/prefix <callsign></bf> Interrogate the prefix database
4345 This command takes the <callsign> (which can be a full or partial
4346 callsign or a prefix), looks up which internal country number
4347 it is and then displays all the relevant prefixes for that country
4348 together with the internal country no, the CQ and ITU regions.
4353 <sect1>show/program (5)
4357 <bf>show/program</bf> Show the locations of all the included program modules
4361 Show the name and location where every program module was load from. This
4362 is useful for checking where you think you have loaded a .pm file from.
4368 <bf>show/qra <locator> [<locator>]</bf> Show the distance
4369 between locators<newline>
4370 <bf>show/qra <lat> <long></bf> Convert latitude and longitude to
4375 This is a multipurpose command that allows you either to calculate the
4376 distance and bearing between two locators or (if only one locator is
4377 given on the command line) the distance and beraing from your station
4378 to the locator. For example:-
4385 The first example will show the distance and bearing to the locator from
4386 yourself, the second example will calculate the distance and bearing from
4387 the first locator to the second. You can use 4 or 6 character locators.
4389 It is also possible to convert a latitude and longitude to a locator by
4390 using this command with a latitude and longitude as an argument, for
4394 SH/QRA 52 41 N 0 58 E
4401 <bf>show/qrz <callsign></bf> Show any callbook details on a callsign
4405 This command queries the QRZ callbook server on the internet
4406 and returns any information available for that callsign. This service
4407 is provided for users of this software by http://www.qrz.com
4409 <sect1>show/route (0)
4413 <bf>show/route <callsign></bf> Show the route to <callsign>
4417 This command allows you to see to which node the callsigns specified are
4418 connected. It is a sort of inverse sh/config.
4424 <sect1>show/satellite (0)
4428 <bf>show/satellite <name> [<hours> <interval>]</bf>
4429 Show satellite tracking data
4433 Show the tracking data from your location to the satellite of your choice
4434 from now on for the next few hours.
4436 If you use this command without a satellite name it will display a list
4437 of all the satellites known currently to the system.
4439 If you give a name then you can obtain tracking data of all the passes
4440 that start and finish 5 degrees below the horizon. As default it will
4441 give information for the next three hours for every five minute period.
4443 You can alter the number of hours and the step size, within certain
4446 Each pass in a period is separated with a row of '-----' characters
4452 SH/SAT FENGYUN1 12 2
4459 <bf>show/sun [<prefix>|<callsign>]</bf> Show
4460 sun rise and set times
4464 Show the sun rise and set times for a (list of) prefixes or callsigns,
4465 together with the azimuth and elevation of the sun currently at those
4468 If you don't specify any prefixes or callsigns, it will show the times for
4469 your QTH (assuming you have set it with either SET/LOCATION or SET/QRA),
4470 together with the current azimuth and elevation.
4472 If all else fails it will show the sunrise and set times for the node
4473 that you are connected to.
4479 SH/SUN G1TLH K9CW ZS
4482 <sect1>show/time (0)
4486 <bf>show/time [<prefix>|<callsign>]</bf> Show
4491 If no prefixes or callsigns are given then this command returns the local
4492 time and UTC as the computer has it right now. If you give some prefixes
4493 then it will show UTC and UTC + the local offset (not including DST) at
4494 the prefixes or callsigns that you specify.
4500 <bf>show/wcy</bf> Show the last 10 WCY broadcasts<newline>
4501 <bf>show/wcy <n></bf> Show the last <n> WCY broadcasts
4505 Display the most recent WCY information that has been received by the system
4511 <bf>show/wwv</bf> Show the last 10 WWV broadcasts<newline>
4512 <bf>show/wwv <n></bf> Show the last <n> WWV broadcasts
4516 Display the most recent WWV information that has been received by the system
4523 <bf>shutdown</bf> Shutdown the cluster
4527 Shutdown the cluster and disconnect all the users. If you have Spider
4528 set to respawn in /etc/inittab it will of course restart.
4534 <bf>spoof <callsign> <command></bf> Run commands as another user
4538 This is a very simple yet powerful command for the sysop. It allows you to
4539 issue commands as if you were a different user. This is very useful for the
4540 kind of things that users seem to always get wrong.. like home_node for
4547 <bf>stat/db <dbname></bf> Show the status of a database
4551 Show the internal status of a database descriptor.
4553 Depending on your privilege level you will see more or less information.
4554 This command is unlikely to be of much use to anyone other than a sysop.
4556 <sect1>stat/channel (5)
4560 <bf>stat/channel <callsign></bf> Show the status of a channel on the cluster
4564 Show the internal status of the channel object either for the channel that
4565 you are on or else for the callsign that you asked for.
4567 Only the fields that are defined (in perl term) will be displayed.
4573 <bf>stat/msg <msgno></bf> Show the status of a message
4577 This command shows the internal status of a message and includes information
4578 such as to whom it has been forwarded, its size, origin etc etc.
4580 <sect1>stat/user (5)
4584 <bf>stat/user <callsign></bf> Show the full status of a user
4588 Shows the full contents of a user record including all the secret flags
4591 Only the fields that are defined (in perl term) will be displayed.
4597 <bf>sysop</bf> Regain your privileges if you login remotely
4601 The system automatically reduces your privilege level to that of a
4602 normal user if you login in remotely. This command allows you to
4603 regain your normal privilege level. It uses the normal system: five
4604 numbers are returned that are indexes into the character array that is
4605 your assigned password (see SET/PASSWORD). The indexes start from
4608 You are expected to return a string which contains the characters
4609 required in the correct order. You may intersperse those characters
4610 with others to obscure your reply for any watchers. For example (and
4611 these values are for explanation :-):
4614 password = 012345678901234567890123456789
4622 aa2bbbb0ccc5ddd7xxx3n
4627 They will all match. If there is no password you will still be offered
4628 numbers but nothing will happen when you input a string. Any match is
4635 <bf>talk <callsign></bf> Enter talk mode with <callsign><newline>
4636 <bf>talk <callsign> <text></bf> Send a text message to <callsign><newline>
4637 <bf>talk <callsign> > <node_call> [<text>]</bf>
4638 Send a text message to <callsign> via <node_call>
4642 Send a short message to any other station that is visible on the cluster
4643 system. You can send it to anyone you can see with a SHOW/CONFIGURATION
4644 command, they don't have to be connected locally.
4646 The second form of TALK is used when other cluster nodes are connected
4647 with restricted information. This usually means that they don't send
4648 the user information usually associated with logging on and off the cluster.
4650 If you know that G3JNB is likely to be present on GB7TLH, but you can only
4651 see GB7TLH in the SH/C list but with no users, then you would use the
4652 second form of the talk message.
4654 If you want to have a ragchew with someone you can leave the text message
4655 out and the system will go into 'Talk' mode. What this means is that a
4656 short message is sent to the recipient telling them that you are in a 'Talking'
4657 frame of mind and then you just type - everything you send will go to the
4658 station that you asked for.
4660 All the usual announcements, spots and so on will still come out on your
4663 If you want to do something (such as send a spot) you precede the normal
4664 command with a '/' character, eg:-
4667 /DX 14001 G1TLH What's a B class licensee doing on 20m CW?
4671 To leave talk mode type:
4681 <bf>type <filearea>/<name></bf> Look at a file in one of the fileareas
4685 Type out the contents of a file in a filearea. So, for example, in
4686 filearea 'bulletins' you want to look at file 'arld051' you would
4690 TYPE bulletins/arld051
4693 See also SHOW/FILES to see what fileareas are available and a
4700 <bf>who</bf> Show who is physically connected locally
4704 This is a quick listing that shows which callsigns are connected and
4705 what sort of connection they have
4711 <bf>wx <text></bf> Send a weather message to local users<newline>
4712 <bf>wx full <text> </bf> Send a weather message to all cluster users
4716 Weather messages can sometimes be useful if you are experiencing an extreme
4717 that may indicate enhanced conditions
4719 <sect1>wx (enhanced for sysops) (5)
4723 <bf>wx sysop <text></bf> Send a weather message to other clusters only
4727 Send a weather message only to other cluster nodes and not to general users.