25 Years of Programming
An open source source for C, C++, OWL, BASIC, MDB, XLS, DOT, and more...
Introduction to Internet Relay Chat (IRC)
Articles in this series:
In the past few days I've learned more about online chat than I wanted to know. I've managed to install a basic chat client (or rather, discover that I already have one), configure it, log into and explore several IRC chat networks, do a bit of chatting, and learn some of the commands used by chat participants and channel operators.
If you're brand new to IRC chat and wondering what it is and how to get started, the following might save you some of the time it takes to get oriented.
History and overview
In the 1980's, one of the most popular features of CompuServe Information Service (CIS) was its CB simulator, named and styled after citizen's band radio. CompuServe forums (aka Special Interest Groups, or SIGs) used the simulator for real time conferencing (CO) among members.
Today, chat and multi-user conferencing can be done using Internet Relay Chat, or IRC.
IRC is free and available to everyone, no registration required. It's anonymous if you want it to be. You can talk on public channels or create your own channel. You can make your channel secret so no one else sees that it exists, invite only the people you want, keep others out, and the channel vanishes as soon as the last person leaves.
You've probably seen news stories about the highly questionable and sometimes illegal activities that take place in chat rooms. It only takes a simple listing of the names and topics of public channels to reveal that those activities probably are indeed there and that humanity is not always on its best behavior.
But there must also be many interesting and entirely legitimate public channels to visit. Besides, if you create your own channel and invite family or friends to it, you can make the channel whatever you want it to be.
Based on reading and brief experience, it looks like the dangers of IRC chat are mostly not inherent in IRC itself nor inherent in your being connected to it, but instead depend on
From a hardware security standpoint, file-sharing, especially the exchange of illegal files, is dangerous to your computer because such files are likely to be bundled with viruses, adware, and spyware. Don't accept file transfers. If your IRC client program allows disabling the feature that permits file transfers (DCC), you should disable it. This also prevents your IRC client from automatically accepting file transfers, which is a terrible idea. If someone tries to send you a file, you should at least have the option of rejecting it.
The rest of the common security advice basically falls into the category: Don't get tricked. If someone tells you to enter an unknown command in your IRC client program, don't do it. If someone asks your real name, don't give it. Where do you live? Don't give it. Your phone number? Don't give it. An awful lot of bad things happen to people (in IRC and elsewhere) as the result of "human engineering", being tricked into doing things that, if they had been more defensive and better prepared, they would have known not to do.
At most of the IRC network websites, you'll find guidelines about how to protect yourself in IRC chat, and you should read and follow them.
Chat networks and servers
Internet Relay Chat is conducted through computers (server computers) that are specially configured with IRC "chat server" programs that handle and relay the chat traffic. To do a chat, you connect to one of these servers and join one of its "channels".
Groups of these servers are connected to each other to form networks. When you type text into your local "chat client" program and send it to the server you're connected to, it is relayed to all the chat servers on that network and from each of those servers to everyone participating in the channel you're on. Thus, you can communicate with people all over the world.
An IRC client program runs on your computer and allows you to connect to a chat server. There are many IRC client programs to choose from, but I'll only mention two, and only discuss one. At the time of this writing, both of these programs have no unpatched vulnerabilities.
mIRC appears to be the most popular IRC client, highly configurable and feature-rich. It's apparently $20 shareware with a 30 day free trial period. If you decide you're going to do a lot of chatting, this looks like the way to go. I admit I haven't tried it due to the large number of features that probably must be configured. Since an improperly configured setting in any program can sometimes make it less safe than it could be, it seemed safest, easiest (and quickest) to start out using something simple...
ChatZilla is an IRC client add-on for the Firefox browser. It's plain, simple, easy to use, and wasn't hard to configure. I still don't understand all the settings, but I think I got the important ones set correctly.
If you have Firefox, you might already have ChatZilla:
If it is not listed in the menu, you can download it:
Before you use ChatZilla to connect to IRC, it will save some time and confusion later if you set your default preferences now. These global default preferences will be copied over to your settings for each new network and channel you visit. Then you can customize the settings for each as desired. For some help with setting the preferences, take a side-trip to the next article, ChatZilla configuration settings with screenshots. (If you Ctrl+Click on the link, it opens in a new tab or window, leaving this page open in the background.)
Opening IRC URL hyperlinks
Most hyperlinks you see on the internet start with http://. If you have ChatZilla installed, when you are browsing the web in Firefox and encounter a web address (also known as a URL or hyperlink) that looks like irc://network/channel, you can click on it. ChatZilla will launch automatically, take you to the network, and join you to the channel.
Of the networks shown on the ChatZilla startup screen, here is a list of ones I thought looked pretty good for general use. None of these are endorsements of the quality of the public channels I found there. Networks appear to differ in their implementations of various commands such as /list and /mode.
Undernet. The only net where the Help channel was having useful chats when I was there. It has good filters for the /list command, which allows you to get a list of the currently operating public channels.
IRCnet. My original top choice, but they had a "net split" during the brief time I was there. A net split occurs when the chat servers that form a network get disconnected from each other so that any people who were chatting on a channel but were connected to physically different chat servers within the network also get cut off from each other.
QuakeNet. Mostly game-oriented, but not exclusively so. Others welcome.
DALnet. Has ChanServ and NickServe commands.
EFnet. Big network. I think I didn't experiment much with it. I found their website confusing and not as user friendly as the others.
Freenode. Primarily for collaborative development of open source projects. Other uses of the network not welcomed. Naturally, the public channels looked unusually useful, but only if you're involved in those projects.
Finding and connecting to a nearby server
Many IRC help files say that after choosing a network, you should connect to whichever of its servers is geographically closest to you. The networks post lists of their servers on their websites to help with this, but the step isn't absolutely necessary. If you're just browsing around, you can connect to their default server. For example, the default URL for Undernet looks like this:
However, the Undernet server list shows that there is one in New York at newyork.ny.us.undernet.org. To use this one instead, make the connection with:
Either way, you'll be connected to the entire Undernet network, but using the closest server may reduce time lag problems (latency).
I don't know. I'm not trying to sell chat, just report what I found. I like forums and fail to see much advantage to chat. Forum advantages:
Best help reference to almost every aspect of IRC chat, including tutorials, command references, and links to search engines for finding chat rooms, is http://irchelp.org/.
Forum comments welcome.
Copyright ©2012 Steven Whitney. Last modified Sun 07/29/2012 10:53:13 -0700.