Scripts and Information, files and useful programs: Difference between pages

From The DXSpider Documentation Wiki
(Difference between pages)
Jump to navigation Jump to search
(Created page with "==Scripts== From 1.48 onwards it will become increasingly possible to control DXSpider's operation with scripts of various kinds. The directory /spider/scripts is where it all happens and is used for several things. Firstly it contains a file called startup that can be used to call in any changes to the cluster from the default settings on startup. This script is executed immediately after all initialisation of the node is done but before any connections are possible...")
 
(Created page with "==Information, files and useful programs== ===MOTD=== One of the more important things a cluster sysop needs to do is to get information to his users. The simplest way to do this is to have a banner that is sent to the user on login. This is know as a "message of the day" or "motd". To set this up, simply create a file in /spider/data called motd and edit it to say whatever you want. It is purely a text file and will be sent automatically to anyone logging in to th...")
 
Line 1: Line 1:
==Scripts==
==Information, files and useful programs==


From 1.48 onwards it will become increasingly possible to control DXSpider's operation with scripts of various kinds.
===MOTD===


The directory /spider/scripts is where it all happens and is used for several things.  Firstly it contains a file called startup that can be used to call in any changes to the cluster from the default settings on startup.  This script is executed immediately after all initialisation of the node is done but before any connections are possible. Examples of this include how many spots it is possible to get with the sh/dx command, whether you want registration/passwords to be permanently on etcAn example file is shown below and is included in the distribution as startup.issue.
One of the more important things a cluster sysop needs to do is to get information to his users.  The simplest way to do this is to have a banner that is sent to the user on login.  This is know as a "message of the day" or "motd".  To set this up, simply create a file in /spider/data called motd and edit it to say whatever you want.  It is purely a text file and will be sent automatically to anyone logging in to the cluster.
 
===MOTD_NOR===
 
This message of the day file lives in the same directory as the standard motd file but is only sent to non-registered users.  Once registered they will receive the same message as any other user.
 
===Downtime message===
 
If for any reason the cluster is down, maybe for upgrade or maintenance but the machine is still running, a message can be sent to the user advising them of the fact.  This message lives in the /spider/data directory and is called "offline".  Simply create the file and edit it to say whatever you wish.  This file will be sent to a user attempting to log into the cluster when DXSpider is not actually running.
 
===Other text messages===
 
You can set other text messages to be read by the user if they input the file name.  This could be for news items or maybe information for new users.  To set this up, make a directory under /spider called packclus.  Under this directory you can create files called news or newuser for example.  In fact you can create files with any names you like.  These can be listed by the user with the command ....
 
show/files
 
They can be read by the user by typing the command ....
 
type news
 
If the file they want to read is called news.  You could also set an alias for this in the Alias file to allow them just to type news.
 
You can also store other information in this directory, either directly or nested under directories.  One use for this would be to store DX bulletins such as the OPDX bulletins.  These can be listed and read by the user.  To keep things tidy, make a directory under /spider/packclus called bulletinNow copy any OPDX or similar bulletins into it.  These can be listed by the user in the same way as above using the �[4mshow/files�[24m command with an extension for the bulletin directory you have just created, like this ....
 
show/files bulletin
 
An example would look like this ....
 
sh/files
bulletin      DIR 20-Dec-1999 1715Z news          1602 14-Dec-1999 1330Z
 
You can see that in the files area (basically the packclus directory) there is a file called news and a directory called bulletin.  You can also see that dates they were created.  In the case of the file news, you can also see the time it was last modified, a good clue as to whether the file has been updated since you last read it.  To read the file called news you would simply issue the command ....
 
type news
 
To look what is in the bulletin directory you issue the command ....
 
show/files bulletin
opdx390      21381 29-Nov-1999 1621Z opdx390.1    1670 29-Nov-1999 1621Z
opdx390.2    2193 29-Nov-1999 1621Z opdx391      25045 29-Nov-1999 1621Z
opdx392      35969 29-Nov-1999 1621Z opdx393      15023 29-Nov-1999 1621Z
opdx394      33429 29-Nov-1999 1621Z opdx394.1    3116 29-Nov-1999 1621Z
opdx395      24319 29-Nov-1999 1621Z opdx396      32647 29-Nov-1999 1621Z
opdx396.1    5537 29-Nov-1999 1621Z opdx396.2    6242 29-Nov-1999 1621Z
opdx397      18433 29-Nov-1999 1621Z opdx398      19961 29-Nov-1999 1621Z
opdx399      17719 29-Nov-1999 1621Z opdx400      19600 29-Nov-1999 1621Z
opdx401      27738 29-Nov-1999 1621Z opdx402      18698 29-Nov-1999 1621Z
opdx403      24994 29-Nov-1999 1621Z opdx404      15685 29-Nov-1999 1621Z
opdx405      13984 29-Nov-1999 1621Z opdx405.1    4166 29-Nov-1999 1621Z
opdx406      28934 29-Nov-1999 1621Z opdx407      24153 29-Nov-1999 1621Z
opdx408      15081 29-Nov-1999 1621Z opdx409      23234 29-Nov-1999 1621Z
Press Enter to continue, A to abort (16 lines) >
 
You can now read any file in this directory using the type command, like this ....
 
type bulletin/opdx391
Ohio/Penn DX Bulletin No. 391
The Ohio/Penn Dx PacketCluster
DX Bulletin No. 391
BID: $OPDX.391
January 11, 1999
Editor Tedd Mirgliotta, KB8NW
Provided by BARF-80 BBS Cleveland, Ohio
Online at 440-237-8208 28.8k-1200 Baud 8/N/1 (New Area Code!)
Thanks to the Northern Ohio Amateur Radio Society, Northern Ohio DX
Association, Ohio/Penn PacketCluster Network, K1XN & Golist, WB2RAJ/WB2YQH
& The 59(9) DXReport, W3UR & The Daily DX, K3TEJ, KN4UG, W4DC, NC6J, N6HR,
Press Enter to continue, A to abort (508 lines) >
 
The page length will of course depend on what you have it set to!
 
===The Aliases file===
 
You will find a file in /spider/cmd/ called Aliases.  This is the file that controls what a user gets when issuing a command.  It is also possible to create your own aliases for databases and files you create locally.
 
You should not alter the original file in /spider/cmd/ but create a new file with the same name in /spider/local_cmd.  This means that any new Aliases files that is downloaded will not overwrite your self created Aliases and also that you do not override any new Aliases with your copy in /spider/local_cmd/.  You must remember that any files you store in /spider/local/ or /spider/local_cmd override the originals if the same lines are used in both files.
 
The best way of dealing with all this then is to only put your own locally created Aliases in the copy in /spider/local_cmdThe example below is currently in use at GB7MBC.


  #
  #
  # startup script example
  # Local Aliases File
#
# set maximum no of spots allowed to 100
# set/var $Spot::maxspots = 100
#
# Set registration on
# set/var $main::reqreg = 1
#
# Set passwords on
# set/var $main::passwdreq = 1
  #
  #
package CmdAlias;
%alias = (
    'n' => [
      '^news$', 'type news', 'type',
    ],
    's' => [
      '^sh\w*/buck$', 'show/qrz', 'show',
      '^sh\w*/hftest$', 'dbshow hftest', 'dbshow',
      '^sh\w*/qsl$', 'dbshow qsl', 'dbshow',
      '^sh\w*/vhf$', 'dbshow vhf', 'dbshow',
      '^sh\w*/vhftest$', 'dbshow vhftest', 'dbshow',
        ],
)
Each alphabetical section should be preceded by the initial letter and the section should be wrapped in square brackets as you can see.  The syntax is straightforward.  The first section on each line is the new command that will be allowed once the alias is included.  The second section is the command it is replacing and the last section is the actual command that is being used.
The eagle-eyed amongst you will have noticed that in the first section, the new alias command has a '^' at the start and a '$' at the end.  Basically these force a perfect match on the alias.  The '^' says match the beginning exactly and the with similar commands.
I have 3 different types of alias in this file.  At the top is an alias for 'news'.  This is a file I have created in the /spider/packclus/ directory where I can inform users of new developments or points of interest.  In it's initial form a user would have to use the command type news.  The alias allows them to simply type news to get the info.  Second is an alias for the show/qrz command so that those users used to the original show/buck command in AK1A will not get an error, and the rest of the lines are for locally created databases so that a user can type show/hftest instead of having to use the command dbshow hftest which is not as intuitive.
This file is just an example and you should edit it to your own requirements.  Once created, simply issue the command load/alias at the cluster prompt as the sysop user and the aliases should be available.
===Console.pl===
In later versions of Spider a simple console program is provided for the sysop.  This has a type ahead buffer with line editing facilities and colour for spots, announces etc.  To use this program, simply use console.pl instead of client.
To edit the colours, copy /spider/perl/Console.pl to /spider/local and edit the file with your favourite editor.
===Updating kepler data===
Spider has a powerful and flexible show/satellite command.  In order for this to be accurate, the kepler data has to be updated regularly. In general, this data is available as an email or via cluster mail.  Updating it is simple.  First you need to export the mail message as a file.  You do this with the export command from the cluster prompt as the sysop.  For example ...
export 5467 /spider/perl/keps.in
would export message number 5467 as a file called keps.in in the /spider/perl directory.
Now login to a VT as sysop and cd /spider/perl.  There is a command in the perl directory called �[4mconvkeps.pl�[24m.  All we need to do now is convert the file like so ...
./convkeps.pl keps.in
Now go back to the cluster and issue the command ...
load/keps
That is it!  the kepler data has been updated.


As usual, any text behind a # is treated as a comment and not read. To use this file, simply rename it from startup.issue to startup.  In our example above there are three options.  The first option is the amount of spots that a user can request with the sh/dx command.  Normally the default is to give 10 spots unless the user specifies more.  Without this line enabled, the maximum a user can request is 100 spots.  Depending on your link quality you may wish to enable more or less by specifying the number.
===The QRZ callbook===


The other 2 options are dealt with more fully in the security section.
The command sh/qrz will only work once you have followed a few simple steps.  First you need to get a user ID and password from qrz.com. Simply go to the site and create one.  Secondly you need to copy the file /spider/perl/Internet.pm to /spider/local and alter it to match your user ID and password.  You also at this point need to set $allow=1 to complete the setup.  Many thanks to Fred Lloyd, the proprieter of qrz.com for allowing this access.


Secondly, it is used to store the login scripts for users and nodes. Currently this can only be done by the sysop but it is envisaged that eventually users will be able to set their own.  An example is included in the distibution but here is a further example.
===Connecting logging programs===


  #
There appear to be very few logging programs out there that support telnet especially the popular ones like LogEQF, Turbolog etc. This can make it difficult to connect to your own cluster! The way to do it is to make the logging program think it has a TNC attached to a com port on the logging PC and 'push' a linux login out to it. This is achieved very simply by the use of agetty.
  # G0FYD
  #
blank +
sh/wwv 3
blank +
sh/dx
blank +
t g0jhc You abt?
blank +


The lines in between commands can simply insert a blank line or a character such as a + sign to make the output easier to read.  Simply create this script with your favourite editor and save it with the callsign of the user as the filename. Filenames should always be in lower case.
All that is required is to add a line in /etc/inittab to have the client ready for a connection on the com port of your choice. Remember that in Linux, the com ports start at ttyS0 for com1, ttyS1 for com2 etc.


Commands can be inserted in the same way for nodes. A node may wish a series of commands to be issued on login, such as a merge command for example.
  c4:2345:respawn:/sbin/agetty -L 9600 ttyS1


Thirdly, there are 2 default scripts for users and nodes who do not have a specifically defined scriptThese are user_default and node_default
Add this after the standard runlevel lines in /etc/inittab.  The above line works on ttyS1 (com2).  Now as root, issue the command telinit q and it should be ready for connection.  All that is required is a 3 wire serial lead (tx, rx and signal ground).  Tell you logging program to use 8n1 at 9600 baud and you should see a Linux login promptLogin as normal and then telnet from there to the cluster.

Latest revision as of 08:19, 1 February 2023

Information, files and useful programs

MOTD

One of the more important things a cluster sysop needs to do is to get information to his users. The simplest way to do this is to have a banner that is sent to the user on login. This is know as a "message of the day" or "motd". To set this up, simply create a file in /spider/data called motd and edit it to say whatever you want. It is purely a text file and will be sent automatically to anyone logging in to the cluster.

MOTD_NOR

This message of the day file lives in the same directory as the standard motd file but is only sent to non-registered users. Once registered they will receive the same message as any other user.

Downtime message

If for any reason the cluster is down, maybe for upgrade or maintenance but the machine is still running, a message can be sent to the user advising them of the fact. This message lives in the /spider/data directory and is called "offline". Simply create the file and edit it to say whatever you wish. This file will be sent to a user attempting to log into the cluster when DXSpider is not actually running.

Other text messages

You can set other text messages to be read by the user if they input the file name. This could be for news items or maybe information for new users. To set this up, make a directory under /spider called packclus. Under this directory you can create files called news or newuser for example. In fact you can create files with any names you like. These can be listed by the user with the command ....

show/files

They can be read by the user by typing the command ....

type news

If the file they want to read is called news. You could also set an alias for this in the Alias file to allow them just to type news.

You can also store other information in this directory, either directly or nested under directories. One use for this would be to store DX bulletins such as the OPDX bulletins. These can be listed and read by the user. To keep things tidy, make a directory under /spider/packclus called bulletin. Now copy any OPDX or similar bulletins into it. These can be listed by the user in the same way as above using the �[4mshow/files�[24m command with an extension for the bulletin directory you have just created, like this ....

show/files bulletin

An example would look like this ....

sh/files
bulletin      DIR 20-Dec-1999 1715Z news          1602 14-Dec-1999 1330Z

You can see that in the files area (basically the packclus directory) there is a file called news and a directory called bulletin. You can also see that dates they were created. In the case of the file news, you can also see the time it was last modified, a good clue as to whether the file has been updated since you last read it. To read the file called news you would simply issue the command ....

type news

To look what is in the bulletin directory you issue the command ....

show/files bulletin
opdx390      21381 29-Nov-1999 1621Z opdx390.1     1670 29-Nov-1999 1621Z
opdx390.2     2193 29-Nov-1999 1621Z opdx391      25045 29-Nov-1999 1621Z
opdx392      35969 29-Nov-1999 1621Z opdx393      15023 29-Nov-1999 1621Z
opdx394      33429 29-Nov-1999 1621Z opdx394.1     3116 29-Nov-1999 1621Z
opdx395      24319 29-Nov-1999 1621Z opdx396      32647 29-Nov-1999 1621Z
opdx396.1     5537 29-Nov-1999 1621Z opdx396.2     6242 29-Nov-1999 1621Z
opdx397      18433 29-Nov-1999 1621Z opdx398      19961 29-Nov-1999 1621Z
opdx399      17719 29-Nov-1999 1621Z opdx400      19600 29-Nov-1999 1621Z
opdx401      27738 29-Nov-1999 1621Z opdx402      18698 29-Nov-1999 1621Z
opdx403      24994 29-Nov-1999 1621Z opdx404      15685 29-Nov-1999 1621Z
opdx405      13984 29-Nov-1999 1621Z opdx405.1     4166 29-Nov-1999 1621Z
opdx406      28934 29-Nov-1999 1621Z opdx407      24153 29-Nov-1999 1621Z
opdx408      15081 29-Nov-1999 1621Z opdx409      23234 29-Nov-1999 1621Z
Press Enter to continue, A to abort (16 lines) >

You can now read any file in this directory using the type command, like this ....

type bulletin/opdx391
Ohio/Penn DX Bulletin No. 391
The Ohio/Penn Dx PacketCluster
DX Bulletin No. 391
BID: $OPDX.391
January 11, 1999
Editor Tedd Mirgliotta, KB8NW
Provided by BARF-80 BBS Cleveland, Ohio
Online at 440-237-8208 28.8k-1200 Baud 8/N/1 (New Area Code!)
Thanks to the Northern Ohio Amateur Radio Society, Northern Ohio DX
Association, Ohio/Penn PacketCluster Network, K1XN & Golist, WB2RAJ/WB2YQH
& The 59(9) DXReport, W3UR & The Daily DX, K3TEJ, KN4UG, W4DC, NC6J, N6HR,
Press Enter to continue, A to abort (508 lines) >

The page length will of course depend on what you have it set to!

The Aliases file

You will find a file in /spider/cmd/ called Aliases. This is the file that controls what a user gets when issuing a command. It is also possible to create your own aliases for databases and files you create locally.

You should not alter the original file in /spider/cmd/ but create a new file with the same name in /spider/local_cmd. This means that any new Aliases files that is downloaded will not overwrite your self created Aliases and also that you do not override any new Aliases with your copy in /spider/local_cmd/. You must remember that any files you store in /spider/local/ or /spider/local_cmd override the originals if the same lines are used in both files.

The best way of dealing with all this then is to only put your own locally created Aliases in the copy in /spider/local_cmd. The example below is currently in use at GB7MBC.

#
# Local Aliases File
#
package CmdAlias;
%alias = (
    'n' => [
      '^news$', 'type news', 'type',
    ],
    's' => [
      '^sh\w*/buck$', 'show/qrz', 'show',
      '^sh\w*/hftest$', 'dbshow hftest', 'dbshow',
      '^sh\w*/qsl$', 'dbshow qsl', 'dbshow',
      '^sh\w*/vhf$', 'dbshow vhf', 'dbshow',
      '^sh\w*/vhftest$', 'dbshow vhftest', 'dbshow',
        ],
)

Each alphabetical section should be preceded by the initial letter and the section should be wrapped in square brackets as you can see. The syntax is straightforward. The first section on each line is the new command that will be allowed once the alias is included. The second section is the command it is replacing and the last section is the actual command that is being used.

The eagle-eyed amongst you will have noticed that in the first section, the new alias command has a '^' at the start and a '$' at the end. Basically these force a perfect match on the alias. The '^' says match the beginning exactly and the with similar commands.

I have 3 different types of alias in this file. At the top is an alias for 'news'. This is a file I have created in the /spider/packclus/ directory where I can inform users of new developments or points of interest. In it's initial form a user would have to use the command type news. The alias allows them to simply type news to get the info. Second is an alias for the show/qrz command so that those users used to the original show/buck command in AK1A will not get an error, and the rest of the lines are for locally created databases so that a user can type show/hftest instead of having to use the command dbshow hftest which is not as intuitive.

This file is just an example and you should edit it to your own requirements. Once created, simply issue the command load/alias at the cluster prompt as the sysop user and the aliases should be available.

Console.pl

In later versions of Spider a simple console program is provided for the sysop. This has a type ahead buffer with line editing facilities and colour for spots, announces etc. To use this program, simply use console.pl instead of client.

To edit the colours, copy /spider/perl/Console.pl to /spider/local and edit the file with your favourite editor.

Updating kepler data

Spider has a powerful and flexible show/satellite command. In order for this to be accurate, the kepler data has to be updated regularly. In general, this data is available as an email or via cluster mail. Updating it is simple. First you need to export the mail message as a file. You do this with the export command from the cluster prompt as the sysop. For example ...

export 5467 /spider/perl/keps.in

would export message number 5467 as a file called keps.in in the /spider/perl directory.

Now login to a VT as sysop and cd /spider/perl. There is a command in the perl directory called �[4mconvkeps.pl�[24m. All we need to do now is convert the file like so ...

./convkeps.pl keps.in

Now go back to the cluster and issue the command ...

load/keps

That is it! the kepler data has been updated.

The QRZ callbook

The command sh/qrz will only work once you have followed a few simple steps. First you need to get a user ID and password from qrz.com. Simply go to the site and create one. Secondly you need to copy the file /spider/perl/Internet.pm to /spider/local and alter it to match your user ID and password. You also at this point need to set $allow=1 to complete the setup. Many thanks to Fred Lloyd, the proprieter of qrz.com for allowing this access.

Connecting logging programs

There appear to be very few logging programs out there that support telnet especially the popular ones like LogEQF, Turbolog etc. This can make it difficult to connect to your own cluster! The way to do it is to make the logging program think it has a TNC attached to a com port on the logging PC and 'push' a linux login out to it. This is achieved very simply by the use of agetty.

All that is required is to add a line in /etc/inittab to have the client ready for a connection on the com port of your choice. Remember that in Linux, the com ports start at ttyS0 for com1, ttyS1 for com2 etc.

c4:2345:respawn:/sbin/agetty -L 9600 ttyS1

Add this after the standard runlevel lines in /etc/inittab. The above line works on ttyS1 (com2). Now as root, issue the command telinit q and it should be ready for connection. All that is required is a 3 wire serial lead (tx, rx and signal ground). Tell you logging program to use 8n1 at 9600 baud and you should see a Linux login prompt. Login as normal and then telnet from there to the cluster.