X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=html%2Fconnect.html;h=4a4eaa3cd86dadb7e583a7e3b9d7b6b58964982c;hb=refs%2Fheads%2Fip_address;hp=d6b3da87bee9174445a5226a479d6c4874338090;hpb=22f0689f45e78e8e48bbf13983d48421edf9baea;p=spider.git diff --git a/html/connect.html b/html/connect.html index d6b3da87..4a4eaa3c 100644 --- a/html/connect.html +++ b/html/connect.html @@ -20,7 +20,7 @@

-Last modified: Sun Sep 2 20:44:59 BST 2001 +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 @@ -31,61 +31,70 @@ Last modified: Sun Sep 2 20:44:59 BST 2001

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.

+ 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 wr3d.dxcluster.net 7000
-    'login' 'x1xxx'
-    client wr3d 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:-

-    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
-    '\$' '/spider/src/client 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
 	
-

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

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-0 g1tlh-0
-    'Connected' ''
-    'Connected' 'c np7'
-    '*** Connect' 'c gb7dxm'
-    'Connect' ''
+    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

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

-

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

+

An 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' ''
+    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 @@ -101,7 +110,7 @@ Last modified: Sun Sep 2 20:44:59 BST 2001

     timeout 15
-    connect telnet dirkl.tobit.co.uk
+    connect telnet dirkl.tobit.co.uk
     'login' 'gb7djk'
     'ssword' 'gb7djk'
     
@@ -115,7 +124,7 @@ Last modified: Sun Sep 2 20:44:59 BST 2001 -> 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 + CONNECT sort: telnet command: dirkl.tobit.co.uk CHAT "login" -> "gb7djk" received " Red Hat Linux release 5.1 (Manhattan) @@ -140,11 +149,17 @@ Last modified: Sun Sep 2 20:44:59 BST 2001 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.

+

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 @@ -152,17 +167,20 @@ Last modified: Sun Sep 2 20:44:59 BST 2001 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.

+

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.

@@ -176,18 +194,18 @@ Last modified: Sun Sep 2 20:44:59 BST 2001 ignored, as are wholly blank lines.

-
  • timeout followed by a number is the number of +
  • timeout followed by a number is the number of seconds to wait for a command to complete. If there is no - timeout specified in the script then the default is 60 + timeout specified in the script then the default is 60 seconds.

    -
  • abort is a regular expression containing one or +
  • abort is a regular expression containing one or more strings to look for to abort a connection. This is a perl regular expression and is executed ignoring case.

    -
  • connect followed by ax25, telnet or agw +
  • connect followed by ax25, telnet or agw and some type dependent information.

    In the case of a @@ -195,34 +213,40 @@ Last modified: Sun Sep 2 20:44:59 BST 2001 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). + 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! + 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. -

    + from 1) and the callsign of the first "hop" along the way.

    -
  • ' is the delimiting character for a word or - phrase of an expect/send line in a chat type - script. The words/phrases normally come in pairs, either can - be empty. Each line reads input from the connection until it - sees the string (or perl regular expression) contained in the - left hand string. If the left hand string is empty then it - doesn't read or wait for anything. The comparison is done - ignoring case. +
  • ' is the delimiting character for a word or phrase + of an expect/send line. The words/phrases normally come + in pairs, but either can be empty. Each line reads input from + the connection until it sees the string (or perl regular + expression) that + is contained in the left hand string. -

    When the left hand string has found what it is looking (if - it is) then the right hand string is sent to the connection. +

    When the left hand string has found what it is expecting (if + it is) then the right hand string is sent to the connection.

    -

    This process is repeated for every line of chat script. -

    +

    If the left hand + string is empty then it doesn't read or wait for anything, it + simply sends whatever is on the right hand side.

    + +

    All comparisons are done ignoring case.

    + +

    If the right hand string is empty ('') then nothing is sent, the + script simply moves onto the next line.

    + +

    This process is repeated for every line of chat script.

    -
  • client starts the connection, put the arguments +
  • client starts the connection, put the arguments you would want here if you were starting the client program manually. You only need this if the script has a different name to the callsign you are trying to connect to (i.e. you