📜 ⬆️ ⬇️

Transports from IRC to Jabber

Almost all of us have heard of transports from Jabber to IRC. Many even use them every day. But in the days of ICQ shutdowns, I met information about the transports from IRC to Jabber. Today I looked through the bookmarks and came across their home pages. So I decided to write a little about them, especially since the search for their names on my beloved Habré did not betray anything sane.

If you asked the question “why?” - you can read about it at the very end of the article.

I know of 2 such vehicles - ejabberd_ircd and telepaatti . Unfortunately, about the second, I now managed to find only a description. There is also a bot that can broadcast messages from muc to the IRC channel and vice versa - jirc.
')

For my purposes, ejabberd_ircd was primarily interesting. His homepage is located here .
It allows you to connect to MUC conferences from an IRC client. He does not allow anything else, but was not required of him. Unfortunately, I did not manage to get to his official demo server right now, but I found the installation instructions.

You have already installed subversion in your distribution and you know what it is. You also have a working ejabberd and you have made a backup of the user base and ejabberd.cfg for it. You can proceed:
Create an arbitrary directory, go to it. You can also work with SVN from a regular user:
svn co svn.process-one.net/ejabberd-modules
cd ejabberd-modules/ircd/trunk
./build.sh
After that, a file with the beam extension will appear in the ebin subdirectory. It needs to be copied to the directory where your ejabberd modules are stored (in my Debian at that time it was / usr / libs / ejabberd).
We are starting to edit ejabberd.cfg. There you need to add about the following (example from README):
{listen, [
...
{6667, ejabberd_ircd, [{access, c2s},
{host, "example.org"},
{muc_host, "conference.example.org"},
{encoding, "utf-8"},
{mappings,
[{"#esperanto", "esperanto@conference.jabber.org"}]} ]},
...
]}.

But this method will require for IRC connection to have an account on your Jabber host. Therefore, there is another example in the readme:
{hosts, ["example.org", "anonymous.example.org"]}.
{host_config, "anonymous.example.org",
[{auth_method, anonymous},
{anonymous_protocol, both}]}.
{listen, [
...
{6667, ejabberd_ircd, [{access, c2s},
{host, "anonymous.example.org"},
{muc_host, "conference.example.org"},
{encoding, "utf-8"} ]},
...
]}.

This construction will allow you to log in to the “IRC server” anonymous.example.org:6667 from any IRC client and join conferences on the jabber server example.org.
After that, a full restart of ejabberd is required (for example, /etc/init.d/ejabberd restart)
Unfortunately, the current version of ejabberd in Debian wasn’t able to work with this plugin, so I’m not able to provide a host demo now. If someone succeeds, I’m happy to add information about such a host to the article.

Now about the Telepaatti.
It brings the functionality of your IRC client closer to the Jabber client. Transport works only with utf-8 and requires the same from the client. By default, it allows you to join conferences on the same server (using the / join example_muc @ host command). It also allows you to communicate with users from your roster (using the / msg or / query user @ host commands). On the "imaginary" channel #roster you can find out about the activity of your roster users (offline \ online \ left in the case of Xchat).
Telepaati does not allow you to register a jabber account, add contacts to the roster and change modes in muc. You log in to the telepaati server using the server's nickname and password (instead of which you need to write your login password),
Information about him today I could find only here. But I myself also want to play around with telepaati, so I’m writing about him, first of all, to find like-minded people.

On the Telepaati page, I found information about a bot that sends messages from the muc to the IRC channel and vice versa - jirc. In a working form today it is available on the freenode #inkscape network. Information about him and a link to the archive here.

And now a little story about why it was needed at all.

There was a site. The site is not a big company. The site has been bolted Web script for organizing a chat. In this chat, sat employees of the company and answered questions from afflicted site visitors. But then the evil director said, “I'm going on vacation, I want to sit in a chat from the phone with my phone, read what is going on.” His phone was not from geeks, and Opera PDA did not solve the problem - traffic.
The first “push” to the solution was mibbit.com. At first, it was decided to base all this on IRC - and it is more convenient for employees and the Mibbitovsky widget worked much faster than our script. But here we have already encountered a problem - the director in no way wanted to put something extra on his communicator. Having rummaged in the technique, we were surprised to find a Jabber client there - set up and, according to the owner, used every day. We created MUC, started searching for scripts in order to get there from the site. No scripts found, but found the above transports. Congratulated yourself, set up everything you need on Debian 4.0, set up the conference director, replaced the IRC and ICQ clients with a single Jabber client (for which the sysadmin later told us), and left a mibbit widget on the site that connected to our conference via ejabberd_ircd.

Source: https://habr.com/ru/post/67120/


All Articles