X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=html%2Fconnect.html;h=4a4eaa3cd86dadb7e583a7e3b9d7b6b58964982c;hb=f63d598af3f797b56b8d5e23ec4ff5254192eee9;hp=d22d22f4d8c55b081bc942bf63d30b5dc2fed5b1;hpb=439f25ba04e8c4ddbd6806f31da58c0939e2c868;p=spider.git diff --git a/html/connect.html b/html/connect.html index d22d22f4..4a4eaa3c 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 22:02:36 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,83 +28,116 @@ 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].

+ +

The colouration will be explained later on in this page, you don't have to try to emulate the colours!

+
-    timeout 15
+    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
 	
+ +

If you put the above script in a file called: /spider/connect/wr3d then you can leave out + line: 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
-    connect telnet dirkl.tobit.co.uk
-    'login' 'gb7djk'
-    'word' 'gb7djk'
-    '\$' 'cd /spider/perl'
+    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'
+    '\$' '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
+    client gb7djk telnet
 	
-

and finally an ax25 example:- +

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

-    timeout 60
-    abort (Busy|Sorry|Fail)
+    timeout 60
+    abort (Busy|Sorry|Fail)
     # don't forget to chmod 4775 netrom_call!
-    connect ax25 /usr/sbin/netrom_call bbs gb7djk g1tlh
-    'Connect' ''
-    'Connect' 'c np7'
-    'Connect' 'c gb7dxm'
-    'Connect' ''
-    # you can leave this out if you call the script 'gb7dxm'
-    client gb7dxm ax25
+    connect ax25 /usr/sbin/netrom_call bbs gb7djk-0 g1tlh-0
+    'Connected' 'c np7'
+    '*** Connect' 'c gb7dxm'
+    'Connect' ''
+	
+ +

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.

+ +

The line: "'Connected' ''" means: wait for + the string Connected and when that is seen, then move onto the next line + without sending anything. The reason you do this (in this case) is to wait + for the final "connect" string from the BPQ node that directly connects you to the + cluster node itself.

+ +

An AGW Engine example would be very similar and look like this:-

+ +
+    timeout 60
+    abort (Busy|Sorry|Fail)
+    connect agw 2 g1tlh
+    '*** Connect' 'c np7'
+    'Connected' 'c gb7dxm'
+    'Connect' ''
 	

A connection is started manually by typing in connect <scriptname> on a sysop enabled - client.pl session. For example:- + 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,53 +148,105 @@ 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. Lines that are coloured thus are miscellaneous setup + commands. Lines that are this colour + are lines that make the initial connection to the first hop. 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:-