This is the ircgate-0.9 documentation. There is a ASCII-only version available in ircgate.txt. Please read this manual completely before setting up a gateway. As of Version 0.9, support for Linux AX.25 sockets was added. This was only tested against the new implementation of the AX.25 protocol stack. Take a look at this to find out what I am talking about here.
Ircgate is a perl hack written by scratch by Jens David, DG1KJD . My intention was it to create a program which allows IRC (=Internet Relay Chat) users to talk to convers users (a quite similar but not compatible system created by Dieter Deyke, DK5SG/N0PRA and improved by Fred Baumgarten, DC6IQ ). This aim is achieved by translating the inter-server communication so that all users on both networks can talk to each other just as usual. In fact they don't even need to know about the existence of the gateway.
Well, if you're satisfied with the convers system you're lucky. I'm not. In
addition to the facts that it is not very well specified (which leads to
problems and strange behaviour when connecting different implementations or
versions of conversd) and suffers from a lot of technical restrictions (no
loop prevention, lack of KICK command...) it is just inconvenient. There is
(at least to my knowledge) only one line-orientated client available which
only runs on UNIX-like operating systems.
Have you ever tried chatting on two channels simoultanously? Or exchanging
personal messages with two persons at the same time? Did you ever lose some
screens full of text in an interesting conversation because you had to go to
lunch?
Modern graphical IRC clients, available for all operating systems and
wanna-bes (Unix systems (X11), OS/2, Win NT, Win 95, even DOS/Win 3.1) solve
all these problems. The IRC system is well-defined in RFC-1459 and
stability-approved (there are IRC-networks on the global internet keeping
more than 6000 users spread over 2000 channels on more than 200 servers).
Moreover there are advanced features available like direct-link file
transfer, digital audio transfer, scripting capabilities and so on.
Software is freely available on the net, most of it including source code,
take a look at the Additional Suggestions section
to find out where to get it and which packages I recommend.
First of all let me explain that it would not be an ideal situation to have
everybody run his own version of this program. This would include
running your own ircd and in most cases your own conversd, which increases
the traffic on the net dramatically and might also lead to chaotic
structures. In addition to that I did not try running two or more of these
beasts on the same network, I'm pretty sure it will cause a lot of mystic
and difficult-to-track-down problems, especially if people forget to change
the default settings for $ircnet and $ircgate. At least the conversd-type
interserver communication protocol is not very fault tolerant.
Instead, I suggest setting up our network topology like this:
U U U | | | U: User I---I---I---I | | I: IRC Server (ircd) U | G G: Gateway | U | | C: Convers Server (conversd) C---C---C---C | / \ \ U U U U Yeah, I always liked chemistry lessons at school. ;)
As already stated above, ircgate is written in perl, a "Practical Extraction
and Report Language" created by Larry Wall
As of 0.9, you can also use Linux's AX.25 sockets to connect to a convers
system. Take a look at the script itself to find out how.
Since ircgate makes use of the socket interface perl 5 is required. Perl is
available for nearly every unix system and also for some operating systems like
windows NT and so on. But remember, you need a version with socket interface
compiled in.Installation
or:
ircgate.pl
The last line will make the program a background process which will even keep
running after you logged out.
nohup ircgate.pl >/dev/null 2>/dev/null &
Ircgate connects to both, exactly one convers server (conversd) on one side and exactly one irc server (ircd) on the other side. It acts like a native link partner for both of them, which means it meets the specifications for both systems (RFC-1459 for IRC and the SPECS file distributed with the current pp-convers implementation 3.12 for convers) but translates and exchanges messages between them:
In order to keep the networks stable (in particular most convers networks seem pretty vulnerable because of the fact that there are many different implementations but no real specification) I decided to hide both networks from each other. That means, users from one network seem to originate from the gateway host for the users on the other network.
Moreover, ircgate keeps (nearly) no own status information about channels and users. It relies on reasonable information from both its link partners, so make sure there's a reasonable implementation of the conversd and ircd systems on those hosts. During my tests I used pp-convers 3.12 and ircd 2.8.21 which seemed to be ok. As you may already have noticed the gateway script doesn't necessarily need to run on the system the ircd or the conversd is running on.
Here are some recommended software packages:
A lot of countries, with Germany being one of them, are very restrictive
about connecting amateur radio equipment with public
communication services. In addition to this third-party-traffic (i.e. one of
the participants of a conversation is not an amateur) is usually forbidden,
so be careful about what you do.
This perl script was written "from scratch" by Jens David, DG1KJD.
It is far from complete, but it serves its intended purpose pretty well
(I think).
You may freely use, copy and modify it, as long as you respect the
following rules: