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 on a sysop enabled +

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:- +