X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=html%2Fconnect.html;h=d6b3da87bee9174445a5226a479d6c4874338090;hb=22f0689f45e78e8e48bbf13983d48421edf9baea;hp=f4f6308af90c6987252c0195335ac12a3eb05a19;hpb=4647d4d8a9a97117b29c7b3a0477de2e76c01194;p=spider.git diff --git a/html/connect.html b/html/connect.html index f4f6308a..d6b3da87 100644 --- a/html/connect.html +++ b/html/connect.html @@ -5,6 +5,7 @@ + @@ -19,7 +20,7 @@

-Last modified: Fri Jan 8 14:27:18 GMT 1999 +Last modified: Sun Sep 2 20:44:59 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 @@ -27,23 +28,21 @@ Last modified: Fri Jan 8 14:27:18 GMT 1999

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

The first example is a simple telnet (TCP/IP) connect to port 7000 of WR3D (this will actually + work if you have or make an arrangement to connect to WR3D)[oh, and substitute x1xxx for your real + node callsign.

+
     timeout 15
     # this is a comment
-    connect telnet dirkl.tobit.co.uk
-    'login' 'gb7djk'
-    'word' 'gb7djk'
-    client gb7djk telnet
+    connect telnet wr3d.dxcluster.net 7000
+    'login' 'x1xxx'
+    client wr3d telnet
 	
+

For a connect that requires a login and execution of the programs - from a normal shell, do:- + from a normal shell, do:-

     timeout 15
@@ -55,55 +54,81 @@ Last modified: Fri Jan  8 14:27:18 GMT 1999
     # confuse whole networks for hours!
     '\$' 'stty -echo raw'
     # tell GB7DJK that you are GB7DJK-1
-    '\$' 'client.pl gb7djk-1 telnet'
+    '\$' '/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 finally an ax25 example:- +

a ax25 example (connecting from GB7DJK, to GB7DXM via my local BPQ node and one X1J intermediate node):-

     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'
+    '*** Connect' '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. You can use the Netrom alias instead if it + it is in the machines node table

+ +

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' ''
-    # you can leave this out if you call the script 'gb7dxm'
-    client gb7dxm ax25
 	
-

A connection is started manually by typing in connect on a sysop enabled - client.pl session. For example:- +

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
     connection to GB7DJK-1 started
     G1TLH de GB7DJK 13-Dec-1998 2043Z > 
 	
-

You can watch the progress of the connection (if you have the standard debugging enabled) on the - cluster.pl screen and you should see something like this:- +

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
@@ -114,26 +139,58 @@ Last modified: Fri Jan  8 14:27:18 GMT 1999
     <- D GB7DJK-1 PC18^ 1 nodes, 0 local / 1 total users  Max users 0  Uptime 0 00:00^5447^~
     etc
 	
- + +

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 send 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:- + following keywords or symbols:-