X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=html%2Fconnect.html;h=ecfedd1cd1ab65abd212a817e8807a8493001f1f;hb=27544983f094f740369af17b345d78cd4ed662f9;hp=cb349e6ccefaabd04e77b04fe2b50a823d34f1c7;hpb=69c8aeb338cc485103e289fbab7ec4e7e056ed20;p=spider.git diff --git a/html/connect.html b/html/connect.html index cb349e6c..ecfedd1c 100644 --- a/html/connect.html +++ b/html/connect.html @@ -5,6 +5,7 @@ +
@@ -19,7 +20,7 @@-Last modified: Thu Dec 17 00:06:40 GMT 1998 +Last modified: Sun Sep 2 20:31:56 BST 2001
At the moment, anybody can connect inwards at any time from outside, either by ax25 or by telnet (assuming you have followed the instructions in installation @@ -28,29 +29,66 @@ Last modified: Thu Dec 17 00:06:40 GMT 1998
Connect scripts live in the /spider/connect directory and are simple ascii scripts that are written using a normal editor. There are a couple of examples in the issue directory. -
Here are a couple of basic types, first a telnet connection:- +
Here are a few of basic types, first a telnet connection where the + client is set up in the passwd file thus:- +
+ gb7djk:x:1372:1291::/home/gb7djk:/usr/bin/perl /spider/perl/client.pl gb7djk telnet ++ and the connect script would be:-
timeout 15 # this is a comment connect telnet dirkl.tobit.co.uk 'login' 'gb7djk' 'word' 'gb7djk' - client gb7djk-1 telnet + client gb7djk telnet ++
For a connect that requires a login and execution of the programs + from a normal shell, do:- + +
+ timeout 15 + connect telnet dirkl.tobit.co.uk + 'login' 'gb7djk' + 'word' 'gb7djk' + '\$' 'cd /spider/perl' + # set the line to prevent echoing, leaving this out will + # confuse whole networks for hours! + '\$' 'stty -echo raw' + # tell GB7DJK that you are GB7DJK-1 + '\$' '/spider/src/client gb7djk-1 telnet' + # tell GB7DJK-1 that it is connected to GB7DJK + # you can leave this out if you call this script 'gb7djk' + client gb7djk telnet-
and an ax25 example:- + +
a ax25 example:-
timeout 60 abort (Busy|Sorry|Fail) # don't forget to chmod 4775 netrom_call! - connect ax25 /usr/sbin/netrom_call bbs gb7djk g1tlh + connect ax25 /usr/sbin/netrom_call bbs gb7djk-0 g1tlh-0 + 'Connected' '' + 'Connected' 'c np7' + 'linked to' 'c gb7dxm' 'Connect' '' - 'Connect' 'c np7' - 'Connect' 'c gb7dxm' ++ + The -0 ssid is important if you want it to work reliably. Obviously if you are + using a different ssid then you would use that. + +
A AGW Engine example would be very similar and look like this:- +
+ timeout 60 + abort (Busy|Sorry|Fail) + connect agw 2 g1tlh + '*** Connected' '' + '*** Connect' 'c np7' + 'linked to' 'c gb7dxm' 'Connect' '' - client gb7dxm ax25-
A connection is started manually by typing in connect
A connection is started manually by typing in connect <scriptname> on a sysop enabled client.pl session. For example:-
G1TLH de GB7DJK 13-Dec-1998 2041Z > connect gb7djk-1 @@ -58,27 +96,37 @@ Last modified: Thu Dec 17 00:06:40 GMT 1998 G1TLH de GB7DJK 13-Dec-1998 2043Z >-
You can watch the progress of the connection (if you have the standard debugging enabled) on the +
Consider the following specific example, it is located in the file /spider/connect/gb7djk-1 :-
+ ++ timeout 15 + connect telnet dirkl.tobit.co.uk + 'login' 'gb7djk' + 'ssword' 'gb7djk' ++ +
You can watch the progress of the connection (if you have connect + debugging enabled [set/debug connect]) on the cluster.pl screen and you should see something like this:-
<- D G1TLH connect gb7djk-1 -> D G1TLH connection to GB7DJK-1 started -> D G1TLH G1TLH de GB7DJK 13-Dec-1998 2046Z > - timeout set to 15 - CONNECT sort: telnet command: dirkl.tobit.co.uk + timeout set to 15 + CONNECT sort: telnet command: dirkl.tobit.co.uk CHAT "login" -> "gb7djk" received " Red Hat Linux release 5.1 (Manhattan) Kernel 2.0.35 on an i586 " - received "login: " - sent "gb7djk" + received "login: " + sent "gb7djk" CHAT "word" -> "gb7djk" received "gb7djk " - received "Password: " - sent "gb7djk" + received "Password: " + sent "gb7djk" Connected to GB7DJK-1, starting normal protocol <- O GB7DJK-1 telnet -> B GB7DJK-1 0 @@ -89,32 +137,97 @@ Last modified: Thu Dec 17 00:06:40 GMT 1998 <- D GB7DJK-1 PC18^ 1 nodes, 0 local / 1 total users Max users 0 Uptime 0 00:00^5447^~ etc- -
The connect scripts consist of lines which start with the following keywords or symbols:- + +
I have coloured the commands in an attempt to make it clear as to what goes on, where and why. + These coloured lines are miscellaneous commands, the things + that are this colour are the strings I am looking for (what I am "expecting") + and the things that are this colour + are the commands I am going to make when I see the "expect" strings in the input.
+ +The script starts by setting the timeout to 15 seconds, then starts + the connection. It is important to note that, in the case of + an ax25 connection (usually) this will be the callsign of the first hop along the + route that you are going to take to the destination, so this will be typically the callsign + of your local node.
+ +You will notice that the script waits until it sees the left hand string + of the pair and only then does it send the, + string on the right + hand side. This is called a State Machine.
+ +A state machine "walks" through a conversation (in this case) looking + for "states" (in this case particular strings) and then performs some + "action" (usually some kind of connect command for the type of system + you are trying to navigate). When one "state" "fires" (detects the string + are looking for), it sends the command associated with that state and then + moves onto the next "state", in our case: the next line.
+ +PLEASE NOTE: the colouration in the above example is for illustrative purposes + only, the debug output is all one colour.
+ +The connect scripts consist of lines which start with the + following keywords or symbols:- +
In the case of an ax25 session then this would normally be a call to ax25_call - or netrom_call as in the example above. It is your responsibility to get your node - and other ax25 parameters to work before going down this route! -
When the left hand string has found what it is looking (if it is) then the right hand string is - sent to the connection. + +
In the case of a + telnet connection, there can be up to two parameters, + the first is the ip address or hostname of the computer you + wish to connect to and the second is the port number you want + to use (this can be left out if it is a normal telnet + session). + +
In the case of an ax25 session then this would + normally be a call to /usr/sbin/ax25_call or + /usr/sbin/netrom_call as in the example above. It is your + responsibility to get your node and other ax25 parameters to + work before going down this route! + +
For agw connections you will need a port number (starting
+ from 1) and the callsign of the first "hop" along the way.
+
+
+
When the left hand string has found what it is looking (if + it is) then the right hand string is sent to the connection. +
This process is repeated for every line of chat script. -