ProxIRC is a proxy which enables the simultaneous use of irc and instant messaging services (MSN, right now) all by only using your favorite irc client. It is licensed under the under the General Public License (GPL).
I'm not inspired right now so I will just paste what I submited to sourceforge when I suggested the project. Here it goes:
ProxIRC aims to be (and in fact, already suports some features) a proxy through which one can connect to an IRC server while also being able to connect to other instant messaging systems. Right now partial support is offered for Microsoft's MSN through another GPL library libMSN. And it is being developed in c++. Currently the only OS platform tested is a debian linux system though I'd like it could work in any unix like OS, and that's why I'm already using automake and autoconf tools. However the irc client might be any, not limited to unix available ones. Status of connected users in the MSN is made thanks to a virtual channel created by the proxy. When a user wants to talk to a friend from msn, only has to /join #friend and talk. The rest of the channels are provided by a true IRC server and directly forwarded by the proxy. In fact, only messages outgoing from the irc client (which may be anyone) are parsed to look for information intended to the proxy. Information not useful for the proxy is thus forwarded to the IRC server.
New release with some bugfixes and some new features. Let's look at them:
First release of the daemon is 0.1 which I consider pre-alpha. I've successfully used it in some conversations, you can create a channel for each user you're talking to, use the /whois command to know in which state (whether away, online, eating...) the user is. There are some known bugs... when a new user connects while we are online the msn process will hang. Well, don't ask too much by now :)
No documentation has been writen yet. Just to enable you to use it follow these instructions:
After uncompressing the package, you must run 'make' from the libmsn directory. Then from the main dir run ./configure. After that you may change the irc server to which the proxy will connect by editing the file proxirc.cc (this will be easier in the near future) and setting the IRC_SERVER and IRC_PORT variables. After that you can compile running 'make'.
Finally just run ./proxirc and use your favorite irc client to connect to the server. If you're running it on the same machine use '/server localhost'.
Once you're correctly connected to the real irc server (proxirc will have forwarded all the packets) you may /join msn_info (this will be the virtual channel used by the server to notify MSN events.) Please don't try to connect to MSN without joining this channel. Once in, use the following to connect to MSN: /msg msn@server.gw IDENTIFY username@hotmail password. You should see a couple of messages: connecting... and connected! And you'd see that your friends already logged in the messenger join the channel. To speak to them use /join nick and that's it! You should be able to speak to them and even more... you may hear from them! :-)
TIP: Use the command /whois msn_admin to know how many messenger users you are talking to (as msn_admin user will be on all your msn channels).
TIP: Use the command /whois username to know whether the user is away, eating... or just online.
Please visit the project's page at sourceforge!
Albert Cervera Areny - I'm currenly the only developer of this project (it shouldn't be difficult to hang it) but any new developer is welcome. You may contact me for bugs, ideas or just because you want to talk by emailing at albertcervera@users.sourceforge.net, chatting at MSN albertcervera@hotmail.com, or you may find me at irc-hispano (irc.redestb.es - for example) at #cat-linux.
I want to thank everybody who have helped me and those interested in the project. Special thanks go to Grant Swenson who tries to make it work under FreeBSD, and James Read who has also suffered the FreeBSD-ProxIRC headaches.
Believe me, I'd love to add some screenshots for my first project but I don't think they are very useful here... maybe I should add some 3d pluggins to make this section have any sense :)